7

我正在使用 Codeigniter!翻译月份名称的最佳方法是什么。我在 mysql 时间戳中有一个日期,如下所示: 2012-09-22 11:21:53
我可以'September 22, 2012'使用 phpdate()函数将其转换为。我想重命名'September''Sentýabr'. 可以 set_locale() 函数可以做到这一点。顺便说一句Turkmen Language。谢谢你。


好的,我创建了一些 php 文件来单独检查它,如下所示:

酷.php

<?php setlocale(LC_ALL,'ru_RU');
echo strftime('%B',time());
?>

九月回归。可能是什么问题。


我有

  /* Set locale to Turkmen */
  setlocale(LC_ALL, 'tk');

  echo strftime( '%B',time());

结果:9 月返回

我需要它以我的语言返回九月

4

4 回答 4

13

您可以str_ireplace()按相同的顺序将 with 数组用于英文名称,以及等效于土库曼语名称。

像这样的东西:

$nmeng = array('january', 'february', ..);
$nmtur = array('ocak', 'subat', ...);
$dt = 'September 22, 2012';
$dt = str_ireplace($nmeng, $nmtur, $dt);
于 2012-09-26T05:42:48.743 回答
10

使用setlocale()strftime ...

在 linux 上运行$ locale -a以确定是否安装了所需的语言环境并获取其名称值字符串。

setlocale(LC_TIME, 'ru_RU');
echo strftime('%B %e, %Y', strtotime('2012-09-22 11:21:53'));

编辑:

如果您使用 Windows 服务器,则更%e改为%d%e在 Windows 中不起作用)。

echo strftime('%B %d, %Y', strtotime('2012-09-22 11:21:53'));

对于 Windows,请在此处查看支持的格式。

于 2012-09-26T05:35:09.603 回答
2

翻译月份名称以将它们放入语言文件并调用它的最佳方法,如阅读此处如何在 codeigniter语言库中使用语言文件,如果您有双语网站,您可以在项目中一遍又一遍地使用。

$this->lang->line('September');

your english language file 
$lang['january'] = 'january';
$lang['february'] = 'february';
...
$lang['September'] = 'September';

your turkish language file 

$lang['january'] = 'ocak';
$lang['february'] = 'subat';
...
$lang['September'] = 'Eylül';
于 2012-09-26T06:15:32.467 回答
0

将此添加到顶部附近的 index.php 文件中:

/* Set locale to Turkmen */
setlocale(LC_ALL, 'tk');

这方面的文档在这里: http: //php.net/manual/en/function.setlocale.php

此外,@xdazz 是正确的,您应该将它与strftime而不是 date() 函数结合使用。

您可能需要确认“tk”用于土库曼。

于 2012-09-26T05:43:48.857 回答