
多語言配置不再繁瑣get generate locales命令從JSON到多語言的完整指南【免費(fèi)下載鏈接】get_cliOfficial Getx CLI項(xiàng)目地址: https://gitcode.com/gh_mirrors/ge/get_cliGetx CLIget_cliGet 官方命令行工具提供的get generate locales命令可以一鍵把 JSON 翻譯文件轉(zhuǎn)換成 Dart 本地化代碼。只需準(zhǔn)備幾份 JSON 文件運(yùn)行一條命令就能自動(dòng)生成完整的AppTranslation、LocaleKeys與Locales類從此告別手寫多語言代碼的繁瑣與出錯(cuò)風(fēng)險(xiǎn)。什么是 get generate locales 命令傳統(tǒng)做法中給 Flutter 項(xiàng)目添加多語言支持往往需要手動(dòng)維護(hù)大量 Map、鍵名常量和語言映射稍有不慎就會(huì)拼錯(cuò)鍵名或漏掉某個(gè)語言。get generate locales把這個(gè)過程完全自動(dòng)化 讀取指定目錄下的所有.json翻譯文件 將嵌套 JSON 自動(dòng)展平為帶下劃線的鍵名 生成可直接引用的 Dart 代碼文件? 自動(dòng)校驗(yàn) JSON 合法性與鍵名規(guī)范命令的完整實(shí)現(xiàn)位于 locales.dart你甚至可以直接參考 get_cli 自己的多語言文件如 translations/zh_CN.json來組織你的翻譯目錄。一鍵安裝與基本使用方法在 Flutter 項(xiàng)目根目錄執(zhí)行以下命令即可get generate locales assets/locales其中assets/locales是翻譯文件所在目錄這是默認(rèn)路徑也可以換成任意目錄。執(zhí)行后你會(huì)看到類似這樣的提示Generating locales.dart file生成的文件默認(rèn)輸出到lib/generated/locales.g.dart。就這么簡單——一條命令完成多語言配置JSON 文件如何變成多語言代碼準(zhǔn)備好如下結(jié)構(gòu)的翻譯目錄assets/locales/ ├── en.json ├── zh_CN.json └── pt_BR.json命令會(huì)按照以下規(guī)則處理每個(gè)文件1. 文件名即語言代碼en.json對應(yīng)語言enzh_CN.json對應(yīng)zh_CN無需額外配置。2. 嵌套 JSON 自動(dòng)展平比如en.json中寫了{(lán) buttons: { login: Login, logout: Logout } }展平后鍵名變?yōu)閎uttons_login、buttons_logout層級越深下劃線越多。這樣所有鍵都變成扁平常量引用時(shí)不會(huì)有拼寫歧義。3. 自動(dòng)生成三類代碼AppTranslation語言代碼到Locales映射的注冊表LocaleKeys所有鍵名的static const常量防止鍵名拼錯(cuò)Locales每個(gè)語言一個(gè)static constMap存放實(shí)際翻譯值生成的模板來自 generate_locales.dart你可以直接查看 get_cli 自己生成的成品文件 locales.g.dart 來了解最終結(jié)構(gòu)。進(jìn)階技巧用 on 參數(shù)指定輸出位置如果希望生成的多語言文件放在指定文件夾例如locales目錄加上on參數(shù)get generate locales assets/locales on locales輸出文件名固定為locales.g.dart帶.g.dart后綴表示這是生成文件不應(yīng)手動(dòng)修改。常見錯(cuò)誤與排查方法報(bào)錯(cuò)提示原因解決方法目錄不存在傳錯(cuò)路徑或文件夾缺失檢查路徑拼寫確認(rèn)目錄存在目錄是空的目錄里沒有.json文件放入翻譯文件后重試不是有效的 json 文件JSON 格式錯(cuò)誤用 JSON 校驗(yàn)工具檢查語法鍵名含不允許的特殊字符鍵名中出現(xiàn)數(shù)字開頭或特殊符號(hào)鍵名僅使用字母、數(shù)字非開頭、下劃線另外注意翻譯值中的單引號(hào)、換行符和$符號(hào)會(huì)被自動(dòng)轉(zhuǎn)義無需擔(dān)心字符串沖突。如何在 Get 項(xiàng)目中使用生成的代碼生成完成后配合 GetX 的國際化擴(kuò)展參考 internationalization.dart 中的tr用法在頁面中即可這樣引用LocaleKeys.buttons_login.tr帶參數(shù)的翻譯則使用trArgsLocaleKeys.error_failed_to_connect.trArgs([www.example.com])切換語言、新增語言只需維護(hù) JSON 文件并重新運(yùn)行一次get generate locales代碼始終與翻譯文件保持同步。常見問題解答問每次改完 JSON 都要重新生成嗎是的。翻譯文件是唯一數(shù)據(jù)源修改后重新執(zhí)行一次命令即可覆蓋生成生成文件帶overwrite機(jī)制不會(huì)報(bào)錯(cuò)。問支持哪些語言命名任何合法的 JSON 文件名都可以推薦直接使用語言代碼或語言代碼_國家代碼格式如en、pt_BR、zh_CN。問生成的文件會(huì)被手動(dòng)修改嗎不會(huì)。文件頭部標(biāo)注了DO NOT EDIT所有改動(dòng)都應(yīng)通過 JSON 文件完成。從 JSON 到多語言代碼get generate locales用一條命令串起了整個(gè)流程文件命名即配置、鍵名自動(dòng)生成、翻譯內(nèi)容零轉(zhuǎn)義成本。無論是個(gè)人項(xiàng)目還是團(tuán)隊(duì)協(xié)作都能讓多語言維護(hù)變得簡單、可靠、可追溯。 【免費(fèi)下載鏈接】get_cliOfficial Getx CLI項(xiàng)目地址: https://gitcode.com/gh_mirrors/ge/get_cli創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考