KDevelop также принимает участие в облегчении вашей жизни при добавлении поддержки нового языка в ваше приложение. Всегда при создании нового проекта KDE каталог po добавляется в корневой каталог проекта. В него будет помещен ваш файл &<;приложение&>;.pot после окончания генерации. pot файл содержит все строки, заключенные в макрос i18n(). Вы должны только написать свой код, используя этот макрос. Время от времени вы должны запускать "Project"-"Make messages and merge", что автоматически извлечет все макросы из кода и сгенерирует pot файл.
Для добавления языка в ваше приложение, выберите "Project"-"Add translation file", после чего откроется каталог выбора языка. Выберите требуемый язык и нажмите OK. После этого соответствующий &<;lang&>;.po файл появится в каталоге po. Запустите перевод po файла, выбрав его в каталоге po, в Real File Viewer или из LFV, папка "Translations". Если вы установили KTranslator , он откроется в окне "Tools" с KTranslator , иначе как текстовый файл в панели header/resource. KTranslator облегчает перевод строк, сканируя уже существующие переводы вашей локальной инсталляции KDE, поэтому уже существующий перевод может использоваться повторно.
Рассмотрим пример ручного редактирования:
#: kscribble.cpp:619 msgid "Opens an existing document" msgstr "" |
Это строка, взятая из файла kscribble.cpp, строка кода номер 619. msgid и msgstr - это таги, которые дают информацию для перевода; msgstr должен содержать переведенный текст. Вы можете увидеть эскейп-последовательности типа \n или \t, которые должны быть включены в переведенную строку. Русский перевод будет выглядеть так:
#: kscribble.cpp:619 msgid "Opens an existing document" msgstr "Открыть существующий документ" |
Это все, что необходимо для перевода; когда это сделано, сохраните файл. Когда make будет просматривать каталог po, будет обработан файл сообщений и могут возникнуть ошибки, если строки переведены неправильно, например, без учета эскейп-последовательностей. Если это произошло, отредактируйте строку сообщения снова и убедитесь, что make выполняется без ошибок.
Кроме того, вы должны быть очень аккуратны при переводе амперсантов в текстовых строках. Буква после амперсанта используется как горячая клавиша в сочетании с клавишей ALT для переключения фокуса ввода клавиатуры на требуемый элемент. Если одинаковые буквы используются в одной области фокуса клавиатуры (например, главное окно или диалоговое окно), все элементы, кроме первого, не будут доступны по горячей клавише. Поэтому переводчик также отвечает за возможность использования приложения. Кроме того, нет никаких гарантий, что исходная буква встретится в переводе, поэтому переводчик должен быть очень осторожен и должен протестировать приложение на своем языке после установки перевода, чтобы убедиться в отсутствии подобных неприятностей.