Я знаю, что в Python 3 есть модуль интернационализации и локализации gettext.
Он не понравился мне тем, что для каждого языка, нужно создать две папки.
- Папка названия языка. Например FR.
- Папка LC_MESSAGES.
Если я использую 5 языков, бесполезных папок должно быть 10. Это уже слишком!
В итоге я написал простейший модуль, который позволяет вам сохранять строки на разных языках, обозначающие одно и то-же в одном CSV или DB3(SQLite3) файле. В случае необходимости, желающие могут дописать все, что пожелают.
Допустим ваше приложение переносит файлы и выводит в консоль следующее:
перенесен 1 файл
перенесены 2 файла
перенесены 3 файла
перенесены 4 файла
перенесены 5 файлов
...
Как упростить себе жизнь!? Да все просто! Надо меньше мудрствовать! Просто выводите в консоль следующее:
перенесено файлов: 1
перенесено файлов: 11
перенесено файлов: 111
перенесено файлов: 5
Напишите новый класс, породив его от IDataProvider, пользуясь предоставленными CSVProvider и SQLiteDataProvider, как примерами.
CSV Provider:
len: 25
strEpilog: Если папка-источник не указана, в ее качестве используется текущий рабочий каталог!
strIOErrors: Кол-во ошибок ввода/вывода
strCalcul: CRC, вычисленная по содержимому файла
SQLite Provider:
len: 3
strFirst: Première ligne
strSecond: Deuxième ligne
strTrird: Troisième ligne
Пример использования модуля интернационализации смотри по ссылке: https://github.com/octaprog7/CalcFilesControlSum/blob/master/src/calc_files_control_sum/my_strings.py
- В качестве уникальных идентификаторов используйте имена переменных в вашем проекте. Эти строки должны быть уникальны!