我正在尝试本地化字符串。
在英语里,我会说“星期五,六月二十六日”
但在西班牙语里就像“Jueves,Jun25”。
第一个字母是小的。 但我正试着学第一个字母大写的英语。
贝娄是我的密码。
let longDateFormatter = DateFormatter()
longDateFormatter.dateFormat = "EEEE, MMM d"
longDateFormatter.locale = Locale(identifier: "es")
有没有什么方法可以得到日期的首字母大写。 谢谢你的帮助/
显然,西班牙语并不像英语那样将月份和星期的名称大写。 因此,您得到的格式对于西班牙语是正确的,您应该停止尝试更改它。 (本质上,这是一个X/Y问题。)
请参阅此链接:https://www.spanishdict.com/answers/181002/do-months-need-to-be-capitalized-in-西班牙文#:~:text=西班牙文%20does%20not%20capitalized%3a&text=%3f-,日历%3a%20names%20of%20the%20day%20of%20the,以及%20months%20of%20the%20year%20.&text=%3f-,国籍%3a%20尽管%20names%20of%20country%20和%20cities%20是%20%2c%20words%20%20是
如果您想要做与正确的西班牙语本地化不同的事情,您将需要从西班牙语本地化中获取输出并对其进行操作。 您可以简单地使用LongDateFormatter.String(from:date)。capitalized
,它将结果日期字符串中的每个单词大写。
let longDateFormatter = DateFormatter()
longDateFormatter.dateFormat = "EEEE, MMM d"
longDateFormatter.locale = Locale(identifier: "es")
let output = longDateFormatter.string(from: Date()).capitalized
print(output)
产量
本报维耶内斯六月二十六日电
但同样,这是用西班牙语显示日期的错误方式。 这和用英文显示“Friday,6月26号”一样错误。