簡體   English   中英

Google Closure Templates 為每種語言生成多個 JavaScript 文件,而不是具有單獨資源文件的單個 JavaScript 代碼庫

[英]Google Closure Templates generates multiple JavaScript files for each language instead of single JavaScript code base with separate resource files

我正在使用 Google Closure Template 來使用 JavaScript 編寫我的應用程序的 UI。 查看這個問題,了解我使用 Google Closure Template 的詳細原因。 我希望它是多語言的。 我看到有一個--locales開關,並且還查看了項目中提供的示例herehere 在 README_FOR_EXAMPLES 文件中寫道

+ simple_generated_en.js, features_generated_en.js,
simple_generated_x-zz.js, features_generated_x-zz.js SoyToJsSrcCompiler 在 simple.soy 和 features.soy 上執行時生成的 JS 文件(語言環境是 'en' 和 'x-zz' 與來自共享示例目錄的翻譯 XLIFF 文件'examples' 和上面的編譯時全局文件)。 我們需要 simple.soy 和 features.soy,因為 features.soy 中的一些模板調用 simple.soy 中的模板。 注意:有關生成這些文件的示例 Ant 目標(和命令行參數),請參閱頂級“build.xml”中的目標“js-features-example”。

我所期望的是它只會生成一個 JavaScript 代碼庫,它將根據在調用模板 function 之前在運行時提供的選項使用來自適當語言環境文件的所需字符串。 閉包模板有可能嗎?

據我所知,您可以使用字典對象作為模板的參數。

/**
 * @param dict
 */
{template .example}
    <h1>{$dict.title}</h1>
    <div>{$dict.content}</div>
{/template}

這個 object 可以在服務器端從您的語言環境文件生成,並通過腳本標簽傳輸到 javascript。

否則,您可以根據語言環境將不同的編譯模板文件加載到客戶端。

也有i18n 的可能性,但這對你的問題有點沒用,imo。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM