小编A. *_*. N的帖子

Android 仅在应用程序中更改语言:某些字符串未正确翻译

(我在帖子底部添加了更新)

我目前正在开发一个支持多种语言的项目。我已经编写了所有语言的所有字符串。

我使用 BaseActivity、Application 类和 LocaleHelper 来管理应用程序上的本地化。然后我在我的应用程序上发现了这种行为。在我将Locale设置为另一种语言后,某些活动中的字符串被更改并正确,但在MainActivity中却没有,即使它们具有一些相同的字符串。我尝试重新启动应用程序,但它仍然无法正常工作。

我还有另一个活动,活动中的一些单词被翻译了,但片段和回收器视图中的所有单词根本没有被翻译。

我仍然找不到它翻译不正确的原因。有人能帮我吗??

这是一些片段:

应用类

@Override
public void onCreate() {
    super.onCreate();
    LocaleUtil.setLocale(new Locale(LocaleUtil.with(this).getPreference()));
    LocaleUtil.updateConfig(this,getBaseContext().getResources().getConfiguration());
}

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
    LocaleUtil.setLocale(new Locale(LocaleUtil.with(this).getPreference()));
    LocaleUtil.updateConfig(this, newConfig);
}
Run Code Online (Sandbox Code Playgroud)

基础活动

public BaseActivity() {
    LocaleUtil.updateConfig(this);
}

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

public void initLocale(){
    localeUtil = new LocaleUtil(this);
    localeUtil.setListener(this);
    localeUtil.setLanguageByCode(localeUtil.getPreference());
}
Run Code Online (Sandbox Code Playgroud)

请帮我!谢谢!!

更新

我发现每当我想要访问Recyclerview 和片段中的任何视图的Strings.xml时,我都必须再次设置Locale。这完全不方便,而且我担心性能。我很想听到关于更改语言的更好建议。

java string android localization android-fragments

6
推荐指数
1
解决办法
7318
查看次数

标签 统计

android ×1

android-fragments ×1

java ×1

localization ×1

string ×1