翻译月份名称的最佳方式[关闭](Best way to translate month names

2019-09-23 00:50发布

我使用笨! 会有什么翻译月份名称的最好方式。 我在MySQL时间戳的日期是这样的: 2012-09-22 11:21:53
我可以将其转换为'September 22, 2012'用PHP date()函数。 我想重命名'September''Sentýabr' 。 可以set_locale()函数可以做到这一点。 顺便说这是Turkmen Language 。 谢谢。


OK,我创造了一些PHP文件到indivudally检查它是这样的:

cool.php

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

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


我有

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

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

结果:返回九月

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

Answer 1:

您可以使用str_ireplace()与名称阵列是英文的,相当于在土库曼的名称,在相同的顺序。

事情是这样的:

$nmeng = array('january', 'february', ..);
$nmtur = array('ocak', 'subat', ...);
$dt = 'September 22, 2012';
$dt = str_ireplace($nmeng, $nmtur, $dt);


Answer 2:

使用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, 检查这里查看支持的格式。



Answer 3:

翻译月份名称把他们在语言文件并调用它最好的办法喜欢这里阅读如何用语言文件笨语言库在你的项目一遍又一遍,如果你有双语言的网站,你可以使用。

$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';


Answer 4:

这种添加到接近顶部的index.php文件:

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

该文件是在这里: http://php.net/manual/en/function.setlocale.php

此外,@xdazz是正确的,你应该结合它的strftime而不是date()函数。

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



文章来源: Best way to translate month names [closed]