Strona 1 z 1

Tłumacz tekstów dla lokalizacji oparty o Open AI (ChatGPT)

: 5 kwie 2023, o 08:55
autor: tisher
Robię narzędzie do hurtowego masowego tłumaczenia tekstów w oparciu o serwis Open AI dedykowane do tłumaczenia gier. Potrafi tłumaczyć z każdego języka na każdy język.
Jako materiał wejściowy należy przygotować plik z zawartością do tłumaczenia o dowolnym tekstowym formacie. Nie ma potrzeby wycinania tekstu z ogólnej masy skryptowej, zmiennych, identyfikatorów. Tekst może być po części wymieszany z elementami nie tłumaczonymi.

Skrypt w założeniu operuje 2x, najpierw tłumaczenie, potem modyfikatory poszerzające słownictwo, poprawiające interpunkcję, gramatykę, zmieniające styl itp zależnie od wytycznych.
Jakość tłumaczenia jest bardzo wysoka względem innych rozwiązań typu googleT czy deepL i takie tłumaczenie jest grywalne ale to narzędzie jest po to aby "odwalić" najgorszą mordownie z każdym tłumaczeniem. Pozostaje "tylko" korekta końcowa + poprawa składni części skryptowej (jeśli jest w tekście)

Obrazek
Na czarno tekst źródłowy, na zielono przetłumaczony.
Całe tłumaczenie jest zapisywane w osobnym pliku txt.

Komendy do tłumaczenia wydaje się w formie słownej. Po prostu trzeba opisać co się chce. Im dokładniej się opisze tym mniej pracy będzie później, normalnie XXI wiek :P

Kod: Zaznacz cały

DEFAULT_PROMPT = "przetłumacz`{text}` na {language}, nie wyświetlaj swoich komentarzy i uwag, tylko przetłumaczony tekst. Popraw styl, gramatykę oraz interpunkcję tłumaczenia zgodnie z zasadami pisowni polskiej. Nie tłumacz tekstu w nazwiasach < >, nie tłumacz tektu w linni na lewo od znaku ^, Nie tłumacz nazw: GameInfo, Chap_Bubble (z numerami 1-9), Single_Bubble, SubTask, SubTask_Content, BranchTask_Content, Dialogue_Chap, AI_Tip_Chap, Map_Room oraz nie tłumacz imion i nazw własnych"
Póki co testy wykazały, że skrypt ma prędkość tłumaczenia na poziomie do 13tyś linii kodu lub do 900kb tekstu / 3h.

I własnie tu mam prośbę, czy moglibyście mi wysłać jakiś plik z zawartością do tłumaczenia z obojętne jakiej gry o obojętne jakiej wielkości do testowania i dopracowania narzędzia?
Po pomyślnych testach i szlifach wszytko udostępnię.

Re: Tłumacz tekstów dla lokalizacji oparty o Open AI

: 5 kwie 2023, o 09:33
autor: wasikuss
Tu masz przykład tekstów do gierki bez przetwarzania ich do tymczasowego formatu. Może się przyda na testy. https://drive.google.com/drive/folders/ ... sp=sharing

Re: Tłumacz tekstów dla lokalizacji oparty o Open AI (ChatGPT)

: 5 kwie 2023, o 10:07
autor: tisher
Dzięki za przykłady, są bardzo trudne ale okazało się, że skrypt potrafi prawidłowo wykryć lokalizację wszystkich zmiennych i przetłumaczyć automatycznie tylko tą część kodu jaka odpowiada za tłumaczenie:

Obrazek

Jako warunki tłumaczenia użyłem:

Kod: Zaznacz cały

DEFAULT_PROMPT = "przetłumacz`{text}` na {language}, w kontekście tłumaczenia gry. Skrypty pozostaw nienaruszone, przetłumacz jedynie zmienną text=treść_nie_tłumaczona:treść_do_tłumaczenia "
Muszę poprawić kilka drobnych rzeczy w kodzie, powinno być ok.
Najważniejszym warunkiem powodzenia tłumaczenia jest umieć się wysłowić programowi co od niego potrzebujemy, nie jest on wszystko wiedzący.

