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