2013-01-22 110 views
2

我想本地化(values-ru)字符串值:textview和app_name。应用仅本地化textview(“Приветмир”),但app_name仍然相同(“本地化”)。 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 /值儒:

<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); 
} 

回答

7

这将改变区域设置应用程序的本地不移动。和Manifest根据设备区域选择应用程序名称的值,而不是应用程序区域设置。 所以你需要从你的移动设备的设置来设置它。

+0

感谢您的快速回复 – Andrew

+0

这是一个可靠的答案。但我相信,如果你告诉如何克服这种情况,它将会帮助社区更多。 – Killer

+0

我们是否需要为每个活动使用setTitle ... – Killer

0

@skygeek同意 只是为了开导主题,因为每个从安卓网Android的本地化过程:

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

详细解释可以在安卓网站link找到。

相关问题