如何确定 Android 设备的语言设置。我这样做是为了使我的应用程序国际化。谢谢!
6 回答
最常见的做法是在 res/values 文件夹中保留一个包含要本地化的字符串的字符串文件。然后,您可以创建带有资源限定符的附加值文件夹,其中将包含本地化字符串文件。
例如,如果您想翻译成德语,您可以创建 res/values-de 文件夹并将您的本地化字符串文件放入该文件夹中。如果语言设置为德语,Android 将自动加载此文件夹。如果当前系统语言没有 values 文件夹,它将使用默认的 res/values 文件夹。
为不同的语言创建值文件夹并放置此语言字符串。
示例:values-ca 并将加拿大语言字符串放在此文件夹中。
因此,如果用户更改手机语言,则显示该国家/地区语言。
谢谢。
您必须使用不同的 string.xml 文件
res/values/strings.xml values-hi/strings.xml
<resources>
<string name="welcome">स्वागतम</string>
<string name="email">ईमेल पता</string>
<string name="password">पासवर्ड</string>
<string name="login">लॉगिन</string>
<string name="signup">खाता नहीं है? साइन अप करें</string>
值-gu/strings.xml
<resources>
<string name="welcome">પધારો </string>
<string name="email">ઈમૈલ નું નામ</string>
<string name="password">પાસવોર્ડ</string>
<string name="login">લોગીન</string>
<string name="signup">એકાઉન્ટ નથી ? સાઈન ઉપ કરો</string>
值-ja/strings.xml
<resources>
<string name="welcome">歓迎</string>
<string name="email">電子メールアドレス</string>
<string name="password">パスワード</string>
<string name="login">ログイン</string>
<string name="signup">アカウントをお持ちでない場合は?サインアップ</string>
值-ja/strings.xml
<string name="welcome">Willkommen!</string>
<string name="email">Email Addresse</string>
<string name="password">passowrd</string>
<string name="login">Login</string>
<string name="signup">müssen nicht angemeldet? Anmeldung</string>
您真的需要手动执行此操作吗?实际上在 android 中已经内置了国际化机制——资源限定符。
您需要做的就是为每个语言环境添加特定的 strings.xml。
http://developer.android.com/guide/topics/resources/localization.html