Jak przetłumaczyć Redmine na dowolny język
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.