在大写/混合大小写变体中使用多个本地化字符串而不是单个字符串来执行,并在PHP中使用strtoupper()?

模糊松鼠

背景信息:

我在运行PHP 5.3的LAMP堆栈上使用Zend Framework 2(ZF2),并且内置的转换功能开箱即用,并且完全按照我的预期工作。

对于那些不熟悉的人,这里是一个示例:

<?php echo $this->translate("Company")?>

据我对它如何工作的理解,它是一个视图帮助器,可用于转换任何视图.phtml文件上的字符串。它从语言文件(使用PoEdit创建的.PO文件)中获取适当的本地化字符串(在本例中为“ Company” )。

我大约有250个本地化的字符串,为了减少翻译的可维护性,我希望减少重复的字符串,但是如果性能受到影响,我将选择性能以降低ZF2的速度。无论在什么地方显示UI文本,我都会在视图中使用这些转换功能,如果有更有效的处理方法,我也不想滥用帮助程序。

核心问题

以下哪项将产生更好的性能?strtoupper是否比对翻译助手的额外调用要昂贵?

<?php echo $this->translate('Company')?> //# Mixed Case Uses String #1

<?php echo $this->translate('COMPANY')?> //# UPPERCASE Uses String #2

<?php echo strtoupper( $this->translate('Company') ) ?> //# String #1

注意:由于PoEdit将COMPANY和Company存储为两个单独的字符串,因此前两个将需要对翻译助手的两个不同调用,以及两个不同的字符串要翻译。

结论说明

虽然我熟悉ZF2和PHP,但作为一名“自学成才”的程序员,我还是很坚强。右脚。

模糊松鼠

正如Tim所建议的那样,不要使用CSS来复杂化服务器端的内容,而可以使用CSS来转换客户端的文本。

的CSS

.uppercase{ text-transform:uppercase; }

的HTML

<span class="uppercase"><?php echo $this->translate('Company')?></span>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

Related 相关文章

热门标签

归档