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

Wszelkie kwestie techniczne.
Regulamin forum
1. W miarę możliwości prosimy o załączanie plików przez nasze forum, nie na zewnętrznych serwerach. Pliki nie znikną wtedy po upływie pewnego czasu. 2. Jeśli chcecie uzyskać pomoc przy rozpracowaniu plików (np. z tekstem, czcionką) załączajcie je do postów - nie każdy przecież posiada tłumaczoną przez Was grę.
tisher
Posty: 41
Rejestracja: 2 kwie 2023, o 19:46

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

Postautor: tisher » 5 kwie 2023, o 08:55

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ę.

wasikuss
Posty: 34
Rejestracja: 15 lis 2021, o 23:50

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

Postautor: wasikuss » 5 kwie 2023, o 09:33

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

tisher
Posty: 41
Rejestracja: 2 kwie 2023, o 19:46

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

Postautor: tisher » 5 kwie 2023, o 10:07

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.

tisher
Posty: 41
Rejestracja: 2 kwie 2023, o 19:46

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

Postautor: tisher » 6 kwie 2023, o 07:53

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 334 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ć

tisher
Posty: 41
Rejestracja: 2 kwie 2023, o 19:46

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

Postautor: tisher » 6 kwie 2023, o 12:33

aktualizacja

wasikuss
Posty: 34
Rejestracja: 15 lis 2021, o 23:50

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

Postautor: wasikuss » 6 kwie 2023, o 13:06

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/)

tisher
Posty: 41
Rejestracja: 2 kwie 2023, o 19:46

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

Postautor: tisher » 6 kwie 2023, o 13:14

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.

tisher
Posty: 41
Rejestracja: 2 kwie 2023, o 19:46

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

Postautor: tisher » 6 kwie 2023, o 22:30

aktualizacja 1.02

tisher
Posty: 41
Rejestracja: 2 kwie 2023, o 19:46

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

Postautor: tisher » 8 kwie 2023, o 18:27

aktualizacja

tisher
Posty: 41
Rejestracja: 2 kwie 2023, o 19:46

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

Postautor: tisher » 8 kwie 2023, o 19:10

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).
Załączniki
test.zip
(905.26 KiB) Pobrany 296 razy


Wróć do „Technikalia”



Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 4 gości