web-dev-qa-db-ja.com

サイトを複数の言語で表示できるようにするにはどうすればよいですか。

私は質問に気づいています 多言語サイトを実装するためのオプションはありますか 、そこでの答えはバックエンドでの多言語サポートに集中していますフロントエンドと同様に。

多言語コンテンツの作成ではなく、サイトのコンテンツの多言語表示を提供することにのみ関心があります。

私のサイトに Google翻訳ツール のコードを追加するのと同じくらい簡単でしょうか。私はこれを提供するプラグインの少なくとも カップル があることがわかります機能 - 誰でもそれらの経験がありますか?

1

自分のサイトを他の言語で表示する方法を探しているだけの場合は、Google Translate Toolsを使用することをお勧めします。テーマに追加します。

<div id="google_translate_element"><span id="trans">Translate: </span></div>

あなたはあなたのCSSでGoogleロゴとファンキーな色を隠すことができます:

.goog-logo-link{display:none;} 

Google Translate jsを呼び出す代わりに、returnスクリプトをコピーしてメインのjsファイルに追加するだけです。

編集

グーグルはあなたのウェブサイトで使うために 埋め込みコード を提供します:

 <div id="google_translate_element"></div><script>
function googleTranslateElementInit() {
  new google.translate.TranslateElement({
    pageLanguage: 'en',
    layout: google.translate.TranslateElement.InlineLayout.SIMPLE
  }, 'google_translate_element');
}
</script><script src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>

1行目:<div id="google_translate_element"></div>は、変換ドロップダウンボックスを表示する場所に配置できます。

alt text

<script>タグの最初のセットの間のセクションは言語とレイアウトのオプションです。 <script>タグの最後のセットは、DOMがロードされている間にGoogleがあなたのHTMLにインラインで挿入するより多くのJavaScriptを呼び出します。このプロセスをスピードアップし、余分なhttpリクエストとインラインスクリプトを避けるために、最後の呼び出しを削除し、Googleから返されたコードを使用する "master" jsファイルに追加します。 Googleが返すコードは次のとおりです。

(function(){var d=window,e=document;function f(b){var a=e.getElementsByTagName("head")[0];a||(a=e.body.parentNode.appendChild(e.createElement("head")));a.appendChild(b)}function _loadJs(b){var a=e.createElement("script");a.type="text/javascript";a.charset="UTF-8";a.src=b;f(a)}function _loadCss(b){var a=e.createElement("link");a.type="text/css";a.rel="stylesheet";a.charset="UTF-8";a.href=b;f(a)}function _isNS(b){b=b.split(".");for(var a=d,c=0;c<b.length;++c)if(!(a=a[b[c]]))return false;return true}
function _setupNS(b){b=b.split(".");for(var a=d,c=0;c<b.length;++c)a=a[b[c]]||(a[b[c]]={});return a}d.addEventListener&&typeof e.readyState=="undefined"&&d.addEventListener("DOMContentLoaded",function(){e.readyState="complete"},false);
if (_isNS('google.translate.Element')){return}var c=_setupNS('google.translate._const');c._cl='en';c._cuc='googleTranslateElementInit';c._cac='';c._cam='';var h='translate.googleapis.com';var b=(window.location.protocol=='https:'?'https://':'http://')+h;c._pah=h;c._pbi=b+'/translate_static/img/te_banner_bk.gif';c._pci=b+'/translate_static/img/te_ctrl.gif';c._phf=h+'/translate_static/js/element/hrs.swf';c._pli=b+'/translate_static/img/loading.gif';c._plla=h+'/translate_a/l';c._pmi=b+'/translate_static/img/mini_google.png';c._ps=b+'/translate_static/css/translateelement.css';c._puh='translate.google.com';_loadCss(c._ps);_loadJs(b+'/translate_static/js/element/main.js');})();

これは、余分な要求を避け、ドロップダウンボックスから言語を選択しない限り、WebサイトがGoogleと通信する必要がないようにするためのパフォーマンス上の理由によるものです。

ドロップダウンボックスはcssを使ってカスタマイズできます。たとえば、これを使用したサイトにボックスを表示する方法は次のとおりです。

alt text

4
Chris_O

この質問を参照してください WordPressコンテンツをローカライズするためのベストプラクティス? このアイデアから解決策が見つかるかもしれません

2
bueltge

私は私が開発していると私は結果に本当に満足しているプロジェクトのためにqTranslateプラグインを使用しています..

http://www.qianqin.de/qtranslate/ http://wordpress.org/extend/plugins/qtranslate/

乾杯

0
Sergio Soares