我正在开发一个多语言应用程序,因为它面向非常多样化的公众。我试图通过一种我在谷歌上搜索到的方法来实现它,但虽然它似乎有一些意义(提前抱歉,我不是母语人士也不是真正的程序员),但我没有让它工作。方法是
package com.example.donafelicidad;
import android.content.res.Resources;
import android.content.res.Configuration;
import java.util.Locale;
public class LanguageHelper {
public static void changeLocale(Resources res, String locale) {
Configuration config;
config = new Configuration(res.getConfiguration());
switch (locale){
case "es":
config.locale = new Locale("es");
break;
case "qu":
config.locale = new Locale("qu");
break;
}
res.updateConfiguration(config, res.getDisplayMetrics());
}
}
我将这个方法与按钮一起应用,引用为 CHNG_QU 和 CHNG_ES:
CHNG_QU.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
LanguageHelper.changeLocale(getApplicationContext().getResources(), "qu");
Intent intent = new Intent(MainActivity.this, MainActivity.class);
startActivity(intent);
}
});
CHNG_ES.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
LanguageHelper.changeLocale(getApplicationContext().getResources(), "es");
Intent intent = new Intent(MainActivity.this, MainActivity.class);
startActivity(intent);
}
});
我手动更改了语言环境设置,并尝试了它。它完美地更改为另一种语言,所以我猜字符串做得很好。任何有关如何处理此问题的反馈将不胜感激,即使有必要重新执行整个代码。请使用简单的术语来形容一个正在尽力而为的没有经验的人。
作为旁注,我没有使用其他问题线索,因为我发现的大部分内容已被弃用。