Projekt społeczności · nieoficjalny

Zlokalizuj Eorzeę

Pomóż swojej społeczności przetłumaczyć Final Fantasy XIV.
Tłumaczysz linię, check ją sprawdza, a gra pokazuje ją kilka minut później.

Jak to działa

Pięć kroków prowadzi zdanie z gry z powrotem do gry, już przetłumaczone. Biorą w tym udział dwa repozytoria, pull request i wtyczka. Żaden plik gry nie jest zmieniany.

1 AHLDSKYF I'm the hired captain of the Orion. DefaultTalk#590415.20 TEKST W FFXIV każde zdanie w FFXIV ma identyfikator 2 DefaultTalk#590415.20 en "I'm the hired captain of the Orion." flat/DefaultTalk.json KORPUS ffxiv-corpus-en wzbogacony o inne języki, mówcę i słownik 3 DefaultTalk#590415.20 target "" target "Jestem kapitanem Oriona." TWÓJ LANGUAGE PACK ffxiv-language-pack-pl ten sam klucz: ty wypełniasz target 4 VALIDATE REVIEW auto-merge → release PULL REQUEST automatyczna walidacja i recenzja człowieka (opcjonalna) 5 AHLDSKYF Jestem kapitanem Oriona. GUBAL LIBRARY TEKST W FFXIV Gubal Library Każde scalenie do main publikuje wydanie, które po kilku minutach pojawia się w grze.
Pełna droga

Z klonem i edytorem

Angielski jest w jednym repozytorium, a twój język w drugim. Oba mają te same pliki i te same linie. Z oboma otwartymi w edytorze tłumaczysz z francuskim i japońskim przed oczami.

1

Otwórz oba repozytoria

Otwórz ffxiv-corpus-en i ffxiv-language-pack-pl w Visual Studio Code albo w innym edytorze. Oba mają tę samą strukturę w corpus/: jeden plik na rozmowę i jeden plik na arkusz interfejsu.

