mgr inż. Anton Smoliński anton.smolinski@zut.edu.pl 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