[Comm] Russian KDevelop

ASA =?iso-8859-1?q?llb_=CE=C1_udm=2Eru?=
Вс Июн 8 23:20:50 MSD 2003


Hello Anton,

Monday, June 9, 2003, 3:38:14 AM, you wrote:

>>Да знаешь вот еще, письма в html и без нормального квотинга тут
>>не приветствуются (это намек) - так же и не приветствуется
>>прибивание гвоздями текстовых сообщений в тело любой программы
>>кроме одноминутных поделок (и это тоже намек).
>>
AC> Извините, не понял что значит "прибивание текстовых сообщений в тело 
AC> программы"? В любой программе есть текст, это же интерфейс. Как его 
AC> реализовывать? Вы имеете в виду через cout <<?
Я имею в виду, что вместо cout << "msg" лучше использовать

#include <locale.h>
#include <libintl.h>
#define _(Text) gettext(Text)

cout << _("msg")

Затем  программа  при  выполнении  вместо "msg" в зависимости от
текущей  локали  может  вывести что угодно вплоть до "мессадж" -
если   "мессадж"   будет   описано  в  файле  ru.po  как  замена
английскому  "msg".  Причем  сам  автор программы может не иметь
русских  букв  вообще,  а принять на веру присланный ему русским
переводчиком po-файл.

Короче,   смотри   исходники   любой   программы   с  нормальной
локализацией   (критерий:   наличие   файлов  *.po  в  отдельном
подкаталоге, обычно называемом po/ ).

В  качестве  домашнего задания сравни вывод какой-нибудь команды
из  GNU  utils,  например,  ls  или  date  при  LC_ALL="C"     и
LC_ALL="ru_RU.KOI8-R",  и  подумать,  за  счет  чего  получается
теоретическая  возможность  перевести  эти  сообщения  на  языки
суахили  или  ретороманский  без  перекомпиляции  программы    и
затрагивания уже имеющихся бинарников?

-- 
Best regards,
 ASA                            mailto:llb на udm.ru




Подробная информация о списке рассылки community