有没有办法在HTML5中本地化inputtypes=“date”
我知道在写这篇文章的时候,Opera只支持一个浏览器UI
<input type="date" name="mydate">
也许我本地化这个领域的尝试已经遇到了挫折,因为像本地化这样的细节还没有被包含在它们的实现中,但是我甚至都没有在HTML5规范中提到它。 有没有一种方法应该指定本地化? 我应该在父元素上执行lang =“fr”吗?
有关该网站实施情况的一些说明:
- 本地化(语言)是由用户明确select的,因为它们是以多种语言pipe理数据的,并且期望用户的浏览器浏览器镶边处于被查看的语言或者浏览器正在提供期望的语言请求标头是不合理的。
- 我想确定,如果页面以法语呈现,则浏览器chrome提供的dateselect器将显示对法语有意义的选项。
- 该计划是回落到不支持type =“date”的浏览器的jQueryUI,我将使用Dive into HTML 5中提供的检测机制
从我所知道的,我们在Opera中所做的背后的思考(完全公开:我为他们工作)是dateselect器几乎是Chrome浏览器本地控件的扩展。 因此,它将根据浏览器的语言来进行本地化,而不是被浏览的页面的语言。
我同意lambacck。 目前我正在编写Javascript代码,使新的表单function跨浏览器,使用jQuery的用户界面。
我在卢森堡工作,这是一个很好的地方来更详细地说明本地化问题。
我们写的大多数网站都是多语言的| fr | en。 从我们的统计数据可以看出,人们使用网站上的语言切换来显示他们的首选语言,但是这种select很less与首选的浏览器语言环境相匹配。
如果日历的语言环境等字段由操作系统完成,这将我们带回到不幸的<input type = file>情况,其中标签读取上传文件 ,button说Parcourir 。 你对这种语言组合无能为力,我总觉得这是一个很大的烦恼。
结论,我必须用jQuery覆盖默认的日历,以确保它做我想要的。
在我看来,一个可configuration的API或者至less一种在HTML级别上操作语言环境的方法将会很棒。 由于新的字段types尚未被其他浏览器制造商广泛采用,我想这个问题仍然可以考虑。
感谢您阅读此。
对于移动设备,我们发现的最佳解决scheme是使用文本input进行dateinput,并在其旁边有一个日历图标,在图标上有不可见的dateinput。
优点:
- 适用于所有浏览器和设备
- 可以在iOS上使用下一个button进入date(如果有多个字段)
- 用户可以inputdate(非常有用)
- 避免iOS UI的错误(1.编辑现有数据的空白date,下一个date,date值设置为今天 – arrrgh,2.键盘显示,下一个date,popup显示和键盘消失 – ouch)
- 使用date库来显示dateinput作为您的用户的帐户(而不是浏览器)本地化设置,并可以使用智能date库(键入“明天”等)。
- 点击日历图标查看浏览器本地化date
- 即使
input type=date
不支持设备/浏览器(例如一些Android设备不支持date或有严重的错误),优雅的后备。 - 对于桌面(通过无触摸支持检测)我们显示我们自己的自定义date下拉列表。
HTML是这样的:
<input type=text> <span style=position:relative> <input type=date class=date-input tabIndex=-1> <div class=date-input-icon>▼</div> </span>
CSS:
.date-input { position: relative; z-index: 1; webkit-appearance: none; display: inline-block; opacity: 0; width: 1em; } .date-input-icon { position: absolute; right: 0; width: 1em; }