Re: Tłumacz tekstów dla lokalizacji oparty o Open AI (ChatGPT)

: 6 kwie 2023, o 07:53
autor: tisher
Ok, wysłaliście mi trochę tych plików, wydaje się, że narzędzie działa, więc udostępniam do zabawy.

Ale na początek 2 ważne sprawy.
Po pierwsze nie jestem autorem narzędzia, użyłem skryptu tłumaczącego ebooki i przerobiłem go na potrzeby tłumaczenia skryptów gier.
Po drugie, ważniejsze musisz zrozumieć, że narzędzie jakie udostępniam samo NIE TŁUMACZY. Ono tylko przygotowuje plik TXT i wysyła go do tłumaczenia na serwis OpenAI. Oni to tłumaczą i odsyłają. Jeśli narzędzie nie tłumaczy tak jak byś to chciał/chciała to wina leży po stronie albo OpenAI ale częściej wina leży po Twojej stronie ponieważ albo źle przygotowałeś/aś plik txt albo nieumiejętnie napisałeś/aś sztucznej inteligencji jak ma to tłumaczyć. Te warunki tłumaczenia są KLUCZOWE. Od nich zależy większość powodzenia w tłumaczeniu i nad nimi spędzisz większość czasu.

Popatrz jakie czasem trzeba wytyczne dawać aby tłumaczenie było odpowiednie, poniżej kilka przykładów jakie trzeba było zastosować aby w miarę poprawnie przetłumaczyć różne teksty z gier:

Kod: Zaznacz cały

nie wyświetlaj swoich komentarzy i uwag, tylko przetłumaczony tekst. Popraw styl, gramatykę oraz interpunkcję tłumaczenia zgodnie z zasadami pisowni polskiej. Nie tłumacz tekstu w nazwiasach < >, nie tłumacz tektu w linni na lewo od znaku ^, Nie tłumacz nazw: GameInfo, Chap_Bubble (z numerami 1-9), Single_Bubble, SubTask, SubTask_Content, BranchTask_Content, Dialogue_Chap, AI_Tip_Chap, Map_Room oraz nie tłumacz imion i nazw własnych

Kod: Zaznacz cały

Bądź wierny lub dokładny w tłumaczeniu. Spraw, aby tłumaczenie było czytelne lub zrozumiałe. Bądź elegancki lub naturalny w tłumaczeniu. Jeśli tekstu nie można przetłumaczyć, zwróć oryginalny tekst bez zmian. Nie tłumacz imion. Nie dodawaj żadnego dodatkowego tekstu w tłumaczeniu. Popraw tłumaczony tekst aby był zgodny z stylem, gramatyką i interpunkcją prawidłowej pisowni dla jezyka polskiego

Kod: Zaznacz cały

przetłumacz w kontekście tłumaczenia gry. Skrypty pozostaw nienaruszone, przetłumacz jedynie zmienną text=treść_nie_tłumaczona:treść_do_tłumaczenia
Rozumiesz już? Musisz "sztucznej inteligencji" wytłumaczyć jak człowiekowi jak to ma Ci przetłumaczyć. Brzmi troche abstrakcyjnie, ale tak to działa ;)

No ale wracając do narzędzia jakie Wam udostępniam to działa w miarę dobrze, nie zauważyłem problemów z przesyłaniem plików, łączeniem txt i innymi technicznymi i mało was interesującymi cechami :)

Aha, do pełni szczęścia - potrzebujecie płatne konto na OpenAi aby moc tłumaczyć szybko i bez przerw czy limitów. konto kosztuje 20$ czy coś tam.
koszt przetłumaczenia 1 MEGA BAJTA danych tekstowych to jest jakieś 1zł. Można jednak testowo uruchomić tłumaczenie nie mając konta. Jakość ta sama a pozwoli Wam po testować, chodź są wtedy limity i czasem nie bezie to działać.

