Przejdź do głównej zawartości

Internacjonalizacja

Najpierw przeczytaj cały dokument, chyba że otrzymasz inne instrukcje.

Datafisher ma różne systemy i rozwiązania IT, z których część jest tłumaczona na ponad 20 języków. Ich tłumaczenie może trochę różnić się od tego, do czego jesteś przyzwyczajony: tłumaczenie odbywa się w specjalnym systemie, a cały tekst jest podzielony na ciągi znaków, z których większość ma tylko postać frazy albo kilku zdań. Ciągi mogą zawierać zmienne, które zależnie od typu trzeba zostawić bez zmian albo przetłumaczyć tylko ich określoną część. To standard przy tłumaczeniu systemów IT, więc nauczenie się poprawnego postępowania przyda się też w przyszłości gdzie indziej.

Wymagania wstępne (zapewniane przez Datafisher):

  1. Dane logowania
  2. Projekty, komponenty i języki do przetłumaczenia lub zweryfikowania
  3. Typ ciągów do użycia: wszystkie, tylko nieprzetłumaczone, tylko wymagające przeglądu itd.

Rezultat:

  1. Wiesz, jak korzystać z systemu tłumaczeń

W tej sekcji

  1. Weblate – system tłumaczeń i sposób korzystania z niego
  2. Zmienne – zmienne, które mogą występować w ciągach
  3. Format ICU – format zmiennych ICU
  4. Pomocnik formatu ICU – narzędzie pomagające tłumaczyć ciągi zawierające zmienne w formacie ICU

Weblate

Datafisher używa do zarządzania tłumaczeniami systemu Weblate, dostępnego pod adresem https://wl.datafisher.org/.

W Weblate znajdują się projekty składające się z jednego lub wielu komponentów. Komponenty zawierają ciągi, które trzeba przetłumaczyć. Ponieważ większość tłumaczonych projektów jest aktywnie rozwijana, nowe ciągi są dodawane cały czas.

Weblate śledzi, kto co przetłumaczył, ile słów zostało przetłumaczonych, oraz wykonuje różne kontrole weryfikacyjne, aby upewnić się, że tłumaczenia są poprawne.

Przejście do interfejsu tłumaczenia

W tym przykładzie używamy "demo" jako użytkownika, "LMS" jako projektu, "admin" jako komponentu i "Estonian" jako języka.

Najpierw przejdź do https://wl.datafisher.org/ i zaloguj się.

img

Następnie wybierz projekt, komponent i język, które będziesz tłumaczyć.

img

Po zalogowaniu możesz już widzieć właściwy projekt, komponent i język.

Jeśli nie:

  1. wybierz "Projects" z górnego menu
  2. wybierz "Browse all projects"
  3. wybierz odpowiedni projekt z listy projektów
  4. wybierz odpowiedni komponent z listy komponentów
  5. wybierz odpowiedni język z listy języków.

Następnie wybierz typ ciągów do przetwarzania. Tę informację zapewnia Datafisher.

img

Możesz wybrać:

  1. All strings – zawiera wszystko
  2. Translated strings – zawiera tylko przetłumaczone ciągi, które nie są oznaczone jako wymagające edycji lub weryfikacji
  3. Unfinished strings – zawiera ciągi, które nie są przetłumaczone albo zostały oznaczone jako wymagające edycji lub weryfikacji
  4. Strings marked for edit – zawiera ciągi oznaczone jako wymagające edycji lub weryfikacji
  5. Strings with any failing checks – zawiera ciągi, które mogą mieć błędy

Dostępne są dwa interfejsy tłumaczenia:

  1. Pełny interfejs, w którym ciągi tłumaczy się pojedynczo
  2. Interfejs Zen, który pokazuje wiele ciągów na tej samej stronie i może umożliwić szybsze tłumaczenie.

Kliknij odpowiedni link w odpowiednim wierszu kolekcji ciągów, aby otworzyć wybrany interfejs tłumaczenia.

Glosariusz

Na liście komponentów powinien być też widoczny komponent "Glossary".

Glosariusz zawiera wybrane terminy specyficzne dla projektu i ich objaśnienia, aby pomagać tłumaczom i zapewnić, że terminy są zawsze tłumaczone tak samo.

Zanim zaczniesz tłumaczyć właściwe komponenty, musisz zapoznać się z glosariuszem i znaleźć dobre tłumaczenia terminów, które nie są tam jeszcze przetłumaczone.

Pełny interfejs

Ten interfejs pokazuje tylko jeden ciąg naraz.

img

U góry widoczna jest wersja angielska albo wersja w innym języku źródłowym ("Documentation" w przykładzie), a tłumaczenie trzeba wpisać w polu pod spodem ("Dokumentatsioon" w przykładzie).

