en
Wybierz język
  • en
  • de
  • fr
  • es
  • br
  • ru
  • jp
  • kr
Tłumaczenie SI
  • ee
  • ae
  • cn
  • vn
  • id
  • eu
  • il
  • gr
  • no
  • fi
  • dk
  • se
  • tr
  • bg
  • nl
  • it
  • pl
  • hu
  • ro
  • ua
  • cs

Jak przetłumaczyć Redmine na dowolny język

5/26/2020
5 minut
Łukasz Beňa

Jedną z największych cech Redmine jest to, że możesz łatwo przetłumacz tę aplikację do zarządzania projektami na dowolny język chcesz.

Zastrzeżenie: Informacje zawarte w tym artykule dotyczą tylko Redmine i nie dotyczą Easy Redmine.

Jeśli chodzi o tłumaczenie Redmine, musisz przetłumaczyć kilka rzeczy:

  • Podstawowy plik lang: ten plik znajduje się w bieżącym magistrali w źródle: / trunk / config / locales.
  • Plik lang paska narzędzi wiki: ten plik znajduje się w źródle: trunk / public / javascripts / jstoolbar / lang
  • 4 dołączone pliki pomocy: Wszystkie te pliki znajdują się w źródle: trunk / public / help / w podkatalogu nazwanym na podstawie podtagu języka

Przykładowo, powiedzmy, że chciałbyś przetłumaczyć aplikację Redmine na język fiński (w rejestrze podtagów języka zdefiniowano język jako „fi”). Aby to zrobić, wykonaj następujące czynności:


Cel

  • Krok 1: Skopiuj wklej /config/locales/en.yml do /config/locales/fi.yml
  • Krok 2: Skopiuj wklej /public/javascripts/jstoolbar/lang/jstoolbar-en.js do /public/javascripts/jstoolbar/lang/jstoolbar-fi.js
  • Krok 3: Skopiuj wklej / public / help / en / * do / public / help / fi / *.
  • Krok 4: Zmodyfikuj klucz general_lang_name, wpisując pełną nazwę nowego języka w fi.yml (w tym przypadku: general_lang_name: fiński)
  • Krok 5: Następna, wyczyść pamięć podręczną aplikacji. Dzięki temu nowy język (fiński) będzie dostępny w oprogramowaniu Redmine (na przykład rake tmp: cache: clear)

Po wykonaniu wyżej wymienionych kroków, wykonaj następujące czynności:

  • Krok 6: Przetłumacz każdy ciąg w plikach jstoolbar-fi.js i fi.yml oraz przetłumacz zawartość 4 plików pomocy (wiki_syntax_markdown.html, wiki_syntax_textile.html, wiki_syntax_detailed_markdown.html i_syntax_detailed_textile.html)
  • Krok 7: Skorzystaj z zadań prowizji (zostały one szczegółowo opisane poniżej), aby przetestować swoje tłumaczenie. Musisz naprawić wszelkie błędy (jeśli wystąpią) związane z lokalizacjami.
  • Krok 8: Prześlij tłumaczenie w postaci łatki lub zwykłego pliku (wymagane będzie zalogowanie się). Z listy kategorii wybierz „Tłumaczenie”.
  • Krok 9: Na koniec, co najważniejsze, życzymy udanej pracy tłumaczeniowej!


Testowe zadania rake:

  • Jeśli używasz wersji Ruby 1.9 lub nowszej:

ustawienia prowizji rake: check_parsing_by_psych

  • We wszystkich wersjach Ruby:

ustawienia prowizji rake: check_interpolation

  • Cały test (jest opcjonalny): test prowizji

Pamiętaj, że „test prowizji” zajmuje dość dużo czasu i automatycznie działa na serwerze CI (Continuous Integration).


Obowiązujące ograniczenia

Pamiętaj, że istnieją pewne ograniczenia

  • Wszystkie pliki muszą być zakodowane w 8-bitowym formacie transformacji Unicode (UTF-8). W przetłumaczonych napisach nie używaj jednostek HTML (Hypertext Markup Language).
  • Upewnij się, że pliki nie mają oznaczenia kolejności bajtów (BOM). Możesz usunąć znacznik kolejności bajtów za pomocą tego polecenia: awk '{if (NR == 1) sub (/ ^ \ xef \ xbb \ xbf /, ""); print}' <oldfile> newfile
  • Aktualizacje należy przesyłać wyłącznie w oparciu o nowe pliki tłumaczeń (można je znaleźć w katalogu / config / locales)


Aktualizacje plików językowych

Plik „en.yml” działa jako plik języka podstawowego. Uruchamiając rake locales: update, możesz sprawdzić, czy zawiera nowe ciągi. To polecenie kopiuje wszystkie nowe ciągi do innych plików tłumaczeń (domyślną wartością jest tłumaczenie angielskie).

W tłumaczeniu w Redmine możesz również włączyć wtyczki innych firm do obsługi tłumaczeń zawierających warunki, które można dostosowywać.


Dostosowywanie terminologii w odniesieniu do tłumaczeń w Redmine

  • Ustaw istniejący katalog na config / overrides / w ramach wtyczki
  • Skopiuj i wklej bieżący 000.yml do ./XXX.yml. Tutaj „XXX” to trzycyfrowa liczba określająca priorytet definicji: wyższy numer, wyższy priorytet. Najlepiej unikać tworzenia 999.yml. Pozwoli ci to zostawić więcej miejsca na dodatkowe przesłonięcia.
  • Odfiltruj te szczegółowe definicje, których nie chcesz modyfikować. W ten sposób plik o niższym priorytecie będzie mógł zastosować swoje modyfikacje do elementów, z którymi nie chcesz się wtrącać.
  • W pozostałych terminach zastosuj własne definicje


Warunki pomocnicze, które można dostosowywać we wtyczce

  • Jak zwykle podaj pliki tłumaczeń w config / locales, aby działały poprawnie, gdy nie zainstalowałeś wtyczki. Jeśli nie, powinieneś jawnie wymagać tej wtyczki w pliku init.rb. Jeśli szukasz dalszych informacji, sprawdź dokumentację Redmine
  • Kopiuj, wklej swoje lokalizacje w config / locales
  • Dla każdego wymienionego terminu, który można zastąpić w 000.yml, zmień tłumaczenia, aby zastosować interpolację. Na przykład, kiedy drukujesz problem, powinieneś zamienić słowo na% {problem}. Ponadto, kiedy drukujesz problemy, powinieneś zamienić słowo na% {issue_or_issues}.
  • W Twojej wtyczce możesz obsługiwać większą liczbę nadrzędnych warunków. Jeśli jednak używasz go również w bazie Redmine, dodajesz interpolowane definicje terminologii Redmine.

Dla przypomnienia, możesz obsługiwać nową terminologię% {my_term} w swoich komunikatach. Jeśli tłumaczenie jest również używane w terminach Redmine, dołączycie je do swoich wiadomości z poprawnym zastąpieniem% {my_term}, aby zapewnić spójność tłumaczenia.

Wypróbuj Easy Redmine w 30-dniowym bezpłatnym okresie próbnym

Pełne funkcje, ochrona SSL, codzienne kopie zapasowe w Twojej geolokalizacji