gpt4 book ai didi

java - android studio 本地化不翻译

转载 作者:行者123 更新时间:2023-12-01 09:51:00 24 4
gpt4 key购买 nike

   Button dar =(Button)findViewById(R.id.dr);
dar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view)
{

String languageToLoad = "fr"; // your language
Locale locale = new Locale("fr");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
Intent ints =new Intent(getApplication(),MainMenu.class);
startActivity(ints);
}
});

为什么去其他页面我的values-fr正在加载法语翻译。我观察到它更改为右侧语言的右侧,但没有翻译按钮文本

最佳答案

请记住,当您从应用中设置特定区域设置时,您更改的是应用配置而不是系统!

当您的应用程序启动时,它使用默认的系统区域设置。您必须在应用 Activity 启动之前更新配置(更改区域设置)。

重新启动当前的 Activity 并查看结果

我建议您在 Application 对象中更改应用程序区域设置

更新:

如果您希望用户能够在应用程序首次启动时选择语言,您可以在用户单击按钮后将语言代码保存到共享首选项,并在启动器 Activity 启动之前使用它来设置区域设置(在应用程序对象类中),并且对于您的按钮,我建议您使用国旗而不是文本。

public class MyApp extends Application {

String languageCode; // get it from shared preferences

@Override
public void onCreate() {
super.onCreate();
setLocale(languageCode);
}

@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
setLocale(languageCode);
}

public static void setLocale(String lang) {
// do stuff
}
}

点击按钮

MyApp.setLocale("fa");

不要忘记将此类添加到您的 list 中

<application
android:name="yourPakageName.MyApp"
... >

关于java - android studio 本地化不翻译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37593159/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com