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