Visual Studio Code
EXPLORER
▾ ffxiv-corpus-en
▾ corpus
▾ quest
▾ 041
AktKba101_04102.json
▾ ffxiv-language-pack-pl
▾ corpus
▾ quest
▾ 041
AktKba101_04102.json
ffxiv-language-pack-pl ›corpus / quest / 041 / AktKba101_04102.json
{
  "conversation": "quest/041/AktKba101_04102",
  "gameVersion": "2026.08.11.0000.0000",
  "entries": [
    { "gameKey": "quest/041/AktKba101_04102#TEXT_AKTKBA101_04102_SEQ_00", "hash": "6100EBD3346502DA", "target": "" },
    { "gameKey": "quest/041/AktKba101_04102#TEXT_AKTKBA101_04102_SEQ_01", "hash": "A91C0F3E6D2B7C10", "target": "" },
    …
  • Zrób fork repozytorium języka na GitHubie i sklonuj fork. Dzięki temu możesz wypchnąć swoją gałąź.
  • ffxiv-corpus-en jest tylko do odczytu. Sklonuj go albo przeglądaj na GitHubie. Nie jest edytowany.
2

Znajdź ten sam plik w obu

Ścieżka pliku jest taka sama w obu repozytoriach, tak samo jak każdy gameKey. Plik angielski ma linię po angielsku, francusku i japońsku. Twój ma ten sam klucz, hash i pusty target.

Visual Studio Code
ffxiv-corpus-en ›corpus / quest / 041 / AktKba101_04102.json
{
  "gameKey": "quest/041/AktKba101_04102#TEXT_AKTKBA101_04102_SEQ_02",
  "en": "The effort to find the blasphemy is being led by none other than the Elder Seedseer herself, Kan-E-Senna.",
  "macro": "The effort to find the blasphemy is being led by none other than the Elder Seedseer herself, Kan<-->E<-->Senna.",
  "fr": "Les recherches du blasphème sont menées par la Grande Prophétesse en personne, Kan-E-Senna.",
  "ja": "ブラスフェミーの捜索は、カヌ・エ・センナ様が自ら指揮を執っている。",
  "hash": "3C7D2A9E5B1F8E04"
}
ffxiv-language-pack-pl ›corpus / quest / 041 / AktKba101_04102.json
{
  "gameKey": "quest/041/AktKba101_04102#TEXT_AKTKBA101_04102_SEQ_02",
  "hash": "3C7D2A9E5B1F8E04",
  "target": ""
}
  • Podziel edytor: angielski po jednej stronie, twój plik po drugiej.
  • W razie wątpliwości szukaj po gameKey. To wartość, którą oba pliki dzielą.
3

Przetłumacz

Wpisz tłumaczenie w target. Wyjdź od angielskiego, francuskiego albo japońskiego, tego, który rozumiesz najlepiej. Tekst w nawiasach ostrych to makro, które gra wypełnia, gdy pokazuje linię: imię gracza, łamanie linii, wariant zależny od płci. Kopiuj makra bez zmian.

Visual Studio Code
ffxiv-language-pack-pl ›corpus / quest / 041 / AktKba101_04102.json
{
  "gameKey": "quest/041/AktKba101_04102#TEXT_AKTKBA101_04102_SEQ_02",
  "hash": "3C7D2A9E5B1F8E04",
  "target": "Poszukiwaniami bluźnierstwa kieruje nie kto inny jak sama Starsza Jasnowidząca, Kan<-->E<-->Senna."
}
  • Zapisz plik bez zmiany formatu: UTF-8 bez BOM i to samo wcięcie. Edytor rozumiejący JSON robi to sam.
  • Rozmowa to plik. Przetłumacz ją w całości, żeby głosy były spójne.
4

Commit, push, pull request

Utwórz gałąź w swoim forku. Zrób commit z wiadomością, która mówi, co przetłumaczono. Wypchnij gałąź i otwórz pull request do repozytorium języka. Możesz to zrobić z terminala albo z panelu gita w edytorze.

Terminal
$ git checkout -b ahldskyf
$ git commit -am "Ahldskyf, capitano dell'Orion"
$ git push -u origin ahldskyf
$ gh pr create --fill
  • Otwieraj jeden pull request na partię linii, nie na linię. Notatki wydania wymieniają jego commity.
  • Od tego miejsca proces jest taki sam jak w przeglądarce: check, scalenie i wydanie.

Czego się nie rusza

Cztery zasady, ważne na obu drogach. Check pilnuje trzech pierwszych. Czwarta sprawia, że tłumaczenie jest dobre.

Po pull requeście

Nikt nie ingeruje. Check się uruchamia, scalenie następuje, wydanie się buduje, a wtyczka proponuje je każdemu graczowi przy starcie.

ffxiv-language-pack-pl· Pull request → Release
validate sprawdza każdy zmieniony wiersz: zmienił się tylko target, JSON jest poprawny, makra są na miejscu i nie ma znacznikówvalidate
Jeśli język ma recenzenta, scalenie czeka na jego zgodę. Jeśli nie ma, nie czekareview
Scalono do main
Wydanie zbudowane i opublikowane. Zajmuje to dwie, trzy minutyrelease
Gubal Library proponuje nową wersję przy starcie i pokazuje twoją linięGubal Library
The Unending Codex po hiszpańsku, z wpisem o Alphinaudzie
The Unending CodexHiszpański pakiet tłumaczy wpisy kodeksu o postaciach, miejscach i pojęciach.
Dialog z zadania w oknie rozmowy gry, przetłumaczony
Co czyta graczHiszpańska paczka w oknie rozmowy. Twoja wygląda tak samo: gra rysuje twój tekst własną czcionką, kursywą i kolorami.

Języki

Jedno repozytorium na język. Procent przetłumaczenia jest czytany z każdego repozytorium przy ładowaniu strony.

JęzykRepozytoriumPrzetłumaczoneBłędna linia?
Español (España)ffxiv-language-pack-es-esissues
Italianoffxiv-language-pack-itissues
Português (Brasil)ffxiv-language-pack-pt-brissues
Polskiffxiv-language-pack-plissues

Inny język? Zapytaj na GitHub Discussions.