Internacjonalizacja z wykorzystaniem pakietu Altova MissionKit
Poniższy artykuł został napisany przez Peter Reynolds, dyrektora generalnego i konsultanta ds. zarządzania tłumaczeniami w firmie TM-Global oraz dyrektora wykonawczego w firmie Kilgray Translation Technologies. Jest to obywatel Irlandii, mieszkający w Warszawie. Posiada tytuł licencjata i tytuł MBA uzyskane na Open University, a także jest doświadczonym specjalistą w branży lokalizacji i tłumaczeń. Peter wcześniej pracował w firmie Idiom Technologies Inc. – obecnie SDL PLC. Jako dyrektor programu partnerskiego dla dostawców usług językowych (LSP) w firmie Idiom, był odpowiedzialny za to, aby program ten stał się udanym i innowacyjnym przedsięwzięciem na skalę globalną. Przed dołączeniem do firmy Idiom, pracował nad rozwojem technologii językowych dla kilku globalnych firm zajmujących się lokalizacją: Lionbridge, Bowne Global Solutions i Berlitz GlobalNET. Zarządzał zespołem programistycznym w Dublinie, odpowiedzialnym za rozwiązania technologiczne BerlitzIT, Elcano, Freeway 2.0, a także za narzędzia do zarządzania projektami i dostawcami. Peter od ponad dziesięciu lat aktywnie uczestniczy w opracowywaniu i promowaniu standardów (w szczególności XLIFF), głównie w organizacji OASIS. Do 2008 roku, kiedy to opublikowano XLIFF, był sekretarzem Komitetu Technicznego XLIFF w OASIS i przewodniczył Komitetowi Technicznemu ds. Usług Tłumaczeń Web (Translation Web Services TC). Obecnie jest zaangażowany w działalność organizacji OASIS i TILP, a także pełni funkcję eksperta Irlandii w komitetach ISO SC2 i SC4, oraz szkoli audytorów w zakresie normy EN 15038.
Wstęp
Każdy programista chce, aby jego aplikacje były używane i ma nadzieję, że zyskają dużą popularność. Aplikacja internetowa stworzona na obszarach wiejskich w stanie Maine w USA może być z łatwością wykorzystywana przez osoby mieszkające w sąsiedniej miejscowości, a także w Malezji, Nowej Zelandii, Niemczech lub w Polsce. Nawet jeśli aplikacja nie jest przetłumaczona (zlokalizowana), istnieją pewne istotne różnice w sposobie prezentacji danych w zależności od regionu. Definicja internacjonalizacji według W3C to „projektowanie i tworzenie produktu, który jest przystosowany do odbiorców o różnym pochodzeniu kulturowym, regionalnym lub językowym”. Nie oznacza to, że produkt musi być przetłumaczony na język docelowej grupy odbiorców, ale że jest zaprojektowany w taki sposób, aby docelowa grupa odbiorców mogła z niego korzystać i rozumieć sposób prezentacji danych. Celem internacjonalizacji jest zapewnienie jak najszerszego zasięgu dla aplikacji oraz ułatwienie i obniżenie kosztów jej tłumaczenia.
W tym artykule przedstawimy zagadnienia związane z międzynarodowością i pokażemy, jak aplikacje można dostosować do różnych języków i regionów, wykorzystując pakiet Altova MissionKit, który zawiera zintegrowany zestaw narzędzi do pracy z XML, bazami danych i UML, w tym XMLSpy, StyleVision, MapForce i inne. Jeśli korzystacie z narzędzi takich jak XMLSpy i StyleVision, prawdopodobnie już tworzycie aplikacje XML, które są zintegrowane z funkcjami obsługi różnych języków.
Proponuję strategię, która polega na tym, aby wcześniej określić, do jakiej grupy odbiorców mają być skierowane Państwa aplikacje, a następnie odpowiednio zaimplementować proces globalizacji. W tym artykule najpierw omówię strategię globalizacji danych XML. Następnie przedstawię zestaw tagów służących do globalizacji i przeanalizuję zagadnienia związane z globalizacją danych XML.
Strategia internacjonalizacji formatu XML
Pierwszym krokiem w planowaniu globalizacji jest podjęcie świadomej decyzji dotyczącej stopnia globalizacji, jaki jest Państwu potrzebny. W Państwa organizacji mogą być osoby, które mogą pomóc w podjęciu tej decyzji, a szczególnie przydatne byłoby uzyskanie opinii osób mieszkających w różnych krajach. Przedstawione poniżej podejście o trzech poziomach powinno pomóc w określeniu stopnia globalizacji, który zamierzają Państwo wdrożyć. Należy jednak pamiętać, że mogą Państwo napotkać pewne problemy, jeśli Państwa dokumenty lub aplikacje nie będą zglobalizowane, ale z pewnością nie wystąpią one, jeśli zadbacie o to, aby były one w pełni zglobalizowane. Trzy poziomy globalizacji to:
- Poziom 1 – Prawdopodobnie Twoje aplikacje będą miały stosunkowo niewielką grupę odbiorców, która może się powiększyć, ale mało prawdopodobne jest, aby aplikacje te były tłumaczone lub wykorzystywane na arenie międzynarodowej. W takim przypadku należy po prostu postępować zgodnie z sugestiami zawartymi w tym artykule i upewnić się, że wykorzystujesz funkcje dostępne w Altova MissionKit, aby wspierać proces globalizacji.
- Poziom 2 – Twoje aplikacje będą miały szerokie grono odbiorców i mogą zostać przetłumaczone oraz wykorzystywane na całym świecie. Oprócz wykorzystania funkcjonalności pakietu Altova MissionKit, należy również używać zestawu znaczników do międzynarodowej lokalizacji (Internationalization Tag Set). Jest to schemat opracowany przez W3C, mający na celu ułatwienie międzynarodowej lokalizacji.
- Poziom 3 – Najprawdopodobniej Twoje aplikacje będą wykorzystywane na arenie międzynarodowej i tłumaczone na wiele różnych języków. Powinieneś zastanowić się, jak usprawnić proces lokalizacji, oddzielając treść od kodu i zapewniając, aby tłumacze mogli zobaczyć dokument lub aplikację tak, jak widziałby go użytkownik końcowy. Temat ten wykracza poza zakres tego artykułu, ale poniżej znajdziesz przydatne informacje na ten temat.
Narzędzia programistyczne w pakiecie Altova MissionKit oferują wiele funkcji wspierających globalizację. Jeśli korzystacie z tych narzędzi, macie solidne podstawy do tworzenia dokumentów XML zoptymalizowanych pod kątem międzynarodowego użytkowania. Unicode jest domyślnym kodowaniem dla aplikacji tworzonych w edytorze XML XMLSpy, i zdecydowanie polecam korzystanie z tego zestawu znaków.
Zestaw tagów do lokalizacji
Zestaw znaczników międzynarodowych (ITS) jest rekomendowany przez W3C i został zaprojektowany do tworzenia dokumentów XML, które są zunifikowane pod względem językowym i mogą być łatwo dostosowywane do różnych języków. Jeśli pracujesz z dokumentami XML, które mogą być tłumaczone, polecam użycie ITS. Dzięki tej technologii możesz określić, które teksty wymagają tłumaczenia, dostarczyć instrukcje dla tłumaczy oraz zdefiniować kierunek tekstu. Siedem kategorii danych zawartych w ITS to:
- Tłumaczenie: Określa, które fragmenty dokumentu można przetłumaczyć.
- Uwagi dotyczące lokalizacji: Zawiera notatki i przydatne informacje dla tłumaczy.
- Terminologia: Określa terminy użyte w dokumentach.
- Kierunek: Wskazuje kierunek, w którym dokument lub jego fragment został napisany i w którym powinien być czytany.
- Ruby: Określa, które fragmenty dokumentu powinny być wyświetlane jako tekst rubinowy. (Tekst rubinowy to krótki fragment tekstu umieszczony obok tekstu głównego, powszechnie używany w dokumentach języków Azji Południowo-Wschodniej, aby wskazywać wymowę lub dostarczać krótkie objaśnienia).
- Informacje o języku: Określa język używany w różnych częściach dokumentu.
- Elementy w tekście: Określa, w jaki sposób elementy tekstu powinny być traktowane pod względem podziału językowego.
W3C opublikowało przewodnik zawierający najlepsze praktyki dotyczące międzynarodowej adaptacji dokumentów XML, który szczegółowo opisuje sposób korzystania z ITS. Można go znaleźć na stronie internetowej: http://www.w3.org/TR/2007/WD-xml-i18n-bp-20070427/ Specyfikację można znaleźć w tej sekcji: http://www.w3.org/TR/2007/REC-its-20070403/ Gorąco polecam zapoznać się z tymi dokumentami przed rozpoczęciem procesu międzynarodowej adaptacji.
Problemy związane z internacjonalizacją
Poniższa tabela przedstawia niektóre z problemów związanych z międzynarodową lokalizacją, które mogą się pojawić. Następnie przedstawimy bardziej szczegółowe omówienie tych problemów oraz sugestie dotyczące sposobów ich rozwiązania przy użyciu zestawu Altova MissionKit.
| PROBLEM | OPIS |
|---|---|
| Kodowanie | Znaki muszą być obsługiwane przez używaną stronę kodową. Unicode to kodowanie, które obsługuje znaki z większości powszechnych języków. |
| Data i czas | Sposób reprezentacji dat i czasu różni się w zależności od kraju. |
| Liczby | Sposób reprezentacji przecinka dziesiętnego i separatora tysięcy różni się w różnych krajach. |
| Waluta | Oprócz różnic w sposobie reprezentacji liczby w niektórych krajach, symbol lub nazwa waluty jest umieszczana po liczbie, podczas gdy w większości krajów jest umieszczana przed nią. |
| Powitania i imiona | Istnieje wiele różnic w powitaniach między krajami, a w niektórych krajach, takich jak Węgry, imię i nazwisko są zapisywane w kolejności: nazwisko, imię. W języku japońskim nie używa się drugiego imienia. |
| Adres | Istnieje wiele różnic dotyczących adresów, takich jak umieszczanie numeru domu przed nazwą ulicy w niektórych krajach, a po niej w innych. Ponadto, niektóre kraje używają kodu pocztowego, a inne – kodu obszaru. |
| RTL (od prawej do lewej) | W wielu językach tekst jest czytany od lewej do prawej, ale w niektórych, takich jak hebrajski i arabski, tekst jest czytany od prawej do lewej (dwukierunkowy). |
| Sortowanie i kolejność alfabetyczna | Istnieją różnice w sposobie sortowania alfabetów. Niektóre języki skandynawskie mają znak 'aa', który zazwyczaj, ale nie zawsze, jest sortowany na końcu alfabetu. |
| Znaki zapytania i wykrzyknika | W języku angielskim znaki zapytania i wykrzyknika zawsze znajdują się na końcu zdania, podczas gdy w języku hiszpańskim znak zapytania znajduje się zarówno na początku, jak i na końcu zdania. |
Kodowanie
Wszystkie teksty elektroniczne wykorzystują system kodowania znaków, w którym każdy znak jest reprezentowany przez liczbę. Przed powszechnym użyciem Unicode, był to jeden z najważniejszych problemów związanych z międzynarodową kompatybilność. Kiedy aplikacja próbuje wyświetlić znak, który nie jest zdefiniowany w danym zestawie znaków, wyświetli się on jako nieczytelny tekst. Problemy występowały nie tylko między różnymi językami, ale także z powodu nieprawidłowego wyświetlania znaków na komputerach z różnymi systemami operacyjnymi. Unicode rozwiązało większość tych problemów, tworząc pojedynczy zestaw znaków, niezależnie od platformy, programu lub języka. XML używa Unicode jako domyślny zestaw znaków. Wszystkie dokumenty XML, które tworzysz w programie XMLSpy, domyślnie będą miały deklarację "encoding="UTF-8"". Jeśli plik nie został utworzony w XMLSpy, należy upewnić się, że jest zapisany w formacie UTF-8. UTF to akronim od "Unicode transformation format", a UTF-8 to jedna z wersji Unicode, która używa 1, 2 lub 4 bajty do przechowywania znaków. Jest to najczęściej używana wersja i jest bardzo szeroko stosowana w przypadku XML i w Internecie. Inne wersje Unicode, które są obsługiwane przez XMLSpy, to:
- UTF-7. Jest to 7-bitowa wersja Unicode. Powinna być używana wyłącznie w kontekście transmisji 7-bitowych, takich jak e-mail.
- ISO 1064 UCS – 2 i UTF – 16. UCS to akronim oznaczający Uniwersalny Zestaw Znaków, a UCS-2 wykorzystuje dwa bajty dla każdego znaku. UTF-16 jest rozszerzeniem UCS-2, które używa 2 lub 4 bajty do reprezentacji znaku. UTF-16 jest często używany przez system Windows i język Java. W przypadku nowych dokumentów należy używać UTF – 16, a nie UCS – 2.
- ISO 1064 UCS-4. Używa 4 bajty na każdy znak i jest identyczny z UTF-32. UTF-32 jest często używany w systemach Unix.
Istnieją sytuacje, w których użycie domyślnego kodowania innego niż UTF-8 może być uzasadnione. Aby ustawić domyślne kodowanie w programie XMLSpy, przejdź do menu Narzędzia | Opcje i wybierz zakładkę Kodowanie.
![]()
Jeśli chcesz zmienić kodowanie dla pojedynczego pliku XML, otwórz go w programie XMLSpy i wybierz opcję Plik | Kodowanie.
![]()
Język
Przestrzeń nazw XML definiuje atrybut xml:lang, który służy do określania języka dokumentu XML. Wartość atrybutu xml:lang musi być kodem języka zgodnym z normą ISO (ISO 639-2). Jeśli dokument XML jest napisany w jednym języku, ale zawiera fragment w innym języku, można użyć atrybutu xml:lang w elemencie głównym, aby określić główny język dokumentu, a następnie użyć go w elemencie zawierającym tekst w innym języku, aby zidentyfikować ten język.
Daty
W różnych krajach daty i godziny są przedstawiane w bardzo różny sposób. Weźmy na przykład datę 10/09/08:
In most European countries this means the 10th of September 2008. In the United States this means the 9th of October 2008. In Japan this means 8th of October 2009.
Rozwiązaniem tego problemu jest użycie standardu ISO 8601 do określania daty i czasu wewnątrz aplikacji. Jest to standardowy sposób reprezentowania daty i czasu w formacie RRRR-MM-DDTHH:MM:SS[±HH:MM], gdzie:
YYYY- represents year
MM- represents month
DD - represents day
T signifies that Time follows this
HH- represents hours
MM- represents minutes
SS- represents seconds.
Następnie można użyć programu StyleVision, aby stworzyć arkusz stylów, który formatuje datę w sposób odpowiedni dla docelowej grupy odbiorców. StyleVision to graficzne narzędzie do projektowania arkuszy stylów, które umożliwia projektowanie arkuszy stylów XSLT i XSL:FO za pomocą przeciągania i upuszczania, co pozwala na renderowanie danych XML w formatach HTML, Microsoft Word, PDF i innych. Aby skorzystać z funkcji formatowania dat w programie StyleVision:
- Wybierz miejsce zastępcze dla treści lub pole tekstowe w elemencie.
- W panelu bocznym "Właściwości" wybierz element zawartości, a następnie grupę właściwości "Zawartość".
- Kliknij przycisk "Edytuj" w sekcji "Formatowanie danych wejściowych".
- Pojawi się okno dialogowe "Formatowanie danych wejściowych":
![]()
- Wybierz przycisk radiowy "Sformatowane". Pozwoli to wybrać rodzaj danych, które chcesz użyć. Jeśli wybrałeś datę, możesz następnie wybrać format tej daty.
Można również wybrać inne formaty daty i czasu w tym miejscu. Gorąco polecam korzystanie z selektora dat. Aby wstawić selektor dat, kursor musi znajdować się pomiędzy elementami xs:date lub xs:dateTime. Następnie przejdź do menu "Wstaw" na pasku głównym i wybierz opcję "Wstaw selektor dat". Jeśli kursor nie znajduje się pomiędzy elementami xs:date lub xs:dateTime, opcja "Wstaw selektor dat" będzie wyłączona (szara).
Liczby
Liczby dziesiętne mogą być poprzedzone kropką lub przecinkiem, w zależności od ustawień regionalnych. Istnieją również różnice w sposobie zapisu liczb tysięcy. StyleVision oferuje funkcje, które pozwalają na formatowanie liczb w sposób dostosowany do potrzeb odbiorców:
- Wybierz miejsce zastępcze dla treści lub pole tekstowe w elemencie.
- W panelu bocznym "Właściwości" wybierz element zawartości, a następnie grupę właściwości "Zawartość".
- Kliknij przycisk "Edytuj" w sekcji "Formatowanie danych wejściowych".
- Otworzy się okno dialogowe "Formatowanie danych wejściowych"
![]()
- Wybierz przycisk radiowy "Formatowane". Pozwoli to na wybranie formatu liczby.
Pieniądze
Problemy związane z liczbami dotyczą również pieniędzy, ale oprócz tego istnieją różne konwencje dotyczące oznaczania symboli walutowych. Niektóre waluty mają tę samą nazwę i symbol, na przykład dolar, ale dolar australijski, kanadyjski i singapurski to różne waluty, co powinno być wyraźnie zaznaczone. Można postępować z liczbami w sposób opisany powyżej, ale kwestia tego, czy nazwa waluty czy jej symbol powinny występować przed czy po liczbie, prawdopodobnie zostanie rozwiązana w trakcie procesu tłumaczenia.
Adres
Jednym z problemów, z jakimi borykają się klienci dokonujący zakupy online od firm zagranicznych, jest to, że system nie zawsze pozwala im na prawidłowe wprowadzenie adresu. Istnieją liczne różnice, takie jak umieszczanie numeru domu przed lub po nazwie ulicy, kolejność elementów adresu oraz format kodu pocztowego. CEN (Europejskie Instytucja Norm) opracowała standard, który wymienia elementy adresu, a UPU (Uniwersalna Poczta) rozwija go dalej, tworząc kompleksową listę elementów nazwisk i adresów. Zalecam, aby upewnić się, że otrzymywane dane są odpowiednie dla głównych rynków docelowych, ale jednocześnie należy zadbać o to, aby osoby z innych krajów mogły również wprowadzić swoje adresy. Można wykorzystać listę rozwijaną z krajami, aby zapewnić weryfikację danych, gdy znane są niektóre elementy adresu, ale jednocześnie uniknąć wyświetlania błędów w przypadku innych krajów, gdzie struktura adresu jest inna.
Karty kredytowe
Niektóre amerykańskie strony internetowe nie akceptują kart kredytowych wydanych poza Stanami Zjednoczonymi. Jako dodatkowe zabezpieczenie, wymagają podania prawidłowego adresu w USA. Jeśli chcą Państwo przyjmować płatności kartą kredytową i prowadzić działalność z osobami spoza swojego kraju, powinni Państwo upewnić się, że akceptowane są karty kredytowe wydane za granicą.
RTL (odczyt z prawej do lewej)
W wielu językach tekst czytany jest od lewej do prawej, ale nie jest to reguła uniwersalna. Języki arabski i hebrajski są pisane od prawej do lewej. W dokumentach XML powoduje to dodatkowe zamieszanie, ponieważ elementy XML są czytane od lewej do prawej, ale wszelki tekst powinien być czytany od prawej do lewej. Przestrzeń nazw ITS zawiera atrybut "direction", który można wykorzystać do określenia, w którym kierunku należy czytać. <its:span dir="rtl">Wędkarstwo to radość!</its:span>
Sortowanie
Istnieją różnice w sposobie sortowania alfabetów. Niektóre języki skandynawskie posiadają znak "aa", który zazwyczaj, ale nie zawsze, jest sortowany na końcu alfabetu. Jeśli w dokumencie XML zdefiniowano język i użyto elementu xsl:sort w dokumencie XSL, sortowanie powinno działać zgodnie z zasadami sortowania obowiązującymi dla tego języka. Należy jednak sprawdzić, czy procesor to robi, ponieważ nie zawsze tak jest. Pliki przykładowe dołączone do programu StyleVision zawierają przykłady sortowania. Wybierz "Przykłady StyleVision", następnie folder "tutorial", a potem "sortowanie" i otwórz plik "SortingOnTwoTextKeys.sps". Aby zobaczyć, jak działa sortowanie, przejdź do widoku projektowania i kliknij prawym przyciskiem myszy na elemencie. Następnie wybierz opcję "sortuj według" w menu kontekstowym. Tutaj można kontrolować sposób sortowania dla tej konkretnej listy.
Znaki zapytania i wykrzykników
W języku angielskim pytajniki i wykrzykniki zawsze znajdują się na końcu zdania, natomiast w języku hiszpańskim znaki interpunkcyjne te mogą pojawiać się zarówno na początku, jak i na końcu zdania. Jest to element, który zazwyczaj jest korygowany podczas procesu tłumaczenia.
Wnioski
Umiędzynarodowienie jest ważnym krokiem w zapewnieniu jak najszerszego grona odbiorców dla Państwa aplikacji, a także w celu zapewnienia, że tłumaczenie będzie jak najbardziej opłacalne i proste. Państwa podejście do tego procesu powinno być bardzo pragmatyczne. Czas poświęcony na odpowiednie przygotowanie do umiędzynarodowienia przyniesie ogromne korzyści na każdym etapie i znacząco zwiększy potencjał marketingowy Państwa produktu. Celem tego artykułu było przedstawienie ogólnego przeglądu i wprowadzenie do tematu umiędzynarodowienia. Poniżej znajdują się odnośniki do dodatkowych, przydatnych informacji.
Narzędzia takie jak XMLSpy i StyleVision, które są częścią pakietu programowego Altova MissionKit, znacznie ułatwiają proces internacjonalizacji dokumentów XML, oferując szeroki zakres wbudowanych funkcji wspierających ten proces. Zestaw znaczników do internacjonalizacji (Internationalization Tag Set) opracowany przez W3C to bardzo ważna innowacja, która stanowi doskonałe uzupełnienie zestawu narzędzi dostępnych dla programistów chcących tworzyć aplikacje XML z obsługą wielu języków. XML to technologia, która od samego początku uwzględniała internacjonalizację i tłumaczenia. Użycie Unicode jako domyślnego kodowania dla XML jest bardzo istotne i znacznie ułatwia rozwiązywanie problemów związanych z internacjonalizacją. Funkcjonalność dostępna w pakiecie Altova MissionKit, standard ITS oraz Unicode stanowią podstawę do tworzenia wysokiej jakości aplikacji z obsługą wielu języków.
Źródła Poniżej znajduje się lista przydatnych stron internetowych i innych zasobów, które oferują dodatkowe informacje na temat standaryzacji i międzynarodowej kompatybilności: Altova, wiodący dostawca narzędzi XML: https://www.altova.com/. Oferują również bezpłatną wersję próbną pakietu MissionKit: https://www.altova.com/download.
Strona internetowa Unicode: http://www.unicode.org/
Zestaw znaczników umożliwiających międzynarodową lokalizację http://www.w3.org/TR/2007/REC-its-20070403/
Najlepsze praktyki W3C dotyczące międzynarodowej dostępności http://www.w3.org/TR/2007/WD-xml-i18n-bp-20070427/
Open Tag (firma Yves'a Savourela): http://www.opentag.com/
Yves Savourel, „XML: Internacjonalizacja i lokalizacja”, książka będąca doskonałym źródłem informacji. Więcej informacji można znaleźć na stronie: http://www.opentag.com/xmli18nbook.htm
Strona internetowa TM-Global, będąca platformą badawczą i źródłem informacji, publikuje wiele przydatnych artykułów, opinii i ankiet dotyczących tłumaczeń, lokalizacji oraz standardów branżowych. http://www.tm-global.com/
Strony internetowe Texa Texina, eksperta w dziedzinie globalizacji http://www.xencraft.com/ oraz http://www.i18nguy.com/
Przepływ lokalizacji – strona internetowa firmy specjalizującej się w międzynarodowej adaptacji produktów i usług. http://www.locflowtech.com/
Narzędzia do tłumaczeń oparte na XML, oferujące dobry stosunek jakości do ceny, są dostępne od firm takich jak Kilgray Translation Technologies http://www.kilgray.com/