Jump to content

ostatní [Tips 'n' Tricks] Preklady Aplikacie


Deleted User

Recommended Posts

Kazdy (programator) z vas uz aspon raz riesil preklady aplikacie. Najvacsi problem s ktorym som sa viac krat stretol bolo, ako lahko pridavat a udrzat preklady aplikacie, tak aby bolo mozne jednoducho:

  • pridat dalsi jazyk
  • kolaborovat s kolegami
  • kolaborovat s prekladatelmi
  • generovat automaticke preklady, ktore sa raz za cas daju skontrolovat/prelozit profesionalne
  • pouzitelny format napriec roznymi frameworkami

 

Preklady v Angularu sa riesia pomerne "jednoducho". Prida sa modul ng-translate, tam kde sa chce pouzit preklad sa vlozi placeholder a pouzije pipe translate. (eg. 'menu.store_traffic.label' | translate) a aplikacia si preklady potiahne z jsonu na zaklade preddefinovanej logiky.

Problem nastane, ked v aplikacii mate 10 jazykov, kazdy ma vlastny json subor a potrebujete pridavat nove a nove preklady.

To mam ako otvorit kazdy json a manualne tam nakopirovat EN preklad a text cez google translator prelozit? Nie

 

Riesenie je velmi jednoduche. Google Sheets.

image.thumb.png.d6b6144ee09efc6e97d6d7306c91f71c.png

Staci si vytvorit stlpce pre ID prekladu, defaultny preklad a dalsie stlpce s prekladmi, ktore sa daju zo zaciatku generovat ako =GOOGLETRANSLATE(C42, "EN" "CS")

Preklady si stiahnete v .CSV a pregenerujete do pozadovaneho formatu scriptom, ktory si bohuzial musite napisat specificky pre vas pripad. Napr. CSV to JSON je kod na 30 riadkov v js.
Samozrejme sa process da automatizovat. V pripade pouzivania npm/yarn si vytvorite novy command, ktory vam spusti vas script, ktory stiahne preklady z google drive, spusti prekladaci script a preklady nahodi do appky.

Takze vzdy, ked upravite preklady v Google Sheets, napisete do terminalu iba yarn translate a preklady mate v aplikacii.
Potrebujete, aby ne-programator vedel pridavat preklady do prod aplikacie? Jednoduche riesenie je distribuovat vasu aplikaciu spolu so scriptom na stahovanie a generovanie prekladov. Takze po zmene prekladov sa na produkcii iba prevola endpoint /generate-translations-RANDOM_PASSWORD.js a preklady su na produkcii.

 

EDIT: Prikladam link na Google Sheets template prekladov https://docs.google.com/spreadsheets/d/1RmyE2W96JopnFHVeGj1TLJ0FGbx47ptw/

Edited by Bloodman
  • Líbí se mi to! (+1) 3
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...