bg
Език
  • en
  • de
  • fr
  • es
  • br
  • ru
  • jp
  • kr
Превод от изкуствен интелект
  • ee
  • ae
  • cn
  • vn
  • id
  • eu
  • il
  • gr
  • no
  • fi
  • dk
  • se
  • tr
  • bg
  • nl
  • it
  • pl
  • hu
  • ro
  • ua
  • cs

Как да преведете Redmine на всяки език

5/26/2020
5 minutes
Лукáш Беньа

Едно от най-големите предимства на Redmine е, че можете лесно да преведете тази приложение за управление на проекти на който и да е език, който желаете.

Отказ от отговорност: Информацията в тази статия се отнася само за Redmine и не се отнася за Easy Redmine.

Когато става въпрос за превод на Redmine, трябва да преведете няколко неща:

  • Основният файл на езика: този файл се намира в текущия ствол на източника: /trunk/config/locales.
  • Файлът на езика на лентата с инструменти на уики: този файл се намира в източника: trunk/public/javascripts/jstoolbar/lang
  • 4-те включени файлове за помощ: всички тези файлове се намират в източника: trunk/public/help/ подпапка, която е именувана според езиковия подтаг

Като пример, кажете, че искате да преведете приложението Redmine на фински език (Language Subtag Registry определя езика като "fi"). За да направите това, трябва да следвате следните стъпки:


Стъпки

  • Стъпка 1: Копирайте /config/locales/en.yml в /config/locales/fi.yml
  • Стъпка 2: Копирайте /public/javascripts/jstoolbar/lang/jstoolbar-en.js в /public/javascripts/jstoolbar/lang/jstoolbar-fi.js
  • Стъпка 3: Копирайте /public/help/en/* в /public/help/fi/*.
  • Стъпка 4: Променете ключа general_lang_name с пълното име на новия език в fi.yml (в този случай: general_lang_name: Finnish)
  • Стъпка 5: След това изчистете кеша на приложението. Това ще направи новия език (фински) наличен в софтуера Redmine (например, rake tmp:cache:clear)

След като следвате гореспоменатите стъпки, продължете със следното:

  • Стъпка 6: Преведете всеки низ в jstoolbar-fi.js и fi.yml файловете и преведете съдържанието на 4-те файлове за помощ (wiki_syntax_markdown.html, wiki_syntax_textile.html, wiki_syntax_detailed_markdown.html и wiki_syntax_detailed_textile.html)
  • Стъпка 7: Използвайте rake задачите (които са описани по-долу), за да тествате превода си. Трябва да оправите всички грешки (ако получите такива), свързани с езиците.
  • Стъпка 8: Подайте превода си във формата на пач или обикновен файл (ще бъде необходимо да влезете в профила си). От списъка с категории изберете "Превод".
  • Стъпка 9: Накрая и най-важното, наслаждавайте се на работата си по превода!


Тестовите rake задачи:

  • Ако използвате Ruby версия 1.9 или по-висока:

rake locales:check_parsing_by_psych

  • На всички версии на Ruby:

rake locales:check_interpolation

  • Целият тест (това е опционално): rake test

Имайте предвид, че "rake test" отнема доста време и автоматично се изпълнява на сървъра за непрекъснато интегриране (CI).


Ограничения

Имайте предвид, че има определени ограничения:

  • Всички файлове трябва да бъдат кодирани в 8-битов Unicode Transformation Format (UTF-8). В преведените низове не използвайте HTML (Hypertext Markup Language) елементи.
  • Уверете се, че проверявате дали файловете ви не съдържат маркер за порядъка на байтовете (BOM). Можете да премахнете маркера за порядъка на байтовете с тази команда: awk '{if(NR==1)sub(/^\xef\xbb\xbf/, "");print}' < oldfile > newfile
  • Трябва да подавате само актуализации, базирани на нови файлове за превод (можете да намерите тези актуализации в /config/locales)


Актуализации на файловете на езика

Файлът "en.yml" действа като основен файл на езика. Като изпълните rake locales:update, можете да проверите дали той съдържа нови низове. Тази команда копира всички нови низове в други файлове за превод (стойността по подразбиране е английският превод).

При превода в Redmine можете също да активирате плъгини от трети страни, за да поддържат преводи, които включват персонализируеми термини.


Персонализиране на терминологиите в преводите в Redmine

  • Задайте съществуващата директория към config/overrides/<locale> в рамките на плъгина
  • Копирайте текущия 000.yml в ./XXX.yml. Тук "XXX" е трицифрен номер, който определя приоритета на вашите дефиниции: по-високият номер означава по-висок приоритет. Най-добре е да избягвате създаването на 999.yml. Това ще ви позволи да оставите повече място за допълнителни промени.
  • Филтрирайте тези конкретни дефиниции, които не желаете да променяте. По този начин файл с по-нисък приоритет ще може да приложи своите промени към елементите, с които не желаете да се занимавате.
  • Приложете своите собствени дефиниции върху останалите термини


Поддържащи термини, които могат да бъдат персонализирани във вашия плъгин

  • Както обикновено, предоставете файлове за превод под config/locales, за да функционира правилно, когато не сте инсталирали плъгина. Ако не го направите, трябва явно да изискате този плъгин във вашия init.rb. Ако търсите допълнителна информация, проверете документацията на Redmine
  • Копирайте вашите локали под config/locales
  • За всеки изброен термин, който може да бъде презаписан в 000.yml, променете преводите, за да приложите интерполация. Например, когато отпечатвате проблем, трябва да замените думата с %{issue}. Освен това, когато отпечатвате проблем(и), трябва да замените думата с %{issue_or_issues}.
  • Можете да поддържате по-голям брой термини, които могат да бъдат презаписани във вашия плъгин. Въпреки това, ако го използвате и в основния Redmine, трябва да добавите интерполирани дефиниции за терминологиите на Redmine.

Като пример, можете да поддържате нов термин %{my_term} във вашите локали. Ако превода се използва и в терминологиите на Redmine, трябва да ги включите във вашите локали с правилната замяна на %{my_term}, за да гарантирате съответствие в превода.

Изпробвайте Easy Redmine в безплатен пробен период от 30 дни

Пълни функции, защитени с SSL, ежедневни резервни копия, във вашата географска локация