4

私は、英語、ヒンディー語、パンジャブ語 (地域言語) のような 3 つの言語オプションをユーザーに提供したいアプリケーションに取り組んでいます。

それを行うための最良の方法は何ですか? 私が見つけた 1 つの方法は、英語、ヒンディー語、パンジャブ語の 3 つの異なる xml ファイルを作成することです。次に、これらの xml ファイルを解析します。Androidでパンジャブ語フォントを表示する方法はすでに知っています。しかし、アプリケーションでは 4 ~ 5 冊の本を使用する必要があります。そのように不適切に見えます。

また、アプリにブックマーク機能を追加する必要があります。ブックマーク機能の追加も簡単なところから、3つの言語でさまざまな本を使用するための最良の方法を誰かが私に提案できますか.

どんな助けでも大歓迎です。

4

2 に答える 2

1

各バージョンを raw リソースとして (/res/raw に) 保存します。でそれを取得します

public static String getRawFile(int resourceId, Resources resources) {

    Writer writer;

    try {
        InputStream is = resources.openRawResource(resourceId);
        writer = new StringWriter();
        char[] buffer = new char[BUFFER_SIZE];
        try {
            Reader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
            int n;
            while ((n = reader.read(buffer)) != -1) {
                writer.write(buffer, 0, n);
            }
        } finally {
            is.close();
        }
    } catch (Exception ex) {
        Log.e(TAG, "Unable to read raw resource!", ex);
        return null;
    }

    return writer.toString();
}

次のように呼び出されます:

Resources resources = context.getResources();
String text = Utilities.getRawFile(R.raw.test_response, resources));
于 2012-08-14T18:38:50.443 に答える
1

最良の答えは、Android のドキュメントに従って複数の言語をサポートすることだと思います。これがISO 639-1 コードのリストです。プロジェクトは次のようになります。

MyProject/
    res/
       values/
           strings.xml
       values-es/
           strings.xml
       values-pa/
           strings.xml
       values-hi/
           strings.xml

次に、各strings.xmlには、言語ごとに異なる値が含まれます。それはあなたのユーザーインターフェースのことやそのようなことをカバーします.

次に、これが何らかの種類のリーダーであるかどうかの質問に基づいて、ユーザーの言語設定に適した xml ファイル/ブックをダウンロードします。

Locale.getDefault().getDisplayLanguage();
于 2012-08-14T19:07:48.193 に答える