Wprowadzenie

Czym jest LS-Dialog Editor?#
LSDE: akronim od LepaSoft Dialog Editor, to narzędzie zaprojektowane, aby wspierać deweloperów w tworzeniu i tłumaczeniu ich projektów.Więcej niż proste narzędzie do tłumaczenia, LSDE jest zoptymalizowane, aby umożliwić Ci stworzenie idealnego i spersonalizowanego przepływu pracy dla każdego projektu.
Tłumaczenie tekstu ręczne lub wspomagane przez LLM.
Kompozycja tekstu ręczna lub wspomagana przez LLM.
Scentralizowane zarządzanie dialogami i ciągami tekstowymi.
Śledzenie zmian i historia wersji.
Automatyczne wykrywanie niespójności lub problemów.
Obsługa wielu formatów eksportu i importu.
Możliwa integracja z narzędziami zewnętrznymi (silniki gier, potoki CI/CD).
Organizacja struktury i renderowania interfejsu Twojego projektu.
Narzędzia do walidacji językowej (długość, ograniczenia, tagi, zmienne).
Współpraca w czasie rzeczywistym lub poprzez udostępnione pliki.
Generowanie i synchronizacja narracji głosowej audio.
Zaawansowane dostosowania oprogramowania do Twoich potrzeb.
Jak działa LS-Dialog Editor?#
LSDE opiera się na dobrych praktykach i18n, aby organizować klucze tłumaczeniowe.Nie narzucając unikalnej struktury, integruje sprawdzone przez frameworki podejścia do zarządzania złożonościami językowymi, takimi jak konteksty i liczby mnogie.
Przepływ pracy jest bardzo prosty:
Tworzysz nowy projekt.
Definiujesz folder swojego projektu.
Klucze tworzysz ręcznie lub automatycznie, skanując swój projekt.
Stosujesz zadania na kluczach (tłumaczenia, korekty, reorganizacje...).
Klucze#
LSDE wykorzystuje system kluczy hierarchicznych do precyzyjnej lokalizacji każdego dialogu.Przykład: Klucz
game:scenes.events.The-quest-of-sun.d1game: wskazuje na przestrzeń nazw (namespace).Nazwa ta jest definiowana przez nazwę pliku tłumaczeniowego, na przykład:
locales/en/game.json, locales/en/scenes.json...scenes.events.The-quest-of-sun.d1 reprezentuje ścieżkę dostępu, aby odnaleźć dialog w strukturze JSON pliku.json// file game.json { 'scenes': { 'title': '', 'description': '', 'events': { 'The-quest-of-sun': { 'd1': '', }, }, }, },
LS Dialog Editor buforuje dialogi w plikach.lsde.
Ułatwia to udostępnianie i odzyskiwanie projektów, unikając wysyłania skomplikowanego zestawu plików do klientów.
Konwencje kluczy i18n#
W3C Internationalization jest punktem odniesienia, który definiuje i18n jako standard, niezależnie od jakiejkolwiek biblioteki oprogramowania.Zalecenia W3C określają podstawowe zasady:
unikać konkatenacji
zarządzać liczbami mnogimi zgodnie z regułami językowymi CLDR
zarządzać datami, liczbami i walutami
zapewniać kontekst tłumaczom
oddzielać tekst od kodu
przewidywać lokalizacje awaryjne (fallback)
nigdy nie zakładać długości ani kolejności słów
obsługiwać pisma RTL (arabskie, hebrajskie)
Jeśli chodzi o standardy i dobre praktyki architektoniczne JSON, ICU (International Components for Unicode) służy jako punkt odniesienia.i18next & i18n ?#
LSDE opiera się zarówno na i18n, jak i na niektórych dobrych praktykach zaczerpniętych z i18next.W szczególności dla:
struktury folderów
kontekstualizacji liczb mnogich
obsługi zagnieżdżeń (nesting) i zmiennych...
Dla gier#
LSDE obsługuje dwa typy dialogów w grach.Nie ma jednej uniwersalnej dobrej metody, lecz raczej narzędzia dostosowane do każdego zadania.
SAD : "Single Actor Dialog"
Jeden aktor na dialog, zazwyczaj idealny dla gier akcji lub gier bez złożonej narracji.Oznacza to, że każdy klucz odpowiada dialogowi lub fragmentowi tekstu i musi być połączony i złożony w silniku gry.
To podejście może wprowadzić wiele złożoności w grze narracyjnej z dużą liczbą interakcji między wieloma postaciami, np.
w grach JRPG.
MAD: "Multiple Actors Dialog"
Wielu aktorów w tym samym dialogu, identyfikowanych za pomocą znaczników (tagów), idealne dla gier RPG lub gier ze złożoną narracją, w której uczestniczy wielu aktorów.Oznacza to, że zintegrujesz sekwencję dialogów, oddzielonych znacznikami (tagami), które następnie zostaną zinterpretowane przez silnik gry.
Ułatwia to znacznie analizowanie złożonych dialogów z udziałem wielu rozmówców, ale jest nieco zbyt złożone na przykład dla prostych gier akcji.
Dla WEB#
Nie ma już tak naprawdę powodu, aby nie tłumaczyć swojej strony internetowej, aby móc zaprezentować swoje narzędzie na całym świecie.LSDE oferuje komfort pracy przy tworzeniu Twojej witryny internetowej z podglądem w czasie rzeczywistym dzięki HMR i bibliotekom i18n, takim jak i18next, w wersjach dla React czy Next.js, na przykład.
P: Czy nie powinniśmy pozwolić rozszerzeniom zarządzać wielojęzycznością stron internetowych?
O: Tak i nie.
Te narzędzia mogą pomóc doraźnie, ale pogorszą UX i UI Twojej witryny.
Nie zapewniają również dobrego pozycjonowania SEO, w przeciwieństwie do przetłumaczonej strony internetowej, która może być indeksowana i proponowana osobom szukającym treści w ich języku ojczystym.
Te narzędzia mogą pomóc doraźnie, ale pogorszą UX i UI Twojej witryny.
Nie zapewniają również dobrego pozycjonowania SEO, w przeciwieństwie do przetłumaczonej strony internetowej, która może być indeksowana i proponowana osobom szukającym treści w ich języku ojczystym.
Dla oprogramowania#
Tłumaczenie Twojego oprogramowania i aplikacji jest niezwykle ważne.Architektury, języki i techniki rozwoju oprogramowania są zazwyczaj znacznie bardziej swobodne niż te w sieci.
Dlatego LSDE oferuje w 100% konfigurowalne narzędzia, aby dostosować je do Twoich potrzeb i architektury.
To właśnie wyrażenia regularne (regex) umożliwiają stworzenie powiązania między Twoją architekturą a LSDE.