检测应用程序语言而不是电话语言

我有多语言应用程序,如果应用程序翻译不支持手机上所选的语言,我想用英语显示日期。


有什么方法可以获取应用程序使用的语言(默认英语)而不是手机中选择的语言?


看起来这只返回电话语言:


Locale.getDefault()

getContext().getResources().getConfiguration().locale

截屏:

http://img2.mukewang.com/6386ea0f0001290a06521241.jpg

RISEBY
浏览 96回答 3
3回答

慕尼黑8549860

尝试这个:我已经制作了一个扩展功能,可以使用应用程序的默认语言环境或仅使用英语来格式化日期。注意:此函数将始终以英语返回格式化日期,无论您的设备语言是什么或您的应用程序语言是什么。如果您想根据您的应用程序语言进行约会,只需将您应用程序选择的语言区域设置传递给此方法即可。在展示之前DatePickerDialog设置Locale成en这样。Locale.setDefault(Locale("en"))startDatePickerDialog.show()然后使用此方法格式化日期。 fun Context.getFormattedDate(    inputFormat: String = "dd/MM/yyyy",    outputFormat: String,    inputDate: String,    locale: Locale = Locale("en")): String {    val inputFormat = inputFormat    var outputFormat = outputFormat    var parsed: Date? = null    var outputDate = ""    val dfInput = SimpleDateFormat(inputFormat, locale)    val dfOutput = SimpleDateFormat(outputFormat, locale)    try {        parsed = dfInput.parse(inputDate)        outputDate = dfOutput.format(parsed)    } catch (e: Exception) {        Log.e("formattedDateFromString", "Exception in formate Date From string(): " + e.message)        e.printStackTrace()    }    return outputDate}如何使用此功能 Log.e("Formated date", getFormattedDate(                    inputFormat = "dd/MM/yyyy",                    outputFormat = "dd-MMM-yyyy",                    inputDate = "17/05/2019"                )            )

富国沪深

由于没有有用的答案,我将针对此问题发布我的解决方案。所以我决定为每种支持的语言创建 xml 文件,其中包含语言环境代码:<?xml version="1.0" encoding="utf-8"?><resources>&nbsp; &nbsp; <string name="language_locale">en</string></resources>用法示例:fun Date.formatWithShortMonthAndDay(context: Context, date: Date): String {&nbsp; &nbsp; val locale = context.resources.getString(R.string.language_locale)&nbsp; &nbsp; return SimpleDateFormat(DATE_WITH_SHORT_MONTH_AND_DAY_PATTERN, Locale(locale)).format(date)}

有只小跳蛙

获取系统语言Resources.getSystem().getConfiguration().locale.getLanguage();获取应用程序语言String&nbsp;appLang&nbsp;=&nbsp;Locale.getDefault().getLanguage();
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java