Hromadný překlad projektu

Rndoom04
Člen | 77
+
+1
-

Ahoj,
rád by se zeptal, jak řešíte lokalizaci (resp. zpětný překlad) projektů, které už jsou v pokročilé fázi vývoje nebo v produkci. Aktuálně používám contributte/translation a klasický zápis v Latte {_ui.klic.cesta}.

Můj problém: Během vývoje píšu texty v češtině přímo do šablon. Je to pro mě nejrychlejší cesta pro vizualizaci i rychlé změny, které si zákazník vymyslí. Popřípadě ani nepotřebuje jiné jazyky, tak není důvod to dělat složitě. Problém nastává ve chvíli, kdy je potřeba web po roce převést do multijazyčnosti. Čekají mě pak hodiny ruční práce: vyhledávání textů v šablonách, vymýšlení klíčů, jejich zakládání do slovníků a nahrazování původního textu za makra.

Hledám řešení: Existuje nějaký nástroj nebo workflow, který by tento proces (aspoň částečně) automatizoval? Ideálně něco, co projde kód, identifikuje statické texty a pomůže je nahradit klíči a vyexportovat do překladových souborů.

Specifické požadavky:

  • HTML značky uvnitř textu: Např. <div>Text <strong>důležité</strong> pokračování</div>.
  • Proměnné v textu: Např. <div>Text{$var}, pokračování.</div>.
  • Týká se to čistě statických textů v šablonách (dynamický obsah jako články nebo produkty mám vyřešené na úrovni databáze, stačí pár kliků myší a je to).

Jak k tomu přistupujete vy? Opravdu to všichni dělají ručně, nebo poctivě definují klíče už od první minuty vývoje? Budu vděčný za jakékoli doporučení na nástroj nebo postup, který by ušetřil aspoň část téhle mravenčí práce.

Díky moc za tipy!

MajklNajt
Člen | 519
+
+1
-

Ja som sa po pár takýchto fuck-upoch poučil, a aj jednojazyčné appky robím rovno s placeholdermi

dms
Člen | 103
+
+2
-

Presne tak, rovnou od zacatku. A mame latte linter ktery umi projit sablony a detekovat tam vsechny texty ktere nemaji tento preklad nastaveny a jsou natvrdo

kminekmatej
Generous Backer | 41
+
0
-

dms@dms To mi zni jako presne to na co se pisatel taze :)

emololftw
Člen | 83
+
+1
-

přesně toto jsme nyní řešili. Jednojazyčná apka, nikdy nebude potřeba jazyková mutace… Použil jsem Claude Code, docela to pomohlo, ale taky to napáchalo dost škody, třeba když jsme měly nette/forms a tradičně $form->addText('code', 'Kód'); tak to vytvořilo i placeholder pro name toho elementu. Ale třeba jsem nedotunil prompt :)

EDIT: latte to přetransformovalo na výbornou

Editoval emololftw (19. 1. 9:44)

Rndoom04
Člen | 77
+
0
-

Fuuu, to jste mi moc nepomohli pánové, ale děkuji za odpovědi. Trochu jsem doufal ve skrytou magii, která by to za mě vyřešila. 😆

Tento projekt, který se mi fakt moc překládat nechtěl, jsem z většiny vyřešil přes AI, která mi po po trochu překecávání vrátila upravené soubory a JSON. Udělal jsem jen několik ručních CTRL+C a CTRL+V, ale ušetřil jsem kupu hodin.

Pro příště se ponaučím a budu vkládat rovnou placeholdery. Moc vám děkuji. 🙂