Czasami tłumaczenie zostało już wykonane i wymaga przeglądu. W takim przypadku zaznaczone jest pole wyboru "Needs editing". Jeśli uznasz, że tłumaczenie jest poprawne, odznacz je i przejdź do następnego ciągu. Jeśli nie masz pewności co do tłumaczenia, na przykład z powodu braku kontekstu, możesz też zaznaczyć je samodzielnie, aby sprawdzić je później.

Po zakończeniu kliknij "Save and continue", aby przejść do następnego ciągu. Możesz też używać strzałek u góry do przechodzenia między ciągami.

Interfejs Zen

Ten interfejs pokazuje kilka ciągów naraz.

img

Po lewej widoczna jest wersja angielska albo wersja w innym języku źródłowym, a tłumaczenie trzeba wpisać w polu obok.

Czasami tłumaczenie zostało już wykonane i wymaga przeglądu. W takim przypadku zaznaczone jest pole wyboru "Needs editing". Jeśli uznasz, że tłumaczenie jest poprawne, odznacz je i przejdź do następnego ciągu. Jeśli nie masz pewności co do tłumaczenia, na przykład z powodu braku kontekstu, możesz też zaznaczyć je samodzielnie.

Po zakończeniu możesz po prostu przenieść kursor do następnego pola. Możesz też zrobić to klawiszem TAB, a do poprzedniego tłumaczenia wrócić kombinacją SHIFT+TAB.

Zmienne

Możesz napotkać dwa rodzaje zmiennych.

Po pierwsze, zmienne proste, na przykład:

Cześć, {name}!

W takim przypadku nie wolno zmieniać żółtej części. Tłumacz tylko zielone części.

Po drugie, ciągi w formacie ICU, na przykład:

Zapisy kończą się { nr, plural, =1 {godzinę} few {# godziny} other {# godzin} } przed wydarzeniem.

W takim przypadku tłumacz tylko zielone części. Więcej informacji oraz narzędzie pomagające tłumaczyć takie ciągi znajdziesz poniżej.

W obu przypadkach przydatne może być użycie przycisku "Clone to translation", aby skopiować wersję angielską do pola tłumaczenia, a następnie zastąpić angielskie słowa słowami w Twoim języku.

Format ICU

Format ICU jest używany po to, aby nie tłumaczyć wielu różnych wariantów ciągów, gdy zawierają one liczby albo zmienne.

Na przykład dla takiego ciągu:

Zapisy kończą się { nr, plural, =1 {godzinę} few {# godziny} other {# godzin} } przed wydarzeniem.

Zdanie może brzmieć różnie zależnie od liczby:

  • Zapisy kończą się godzinę przed wydarzeniem.
  • Zapisy kończą się 5 godzin przed wydarzeniem.

W niektórych językach, takich jak polski, rosyjski, czeski, rumuński, ukraiński itd., występuje więcej wariantów:

  • Zapisy kończą się godzinę przed wydarzeniem.
  • Zapisy kończą się 2 godziny przed wydarzeniem.
  • Zapisy kończą się 5 godzin przed wydarzeniem.

W takim przypadku przetłumaczona wersja wyglądałaby tak:

Zapisy kończą się { nr, plural, =1 {godzinę} few {# godziny} other {# godzin} } przed wydarzeniem.

Dokładne klucze używane w danym języku znajdziesz tutaj: https://www.unicode.org/cldr/charts/43/supplemental/language_plural_rules.html.

Dodatkowo mogą występować ciągi, w których zamiast liczby wybierana jest opcja, na przykład:

Po szkoleniu wymagane jest ukończenie {type, select, assessment {testu} feedback {ankiety opinii} other {testu} }.

Zdanie może brzmieć na trzy sposoby zależnie od typu:

  • Po szkoleniu wymagane jest ukończenie testu.
  • Po szkoleniu wymagane jest ukończenie ankiety opinii.
  • Po szkoleniu wymagane jest ukończenie testu. (Standard wymaga obecności opcji domyślnej, dlatego w tym przypadku istnieje też opcja "other", która powiela pierwszą opcję.)

Przy wyborze liczbowym tekst pomarańczowy oznacza ilość, której odpowiada tekst w kolejnych nawiasach klamrowych:

  • =1 – jeden, np. "godzinę"
  • few – używane w językach takich jak polski, rosyjski, czeski, rumuński, ukraiński itd. dla 2-4 godzin; znak # jest zastępowany liczbą
  • other – wszystkie pozostałe przypadki; znak # jest zastępowany liczbą

Pomocnik formatu ICU

Oto małe narzędzie, które pomaga tłumaczyć ciągi w formacie ICU.

English (source) version

Paste the English (source) version into the following box to view the available variants.

Variants

Please enter a valid ICU string with case selection into the box above.

Target version

Paste the English version into the following box, translate into the target language, and paste it back into Weblate. For languages that require the "few" option add it in case of a numeric selection (copy from here:   few {# часа}  ).

Variants

Please enter a valid ICU string with case selection into the box above.