我可以从 Android 系统更改月份和日期文本吗?
can I change the text of month and day text from Android system?
所以目前我正在使用 this library 调用 SingleDateAndTimePicker 来设置小部件来选择日期和时间。像这样
如您所见,选择器是英文的。该选择器将遵循 Android phone 中的设置。如果用户将语言设置为印度尼西亚语,那么日期和月份也将以印度尼西亚语显示。
问题是我的应用程序只支持一种语言。用户可能从他们的 phone 设置中将语言设置为英语或印度尼西亚语。所以我想强制用户如果他们的语言是英语,那么我仍然只会显示印度尼西亚语日期时间选择器。
我知道要本地化字符串是通过 string.xml 在这样的资源中
<string name="Location">Lokasi</string>
但我需要知道日期和月份字符串的 name
,所以我可以将英语强制为印度尼西亚语。我可以这样做吗?
您可以使用日历对象获取日期和月份字符串的名称,并且您可以传递区域设置,因此它将 return 以该语言显示。
这是一个例子:
Calendar cal = Calendar.getInstance();
String displayName = cal.getDisplayName(Calendar.MONTH, Calendar.LONG, Locale.ENGLISH);
在上面的例子中,我使用了Locale.ENGLISH
你可以传递你自己的语言,它会return使用相同的语言。
根据库文档,您可以使用 customLocale(...)
更改本地化,如下所示。
new SingleDateAndTimePickerDialog.Builder(this)
.customLocale(Locale.GERMAN) // here you can customize locale
.bottomSheet()
.curved()
.minutesStep(15)
// .............
所以目前我正在使用 this library 调用 SingleDateAndTimePicker 来设置小部件来选择日期和时间。像这样
如您所见,选择器是英文的。该选择器将遵循 Android phone 中的设置。如果用户将语言设置为印度尼西亚语,那么日期和月份也将以印度尼西亚语显示。
问题是我的应用程序只支持一种语言。用户可能从他们的 phone 设置中将语言设置为英语或印度尼西亚语。所以我想强制用户如果他们的语言是英语,那么我仍然只会显示印度尼西亚语日期时间选择器。
我知道要本地化字符串是通过 string.xml 在这样的资源中
<string name="Location">Lokasi</string>
但我需要知道日期和月份字符串的 name
,所以我可以将英语强制为印度尼西亚语。我可以这样做吗?
您可以使用日历对象获取日期和月份字符串的名称,并且您可以传递区域设置,因此它将 return 以该语言显示。
这是一个例子:
Calendar cal = Calendar.getInstance();
String displayName = cal.getDisplayName(Calendar.MONTH, Calendar.LONG, Locale.ENGLISH);
在上面的例子中,我使用了Locale.ENGLISH
你可以传递你自己的语言,它会return使用相同的语言。
根据库文档,您可以使用 customLocale(...)
更改本地化,如下所示。
new SingleDateAndTimePickerDialog.Builder(this)
.customLocale(Locale.GERMAN) // here you can customize locale
.bottomSheet()
.curved()
.minutesStep(15)
// .............