4

ここにはすでに同様の質問がたくさんありますが、探していた答えが見つかりませんでした..

多言語アプリケーションを開発するための最良の方法は何ですか?それは非常に高速である必要があります..そして、翻訳するテキストの量がわかりません.

Method 1: create and keep all the text in an array for every language i want to support and include that file everywhere.

Method 2: Use gettext (.MO, .PO files)

Method 3: Store all the translations in a text file and write a function to go through all the text and when matched display its value

Method 4: Store all the text and its translations in database, But i don't think it will be faster than storage in Filesystem.

Method 5: Same as method 1 but i will create multiple files per language just to keep everything structured.

これらはすべて機能しますが、どの方法が最速だと思いますか。方法を見逃した場合はお知らせください。

4

3 に答える 3

1

開発者向けのローカリゼーションプロジェクトを管理する人として、私は双方(翻訳者と開発者)がGettext(.poファイル)に非常に満足していると言わなければなりません。コードに実装するのは比較的簡単で(基本的にローカライズしたいテキストのラッパー)、シームレスに高速で、最も重要なのは、完璧にスケーリングおよび更新することです。

主な利点は、クロスプラットフォームのPoEditを含め、.po / .potファイルを作成、更新、管理、および変換するためのツールが多数存在することです。何十もの言語を使用する場合は、最新の.potファイルを抽出して翻訳チームに送信するのと同じくらい簡単です。言語ごとに個別のファイルが返されます。新しい文字列を簡単にスキャンして見つけたり、翻訳者に提示して簡単に使用したりできるシステムはあまり見たことがありません。

于 2013-01-18T23:33:06.073 に答える
1

これは複雑な問題であり、あなたが考えるほど明白であるとは限りません。場合によっては、右から左への言語または特定の文化的理由により、特定の地域用に別のレイアウトを開発する必要がある場合があります。

どちらの方法を選択する場合でも、ページのすべてまたは一部をキャッシュし、可能であればページを再生成する前にキャッシュされたバージョンを使用することをお勧めします。

私はおそらく 3 と 4 を避けるでしょう。必要以上にディスクから読み取りたいとは思わないでしょう。変換配列を memcached にキャッシュできる場合は、変換テーブルをロードする際のディスク アクセスを節約できます。

于 2013-01-15T17:51:35.967 に答える
0

複数の言語をサポートする PHP フレームワークを検討することをお勧めします。最初に最も人気のある Zend、Symphony、および Yii を調査します。以前 Yii を使用したことがありますが、これは多言語をサポートしています。

http://www.yiiframework.com/extension/yii-multilanguage/

于 2013-01-15T18:02:40.767 に答える