本地化应用程序名称

7

我希望你能够将(values-ru)字符串值:textview和app_name本地化。应用程序仅本地化textview(“Привет мир”),但是app_name仍然保持不变(“Localization”)。app_name本地化有什么问题?

应用程序标签名称和清单中的活动标签名称都指向相应的字符串值。

清单:

 <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>

Java:

@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);
}
2个回答

9

这将在应用程序中更改本地化设置,而不是移动设备的设置。清单文件会根据设备语言设置来选择应用程序名称,而不是应用程序本地化设置。

因此,您需要从移动设备的设置中进行更改。


这是一个正确的答案。但我相信如果您告诉如何解决这种情况,它将更有助于社区。 - Shubham AgaRwal

0

@skygeek 同意。 就 Android 本地化过程而言,根据 Android 网站上的说明:

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

可在 Android 网站 link 上找到详细的解释。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接