локаль в c ++ n java - PullRequest
       1

локаль в c ++ n java

2 голосов
/ 16 января 2011

Я пробираюсь в некоторый код, написанный профессионалами (не говоря уже о SO) .. Я нашел людей, которые часто ссылаются на слово locale (например, нашел несколько std::locale). Даже некоторый код в Java ссылается на locale. Так что же это за locale и зачем нам это нужно? И нужно ли его использовать (я полагаю, он используется для некоторых проблем переносимости)? Я попробовал поискать в Google, но все только усилило мою путаницу. :(

Ответы [ 5 ]

3 голосов
/ 16 января 2011

Используется для интернационализации и локализации.Например, если ваша программа отображает данные на веб-странице, вы можете захотеть иметь версии этих веб-страниц для разных языков (французский, английский, китайский и т. Д.).Средства локали в языках, таких как Java, облегчают это.

См. http://java.sun.com/javase/technologies/core/basic/intl/ для одного обзора.

3 голосов
/ 16 января 2011

Язык - это все, чтобы приложение выглядело и чувствовалось для пользователей в разных странах.

Упрощенно, например, в Англии мы пишем 123456,78 как 123 456,78, но во Франции это 123 456,78 с использованием функций форматирования и рендеринга, которые поддерживают региональные настройки, позволят вашему приложению выглядеть в разных странах.

2 голосов
/ 16 января 2011

"Объект Locale представляет определенный географический, политический или культурный регион. Операция, для выполнения которой требуется локаль, называется чувствительной к локали и использует локаль для адаптации информации для пользователя. Например, отображение числа является чувствительной к локали операцией - номер должен быть отформатирован в соответствии с обычаями / соглашениями страны, региона или культуры пользователя. "

(из JavaDocs: http://download.oracle.com/javase/1.4.2/docs/api/java/util/Locale.html)

Чаще всего вы используете это время: CST, EST, PST, зарубежные страны и т. Д. Также для дат и разных календарей и разных языков. Отсюда представление географического / политического / культурного региона.

1 голос
/ 16 января 2011

Самый простой способ установить локальный язык в C ++:

int main()
{
    // If the string is empty (as here)
    // Then it looks at the machine current configuration and retrieves
    // the local that you have set up in the configuration of the machine
    // This is what you normally want to happen when your customers run the code.
    std::locale::global(std::locale(""));

    // Setting the locale affects a whole host of things that happen with streams.

    /* YOUR CODE */
}
1 голос
/ 16 января 2011

Вы когда-нибудь видели, сколько европейцев пишут числа> 1000, многие страны / языки используют точку для разделения тысяч, в то время как английский и американский используют запятую.и обратное для десятичной точки.Локаль имеет много применений, но одна из них - позволить вашей программе правильно форматировать числа и даты, учитывая язык пользователя и, ну, в общем, локаль.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...