android - 获取值以在 Android 应用程序中以不同语言显示 - 本地化

标签 android xml user-interface android-activity

在我的 android 应用程序的 activities 中,我不得不使用三种不同语言的字符串,以便在应用程序启动时选择首选语言。我使用 values 文件夹中的 dimension XML 文件 为不同的屏幕尺寸设计了 android UI。例如,使用

android:textSize="@dimen/normalText"

在 TextView 中设置尺寸

<TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Last Login Date    : "
            android:textColor="@color/white"
            android:textSize="@dimen/normalText"
            android:textStyle="bold" />

我可以在使用多种语言的情况下使用这种方法吗?我需要在应用程序启动时选择一种语言,并使用该语言加载所有 UI 元素。每当语言在另一次启动时发生变化时,应用程序必须在 UI 中显示相关的语言元素。这可能吗?请帮助我提供有用的代码段。谢谢!

最佳答案

根据您的语言列表在 res 中创建值文件夹,例如:

1. values-es
2. values-ta
3. values-fr

并在特定语言文件夹上设置资源值,然后使用以下链接:

http://android.programmerguru.com/android-localization-at-runtime/

编辑:

以下代码适用于所有语言的 strings.xml 文件:

英语(strings.xml 到 values-en):

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="title">My Application</string>
    <string name="hello_world">Hello World!</string>
</resources>

西类牙语(将 strings.xml 转换为 values-es):

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="title">Mi Aplicación</string>
    <string name="hello_world">Hola Mundo!</string>
</resources>

法语(strings.xml 到 values-fr):

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="title">Mon Application</string>
    <string name="hello_world">Bonjour le monde !</string>
</resources>

关于android - 获取值以在 Android 应用程序中以不同语言显示 - 本地化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20490376/

相关文章:

xml - XPath 拉出不止一场比赛

mysql - 是否存在任何用于 mysql 的自动完成软件?

java - WatchService 卡住 JavaFX GUI

Android SDK的layout_width和layout_height xml属性继承?

ios - 在 Swift 中的代码中向 iOS 应用程序添加启动屏幕(没有 Storyboard或启动板)

android - 在 Kotlin Android 中处理多个函数中的可变变量

android - 在 iOS 上下载失败的频率比在 Android 上高得多?

java - 在android中下载线程文件?

android - 以 png 和 jpg 格式存储信息

XML 关系转换算法