Artykuł napisany przez

Skończyła filologię polską już jakiś czas temu, a mimo to wciąż doganiają ją dylematy i zagwozdki językowe. Blog ten prowadzi po to, aby poprawić chociaż drobny odsetek błędów...

26 komentarzy

Strona 1 z 2 Nowsze komentarze »
  1. mrtom
    mrtom z | | Odpowiedz

    Dlatego jak kiedyś testowałem FB, to używałem go po angielsku. W końcu zrezygnowałem z korzystania z niego, bo jakoś nie mogę go “ogarnąć”. Może jeszcze kiedyś ponownie tam wrócę…

  2. ruiz
    ruiz z | | Odpowiedz

    Jeden problem z tłumaczeniem stron pisanych z początku pod anglojęzycznych użytkowników jest taki, że w angielskim są tylko dwa przypadki. Jeśli nawet potem, w trakcie rozwoju serwisu, pojawia się plik językowy, to ma on format klucz => wartość, przykładowo dla angielskiego w PHP to będzie:

    $m = array(
    'animation' => 'animation',
    'image' => 'photography',
    'added' => 'has been added',
    'removed' => has been removed'
    );

    Na takim pliku można sobie zbudować po angielsku dowolne komunikaty i zawsze mają sens (?animation has been added?, ?photography has been removed?).

    Co innego, gdy te same klucze dostaną wartości po polsku ? a muszą to być te same, bo zazwyczaj wywołania w stylu


    są wpisane na sztywno w program. Po polsku dostaniemy więc ?animacja został dodany? albo ?zdjęcie została usunięta?. Idealnie nie będzie nigdy, co zresztą widać na stronach próbujących być wielojęzykowymi.

    Jednym wyjściem jest przygotowanie oddzielnych komunikatów językowych dla każdego kontekstu (wtedy mamy klucze w rodzaju ‘animation_added’, ‘image_added’ itd.), z tym że ciągle może to nie wyczerpywać wszystkich kontekstów dla każdego możliwego języka. A tymczasem, plik językowy rośnie. W PHP, w którym napisany jest Facebook, taki plik musi być przynajmniej na chwilę wgrany do pamięci, a to odpowiednio ją zapycha w przypadku, gdy strony są dynamiczne generowane, a nie serwowane z cache’u (a to podejrzewam większość Facebooka, na pewno wszystkie strumienie aktywności). Niemniej, to jest rozwiązanie częściej stosowane, na Facebooku, sądząc po tych przykładach, stosowane nie jest.

    Innym wyjściem jest uzależnienie komunikatu interfejsu od kontekstu. Reguły stosowania przypadków są dla każdego języka inne, a więc, jeśli chcemy mieć w pliku językowym klucze ‘animation’, ‘image’ i ‘added’, zostajemy po polsku z czymś w stylu:

    $m = array(
    'animation' => '[[rodzaj:żeński]]animacja',
    'image' => '[[rodzaj:nijaki]]zdjęcie',
    'added' => '{{rodzaj:został dodany|została dodana|zostały dodane}}'
    );

    (A do tego interpreter, który rodzaj jest który w kolejności w polskim.)

    I teraz robimy wygibas w postaci uzależnienia kontekstu jednego komunikatu interfejsu od drugiego (a więc nie można już po prostu zwrócić wartości dla zadanego klucza, trzeba ją jeszcze za każdym razem dynamicznie sparsować ze względu na kontekst). Niezbyt to eleganckie, niezbyt wydajne.

    Odpowiadając na pytanie, bo trochę popłynąłem: Facebooka z pewnością tłumaczą ludzie, ograniczeni tym, o czym wyżej napisałem. Problemem wielu aplikacji FOSS (free and open source) ? choć Facebook do nich nie należy, ale to dobrze rysuje problem ? jest fakt nieaktualności lub niekompletności plików językowych, często też powstają one jako ostatnie, gdy jest już gotowa stabilna wersja i nie inaczej jest z Facebookiem. Koordynować tłumaczy kilkudziesięciu języków przy stale rozwijającej się aplikacji, jaką jest Facebook, to zadanie nie lada. Jest problem, jak ich zatrudniać, żeby nie przepłacać (mają być na bieżąco, po 10 min. dziennie, a płacić im za godzinę na przykład?). Jest problem z tym, że tłumaczenia polskie często brzmią angielskawo, kserując składnię oryginału. Jest problem z tym, że Facebook jest duży, a tłumaczom może nie chcieć się wgryzać we wszystkie konteksty. Jest problem, bo nawet, jak się tłumacz wgryzie we wszystkie konteksty, to developer potem bierze dany komunikat interfejsu, wkłada w nowy kontekst i już brzmi to drewniano. I nie jest to absolutnie wina tego, że ludzie są niekompetentni. To jest po prostu niełatwa robota. Dużo kompromisów, o wielu rzeczach trzeba pomyśleć odpowiednio wcześnie, bo się można obudzić z ręką w nocniku. Facebook, pisany wpierw w języku angielskim, z jego prostą deklinacją, ma teraz problem.

    No i, oczywiście, ilekroć nie ma komunikatu w danym języku, zastępowany on jest domyślnym, czyli angielskim, stąd te polsko-angielskie mikstury.

    Ciekawe, czy mi WordPress kod popsuje.

    PS. Czy czcionka w polu komentarza mogłaby być ciut większa?

  3. ruiz
    ruiz z | | Odpowiedz

    Popsuł. Raz jeszcze, wywołania w stylu:

    print $m['animation'].' '.$m['added'];

  4. eRIZ
    eRIZ z | | Odpowiedz

    Mhmm, nie sprawdzałem, ale jeśli np. niemiecki FB ma poprawne tłumaczenia, to można by się spierać z teorią tłumaczeń wpisanych na sztywno. 😉

  5. olgacecylia
    olgacecylia z | | Odpowiedz

    Rozwijając myśl rulza dodałabym, że najprawdopodobniej tłumacz dostaje same polecenia i hasła: animation, image, added – i później programista to wrzuca.

    Rozwiązaniem byłoby tłumaczenie każdego komunikatu osobno (co z przyczyn technicznych wymagałoby sporych zmian w kodzie) albo kombinowanie (zamiast “zdjęcie została dodana” mogłoby być “dodano zdjęcie”).

    W języku angielskim nie tylko są dwa przypadki zamiast naszych siedmiu (w niemieckim cztery :)), ale i czasowniki nie odmieniają się przez rodzaje.

    Nie mam Facebooka. Jestem szczęśliwa.

  6. olgacecylia
    olgacecylia z | | Odpowiedz

    Przepraszam, zrobiłam błąd w nicku – myśl ruiza, oczywiście.

  7. Maciej Łebkowski
    Maciej Łebkowski z | | Odpowiedz

    Tłumaczenie facebooka jest relizowane przez? Użytkowników. 😉 Jest aplikacja do translacji ? trzeba poszukać, nie mam linka pod ręką.

    BTW, literki w formularzu komentowania są jasnoszare? może by je tak na czarno pomalować?

  8. mrtom
    mrtom z | | Odpowiedz

    wypowiedzi @ruiza oraz @olgicecyclii zainspirowały mnie do popełnienia dzisiejszego wpisu – słów kilka o angielskich przypadkach (i to wcale nie o dwóch 😉 )

  9. olgacecylia
    olgacecylia z | | Odpowiedz

    MrTom, ale dlaczego piszesz nicki z @?

  10. mrtom
    mrtom z | | Odpowiedz

    … bo to ładne jest 😉

  11. AJ
    AJ z | | Odpowiedz

    @Magdalena Bród

    Przyjęło się ale do oznaczenia osoby, której się odpowiada, jak powyżej.

  12. AJ
    AJ z | | Odpowiedz

    Oczywiście przed “ale” powinien być przecinek.

  13. olgacecylia
    olgacecylia z | | Odpowiedz

    Magdaleno Bród, ja znam ten zapis, ale w tym kontekście jest kompletnie nieuzasadniony…

Prosimy o komentarz z Twoim prawdziwym imieniem i nazwiskiem.

Napisz odpowiedź

Przeczytaj poprzedni wpis:
Trochę humoru
Zamknij