image-uploader icon indicating copy to clipboard operation
image-uploader copied to clipboard

Задачи по локализации

Open zenden2k opened this issue 10 years ago • 7 comments

Перейти на gettext или найти что получше Использовать позиционные параметры вместо %s (чтобы можно было менять порядок слов) а то корейцы недовольны

zenden2k avatar Jul 02 '15 18:07 zenden2k

написать препроцессор типа: {1:s}, {2:i} расшифровывается как: заменить первый аргумент из массива параметров на %s, второй на %d. И переставляй как угодно.

на паскале просто решается, могу dll/so под windows/linux накатать.

arhangelsoft avatar Jul 29 '15 14:07 arhangelsoft

@arhangelsoft Не надо паскаля. Boost.Format такое умеет.

zenden2k avatar Jul 29 '15 14:07 zenden2k

Главное, это грамотно конвертировать файлы локализации в формат gettext (.po), но у меня нет сил.

zenden2k avatar Jul 29 '15 14:07 zenden2k

Ну и еще у меня почти все строки в рантайме в UTF-16 а gettext умеет только однобайтовые кодировки (utf-8)

zenden2k avatar Jul 29 '15 14:07 zenden2k

а gettext умеет только однобайтовые кодировки (utf-8)

UTF-8 многофункционален. Латиницу хранит по 1 байту, все прочее по 2, 3 иногда даже 4 байта. Пруф: http://www.fileformat.info/info/unicode/utf8.htm

PO/MO файл-читалка на плюсах: https://github.com/tinygettext/tinygettext

arhangelsoft avatar Jul 31 '15 13:07 arhangelsoft

Я имел ввиду, что при каждом вызове придется конвертировать UTF-8 в UTF-16. Некрасиво.

zenden2k avatar Jul 31 '15 14:07 zenden2k

Я имел ввиду, что при каждом вызове придется конвертировать UTF-8 в UTF-16. Некрасиво.

Так там ведь класс работы с PO/MO. Можно же его изнутри заточить по это.

arhangelsoft avatar Aug 12 '15 07:08 arhangelsoft

Это сделано. Используется Boost.locale

zenden2k avatar Jan 30 '24 13:01 zenden2k