【发布时间】:2011-02-12 03:06:55
【问题描述】:
我有一个项目大大超出预算,我正在努力寻找最快的解决方案。基本上,我有一个多语言网站,它以以下格式输出英文日期:
- 1 月 1 日
- 2011 年 1 月 1 日
显然每个月有 12 个选项,但我只需要翻译月份,而不是几天或一周中的几天。此外,由于我最初是从 PHP 中回显这些日期,因此生成的 HTML 是 100% 可预测的,只有 24 个可能的返回值 - 12 代表 1 月、2 月、3 月,12 代表 1 月、2 月、3 月……等等。
我已经听说过 PHP strotime() 和 setlocale()。我知道这可能有点笨拙,但是有没有办法只使用正在吐出的 PHP 字符串并在事后使用 jQuery 直接翻译它们。我要做的是将脚本包装在一个检查if (ICL_LANGUAGE_CODE == 'fr') {}
如果有一个非常简单的方法可以通过 PHP 做到这一点,我对此持开放态度,但到目前为止,我已经收到了来自社区的回复,但它们都太费时了,而且在很多情况下,我没有考虑其他变量为了简洁,这里就不解释了。
另外,为了清楚起见,我会说我正在使用 jQuery,并且它已经加载到网站上。
编辑
我不关心日期语法,例如,我可以这样做:if (English) { date('F j, Y');} else (FR) { date('j').' '.date('F').', '.date('Y') } 所以,我唯一的问题是翻译月份名称。此外,这是针对“即将发生的事件”,所以我不是试图回显当前日期/时间,而是带有 PHP 时间戳的未来日期/时间。
【问题讨论】:
-
我不明白问题是什么(它必须与您的最后一个问题有关,但我不明白如何)。您是在尝试输出日期,还是解析它们?格式是否总是相同(mmmm dd, yyyy)?
-
@Pekka - 例如,我可以这样做:
if (English) { date('F j, Y');} else (FR) { date('j').' '.date('F').', '.date('Y') }所以,我唯一的问题是翻译月份。此外,这是针对“即将发生的事件”,所以我不是试图回显当前日期/时间,而是带有 PHP 时间戳的未来日期/时间。 -
@Brian 啊,对不起,我看错了你的问题,删除了我的答案
-
用PHP翻译不是更好吗?我看不出为什么这样的事情应该要求用户启用 JavaScript,并且 JS 没有任何使翻译文本更容易的本机类。 PHP 实际上有更多的原生字符串和日期操作函数/类。只需将月份名称的不同本地化存储在文本文件中,然后进行简单的字符串替换。
-
@Lèse majesté 你说得对。当谈到 PHP 时,我一无所知,无论我多么努力,我都无法弄清楚如何做到这一点。老实说,我是 PHP 的初学者,我认为这个特殊的任务已经超出了我的想象......
标签: javascript jquery datetime