[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