2017-04-21 16 views
19

私はAngular 4アプリを翻訳する必要があります。基本的に私はthe official guideに従った。 角度4 i18n - 翻訳ファイルを追加した後に続ける方法?

  1. 私は国際化がタグに属性とその

  2. 角度-CLIで

  3. 私はSRC-フォルダ内のフォルダ "ロケール" を作成したmessages.xlfを作成した追加

  4. messages.xlfをこのロケールフォルダにコピーしました...

  5. ... "messages。 .xlf」ドイツ 翻訳

を保持するために、私は物事をテストするための簡単な翻訳を変更しました。しかし、ブラウザを「ドイツ語」に変更した後は、何の違いもありませんでした(npm startを使用していたため、基本的に「ng serve」となりました)。まだ何かが欠けていると思われます。また、ガイドではhow to 'merge' the translationについて説明しています。しかし、この章は信じられないほど奇妙で、納得のいくようには聞こえません。それは以前のバージョンのために行われたように読み込まれます。

たとえば、起動スクリプトを修正するように指定しています。私はスタートアップスクリプトも持っていないということです。私のindex.htmlは次のようになります:

<!doctype html> 
<html> 
<head> 
    <meta charset="utf-8"> 
    <title>PickUp2</title> 
    <base href="/"> 

    <link href="assets/iconfont/material-icons.css" rel="stylesheet"> 
    <link href="roboto.css" rel="stylesheet"> 

    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <link rel="icon" type="image/x-icon" href="assets/material_supply_icon.ico"> 
</head> 
<body> 
    <app-root>Loading...</app-root> 
</body> 
</html> 

この起動スクリプトはどこに置く必要がありますか?私はJITまたはAOTコンパイラを使用しているかどうかわかりません。彼らはこれまでどんなガイドでも言及されていませんでした。

+0

あなたはそれを動作させることができましたか?私は同じステップで立ち往生しています、下の答えは本当に私を助けていません。 – gkri

+0

特定のアプリケーションにリダイレクトするモジュール "Locale"を持つノードjsサーバーをセットアップしました。あなたが持っている言語ごとにアプリケーションを構築し、それらを異なるフォルダに展開する必要があります。ロケール:https://github.com/florrain/locale – OddDev

+0

私はJITを使用していてAOTではないので、別の言語でアプリケーションを構築することでさらに進歩することはできません – gkri

答えて

8

私はAngular-4アプリをCookbookに記載されている方法で翻訳しました。 私はあなたが欠けている重要な情報は、あなたが別々に各言語のためのアプリを "構築"する必要があると思う。

1本の翻訳とローカルでアプリケーションを実行するために私のコマンドは次のようになります。それを構築するために

>ng serve --i18n-file src/i18n/messages.fr.xlf --locale fr --i18n-format xlf --aot 

ことがちょうど

を構築NG に仕えるNG置き換えを説明:

  • を - i18n-fileはどの翻訳を使用するかを指定しました
  • - あらかじめコンパイルしていますhtmlテンプレートを使用すると、i18nと記されたテキストが翻訳されます。

あなたの場合は、ドイツ語でアプリを作成してから展開します。アプリの別のバージョンが/ enなどにある可能性があります。

専用のアプリに必要な言語に基づいてユーザーをリダイレクトできます。

これが役に立ちます

関連する問題