Az FBT + Crowdin + GitHub integrálása

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

Egy (előző cikkben) felvázoltam hogyan lehet integrálni az FBT (Facebook Translation) keretrendszert a React Native alkalmazással. Megállapítottam azt a cikket, amely elmagyarázta, hogy van-e hiányosságunk a fordítási folyamatban: maga a tényleges fordítás.

Nézzük meg egy kicsit közelebbről a fordítási folyamatot:

  1. Írjon kódot csomagolás közben a karakterláncaid a fbt címkékben
  2. Csomagold ki az összes karakterláncot a forráskódból, és készítsd őket fordításra. Ezt egy egyszerű szkript kezeli az fbt könyvtárban.
  3. GAP: Küldje el a karakterláncokat fordításra
  4. GAP: A fordítások befejezése után szükségünk van arra, hogy a lehető leggyorsabban visszahelyezzük őket az alkalmazásba
  5. nyereséget érhetünk el!

Írja be az Crowdin szót. A Crowdin egy felhőalapú megoldás, amely egyszerűsíti a csapat lokalizációjának kezelését. Ez egy eszköz a húrok kezeléséhez, fordítók bérléséhez és a fordítások pontos és az alkalmazás kontextusában történő ellenőrzéséhez.

Ebben a cikkben elmagyarázom, hogyan integrálhatja GitHub repóját a Crowdin-nal az új húrok automatikus feltöltéséhez fordításokhoz és hogyan hozhat létre automatikusan Pull Request-et (PR), amikor a fordításai készen állnak.

Az FBT használatakor az összes karakterláncot kivonhatja a forráskódból két egyszerű szkript futtatásával:

  1. fbt-manifest: Ez a szkript minden olyan forrásfájlt megtalál, amelyben fbt() hívás vagy címke található

  2. fbt-collect: Ez a szkript megkapja a fbt-manifest szkript bemenetét, átmegy az összes benne lévő fájlon, és kivonja a karakterláncokat és a leírást egy külön fájlba, nevezzük .source\_strings.json

Ezen a ponton tájékoztatnia kell Crowdint arról, hogy hol él a .source\_strings.json fájlja, majd beolvassa belőle az Ön által meghatározott ütemezés szerint adja hozzá ezeket a karakterláncokat a platformhoz, és figyelmeztesse a fordítókat az új, fordításra kész karakterláncokra.

A Crowdin és a GitHub repo

  1. Integrálja a GitHub repót a Crowdinnal : Ez lehetővé teszi Crowdin r-hez a repo-ból, majd nyújtsa be a PR-eket felülvizsgálatra. Megjegyzés: Ha nem használja a GitHub-ot, kérjük, olvassa el a egyéb Crowdin-integrációkat
  2. Hozzon létre egy crowdin.yml konfigurációs fájlt a projekt gyökerében. Itt elmondhatja Crowdinnak, honnan szerezze be a forrás karakterláncokat, és hová tegye a fordításokat, ha azok benne vannak. Példa az alábbi fájltartalomra:
files:
- source: /i18n/fbt/.source\_strings.json
translation: /i18n/fbt/translations/\%two\_letters\_code\%/translation.json

A konfigurációs fájlról további információ a Crowdin dokumentációjában található.

Ezen a ponton, amikor a fájl frissül az fbt szkriptjeinek futtatásával, az új karakterláncok importálódnak a Crowdin platformjába, a GitHub integrálásakor beállított szinkron ütemezés függvényében.

Ezután professzionális fordítási szolgáltatásokat rendelhet a platformon keresztül vagy dönthet úgy, hogy gépi fordításokat használ, új fordítások hozzáadásakor, Crowdin PR-t hoz létre a repóban. Ezen a ponton manuálisan elfogadhatja és egyesítheti a módosításokat, vagy létrehozhat egy GitHub műveletet a módosítások automatikus elfogadásához és egyesítéséhez!

A Crowdin kimenet konvertálása FBT olvasható formátumba

Az utolsó lépés használhatja a fordításokat a fbt-translate szkript futtatásához. Ez a szkript egy olyan fájlt generál, amelyet az FBT platform ért, és amely a fájl, amelyet végül beállít a kódba.

fbt-translate :

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

Használat a következő reakcióban: :

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

Használat a React Native-ban:

  • React Native / Android esetén át kell alakítanunk a fbt-translate szkript kimenetét egy Android karakterlánc erőforrás fájlba. A szkript segít ebben a lépésben:

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

A futtatás után készen áll az Android-alkalmazás futtatására.

  • A React Native / iOS esetén át kell alakítanunk a fbt-translate szkriptet egy iOS karakterlánc erőforrás fájlba .Ehhez nincs szkript, de mindig nyitottak vagyunk a hozzászólásokra 🙂

Végső gondolatok

Ezen a ponton képesnek kell lennie arra, hogy automatikusan kivonja a karakterláncokat az alkalmazásából töltsd fel őket a Crowdin-ra, majd szerezz PR-t, amikor a fordítások elkészültek. Mint észrevette, a folyamat néhány lépése kézi. Néhány javaslat:

Hozzon létre GitHub műveleteket, CircleCI lépéseket (vagy bármit, amit a CI / CD-hez használ) a végrehajtáshoz:

  • fbt-manifest és fbt-collect minden alkalommal, amikor összevon egy PR-t
  • a Crowdin által létrehozott PR-ek automatikus egyesítése
  • fbt-translate a Crowdin PR-ok egyesítése után
  • Android esetében a generate-android-localizables-executor.js futtatása a fbt-translate parancsfájl

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük