Lokalizacja Oprogramowania

Transkrypt

Lokalizacja Oprogramowania
mgr inż. Anton Smoliński
[email protected]
Lokalizacja
Oprogramowania
16/12/2016 – Wykład 6
Internacjonalizacja, Testowanie,
Tłumaczenie Maszynowe
Agenda
• Internacjonalizacja
• Testowanie lokalizacji
• Tłumaczenie maszynowe
• Rodzaje tłumaczy
maszynowych
• Wykorzystanie tłumaczy
maszynowych
Internacjonalizacja
oprogramowania
Internacjonalizacja
• Przygotowanie produktu w sposób, dzięki któremu
w łatwy sposób możliwe jest jego dostosowanie do
konkretnego rynku lokalnego
• Internacjonalizacja jest to część wyłącznie
inżynierska, poprzedzająca proces lokalizacji
Założenia internacjonalizacji
• Usunięcie założeń kulturowych (formaty dat,
jednostki miar itp.)
• Implementacja obsługi norm i stron kodowych
• Pisanie i tworzenie z myślą o odbiorcach także z
innych części świata
Przykład rozwoju
internacjonalizacji: gra FIFA
• FIFA 2003
• Obsługa różnych stron kodowych
• Lokalizacja tekstów, pozostałe elementy angielskie
• FIFA 2006
• Zmiana kodowania na Unicode
• Lokalizacja sampli komentarzy
• FIFA 2010
• Pełna lokalizacja: Teksty, sample, ligi, pudełka
Internacjonalizacja w praktyce
• Najczęściej dotyczy okien programu
• Różne teksty mają różną długość w poszczególnych
językach
• Niekiedy zachodzi konieczność reorganizacji opcji w
oknie dialogowym
• W samochodach – możliwość instalacji kierownicy
po drugiej stronie
• Według założeń internacjonalizacji materiały
promocyjne lepiej tworzyć na nowo niż tłumaczyć
Korzyści internacjonalizacji
• Obniżenie kosztów lokalizacji produktu
• Zmniejszenie prac technicznych
• Zachowanie spójności produktu
• Wyższa wydajność tłumaczy podczas pracy (szybsze
wdrażanie nowych lokalizacji)
• Umożliwia testowanie już na etapie tworzenia
produktu zmniejszając koszt i czas testowania po
zakończeniu lokalizacji
Testowanie
lokalizacji
Co to jest testowanie
• Proces związany z wytwarzaniem oprogramowania.
• Jest to jeden z procesów zapewnienia jakości
oprogramowania.
• Testowanie ma na celu weryfikację oraz walidację
oprogramowania.
• Weryfikacja oprogramowania pozwala
skontrolować, czy wytwarzane oprogramowanie
jest zgodne ze specyfikacją.
• Może być prowadzony automatycznie bądź ręcznie
(przez człowieka)
Testowanie lokalizacji
• Ma na celu wykrycie błędów:
•
•
•
•
•
Funkcjonalności
Interfejsu użytkownika
Tłumaczenia/ rozumienia tekstu
Spójności treści
Uwarunkowań globalnych (formaty, liczby, godziny,
strefy czasowe itp.)
• Innych błędów
Rodzaje testów
• Funkcjonalne
• Obciążeniowe
• Zabezpieczeń
• Tłumaczenia
• Oprogramowanie
• Dokumentacja
Powody występowania błędów
• Złożoność oprogramowania i rozmiar projektu
• Błędy w planowaniu/projketowaniu
• Brak doświadczenia i nadzoru przy pracy
• Niedokładność w pracy (nie przestrzeganie
procedur)
• Nieznajomość innych języków
• Segmentacja produktu (brak możliwości testowania
gotowego produktu, tylko jego części)
• Błędne/ niedokładne testowanie
Rodzaje testów
• Funkcjonalne
• Obciążeniowe
• Zabezpieczeń
• Tłumaczenia
• Oprogramowanie
• Dokumentacja
Tłumaczenie
mechaniczne
Tłumaczenie mechaniczne
• Tłumaczenie tekstu bez ingerencji człowieka
• Zasady algorytmu tłumaczenia:
• Oparte na regułach – analiza gramatyki języka
źródłowego, a następnie za pomocą reguł oraz słownika
tłumaczy tekst na język docelowy
• Oparte na analizie statystycznej – Umieszcza słowa w
najbardziej prawdopodobnym miejscu w szyku zdania.
Analiza odbywa się na podstawie wzorców tekstowych
(korpusów)
• Oparte na przykładach – Na podstawie analizy
wybierany jest przykład (wzorzec) tłumaczenia
(podobnie jak systemy tłumaczenia automatycznego w
systemach CAT)
Przetwarzanie tekstu
• Tłumaczenie bezpośrednie – słownikowa zamiana
słów bądź fraz
• Tłumaczenie analizy składni – zdanie zostaje
poddane analizie składniowej a następnie
stworzone zdanie wykorzystujące inną składnie
• Tłumaczenie z powierzchownym transferem
semantycznym – analiza tekstu pod kątem jego
znaczenia (rozumienie tekstu)
• Tłumaczenie systemem międzyjęzykowym –
wprowadzenie sztucznego, uniwersalnego języka
(interlingwa) (podobnie jak JAVA czy C#)
Składowe tekstu
• Morfy – najmniejszy składnik języka posiadający
znaczenie
• Wyrazy – pojedynczy ciąg znaków, może przybierać
różne formy (np. Nieprzyjemności – 1 wyraz, ale 3
mory: NIE –zaprzeczenie, przyjemność – znaczenie,
i- sufiks oznaczający liczbę mnogą)
• Frazy (związki frazeologiczne) – grupy wyrazów
• Zdania – podstawowa jednostka tekstu, wyrazy
zgrupowane w logiczną strukturę
• Wypowiedź – ciąg zdań
Dziedziny tłumaczeń
• Segment konsumencki, social media – krótkie
teksty bez kontekstu – Tłumaczenie mechaniczne
na bazie słowników
• Strony internetowe, pomoc internetowa – proste
teksty z ograniczonym kontekstem – Tłumaczenie
mechaniczne na bazie reguł, prawdopodobieństwa
• Dokumentacja techniczna, wsparcie kontentu,
witryny internetowe – Tłumaczenie mechaniczne z
poprawkami przez tłumaczy (post-editing)
• Marketing, teksty prawnicze, teksty wysokiej jakości
– Tłumaczenie przez tłumaczy
Wykorzystanie tłumaczy
maszynowych
• Szybkie tłumaczenie treści – nie dokładne, ale
pozwalające na zrozumienie „ogólnie”
• Pomoc przy tłumaczeniach (wykonywanych przez
ludzi)
• Tłumaczenia prostych elementów użytkowych,
pojedynczych wyrazów, tekstów technicznych (o
ograniczonym kontekście językowym)
• Dobrze przygotowany algorytm tłumaczenia
maszynowego jest w stanie wytworzyć dobry
jakościowo tekst
Koniec
mgr inż. Anton Smoliński

Podobne dokumenty