在地化在現代 Web 開發中至關重要,但往往很麻煩。管理翻譯文件、確保一致性和整合更新可能會變得難以承受,尤其是在大型程式碼庫中。傳統的 i18n 庫需要開發人員手動處理這些複雜性,導致效率低下和潛在的錯誤。
許多現有的 i18n 庫要求開發人員:
這些挑戰增加了開銷和複雜性,使在地化成為一項可怕的任務。
我創建了一個 JS 庫和一個圍繞它的生態系統,透過旨在使本地化簡單且無麻煩的功能來解決這些痛點:
使用整合的 ESLint 插件,localang-i18n-js 根據程式碼中的文字自動產生翻譯檔。這意味著不再需要手動建立或更新 JSON 檔案。該插件可確保您的翻譯文件始終是最新且準確的。
翻譯檔案放置在對應的程式碼檔案旁邊。這種在地化方法使管理翻譯變得更加容易,因為每個元件或模組都有自己的一組翻譯檔案。
localang-i18n-js 不使用任意鍵,而是使用實際文字作為鍵。這使得在程式碼庫中搜尋和尋找特定翻譯變得容易。如果您在 UI 中看到一段文本,您可以透過搜尋確切的文本來快速在程式碼中找到它。
例如,如果你在index.js檔案中寫入i18n('What is love?')和i18n('{count} left'),那麼就會在它旁邊建立一個index.i18n.js文件,其中包含以下內容:
import { makeI18n } from 'localang-i18n-js'; // or const { makeI18n } = require('localang-i18n-js'); const keyset = { 'What is love?': { en: 'What is love?', ar: '', }, '{count} left': { en: { zero: 'Nothing left', one: 'One left', two: 'Two left', few: 'A few left', many: 'Many left', other: '{count} left', }, ar: { zero: '', one: '', two: '', few: '', many: '', other: '' }, }, }; export const i18n = makeI18n(keyset); // or module.exports = makeI18n(keyset);
localang-i18n-js 與用於管理翻譯的 SaaS 平台集成,允許非開發人員直接在程式碼庫中更新翻譯。這意味著您的在地化團隊無需開發人員參與即可處理更新,從而簡化流程並降低錯誤風險。
為了進一步簡化在地化流程,localang-i18n-js 已準備好使用 GitHub Actions 來自動同步翻譯檔。您可以設定工作流程以從翻譯平台提取最新翻譯或直接從程式碼庫將新翻譯推送到平台。這種自動化可確保您的翻譯始終是最新的,無需手動幹預。
以上是簡化本地化的詳細內容。更多資訊請關注PHP中文網其他相關文章!