7

我想本地化(values-ru)字符串值:textview 和 app_name。应用程序仅本地化 textview ("Привет мир") 但 app_name 仍然相同 ("Localization")。app_name 本地化有什么问题?

Manifest 中的应用标签名称和活动标签名称是指相应的字符串值。

显现:

 <application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.example.local.MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

字符串 res/values-ru:

<resources>
<string name="hello_world">Привет мир</string>
<string name="app_name">Локализация</string>
</resources>

爪哇:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    String languageToLoad  = "ru";
    Locale locale = new Locale(languageToLoad); 
    Locale.setDefault(locale);
    Configuration config = new Configuration();
    config.locale = locale;
    getBaseContext().getResources().updateConfiguration(config, 
    getBaseContext().getResources().getDisplayMetrics());

    setContentView(R.layout.activity_main);
}
4

2 回答 2

9

这将在本地而不是移动设备上更改应用程序的区域设置。Manifest 根据设备区域设置选择应用程序名称的值,而不是应用程序区域设置。因此,您需要从移动设备的设置中进行设置。

于 2013-01-22T10:05:27.303 回答
0

@skygeek 同意只是根据 android 网站上的 android 本地化过程来启发主题:

资源是您的 Android 应用程序需要的文本字符串、布局、声音、图形和任何其他静态数据。一个应用程序可以包含多组资源,每组资源都针对不同的设备配置进行定制。当用户运行应用程序时,Android 会自动选择并加载最匹配设备区域设置的资源。

详细解释可以在 android 网站链接中找到。

于 2013-10-08T12:46:22.727 回答