1

この人々がGoogle Closure Templatesを提案したために私のプロジェクトに国際化サポートを実装しようとしています.しかし、閉鎖テンプレートには非常に慣れていません.閉鎖テンプレートを使用して言語固有のメッセージを取得しようとしていますが、xlfファイルに取得していません.誰かが方法を知っている場合閉鎖テンプレートを使用して言語固有のメッセージを生成します。手順を教えてください。それは私にとって大きな助けになります。

私の.soyファイルコードは以下のとおりです。

{namespace poc} 
/** 
*Testing message translation 
*@param pageTitle 
*/ 
{template .translate} 
<HTML> 
<Head> 
<title>{$pageTitle} 
</title> 
</head> 
<div> 
{msg desc="Hello"}Hello{/msg} 
</div> 
</html> 
{/template} 

and generated .xlf content as bellow 

<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
  <file original="SoyMsgBundle" datatype="x-soy-msg-bundle" xml:space="preserve" source-language="en" target-language="pt-BR">
    <body>
      <trans-unit id="2286494898080570401" datatype="html">
        <source>Thanks</source>
        <target/>
        <note priority="1" from="description">Says thanks</note>
      </trans-unit>
    </body>
  </file>
</xliff>
4

2 に答える 2

1

すでに SoyMsgExtractor を使用してベース xlf を作成しているようです。次に、このベース xlf をサポートしたい言語に翻訳する必要があります。言語ごとにファイルが作成されます。Translution の xliff exitor を使用しました。http://sourceforge.net/projects/eviltrans .

次に、SoyToJsSrcCompiler を使用して、言語ごとに翻訳 soy を作成できます。

java -jar SoyToJsSrcCompiler.jar --shouldGenerateGoogMsgDefs --bidiGlobalDir 1 --messageFilePathFormat Filename_en-us.xliff --outputPathFormat FileName_fr.js *.soy

これにより、コンパイルされた soy ファイルを含む Filename._fr.js ファイルが作成されます。

元の soy (またはコンパイル済み) の代わりにこのファイルを含めると、ローカライズされたバージョンが作成されます。

幸運を!

\レネ

于 2012-09-12T10:17:49.363 に答える
0

最も簡単な方法は、1 つのメッセージ オブジェクトを含む別の js ファイルを作成 (つまり、任意のソースから生成) し、extern 宣言関数を介して参照することだと思います。

それはただ機能し、複雑な依存関係はありません。

于 2012-09-19T21:29:38.120 に答える