[Comm] Russian KDevelop
Anton Chivchalov
=?iso-8859-1?q?chivchalov_=CE=C1_mail=2Eru?=
Вт Июн 10 01:10:49 MSD 2003
>
>
>Я имею в виду, что вместо 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", и подумать, за счет чего получается
>теоретическая возможность перевести эти сообщения на языки
>суахили или ретороманский без перекомпиляции программы и
>затрагивания уже имеющихся бинарников?
>
>
Понятно, очень интересно.
Но согласитесь, иногда все-таки есть необходимость написать программу,
которая будет работать только на одном компьютере (своем) и ради одной
задачи. В этом случае вполне возможно обходиться без этих вещей. Мне
кажется, что не всегда надо паровым молотом забивать гвозди, иногда и
каблуком можно пришпилить, и сидеть будет. Вы не согласны?
Подробная информация о списке рассылки community