Различия

Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.

Ссылка на это сравнение

programming:intern [2021/01/03 08:32]
sfs [Полный пример]
programming:intern [2024/01/24 15:50] (текущий)
sfs [Правильный метод:]
Строка 11: Строка 11:
   *Модификация скрипта и создания файла перевода ///usr/share/locale/ru/LC_MESSAGES/имя_переводимой_программы.mo//.    *Модификация скрипта и создания файла перевода ///usr/share/locale/ru/LC_MESSAGES/имя_переводимой_программы.mo//. 
   *Экономим место и упрощаем жизнь переводчикам на другие языки.    *Экономим место и упрощаем жизнь переводчикам на другие языки. 
-  *Упомянутые утилиты (кроме poedit) находятся в devx модуле+  *gettext и прочие упомянутые ниже утилиты (кроме poedit) находятся в devx модуле
  
 ==== Полный пример ==== ==== Полный пример ====
Строка 23: Строка 23:
  
   xgettext script.sh -o script.po   xgettext script.sh -o script.po
-xgettext не настолько интеллектуальный. Как правило , если автор сам не сделал mo - придется делать самому руками, т.е править текст скрипта как в Пример 1 ниже. Готовый вариант отправить автору, чтобы следующие версии были уже интернационализованы+xgettext не настолько интеллектуальный. Как правило , если автор сам не сделал .po - придется делать самому руками, т.е править текст скрипта как в Пример 1 ниже. Готовый вариант отправить автору, чтобы следующие версии были уже интернационализованы
   *В тесктовом редакторе переводим (заполняем пустоты в msgstr) и проверяем строку   *В тесктовом редакторе переводим (заполняем пустоты в msgstr) и проверяем строку
  
Строка 79: Строка 79:
   
 ==== Добавьте теги вокруг переводимого текста: ==== ==== Добавьте теги вокруг переводимого текста: ====
-  $(gettext 'string_to_be_translated')+  $(gettext 'string to be translated')
 или или
-  `eval_gettext 'string_to_be_translated'` +  `eval_gettext 'string to be translated'` 
-=== Пример: ===+=== Пример 1: ===
 До: До:
-  echo "string_to_be_translated"+  echo "string to be translated"
 После: После:
-  echo "$(gettext 'string_to_be_translated')"+  echo "$(gettext 'string to be translated')" 
 +Создаем файл text.po 
 +<code> 
 +msgid "" 
 +msgstr "" 
 +"Project-Id-Version: Midnight Commander\n" 
 +"Report-Msgid-Bugs-To: http://www.midnight-commander.org/\n" 
 +"POT-Creation-Date: 2019-06-22 13:45+0200\n" 
 +"PO-Revision-Date: 2019-03-03 23:22+0000\n" 
 +"Last-Translator: AlexL <alex.valer@mail.com>\n" 
 +"Language-Team: Russian (http://www.transifex.com/mc/mc/language/ru/)\n" 
 +"Language: ru\n" 
 +"MIME-Version: 1.0\n" 
 +"Content-Type: text/plain; charset=UTF-8\n" 
 +"Content-Transfer-Encoding: 8bit\n" 
 +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 
 +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" 
 +"%100>=11 && n%100<=14)? 2 : 3);\n" 
 + 
 +msgid "string to be translated" 
 +msgstr "строка будет переведена" 
 +</code> 
 +Первые строки - заголовок
  
-----+Пример многострочного перевода: 
 +<code> 
 +msgid "" 
 +"<b>Note:</b> The Retrovol settings can be adjusted at any time in the future " 
 +"by right-clicking on the loadspeaker-icon in the tray." 
 +msgstr "" 
 +"<b>Примечание:</b> Настройки Retrovol можно изменить в любой момент в " 
 +"будущем, щелкнув правой кнопкой мыши на иконке звука в трее." 
 +</code> 
 +=== Пример 2: ===
  
 До: До:
Печать/экспорт