Spec-Zone .ru
спецификации, руководства, описания, API
|
Интернационализация является процессом разработки приложения так, чтобы пользователь мог выполнить это использующий его или её культурное предпочтение, не изменяя или перекомпилировав код. Это культурное предпочтение, все вместе известное как локаль, включает (но не ограничиваются): язык, форматирование валюты, время и дата, форматируя, и числовое форматирование.
Интернационализировавшая программа разрабатывается так, чтобы текстовые элементы, такие как сообщения о состоянии и компонентные метки GUI, были сохранены вне исходного кода в пакетах ресурса и получены динамически. Разделение специфичной для локали информации от кода состоит в том тем, что позволяет программе работать на различных языках и с различным предпочтением, не имея необходимость перекомпилировать.
Локализация является процессом преобразования текста на определенный язык и добавление любых специфичных для локали компонентов. Когда приложение локализуется на язык, и Вы выполняете приложение в той локали, Swing захватывает локализованные строки от пакета ресурса, и менеджер по расположению изменяет размеры компонента соответственно.
Например, Англоговорящий человек пишет приложение после правил интернационализации; позже, то приложение локализуется на японский и испанский язык. Когда пользователь с Системным Привилегированным набором Языка японскому языку запускает приложение, Swing обнаруживает это. Когда приложение появляется, меню, метки, кнопки, и так далее, показывают японский текст, и компоненты масштабируются соответственно. Если тот пользователь тогда выходит из программы, устанавливает системное предпочтение языка в испанский язык, и повторно запускает приложение, приложение появляется на испанском языке, масштабируемом согласно новому набору символов.
Менеджеры по расположению Swing понимают, как локаль влияет на UI — не необходимо создать новое расположение для каждой локали. Например, в локали, куда текст течет справа налево, менеджер по расположению расположит компоненты в той же самой ориентации, если определено. Двунаправленный текст (смешал направленный текст, используемый ивритом и арабским языком, например) поддерживается также.
Каждая программа должна быть разработана с интернационализацией в памяти: компонентные метки GUI, сообщения о состоянии, валюта, дата, телефон, и форматы адреса не должны быть hardcoded в программы. Как только программа интернационализировалась, эксперт по языку может выполнить фактическое преобразование позднее, не требуя никакой перекомпиляции.
Поскольку следующие снимки экрана показывают, PasswordStore был локализован на японский и арабский язык.
PasswordStore на японском языке
PasswordStore на арабском языке