Technická dokumentace českého překladu
Hra Everything is Crab nemá českou lokalizaci. Čeština je zapsána do Polish (pl) slotu — v nastavení hry vyber Polish a zobrazí se čeština. Texty jsou v Unity Addressables .bundle souborech. Font byl rozšířen o české háčky a čárky přímo v sharedassets0.assets.
| Komponenta | Stav | Detail |
|---|---|---|
| Texty (2043) | ✅ Hotovo | Polish bundle obsahuje CZ, CRC opraveno |
| Hlavní font (17834) | ✅ Hotovo | 190 glyfů — plná česká diakritika |
| ThickBlackOutline (17835) | ⚠ Originál | 168 glyfů — nové CZ znaky chybí |
| WhiteOutline (17836) | ⚠ Originál | 168 glyfů — nové CZ znaky chybí |
1. Najdi ID textu v all_languages_export.json (porovnej EN/DE/PL) 2. Přidej opravu: - do improved_translations.json (ID → český text) - nebo do EN_FIXES/ID_FIXES v apply_manual_fixes.py 3. python apply_manual_fixes.py (jen pokud jsi měnil .py) 4. python fix_translation_quality.py 5. Spusť hru → vyber Polish → zavři hru 6. python fix_translation_quality.py (CRC fix) 7. Spusť hru znovu — funguje.
Každá aktualizace přepíše font i bundle a změní hash v názvu souborů. Steam navíc starý bundle na disku nechá — je nutné patchovat ten nový, jinak hra načte původní polštinu.
1. Zjisti nové názvy bundlů: dir "...\StreamingAssets\aa\StandaloneWindows64" → smaž staré polish bundly z předchozí verze 2. Uprav hash v PL_BUNDLE / EN_BUNDLE: fix_translation_quality.py, retranslate_from_en.py 3. Nové zálohy (z čerstvé verze!): sharedassets0.assets → .czech_backup <polish bundle> → .backup catalog.bin → .backup 4. python translate_cache.py (nové EN texty → cache) 5. python font_atlas\rebuild_atlas_m6x11.py 6. python fix_translation_quality.py 7. Spusť hru → Polish → zavři 8. python fix_translation_quality.py (CRC)
rebuild_atlas_m6x11.py hledá path_id fontu i offsety automaticky, takže změnu struktury assetu přežije. Pro ruční kontrolu slouží find_font_offsets.py.
fix_translation_quality.py ⭐ — Hlavní skript. Načte zálohu bundle, aplikuje překlad, opraví [StatName] závorky, zapíše Polish bundle, automaticky opraví CRC.apply_manual_fixes.py — Přidává ruční opravy z EN_FIXES/ID_FIXES slovníků do improved_translations.json.fix_crc_from_log.py — Záložní CRC fix z Player.log (pokud hlavní skript CRC neopraví).retranslate_from_en.py — Re-překlad z EN při aktualizaci hry (nové texty přes Google Translate).analyze_translation.py — Analýza kvality: nepřeložené texty, nekonzistence, texty stále v angličtině.translate_cache.py — Doplní translations_en_cs.json o nové EN texty po aktualizaci hry (maskuje placeholdery před Google Translate).retry_failed.py — Zopakuje překlad textů, které Google odmítl (rate limit).font_atlas/rebuild_atlas_m6x11.py ⭐ — Rebuild font atlasu s CZ znaky (compositor: háček z ǔ + tělo písmene). Path_id a offsety detekuje automaticky.font_atlas/find_font_offsets.py — Vypíše path_id a offsety TMP fontů v sharedassets0.assets.font_atlas/rebuild_outlines_clean.py — Šablóna pro budoucí outline font fix. Nespouštět.Tyto statistiky musí zůstat v angličtině v hranatých závorkách — hra je porovnává s EN názvem jako klíče:
[Social] [Senses] [Physical] [Ability] [Health Regen] [Plating] [Poison] [Charm] [On Damaged] [Nearby] [Dodge] [Regeneration]
Výjimka: závorky jako [Sociální], [Schopnost], [Fyzické] jsou jen zvýraznění textu a překládají se.
Musí sedět přesně — hra je nahrazuje za hodnoty:
{SensesIncreasePerLevel_DELTA} ← s 's', ne SenseIncrease...
[EVOLUTION__ATTACK_STONER] ← STONER, ne TONER
[EVOLUTION__...] ← tagy nech — hra je nahradí jménem evoluce
Nikdy nevolej env.file.save() vícekrát na stejný soubor! Opakovaný save vyprázdní raw data ostatních objektů. Vždy: načíst → upravit vše → jeden save.
ThickBlack (14874) → atlas path_id = 315 WhiteOutline (14875) → atlas path_id = 316 BrownOutline (2485) → atlas path_id = 357 NESMÍ se zaměnit za main font (314)!
| Soubor | Účel |
|---|---|
improved_translations.json | DB ručních oprav (ID → CZ text), ~515 záznamů |
translations_en_cs.json | Cache EN→CZ překladu (Google Translate) |
all_languages_export.json | Všech 15 jazyků pro porovnání (EN/DE/PL reference) |
game_glossary.json | Herní terminologie |
font_atlas/m6x11plus.ttf | Originální pixel font hry |
PREKLAD_NAVOD.md | Kompletní technická dokumentace (SK/CZ) |
Balíček obsahuje všechny Python skripty, překladové JSON databáze a dokumentaci. Potřebuješ Python 3 a závislosti:
pip install unitypy Pillow numpy freetype-py deep-translator
Po stažení aktualizuj cesty v skriptech na svou instalaci hry — viz PREKLAD_NAVOD.md.