是否可以在使用Android资源的同时以编程方式更改应用程序的语言?
如果没有,是否可以请求特定语言的资源?
我想让用户从应用程序更改应用程序的语言.
我有一个打印计算金钱值的应用程序,我想用默认的货币格式显示该值.
例如在欧洲你会写:
1.000,95€
在美国,我想你会写
1,000.95 $
在其他货币中,小数部分显示的值或多或少,在美国,它将是2,但在日本则为0.
如何获得所有现有货币的确切格式?
此处的Android文档http://developer.android.com/guide/topics/resources/localization.html说明您可以使用此方法获取当前区域设置:
context.getResources().getConfiguration().locale
Run Code Online (Sandbox Code Playgroud)
似乎Java已经以这种方法的形式提供了这些信息:
java.util.Locale.getDefault()
Run Code Online (Sandbox Code Playgroud)
那么为什么Android开发人员会介绍另一种获取语言环境的方法呢?当同时并行运行时,上面两行代码会产生不同的结果吗?
我想只为英语用户显示一个按钮,有没有办法检测语言设置?
我知道如何获得当前Locale,但我不知道如果比较它Locale.English是足够的,因为必须有很多英语变体等.
有人这样经历过吗?
我正在开发一个支持En/Ar的Android应用程序.但我遇到的问题是,如果用户从En更改为Ar,则用户界面的对齐必须从"从左到右"变为"从右到左".
示例:(TextView)(EditText) 这是在En中
但在Ar中它应该是:(EditText)(TextView).
有没有办法在不创建两个不同的布局或两个不同的版本的情况下执行此操作?
我正在尝试使用"en_us","en_gb"等区域获取当前设备区域设置.
我正在打电话Locale.getDefault().getLanguage(),它只返回两个字母代码en.
我在我的应用程序中添加了对每种应用程序语言的支持,即 android 13 功能,现在它是英语和俄语。我可以从设置更改应用程序语言,而无需更改设备语言。现在出于分析目的,我需要了解应用程序语言和设备语言。但如果我的设备是英语且应用程序是俄语,我总是收到俄语 -
Resources.getSystem().configuration.locales.get(0).language - ru
context.resources.configuration.locales[0].language - ru
Locale.getDefault().language - ru
Run Code Online (Sandbox Code Playgroud)
我希望收到来自
Resources.getSystem().configuration.locales.get(0).language
Run Code Online (Sandbox Code Playgroud)
和 茹从
context.resources.configuration.locales[0].language
Run Code Online (Sandbox Code Playgroud)
我会很高兴得到任何帮助
我怎样才能在Xamarin(Andriod)中获得该设备的当前语言?
通过context.Resources.Configuration.Locale.Language获得语言
当设置中的语言发生更改时,我想更改我的应用程序字符串语言。
比如,现在是英文。当我从设置切换到印地语时,我的 android 应用程序中的文本也应该是印地语。
怎么做?
我正在编写一个具有选项菜单的应用程序,其中包含三个语言选项:自动、英语、希腊语。
当用户更改设置时,我将其保存在共享首选项中,并使用新任务标志调用我的开始活动
当该活动开始时(甚至在 setContentView 之前)我调用以下方法:
string language = MainApplication.Language; //this is from shared preferences
if (language == null || language.Equals("auto")) {
language = Java.Util.Locale.Default.Language; //if language is not set, or the setting is auto then load the default language
MainApplication.Language = "auto"; //save into the shared preferences that the language was set to auto
}
App.instance.set_language(language); //update the data layer's language
Java.Util.Locale locale = new Java.Util.Locale(language);
Java.Util.Locale.Default = locale; //change the default locale
Configuration config = new Configuration();//create a new …Run Code Online (Sandbox Code Playgroud)