Типичное решение состоит из трех частей:
- языковые файлы
- статический текст для Controls
- динамический текст.
Языковые файлы - это просто обычные файлы свойств Java - см. Пакет java.text
. Когда вы меняете язык, вы просто открываете новую локаль.
Статический текст для элементов управления - например, Кнопка и метки - часто обрабатываются путем привязки ключа к каждому элементу управления, который должен иметь возможность менять язык. Когда вы хотите изменить язык, вы рекурсивно просматриваете элементы управления, ищите новый текст в текущей локали и устанавливаете новое значение ...
Динамический текст ... все остальное ... Обычно это обрабатывается с использованием строки формата - см. String.format (...) - снова извлекается из текущей локали.
И, конечно, существуют другие вещи, которые могут зависеть от текущего языка - например, значки, изображения, медиаклипы и т. д.