Jak przetłumaczyć Redmine na dowolny język

5/26/2020
5 minut
Lukáš Beňa -> Łukasz Beňa

Rozwiązanie z dodatkową zaletą Redmine'a jest to, że można je łatwo przetłumaczyć na aplikację do zarządzania projektami na dowolnym języku, który jest potrzebny.

Uwaga: Informacje zawarte w tym artykule dotyczą tylko Redmine i nie są dostępne w Easy Redmine.

Jeśli chodzisz o oryginał Redmine, musisz przetłumaczyć kilka rzeczy:

  • Główny plik językowy: ten plik znajduje się w źródle: /trunk/config/locales.
  • Plik językowy paska narzędzia wiki: ten plik znajduje się w źródle: trunk/public/javascripts/jstoolbar/lang
  • 4 załączone pliki pomocy: wszystkie te pliki znajdujące się w źródle: trunk/public/help/ w podkatalogu nazwanym według podtagu językowego

Na przykład, jeśli chcesz przetłumaczyć aplikację Redmine na język fiński (podtag językowy określający język jako „fi”), dostępny w wersji z narzędziami krokami:


szkic

  • krok 1: Skopiuj i wklej /config/locales/en.yml do /config/locales/fi.yml
  • krok 2: Skopiuj i wklej /public/javascripts/jstoolbar/lang/jstoolbar-en.js do /public/javascripts/jstoolbar/lang/jstoolbar-fi.js
  • Krok 3: Skopiuj i wklej /public/help/en/* do /public/help/fi/*.
  • Krok 4: Zmień klucz general_lang_name na niezbędny nowego języka w fi.yml (w tym kontekście: general_lang_name: Finland)
  • Krok 5: Następnie wyczyść pamięć podręczną aplikacją. Spowoduje to, że nowy język (fiński) będzie dostępny w oprogramowaniu Redmine (na przykład, rake tmp:cache:clear)

Po wykonaniu działania przejdź do:

  • 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 wiki_syntax_detailed_textile.html)
  • Krok 7: Użyj zadań rake (które są dostępne pod spodem), aby sprawdzić swoje oryginalne. Mogą być wszelkie błędy (jeśli takie istnieją) z lokalami.
  • Krok 8: Prześlij swoje oryginał w formie pliku tekstowego (wymagane będzie logowanie). Z list kategorii wybierz „Tłumaczenie”.
  • Krok 9: Najważniejsze, ciesz się swoją pracą tłumaczeniową!


Test grabieży Zadanii:

  • Jeśli zastosowano wersję Ruby 1.9 lub wyższą:

lokalizacje prowizji:check_parsing_by_psych

  • Na wszystkich użytkowników Ruby:

ustawienia regionalne rake:check_interpolation

  • Cały test (to jest odłączony): test rake

Pamiętaj, że „test prowizji” uwzględnia odpowiednio długi czas i automatycznie uruchamia się na urządzeniu CI (Continuous Integration).


Ograniczenia

Zwróć uwagę, że postanowienie o rozwiązaniu:

  • Te pliki muszą być kodowane w UTF-8 (8-bitowy format transformacji Unicode). W przetłumaczonych ciągach nieużywających języka HTML (Hypertext Markup Language).
  • nastąpi, że twoje pliki nie będą następować po bajtów (BOM). Możesz usunąć kolejność bajtów za pomocą tej komendy: awk '{if(NR==1)sub(/^\xef\xbb\xbf/, "");print}' < oldfile > nowy plik
  • Wysyłanie tylko danych na nowych plikach tłumaczeń (aktualizacja danych w /config/locales)


Aktualizacje plików językowych

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

Podczas tłumaczeń w Redmine można również włączyć wtyczkę, która umożliwia obsługę tłumaczeń, które obejmują końcówki dostępne.


Dostosowywanie terminologii w tłumaczeniach w Redmine

  • Ustaw ogólny katalog na config/overrides/ wtyczka
  • Skopiuj aktualny plik 000.yml do ./XXX.yml. Tutaj „XXX” to trzycyfrowy numer, który określa priorytety twoich numerów: Im podlega numer, tym stosowany w priorytetach. Najlepsze rozwiązanie do tworzenia pliku 999.yml. Możliwość pozostawienia więcej miejsca na dodatkowe nadpisywanie.
  • Filtruj te określone definicje, których nie chcesz modyfikować. W ten sposób plik o podanym priorytecie będzie mógł być zidentyfikowany przez twoje modyfikacje do elementów, których nie chcesz ruszać.
  • Na alternatywnych terminach swoich własnych definicji


Wsparcie dla terminów, które można dostosować do własnych potrzeb

  • Jak zwykle, udostępniane pliki tłumaczeń w config/locales, aby sprawdzić działanie, gdy nie jest zainstalowana wtyczka. Jeśli tego nie zrobisz, zastosuj jawnie wymaganą tę wtyczkę w init.rb. Jeśli dalsze informacje, sprawdź Redmine
  • Skopiuj swoje lokalizacje do config/locales
  • Dla każdego ważnego terminu, który można nadpisać w pliku 000.yml, zmienić tłumaczenia, aby uzyskać interpolację. Na przykład, gdy wydrukujesz problem, możesz zamienić słowo na %{issue}. Dodatkowo, gdy drukujesz problemy, możesz zamienić słowo na %{issue_or_issues}.
  • Możesz umieścić większe terminy internetowe, które można nadpisać w Twojej witrynie. Po zastosowaniu jej również w Redmine, należy zastosować interpolacje dla terminologii Redmine.

Jako przykład można zastosować podstawową terminologię %{my_term} w swoich lokalizacjach. Jeśli oryginał jest również używany w terminologii Redmine, należy je skonfigurować do swoich lokalizacji z poprawną zamianą %{my_term}, aby zapewnić spójność w tłumaczeniu.

Wypróbuj Easy Redmine przez 30 dni za darmo

Pełne funkcje, wsparcie SSL, codzienne kopie zapasowe, dostępne w lokalizacji lokalizacji