当Drupal 6以"x“格式显示时间(例如"3小时前”)时,有两个字符串--用于单数和复数。小时的单数字符串为"1小时“,复数字符串为”@计数小时“。我的问题是-这是错误吗?不应该在“@计数小时”吗?
今天,有件奇怪的事发生在我身上。我回到了我的网站,昨天这个时候我在那里发表了一条评论。然而,在最近的评论块中,我的评论标记为“15分钟前1小时”(用我的语言,而不是英语--这很重要!)
在检查时区、服务器时间和注释时间是否正确之后,我开始调试Drupal。最后,我找到了罪魁祸首,那就是格式化_间隔()方法。在方法的开头,有字符串定义。一小时是'1 hour|@count hours' - 1 hour表示单数,@count hours表示复数。
我发现我的评论是21小时前发布的,locale_get_plural()函数返回0-这被解释为单数。
这就是问题所在--用我的语言,我们读的是"21小时“,而不是"21 hourS"!但是,没有使用计数变量,因此对于以单数形式读取的每个数值(1、21、31、41、.、91、101、121、131、.)(注意:在我的语言中11不是单数),显示的值总是1!
我写的是几个小时,但是其他所有的值--年份、周、分钟和秒--都是一样的。通过实验,我将"1小时“改为"@count hour”(用我的语言而不是英语),显示的时间变得正确了。但是,这不是干净的解决方案,所以我的问题是:这是一个错误吗?如果没有,我应该如何正确地解决这个问题?
发布于 2015-07-24 13:31:58
在下载并安装drupal核心语言文件更新之前,您所做的更改应该有效。
Drupal本地化站点将允许您下载核心语言文件的最新版本,以查看该bug是否也存在最新版本的6、7和8。
https://localize.drupal.org/translate/languages/cs
也许你可以在本地化网站上注册并在捷克语论坛上发布一条信息。你也可以在本地化网站上找到更多关于贡献的信息。
https://drupal.stackexchange.com/questions/161635
复制相似问题