Aha, narzędzie poza tłumaczeniem może wykonywać dowolne operacje na tekście. Po prostu w warunkach tłumaczenia napiszecie "Zmień tekst na styl pisania wierszem" zamiast tłumaczenia to Wam system przerobi na wiersz. czyli typowa obróbka tekstu.
1. Ściągnij program: https://code.visualstudio.com/download - jeśli masz windows 7 ściągnij jedną z poprzednich wersji programu
2. Uruchom, naciśnij Ctrl+Shift+X i na liście wpisz "python" - zainstaluj pierwszy od góry dodatek
3. Kliknij menu File -> Open folder i otwórz folder z rozpakowanym archiwum z narzędziem.
4. Po wczytaniu pojawi się lista plików - kliknij na "start.txt" i postępuj zgodnie z opisem
Tlumacz_AI_1.03.zip
(180.72 KiB) Pobrany 344 razy

- Zmodyfikowałem narzędzie aby dało się go uruchamiać na komputerze, a nie na stronie internetowej.
- dodatkowo od teraz można uruchamiać wiele kopii tego narzędzia i tłumaczyć wiele rzeczy na raz :)
- dodałem też możliwość stosowania narzędzia do post korekcji maszynowej, szczegóły w pliku start.txt


W razie problemów z uruchomieniem piszcie, będziemy dumać

Re: Tłumacz tekstów dla lokalizacji oparty o Open AI (ChatGPT)

: 6 kwie 2023, o 12:33
autor: tisher
aktualizacja

Re: Tłumacz tekstów dla lokalizacji oparty o Open AI (ChatGPT)

: 6 kwie 2023, o 13:06
autor: wasikuss
a miałoby sens puścić tłumaczenie jednocześnie na kilku usługach i potem tylko wybranie jednego z nich lub napisanie od nowa ale bazując na nich? sam pewnie będę to integrował takie autotłumaczenie do tolgee (https://tolgee.io/)

Re: Tłumacz tekstów dla lokalizacji oparty o Open AI (ChatGPT)

: 6 kwie 2023, o 13:14
autor: tisher
Nie ma przeciwwskazań ale trudno zrobić jednocześnie, można po kolei na różne usługi wysyłać.
tylko czy to ma sens skoro chat gpt jest bezkonkurencyjny w tłumaczeniu :P i może przetwarzać już przetworzony tekst np 2 przelot poprawia zaimki, formy osobowe, liczebniki których nie poprawił ale nie mam tego zaimplementowanego w narzędziu - trzeba by to ręcznie robić

Aha, mam takie przemyślenie, lepiej do tłumaczenia wybierać języki bliższe leksykalnie polskiemu, np tłumaczenie z rosyjskiego lub ostatecznie niemieckiego na polski może być wierniejsze i mieć mniej błędów niż z angielskiego, bo niemiecki, a rosyjski już w ogóle, są bliższe leksykalnie do polskiego niż angielski. No i pozwala językowo oddzielić angielski skryptów od tekstów do tłumaczenia w innym języku.

Re: Tłumacz tekstów dla lokalizacji oparty o Open AI (ChatGPT)

: 6 kwie 2023, o 22:30
autor: tisher
aktualizacja 1.02

Re: Tłumacz tekstów dla lokalizacji oparty o Open AI (ChatGPT)

: 8 kwie 2023, o 18:27
autor: tisher
aktualizacja

Re: Tłumacz tekstów dla lokalizacji oparty o Open AI (ChatGPT)

: 8 kwie 2023, o 19:10
autor: tisher
Aktualizacja narzędzia (w poście powyżej) + w załączniku tego posta 3 pliki tłumaczenia jednej gry

1. bazowy plik z gry
2. przetłumaczony maszynowo ("tłumacz w kontekście gry komputerowej")
3. Po prostej korekcji ("Popraw styl i formę")

Dodatkowo składnia koloryzująca do importowania do Notepad++ celem czytelniejszego przeglądania

To tak dla osób ciekawych jak dobrze lub jak źle radzi sobie to narzędzie w przygotowywaniu plików do dalszej obróbki korekcyjnej.

Całość zajęła mi około 5h automatycznej pracy narzędzia + około 1h na ręczne uporządkowanie wyników i dostosowanie skryptowej części pliku z tłumaczeniem do uruchomienia w grze. Nic nie zmieniałem w treści samego tłumaczenia (w kilku miejscach przeniosłem tłumaczenie jeśli AI nie przetłumaczyło jakiegoś segmentu).