2016-09-12 18 views
0
私は動的に以下のJS、すなわち「日付」にスペインに2つの文字列を翻訳し、HTMLドキュメントの言語コードは、スペイン語(HTML LANG =「ES」)に設定されている場合は「続きを読む」する必要があり

JavaScript文字列を動的に変換する方法は?

$.each(data,function(post, postInfo) { 
     jsonArray.push(postEntry + '<a href="' + postInfo.link + '" class="preview-title"><h2>' + postInfo.title + '</h2></a><div class="preview-meta">Date: ' + postInfo.date + '</div><p>' + postInfo.preview + '...</p><div class="read-more"><a href="' + postInfo.link + '" class="link-button">Read more</a></div>' + postFooter); 
     }); 

私は最良の方法でこれにアプローチする方法がわかりません。

文字列は、おそらくこれでうまくいくと言語コードを取得する:

var languageCode = $('html').attr('lang'); 

そしてあなたのような簡単なチェックを実装できます。

if (languageCode === 'es') { 
... 
} else { 
... 
} 

がこれをアプローチする方法をあなたのアドバイスをお願い申し上げます。

+0

翻訳のような何かをするだろうが、通常、サーバー上で行われ、またはテンプレート生成の前にしています。 – zzzzBov

+0

翻訳ライブラリを見てください。私はi18nextを使用しましたが、より多くのものが必要です。これらは、あなたが望む多くの言語の翻訳を定義することを可能にします。一般に、国際化では、英語またはスペイン語(または使用する他の言語)に翻訳される_keys_のみを格納する必要があります。 – vlaz

+0

この質問を確認する: http://stackoverflow.com/questions/4886319/replace-text-in-html-page-with-jquery – MrMisery

答えて

1

2種類の単語のみを翻訳したい場合 - 翻訳ライブラリが過剰になる可能性があります。

私は

lang = { 
    es : { 
     readmore : 'Read More In Spanish', 
     date  : 'Date in spanish' 
    }, 
    en : { 
     readmore : 'Read More', 
     date  : 'Date'    
    } 
} 

var languageCode = $('html').attr('lang'); 

console.log(lang[languageCode].readmore) 
console.log(lang[languageCode].date) 
+0

クリーンでシンプルな、私はそれが好きです... – TitusQuinn

関連する問題