FBT + Crowdin + GitHub integrointi

(Jorge Dalmendray) (22. joulukuuta) , 2020)

Esittelin (edellisessä artikkelissa) kuinka integroida FBT (Facebook Translation) -kehys React Native -sovellukseesi. Päätin tuon artikkelin, jossa selitettiin, kuinka meillä oli aukko käännösprosessissa: varsinainen käännös itse.

Katsotaanpa käännösprosessia hieman tarkemmin:

  1. kirjoita koodi käärimisen aikana merkkijonosi fbt -tunnisteissa
  2. Pura kaikki merkkijonot lähdekoodista ja pidä ne valmiina käännöksiin. Tätä hallinnoi yksinkertainen komentosarja fbt-kirjastossa.
  3. GAP: Lähetä merkkijonot käännettäväksi
  4. GAP: Käännösten jälkeen tarvitsemme tapan laittaa ne takaisin sovellukseen niin nopeasti kuin voimme
  5. tuottaa voittoa!

Kirjoita Crowdin . Crowdin on pilvipohjainen ratkaisu, joka tehostaa tiimisi lokalisoinnin hallintaa. Se on työkalu, jolla voit hallita merkkijonojasi, palkata kääntäjiä ja varmistaa, että käännökset ovat tarkkoja ja sovelluksesi yhteydessä.

Tässä artikkelissa selitän, miten GitHub-repo voidaan integroida Crowdiniin uusien merkkijonojen lataamiseksi automaattisesti. käännöksille ja kuinka luoda vetopyyntö (PR) automaattisesti, kun käännökset ovat valmiita.

Kun käytät FBT: tä, voit purkaa kaikki merkkijonot lähdekoodistasi suorittamalla kaksi yksinkertaista komentosarjaa:

  1. fbt-manifest: Tämä komentosarja löytää kaikki lähdetiedostot, joissa on fbt() -kutsuja tai -tunnisteita

  2. fbt-collect: Tämä komentosarja vastaanottaa komentosarjan fbt-manifest syötteen, käy läpi kaikki siinä olevat tiedostot ja pura merkkijonot ja kuvaus erilliseen tiedostoon, kutsumme sitä nimellä .source\_strings.json

Tässä vaiheessa sinun on ilmoitettava Crowdinille, missä .source\_strings.json -tiedostosi asuu, se lukee sitten Lisää ne merkkijonot alustalle asettamallasi aikataululla ja ilmoita kääntäjille käännöksestä valmiita uusia merkkijonoja.

Vaiheet Crowdinin integroimiseksi GitHub-repo

  1. Integroi GitHub-repo Crowdiniin : Tämä sallii Crowdin r: lle Päätä repostasi ja lähetä sitten PR: t tarkistettavaksi. Huomaa: Jos et käytä GitHubia, katso muita Crowdin-integraatioita
  2. Luo crowdin.yml määritystiedosto projektin juuressa. Tässä kerrot Crowdinille, mistä haetaan lähdekentät ja mihin käännökset laitetaan, kun ne ovat. Esimerkki alla olevasta tiedostosisällöstä:
files:
- source: /i18n/fbt/.source\_strings.json
translation: /i18n/fbt/translations/\%two\_letters\_code\%/translation.json

Lisätietoja tästä määritystiedostosta on Crowdinin ohjeissa .

Kun .source\_strings.json -tiedosto päivitetään suorittamalla fbt: n komentosarjat, uudet merkkijonot tuodaan Crowdinin alustalle riippuen synkronointiaikataulusta, joka on asetettu integroituna GitHubiin.

Voit tilata ammattimaisia ​​käännöspalveluita alustan kautta tai valitse konekäännökset , molempiin suuntiin, kun uusia käännöksiä lisätään, Crowdin luo PR takaisin repoosi. Tässä vaiheessa voit hyväksyä ja yhdistää muutokset manuaalisesti tai luoda GitHub-toiminnon muutosten hyväksymiseksi ja yhdistämiseksi automaattisesti!

Muunna Crowdin-lähtö FBT-luettavaksi muodoksi

Viimeinen vaihe ennen Voit käyttää käännöksiä suorittamaan komentosarjan fbt-translate. Tämä komentosarja luo tiedoston, jonka FBT-ympäristö ymmärtää ja joka on tiedosto, jonka lopulta asetat koodiin.

fbt-translate :

"translate-fbts": "fbt-translate --translations translations/*.json --jenkins > src/translatedFbts.json"

Käyttö reaktiossa :

init({
translations: require("../translatedFbts.json"),
hooks: {
getViewerContext: () => viewerContext,
},
});

Käyttö React Native:

  • React Native / Android meidän on muunnettava komentosarjan fbt-translate lähtö Android-merkkijonoresurssitiedostoksi. Komentosarja auttaa sinua tässä vaiheessa:

"generate-android-fbt": "babel-node i18n/scripts/generate-android-localizables-executor.js"

Kun olet suorittanut tämän, olet valmis ajamaan Android-sovellustasi.

  • React Native / iOS: lle meidän on muunnettava fbt-translate komentosarja iOS-merkkijonoresurssitiedostoon .Tämän saavuttamiseksi ei ole skriptiä, mutta olemme aina avoimia osallistumiselle 🙂

Viimeiset ajatukset

Tässä vaiheessa sinun pitäisi pystyä purkamaan merkkijonot sovelluksestasi automaattisesti lataa ne Crowdiniin ja hanki sitten PR, kun käännökset ovat valmiita. Kuten olet ehkä huomannut, muutama vaihe tässä prosessissa on manuaalinen. Muutama ehdotus:

Luo GitHub-toiminnot, CircleCI-vaiheet (tai mitä tahansa, mitä käytät CI / CD: lle) suoritettavaksi:

  • fbt-manifest ja fbt-collect joka kerta, kun yhdistät PR: n
  • Crowdinin luomien PR: ien yhdistäminen automaattisesti
  • Suoritetaan fbt-translate kun Crowdin PR: t on yhdistetty
  • Android: generate-android-localizables-executor.js -sovelluksen suorittaminen komentosarjan fbt-translate jälkeen

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *