wtorek, 9 marca 2010

Tłumaczenie aplikacji

Witam

Dzisiaj zajmę się tematem tłumaczenia aplikacji.

Trochę teorii

Różne wersje językowe aplikacji to w dzisiejszym korporacyjnym świecie konieczność. Na szczęście w APEX sprawa ta została rozwiązana bardzo prosto i jedynym problemem jest tak naprawdę samo tłumaczenie. Każda aplikacja może mieć kilka wersji językowych a to jaka się aktualnie wyświetla może być zależne od języka przeglądarki użytkownika lub wartości zmiennych, które można ustawiać "na życzenie". Przejdźmy zatem do praktyki. Poniżej przedstawiam plan, wg którego tłumaczy się aplikacje w APEX.

Plan:

1. Tworzenie mapowania.

2. Tworzenie i eksportowanie danych do tłumaczenia.

3. Tłumaczenie pliku XLIFF.

4. Wczytanie przetłumaczonej wersji pliku i publikacja aplikacji.

Zaczynamy

Ad 1. Tworzenie mapowania polega stworzeniu i dopisaniu do naszej aplikacji nowej "wersji" aplikacji z zadeklarowanym językiem. Można stworzyć wiele takich mapowań. Podczas tworzenia należy pamiętać, że aplikacja przetłumaczona nie będzie widoczna w środowisku deweloperskim.

Aby przejść do tworzenia mapowania należy wejść do Shared Components > Translate Application. Po kliknięciu na punkt 1. zostaniemy przeniesieni na stronę z mapowaniami dla danej aplikacji. Wystarczy teraz kliknąć na przycisk Create aby stworzyć nowe mapowanie. Podczas tworzenia mapowania musimy podać nr nowej aplikacji - tutaj należy pamiętać że musi to być numer wolny oraz nie kończący się na zero. Należy także podać język nowej aplikacji. Dodatkowo można zdefiniować folder z obrazkami i opis.

Ad. 2. Tworzenie i eksportowanie danych do tłumaczenia. Podczas tej procedury APEX tworzy repozytorium z tekstami do tłumaczenia. Po stworzeniu repozytorium można je ściągnąć w postaci pliku XML w formacie XLIFF 1.0. Format ten stworzono specjalnie na potrzeby tłumaczenia danych. I praca z nim staje się prosta jeśli użyje się do niego odpowiednich narzędzi.

Ad. 3. Jak wczesniej pisałem tłumaczenie aplikacji jest najtrudniejszą i wymagającą najwięcej pracy częścią procesu. Jednak dzięki dogodnemu formatowi wyeksportowanego repozytorium sprawa staje się dużo prostsza jeśli wykorzystami jedno z narzędzi do edycji plików XLIFF. Ja korzystałem z OLT XLIFF Editor. Jest to darmowe i proste narzędzie. Ma funkcje automatycznego tłumaczenia poznanych wcześniej zwrotów dzięki czemu można zaoszczędzić czas. Dodatkowo można w nim podłączyć słowniki ASpell. Poniżej przedstawiam screen z tego programu. Żeby nie było za różowo zaznaczę, że program po zapisaniu pliku z tłumaczeniem zmienia całkiem jego nagłówek. Niby nic ale powoduje to błędy podczas wczytywania pliku, dlatego należy wcześniej w gotowym pliku zmienić nagłówek na taki jaki został wyeksportowany z APEX.

Ad. 4. Ostatnim krokiem jest wczytanie przetłumaczonej wersji pliku xml do repozytorium tłumaczeń a następnie opublikowanie przetłumaczonej aplikacji. Wystarczy zatem przejść do Shared Components > Translate Application > XLIFF Translation Files i w wybrać przycisk Upload XLIFF. Po załadowaniu pliku pojawi się on na liście XLIFF Files. Aby wczytać go do przetłumaczonej aplikacji należy wybrać plik poprzez kliknięcie na jego nazwę. Na stronie ze szczegółami na temat pliku można wybrać mapowanie a następnie kliknąć na Apply XLIFF Translation File aby wczytać tłumaczenie. Po wczytaniu tłumaczenia można opublikować (stworzyć) przetłumaczoną aplikację poprzez kliknięcie na przycisk Publish Application.

Na zakończenie Warto pamiętać, że jak przetłumaczymy aplikację to jakiekolwiek zmiany naniesione w aplikacji pierwotnej nie zostaną naniesione w aplikacji przetłumaczonej. Dzieje się tak ponieważ APEX tworzy kopię aplikacji pierwotnej. Warto więc tłumaczenie przeprowadzać na samym końcu procesu deweloperskiego, aby zaoszczędzić sobie pracy podczas importu/eksportu danych.

4 komentarze:

  1. Trochę z innej beczki ...
    Proszę o pomoc.
    Mam interaktywny raport, w "Report Attributes" -"Download Formats" ustawiłem PDF (nawiasem mówiąc nie wiem dlaczego mam do wyboru tylko CSV i PDF ). Jednak już przy raporcie, przy próbie otworzenia raportu w formie pdf nie otwiera się zgłaszając przez Akrobata błąd o uszkodzeniu pliku. Przy próbie zapisu na dysk domyślnie podstawia się typ pliku HTML.
    Nie bardzo wiem gdzie tkwi problem.
    Dzięki z góry za pomoc
    Pozdrawiam
    Nowicjusz

    OdpowiedzUsuń
  2. Przyczyną błędu jest brak skonfigurowanego silnika raportowego, którym może być Oracle BI Publisher (narzędzie odpłatne), OC4J (narzędzie darmowe)lub inny. Proponuje w pierwszej kolejności zapoznać się z tym opisem: http://www.oracle.com/technology/products/database/application_express/html/configure_printing.html , ja jeszcze dodam że alternatywnym rozwiązaniem może być połączenie APEX-a z Jasper Reports (darmowe rozwiązanie).

    OdpowiedzUsuń
  3. Witam,
    czy możecie Panowie opisać konfigurację APEX-a z Jasper Reports?

    OdpowiedzUsuń
  4. Póki co proponuję zapoznać się z tym opisem, jest tam wszystko bardzo dokładnie opisane:
    http://www.opal-consulting.de/apex/f?p=20090928:7:1520368186880279::NO:7::

    W przyszłości zapewne napiszemy coś dokładniej na naszym blogu.

    OdpowiedzUsuń