04.19 Интернационализация и локализация
- Ещё раз, кротко:
Пример на подглядеть: GradeProject2021
- Поставить: babel достаточно (?)
Задача_1: счётчик нажатий кнопки
- напишите простейшее GUI-приложение, в котором есть:
- кнопка "Press me"
текстовая метка-счётчик нажатий "<N> time(s)", где <N> - число нажатий на кнопку; N изначально равно 0, и увеличивается на 1 при каждом нажатии на кнопку
Контрольная точка: никаких i18n пока
- напишите простейшее GUI-приложение, в котором есть:
l18n
обмазывание _() и gettext.install()
проверить, что работает
- Первичный перевод
- Создать шаблон перевода
- Создать пустой русский перевод-исходник
- Перевести
- Скомпилировать перевод
проверить, что работает
- Множественные формы и обновление перевода (чтобы было "1 раз", "2 раза", ..., "5 раз", ... - по правилам русского языка):
добавить ngettext()
- обновить шаблон
- обновить старый перевод на основе нового шаблона
пронаблюдать «,fuzzy»
скомпилировать, проверить, что кнопка переведена, а надпись отвалилась
доперевести, убрать ,fuzzy, скомпилировать
проверить, что всё работает в двух локалях
Задача_2
TODO
Д/З
- Доделать обе задачи до состояния «всё работает в двух локалях»