gettextはウェブサイトをPHPでローカライズする最良の方法ですか?私はフレームワークを使用していないし、翻訳する言葉はあまりありません。gettextはPHPでウェブサイトをローカライズする最良の方法ですか? (穏やかなローカリゼーションが必要です)
答えて
詳細できる。
$lang = array(
"welcome" => "Welcome",
"bye" => "Bye"
);
を他の言語については、小さなユースケースについては
$lang = array(
"welcome" => "Accueil",
"bye" => "Au revoir"
);
、これは細かいことはないと.po
ファイルと一緒に行くために必要する必要がありますのようなものを持っているだけで、lang_fr.php
言います。また、次のように定義することもできます。
function _($l)
{
return $lang[$l];
}
決して変わらない静的コンテンツの場合は、必ずご確認ください。
動的コンテンツの場合は、ごくわずかです。 .poファイルなどをコンパイルするのは一番上です。代わりに、キャッシュされたコンパイル済みのテンプレートを使用して、JSONまたはXMLのソリューションとテンプレートを使用することをお勧めします。
です。拡張子は「.poファイルをコンパイルする」トップ "に? – dsas
私にとって静的なコンテンツの場合は非常に多いです。 –
性能面、gettext
Extensionは、ローカライズされたテキストに文字列のidのようにマップする文字列、配列を使用するよりも高速です(たとえば"WelcomeText" => "Welcome to our homepage."
のために何か<?= $strings["WelcomeText"] >
を使用して含まれることになる。gettextのの純粋なPHPの実装が遅くなります場合はお勧めではありませんあなたは自分のアプリケーションでそれをlang_XX.php
を使用して含めることができます。PHP拡張を使用し、ここでLocalizing PHP web sites using gettextとBenchmarking PHP Localization – Is gettext fast enough?
gettextが最適です。文字列の少ない小規模なサイトでは、大きく成長することは予想されませんが、すでに公開されているソリューションに似たものを実装すると、実際にgettextを使用して構成する方法を学ぶよりも早くなる可能性があります。
TL; DR:
人々は、あなたがそのホイールを再発明する年齢を過ごすことができ、作品の翻訳システムを作成するために、長年にわたりハード考えている、またはあなたがgettextを使用する方法を学びながら少しを過ごすことができ。
オープンソースの世界では、gettextは事実上のデファクトスタンダードです。ここで
gettextのは、それがかつてのスレッド ごとにメモリにすべての単一の文字列をロードする必要はありません
- の大きなリストを維持するための通常の代替よりも優れている理由はいくつかの理由があります
- poeditのような翻訳者のための多くのツールサポートがあるので、翻訳者がPHPコードの編集方法を理解している必要はありません。
- それはあなたがまだ翻訳者へのコメントを与える必要が働いて、新しい翻訳可能なテキストを追加し、簡単に
- 戻って一緒にそれらをマージしながら、翻訳するためにあなたのファイルをオフに送信することができます意味、など、あなたのためのツールをサポートしていmsgmergeし、文字列のコンテキストについてgettextは、使用されているコードからコメントをとり、翻訳ファイルにコピーします。
- 翻訳キーは英語テキストです。まだ翻訳されていない場合、テキストはそのまま英語で表示されます。この答えに与えられた解決策は、この権利を得ています。
- 文字列が整数に依存する場合は複数形をサポートし、英語の場合は2つの書式
if n != 1 "There was a person" else "There were n people"
があります。他の言語の場合、ルールは(n!= 1)と同じくらい単純ではなく、ロシア語は3種類あり、ルールはn%100/10==1 ? 2 : n%10==1 ? 0 : (n+9)%10>3 ? 2 : 1;
- 1. 穏やかな紺碧のウェブサイト
- 2. 穏やかなウェブサービスでパラメータを渡す
- 3. Laravel穏やかな関係が穏やかなapiで動作しない
- 4. HTML5ウェブサイトをテストする最良の方法は何ですか?
- 5. hapi.jsでウェブサイトのユーザログインシステムを実装する最良の方法は何ですか?
- 6. 店舗やウェブサイトでモジュールの機能を制限する最良の方法は何ですか
- 7. wpfでフォントをローカライズする最良の方法
- 8. ユーザーのつぶやきや言及をウェブサイトに埋め込む最良の方法は何ですか?
- 9. 私はTwitterから必要なデータを取得する最良の方法は何ですか?
- 10. PHPセッションやクッキーが良いですか?
- 11. WordPressのウェブサイトでCDNを実装する最良の方法は?
- 12. ウェブサイトのフォルダが存在するかどうかを確認する最良の方法は何ですか?
- 13. 穏やかなWebサービスでコンテンツタイプを制御する
- 14. PHPでWikipediaのマークアップを解析する最良の方法は何ですか?
- 15. ウェブフォームのローカリゼーションにはどのような方法が最適ですか?
- 16. PHPでファイルをキャッシュする最良の方法は何ですか?
- 17. PHPでリアルタイム通知を処理する最良の方法は何ですか?
- 18. PHPで出力を生成する最良の方法はどれですか?
- 19. PHPで「時間」を正規化する最良の方法は何ですか?
- 20. PHPで配列を乗算する最良の方法は何ですか?
- 21. Rails穏やかなダウンロード
- 22. ソフトウェアやウェブサイトで言語を切り替える最も良い方法は?
- 23. PHPでHashTableを取得する最も良い方法は何ですか?
- 24. アルゴリズムの提案が必要:テレビ番組のエピソードをソートする最良の方法は何ですか?
- 25. Wordpressのウェブサイトを動かす最良の方法は?
- 26. PHPでクラスをオートロードするのは良い方法ですか?
- 27. PHP/MySQLウェブサイトのインターフェースをどのようにローカライズする必要がありますか?
- 28. Blogger APIを使用するには良いPHPリソースが必要ですか?
- 29. NetBeans 7.0でウェブサイトを作成する最良の方法
- 30. AppleScriptでローカライズされた文字列をフォーマットする最も良い方法は何ですか?
+1シンプルなサイトのための良い解決策 – Tchoupi
解決策は良いですが、私はまだgettextルートに行くことをお勧めします。あなたはあなたのサイトがどこに行くのか分からない。それはもっと速くなり、言語を追加する必要があるかもしれません。 Gettextは、この提案された解決策よりも実装に時間がかかりません – eakkas
このように@NatlsGleekがこのように変換ファイルを他人に送ることができます。 –