我正在开发一个应用程序,我想在其中为用户提供三种语言选项,例如英语、印地语和旁遮普语(区域语言)。
我想知道最好的方法是什么? 我找到的一种方法是制作英语、印地语和旁遮普语的三个不同的 xml 文件。然后解析这些xml文件。我已经知道如何在 android 中显示旁遮普字体。但我必须在我的应用程序中使用 4-5 本书。所以这样看起来不合适。
我还必须在我的应用程序中添加书签功能。因此,任何人都可以建议我使用三种语言的不同书籍的最佳方式,其中添加书签功能也很容易。
任何帮助表示赞赏。
我正在开发一个应用程序,我想在其中为用户提供三种语言选项,例如英语、印地语和旁遮普语(区域语言)。
我想知道最好的方法是什么? 我找到的一种方法是制作英语、印地语和旁遮普语的三个不同的 xml 文件。然后解析这些xml文件。我已经知道如何在 android 中显示旁遮普字体。但我必须在我的应用程序中使用 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));
我相信最好的答案是遵循支持多种语言的 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();