Translations-ru
English | Deutsch | Español | Português | Korean | Russian | Chinese
Contents
Вступление
aMule очень легко переводить на другие языки. Теперь в нем поддерживается и Unicode, поэтому больше нет ограничений на используемые символы. Можно сделать перевод на китайский, корейский, арабский, иврит (...) на какой угодно язык!
Но для этого нужны переводчики, так что смело присоединяйтесь к миру aMule!
Чтобы стать переводчиком, необязательно уметь программировать на C++ или Klingon! Достаточно знать свой родной язык (!!) и немного английский!
Интересно? Тогда за дело!
Как начать
Время от времени (примерно раз в месяц) мы выкладываем текстовый файл, который называется source_strings.po, в разделе форума, посвященном Переводам.
Скачайте его и откройте программой KBabel, если вы пользуетесь KDE, либо PoEdit или gTranslator, если у вас Gnome.
Перед этим не забудьте настроить KBabel, PoEdit или gTranslator, то есть указать ваше имя, адрес электронной почты, кодировку и т.д.
Вот, что будет видно в окне KBabel:
В верхнем левом углу находится английская строка.
В верхнем правом углу указано имя файла, в котором эта строка используется.
Все, что вам надо сделать -- ввести перевод данной строки в поле в левом нижнем углу:
ОБЯЗАТЕЛЬНО скопируйте в переведенную строку все специальные символы, например &, %i, \n и сохраните начальные и конечные пробелы.
Пожалуйста, изучите также этот документ на предмет символов, которые нельзя изменять.
Обработайте таким образом все остальные строки, сохраните файл и...
Перевод закончен! Теперь выложите его в разделе форума aMule, посвященном переводам и вам будут благодарны тысячи людей. :)
Как продолжить уже начатый перевод
Если кто-то уже начал перевод, то вам не придется переписывать уже переведенные строки из предыдущего файла source_strings.po!
Процесс объединения уже переведенных строк с новым файлом source_strings.po можно автоматизировать.
Например, вы хотите продолжить перевод на французский:
- Объедините оба файла, напечатав:
msgmerge --no-fuzzy-matching -o new_fr.po fr.po source_strings.po
Это же объединение можно произвести и встроенными в KBabel и PoEdit инструментами (проконсультируйтесь со справочными руководствами к этим программам).
Теперь действуйте с этим объединенным файлом new_fr.po так же, как с первоначальным файлом source_srings.po, с той разницей, что переводить надо будет только новые (добавленные) строки.
Тестирование вашего перевода
Первые замечания
После того, как вы перевели файл, можете сразу скомпилировать aMule или только проверить ваш файл на корректность (при компиляции aMule такая проверка происходит автоматически).
Второй вариант хорош тем, что надо будет собирать не весь aMule, а только ваш перевод.
Рекомендуется всегда сначала тестировать файл перевода на корректность, а только потом компилировать aMule с поддержкой этого перевода и смотреть, как он выглядит.
Проверка только переведенного файла
Для этого сначала запустите ./configure.
Теперь, когда вы переместили ваш файл перевода в каталог po/, выполните команду make язык_перевода.gmo, например make en_GB.gmo
Если с вашим переводом все в порядке, то вы увидите примерно такое сообщение
[~/aMule/amule-dev-cvs/po]$ make en_GB.gmo rm -f en_GB.gmo && /usr/bin/msgfmt -c --statistics -o en_GB.gmo en_GB.po 1354 translated messages
Это был пример правильного и полного перевода.
Под "правильным" имеется в виду перевод, который не содержит синтаксических ошибок и поэтому готов к использованию, хотя он может быть не закончен.
В случае правильного, но неполного перевода будет показано следующее:
[~/aMule/amule-dev-cvs/po]$ make ru.gmo rm -f ru.gmo && /usr/bin/msgfmt -c --statistics -o ru.gmo ru.po 1333 translated messages, 79 untranslated messages.
Как видите, 79 строк здесь еще не переведены.
Существуют также сомнительные переводы. Это переводы, которые угадывает gettext, но скорее всего они ошибочны (хотя вероятно не очень). Они отмечаются строкой #, fuzzy прямо перед переводом. Так что, если у вас будут сомнительные переводы, ищите такие строки и исправляйте их (или просто удаляйте #, fuzzy если со строками все в порядке).
Пример, в котором есть сомнительные переводы:
[~/aMule/amule-dev-cvs/po]$ make hr.gmo rm -f hr.gmo && /usr/bin/msgfmt -c --statistics -o hr.gmo hr.po 544 translated messages, 412 fuzzy translations, 443 untranslated messages.
Наконец, в вашем переводе могут быть ошибки. В этом случае будут указаны все найденные ошибки и объяснение каждой из них:
[~/aMule/amule-dev-cvs/po]$ make de.gmo rm -f de.gmo && /usr/bin/msgfmt -c --statistics -o de.gmo de.po de.po:88: number of format specifications in 'msgid' and 'msgstr' does not match /usr/bin/msgfmt: found 1 fatal error make: *** [de.gmo] Error 1
В этом примере найдена ошибка в строке 88 и файл перевода не будет сгенерирован, пока ошибка не будет исправлена.
Проверка перевода в aMule
Чтобы проверить перевод, вы можете скомпилировать aMule и посмотреть, как ваш перевод будет там выглядеть.
Если ваш язык не был доступен в aMule, добавьте его в базу, чтобы aMule знал о нем и скомпилировался с его поддержкой. Для этого добавьте код вашего языка в файл po/LINGUAS (там каждый язык в отдельной строке).
Теперь скомпилируйте aMule как обычно. Если при этом вам понадобится помощь, то изучите это руководство.
Перевод для продвинутых
Если вы не новичок в разработке под Linux или очень нетерпеливы и хотите всегда иметь самый свежий перевод...
Создайте файл source_strings.po сами!
Как это сделать?
- Скачайте последний CVS снимок aMule с сайта http://amule.hirnriss.net
- Распакуйте архив, перейдите в его корневой каталог и сгенерируйте Makefiles:
tar -xjf aMule-cvs-20041009.tar.bz2
cd amule-cvs
./configure
- Обновите файл POTFILE.in:
grep -m 1 '_(' `find * -name "*.cpp"` | cut -d: -f1 > po/POTFILES.in
- Создайте новый файл source_strings.po:
cd po
mv amule.pot amule.pot.old
make amule.pot
mv amule.pot source_strings.po
mv amule.pot.old amule.pot
- Переведите этот файл source_strings.po и выложите его на форуме!
--Thepolish 22:46, 9 Oct 2004 (CEST)