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