1 <h1 id=
"t-umaczenia">Tłumaczenia
</h1>
2 <p>Mechanizm aktualizacji plików tłumaczeń, wymaga odrobiny wiedzy na temat systemu
3 kontroli wersji GIT. Ta strona zawiera informacje o strukturze plików tłumaczeń.
</p>
4 <h2 id=
"gdzie-znajduj-si-pliki-dla-danego-j-zyka-">Gdzie znajdują się pliki dla danego języka?
</h2>
5 <p>Pliki tłumaczeń znajdują się w dwóch miejscach. LANG_CODE - dwuliterowy, niepowtarzalny
6 kod dla każdego języka. Np.: en, fr, de, pl
</p>
7 <h3 id=
"wyra-enia">Wyrażenia
</h3>
8 <p><code>src/lang/_strings/LANG_CODE.po
</code></p>
10 <li>Powyższe wyrażenia są używane w całej aplikacji. Należy przetłumaczyć tylko tekst
11 znajdujący się w cudzysłowie, za słowem kluczowym
<code>msgstr
</code>.
</li>
12 <li>W przypadku, gdy brakuje linijki z wyrażeniem
<code>msgstr
</code>, skopiuj ją z pliku en.po
13 i przetłumacz treść w cudzysłowie. Np. pl.po.
<pre><code>msgctxt
<span class=
"hljs-string">""</span>
14 msgid
<span class=
"hljs-string">"Select a filter"</span>
15 msgstr
<span class=
"hljs-string">"Wybierz filtr"</span>
18 <h3 id=
"strony">Strony
</h3>
19 <p><code>src/lang/LANG_CODE/PAGE.md
</code></p>
21 <li>W tym miejscu znajdują się całe strony, które wymagają tłumaczenia.
</li>
22 <li>Strony te zostały stworzone w języku znaczników
<a href=
"https://pl.wikipedia.org/wiki/Markdown">Markdown
</a>.
</li>
23 <li>W przypadku, gdy nie istnieje jeszcze strona
<em>PAGE
</em>.md dla Twojego języka, to należy ją skopiować
24 z folderu
<code>en
</code>, a następnie zmodyfikować.
</li>
25 <li>Twórz tylko strony
<em>PAGE
</em>.md dla kompleksowych tłumaczeń
</li>
27 <h2 id=
"dodawanie-nowego-j-zyka">Dodawanie nowego języka
</h2>
28 <p><strong>Przykład:
</strong> Jeśli nowym językiem tłumaczenia jest język
<code>polski
</code> to jego
<em>LANG_CODE
</em> jest równy
<code>pl
</code>.
</p>
29 <h3 id=
"poinformuj-aplikacj-o-zmianach">Poinformuj aplikację o zmianach
</h3>
30 <p>Wymagane jest poinformowanie aplikacji o dostępności nowego języka. W tym celu musisz
31 zmodyfikować plik
<code>/src/js/helpers/translate.js.coffee
</code> i dodać
<code>pl:
"Polski
"</code> do listy
32 języków w funkcji
<code>getLanguages
</code>.
</p>
33 <h3 id=
"powielanie-struktury-folderu-plik-w-z-j-zyka-angielskiego">Powielanie struktury folderu/plików z języka angielskiego
</h3>
34 <p>Skopiuj pliki, które chcesz przetłumaczyć na nowy język:
</p>
36 <li><strong>Wyrażenia:
</strong> skopiuj
<code>/src/_strings/en.po
</code> do
<code>/src/_strings/pl.po
</code></li>
37 <li><strong>Strony:
</strong> skopiuj
<code>/src/en/readme.md
</code> do
<code>/src/pl/readme.md
</code></li>
39 <h2 id=
"testowanie">Testowanie
</h2>
40 <p>Testowanie zmiany wymaga zbudowania aplikacji, aczkolwiek w przypadku postępowania w ramach
41 istniejącej struktury, nie powinno to być potrzebne.
</p>
42 <p>Jeśli naprawdę chcesz przetestować zmiany w aplikacji, możesz to zrobić następująco:
</p>
44 <li>Upewnij się, że
<code>nodejs
</code>,
<code>npm
</code> są zainstalowane
</li>
45 <li>Przejdź do folderu Chorusa
<code>cd /chorus/folder
</code></li>
46 <li>Uruchom
<code>npm install
</code> (tylko za pierwszym razem)
</li>
47 <li>Wykonaj
<code>grunt lang
</code> (to polecenie przebuduje tylko tłumaczenia w folderze
<code>dist/lang
</code>)
</li>
48 <li>Odśwież interfejs Chorusa
</li>
50 <h2 id=
"dzia-anie-awaryjne">Działanie awaryjne
</h2>
51 <p>Mechanizm obsługi języków powinien awaryjnie wyświetlać wyrażenia w języku angielskim
52 chyba, że w pliku dla aktywnego języka znajduje się już wyrażenie dla danego
<code>msgid
</code>
53 albo strona dla danego kodu języka
<code>LANG_CODE/PAGE.md
</code> istnieje.
</p>
54 <h2 id=
"przesy-anie-aktualizacji">Przesyłanie aktualizacji
</h2>
55 <p>Najlepszym sposobem na przesłanie aktualizacji, jest wykorzystanie funkcji Pull Request, dla zmianach
56 znajdujących się w dedykowanej gałęzi repozytorium
<a href=
"https://github.com/jez500/chorus2">GitHuba
</a>.
57 Aczkolwiek dopuszczam przesyłanie aktualizacji za pomocą innych metod, np. łączą do plików z tłumaczeniem.
</p>