Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用用户语言获取所有周-天标签_Java_Android_Date - Fatal编程技术网

Java 使用用户语言获取所有周-天标签

Java 使用用户语言获取所有周-天标签,java,android,date,Java,Android,Date,我想做一些比以下更聪明的事情: String[] strDaysEn = new String[] { "Sunday", "Monday", "Tuesday", "Wednesday", "Thusday", "Friday", "Saturday" }; String[] strDaysFr = new String[] { "Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi" }; 或 这会更好,

我想做一些比以下更聪明的事情:

String[] strDaysEn = new String[] { "Sunday", "Monday", "Tuesday", "Wednesday", "Thusday", "Friday", "Saturday" };
String[] strDaysFr = new String[] { "Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi" };

这会更好,因为java.Date会自动给我所有的翻译!当然,我不想重新发明轮子

但这种循环似乎是在浪费时间和处理器,我相信,有更好的方法来实现这一点


非常感谢你的建议

Android为多种语言提供了一个很好的解决方法。 看一看,看一看。 这允许您将依赖于语言的文件指定到不同的XML资源中。Android将根据用户的设备区域设置自动选择正确的设备

您可以将这些天写入主/回退语言的内部
res/values/strings.xml
。要提供翻译,只需创建替代资源。例如,对于法语,创建文件夹
values fr
,并将法语
strings.xml
保存到
res/values fr/strings.xml

以下是资源文件中的示例数组:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="week_days">
        <item>Monday</item>
        <item>Tuesday</item>
        <!-- and so on -->
    </string-array>
</resources>
week\u days
是本例中的字符串数组名)

只需获取所需语言的名称,而无需在两者之间使用任何格式化程序。你不应该让你的应用程序的翻译人员完成框架中已经完成的工作

String[] days = new DateFormatSymbols(Locale.getDefault()).getWeekdays();

非常感谢您的帮助,我编辑了我的问题:当然,我知道:res/values fr/strings.xml。但我想做的是从java和Date中获益,这样我就不必自己编写所有字符串。这不是我懒惰,而是我不想重新发明轮子!好吧,我帮不了你。您必须提供所有其他字符串,对吗?否则你会在你的应用程序中使用混合语言,这看起来通常不是很好(我现在在我的linux mint box上,有一个英语/德语混合菜单-不漂亮)。嗯,是的,你是对的。。。我很好奇,我想看看我的问题的答案,我唯一能感谢你的方式就是投票支持你的答案。上述方法将返回以下内容:[周日、周一、周二、周三、周四、周五、周六]。也就是说,天数是8。为什么会这样?因为
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="week_days">
        <item>Monday</item>
        <item>Tuesday</item>
        <!-- and so on -->
    </string-array>
</resources>
String[] days = getResources().getStringArray(R.array.week_days);
String[] days = new DateFormatSymbols(Locale.getDefault()).getWeekdays();