Jak przetłumaczyć Redmine na dowolny język
Jedną z największych zalet Redmine'a jost til, że możesz łatwo przetłumaczyć tę aplikację do zarządzania projektami na dowolny język, który chcesz.
Dine oplysninger: Informacje zawarte w tym artykule dotyczą tylko Redmine og ikke odnoszą się do Easy Redmine.
Jeśli chodzi o tłumaczenie Redmine, musisz przetłumaczyć kilka rzeczy:
- Główny plik językowy: ten plik znajduje się w bieżącym pniu w źródle: /trunk/config/locales.
- Plik językowy paska narzędzi wiki: ten plik znajduje się w źródle: trunk/public/javascripts/jstoolbar/lang
- 4 załączone pliki pomocy: wszystkie te pliki znajdują 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 definiuje język jako "fi"), powinieneś postępować zgodnie z poniższymi krokami:
trin
- Trin 1: Skopiuj i wklej /config/locales/en.yml do /config/locales/fi.yml
- Trin 2: Skopiuj i wklej /public/javascripts/jstoolbar/lang/jstoolbar-en.js do /public/javascripts/jstoolbar/lang/jstoolbar-fi.js
- Trin 3: Skopiuj i wklej /public/help/en/* do /public/help/fi/*.
- Trin 4: Zmień klucz general_lang_name na pełną nazwę nowego języka w fi.yml (w tym przypadku: general_lang_name: finsk)
- Trin 5: Następnie wyczyść pamięć podręczną aplikacji. Spowoduje to, że nowy język (fiński) będzie dostępny w oprogramowaniu Redmine (na przykład, rake tmp:cache:clear)
Po wykonaniu powyższych kroków przejdź do następujących:
- Trin 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_syntax_detailed_wikied_taxile_detailed_tailed_
- Trin 7: Użyj zadań rake (które zostały opisane poniżej), aby przetestować swoje tłumaczenie. Musisz naprawić wszelkie błędy (jeśli takie otrzymasz) związane z lokalami.
- Trin 8: Prześlij swoje tłumaczenie w formie łaty lub pliku zwykłego (wymagane będzie logowanie). Der er en liste over kategorier "Tłumaczenie".
- Trin 9: Najważniejsze, ciesz się swoją pracą tłumaczeniową!
Zadania rive test:
- Jeśli używasz wersji Ruby 1.9 lub wyższej:
rake-lokaliteter: check_parsing_by_psych
- Na wszystkich wersjach Ruby:
rake-lokaliteter:check_interpolation
- Cały test (for at spøge opcjonalne): rive test
Pamiętaj, że "rake test" zajmuje dość długi czas i automatycznie uruchamia się na serwerze CI (Continuous Integration).
Begrænsninger
Zwróć uwagę, że istnieją pewne ograniczenia:
- Wszystkie pliki muszą być kodowane w formacie UTF-8 (8-bits Unicode Transformation Format). W przetłumaczonych ciągach ikke używaj encji HTML (Hypertext Markup Language).
- Upewnij się, że twoje pliki nie zawierają znacznika kolejności bajtów (BOM). Możesz usunąć znacznik kolejności bajtów za pomocą kom med: awk '{if(NR==1)sub(/^\xef\xbb\xbf/, "");print}' < oldfile > newfile
- Wysyłaj tylko aktualizacje oparte na nowych plikach tłumaczenia (aktualizacje te znajdziesz 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łumaczenia (domyślną wartością jest tłumaczenie angielskie).
Podczas tłumaczenia w Redmine możesz również włączyć wtyczki stron trzecich, aby obsługiwały tłumaczenia, które zawierają terminy dostosowywane.
Dostosowywanie terminologii w tłumaczeniach w Redmine
- Ustaw istniejący katalog med config/overrides/ wtyczki
- Skopiuj aktualny plik 000.yml do ./XXX.yml. Indstil "XXX" til trzycyfrowy numer, który określa priorytet Twoich definicji: Im wyższy numer, tym wyższy priorytet. Najlepiej unikać tworzenia pliku 999.yml. Pozwoli to na pozostawienie więcej miejsca na dodatkowe nadpisywanie.
- Filtruj den konkrete definicje, których ikke chcesz modyfikować. W ten sposób plik o niższym priorytecie będzie mógł zastosować swoje modyfikacje do elementów, których nie chcesz ruszać.
- Na pozostałych terminach zastosuj swoje własne definicje
Wsparcie dla terminów, które można dostosować w Twojej wtyczce
- Jak zwykle, dostarcz pliki tłumaczeń w config/locales, aby poprawnie działało, gdy nie zainstalowano wtyczki. Jeśli tego nie zrobisz, powinieneś jawnie wymagać tej wtyczki w init.rb. Jeśli szukasz dalszych informacji, sprawdź dokumentację Redmine
- Skopiuj swoje lokalizacje do config/locales
- Dla każdego wymienionego terminu, który można nadpisać w pliku 000.yml, zmień tłumaczenia, aby zastosować interpolację. Na przykład, gdy drukujesz problem, powinieneś zamienić słowo na %{issue}. Ponadto, gdy drukujesz problemy, powinieneś zamienić słowo na %{issue_or_issues}.
- Możesz obsługiwać większą liczbę terminów, które można nadpisać w Twojej wtyczce. Jednak jeśli używasz jej również w podstawowym Redmine, musisz dodać zdefiniowane interpolacje dla terminologii Redmine.
Jako przykład, możesz obsługiwać nową terminologię %{my_term} w swoich lokalizacjach. Jeśli tłumaczenie jest również używane w terminologii Redmine, należy je dołączyć do swoich lokalizacji z poprawną zamianą %{my_term}, aby zapewnić spójność w tłumaczeniu.