首页
学习
活动
专区
圈层
工具
发布

PHP翻译
EN

Stack Overflow用户
提问于 2013-11-22 09:33:09
回答 2查看 147关注 0票数 2

我正在为PHP中的表单创建一些翻译,我正在将所有日语翻译成英语,然后在一个单独的PHP文件中,我有所有基于特定国家的翻译。

以前我使用PHP Echo进行翻译,如下所示:

代码语言:javascript
复制
<?php echo __('Subject'); ?>

然后,在我的翻译文件中,我会写,例如:

代码语言:javascript
复制
'Subject' => 'ご用件',

我如何添加一个翻译到以下,我不认为我的尝试是正确的:

以前的代码:

代码语言:javascript
复制
$body = $applicant['username'].' さま
            <br/><br/>

我的尝试:

代码语言:javascript
复制
$body = $userData['username'].' __('Dear:username', array(':username' => $userData));さま
                    <br/><br/>
EN

回答 2

Stack Overflow用户

发布于 2013-11-22 09:42:18

占位符在那个地方看起来是最好的解决方案。

您可以很容易地使用"sprintf“来实现未命名的占位符,如下所示:

代码语言:javascript
复制
$t = ['Hello, %s!' => 'Hello in Japanese, %s!'];
$result = sprintf($t['Hello, %s!'], $username);

也可以使用"strtr“函数对命名占位符执行此操作:

代码语言:javascript
复制
$t = ['Hello, :username!' => 'Hello in Japanese, :username!'];
$result = strtr($t['Hello, %s!'], ['username' => $username]);

我非常喜欢。看这里:http://www.yiiframework.com/doc/guide/1.1/en/topics.i18n

票数 2
EN

Stack Overflow用户

发布于 2013-11-22 09:38:32

非常常见的是创建一个__函数,允许使用var接收数组,您可以在以下位置看到一个标准实现:

functions.php#L4

他用%作为vsprinf函数的特殊字符。

也许这将是重新发明轮子的有趣的一环。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20141393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档