选择在android中查看不同语言的文本?

我正在开发一个应用程序,我想为用户提供三种语言选项,如英语,印地语和旁遮普语(地区语言).

我想知道最好的方法是什么?我找到的一种方法是制作英语,印地语和旁遮普语的三个不同的xml文件.然后解析这些xml文件.我已经知道如何在android中显示Punjabi字体.但我必须在我的应用程序中使用4-5本书.所以那样看起来不合适.

此外,我必须在我的应用程序中添加书签功能.因此,任何人都可以建议我使用三种语言的不同书籍的最佳方式,其中添加书签功能也很容易.

任何帮助表示赞赏.

最佳答案 将每个版本存储为原始资源(在/ 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));
点赞