11

多言語アプリを使用するための最良の方法はどれですか? 自分の言語で書かれた一連の文字列を作成し、オンラインでオンザフライで翻訳する Google API を使用する必要がありますか? コード例はありますか? また、ユーザーの言語を取得する方法と、この情報を API に渡す方法は?

4

4 に答える 4

22

あなたの文字列のオンザフライ翻訳は信用できません。最高の自動翻訳者でさえ、不正確な出力を生成する可能性があります。さらに、この方法で変換を処理することにより、かなりの複雑さ、オーバーヘッド、および依存関係 (ネットワーク接続など) が追加されます。

「多言語アプリ」(あなたが呼んだ)の問題はよく知られており、それを解決するプロセスは国際化とローカリゼーションと呼ばれています。一般に、フレームワークまたはプログラミング言語を使用している場合、このトピックに関連する既存のパッケージ/ライブラリを探すことができます。他の人がこれを容易にするための優れたメカニズムを構築するのにかなりの時間を費やしていることはほぼ当然のことです。

Android も例外ではありません。ローカリゼーション サポートが組み込まれて開発されています。Android Developer Documentation には、ローカリゼーションに関する包括的なガイドがあり、参照する必要があります。なんらかの方法でテキストを翻訳する必要がありますが、ロケール固有のメッセージをユーザーに提供する方法の多くの「基礎」はすでに用意されています。

最後に 1 つ注意してください。Android のドキュメントには、ローカライズされたアプリの作成の基本を説明する「 Hello, L10n 」というチュートリアルも用意されています。お役に立てれば!

于 2011-02-21T17:18:51.920 に答える
8

ここには、大きく異なる 2 つの目標があります。

  • それぞれが異なる言語のロケールに設定された、異なる Android プラットフォームで実行できるアプリ
  • プラットフォームのロケールを変更することなく、ユーザーがアプリ内で別の言語を選択できる単一のプラットフォームで実行されるアプリ

前者の質問は十分にサポートされており、他の人が指摘しているように、ドキュメントで議論されています。後者は十分にサポートされていません (ここここここを参照)。

電話にインストールされているロケールによっては、アプリ内で複数の言語をサポートすると、フォントの問題が発生する場合もあります。独自のフォントをアプリにパッケージ化する必要がある場合があります (たとえば、ここを参照)。それでも、フォント レンダリング エンジンがその言語をサポートしていない場合は問題が発生する可能性があります (アラビア語やタイ語などの複雑なスクリプトについては、これについて多くの苦情が寄せられています)。

于 2011-02-21T17:53:59.143 に答える
2

文字列をXMLで作成し、 iL10Nzに挿入できます。

コンテキストの問題を回避するために、段階的に作成する各文字列のスクリーンショットを用意しておくとよいでしょう。これはあなたが翻訳する言語で報われるでしょう

http://www.myl10n.netを確認してください

于 2011-02-22T08:38:59.107 に答える
2

Android は、この問題を念頭に置いて設計されています。

公式リファレンスを確認してください:

http://developer.android.com/guide/topics/resources/localization.html

于 2011-02-21T17:18:08.333 に答える