- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用 PHP + CodeIgniter 构建一个多语言应用程序。我决定使用 gettext 进行 UI 文本翻译,到目前为止,它已被证明高效且易于使用。
但现在我遇到了一些非常烦人的事情:gettext()
函数只接受一个参数,而我想要从 Zend Framework 的 gettext 适配器获得的类似 printf 的行为,我在那里可以使用 %1$s
、%2$s
等作为占位符,然后将替换字符串指定为 Zend View 的 translate()
的附加参数> 功能。
我不想放弃 gettext,因为 .po 文件和 poEdit 的翻译管理很简单(毕竟我可以通过单击来更新它)。我有哪些选择?
我已经尝试编写一个助手来与 gettext 交互:通过 gettext 运行第一个参数,然后在结果字符串上运行 strtr。您是否可以推荐任何其他/更好的方法?
最佳答案
其实很简单,你定义一个可变参数函数是这样的:
function myGettext($id)
{
return vsprintf(gettext($id), array_slice(func_get_args(), 1));
}
现在执行 myGettext('%u %s in a %s', 3, 'monkeys', 'tree')
将返回预期的字符串,占位符被剩余参数替换。显然,您还需要实现一个调用 ngettext()
的复数感知函数。
关于poEdit,你必须修改它搜索的关键字,我上次使用它已经有一段时间了但它很简单,我遇到的唯一问题是识别复数支持的关键字(see this)。
希望对您有所帮助!
关于php - Gettext 占位符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5445815/
我的 DateTime 对象使用 DateTime.Now 分配了本地时间。我想知道一旦夏令时开始/结束,这个对象是否会给出正确的当前本地时间。或者我需要解决方法吗? 最佳答案 是的,DateTime
假设我需要“特定类别中可用的项目数量”与“所有项目的数量”的比率。请考虑这样的 MySQL 表: /* mysql> select * from Item; +----+------------+--
我有这张 table http://codepen.io/MetCastle/pen/lxceL我想使用 jQuery 根据 input type="number" 隐藏/显示列。表示整个列: Pro
想要制作一个看起来像这样的网格,其中 div/section 以百分比表示。 margin 在任何地方都是一样的。 http://www.ladda-upp.se/bilder/giefekcmgwm
这将返回 1(又名 TRUE) SELECT DATE_SUB(NOW(), INTERVAL 24*100 HOUR) = DATE_SUB(NOW(), INTERVAL 100 DAY); 10
我一直在尝试在 UIScrollView 中获取 UIView 的转换后的 CGRect。如果我不放大它就可以正常工作,但是一旦我放大,新的 CGRect 就会发生变化。这是让我接近的代码: CGFl
对于家庭作业,我需要在不使用内置模 (%) 运算符的情况下返回 num1 除以 num2 后的余数。我能够通过以下代码让大多数测试通过,但我仍然坚持如何解释给定数字的 -/+ 符号。我需要保留 num
我用 Javascript 创建了一个倒数计时器;它是成功的,期望未完成。事实上,从数学上讲,它是正确的,但是谷歌浏览器的浏览器设置“暂停”(因为没有更好的术语)SetInterval/Timeout
我有两个 的,每个都设置为其容器宽度的 45%。有没有办法使 居中?使得它们在容器的左右两侧有相同的空间,并且它们之间也有空间。 一开始我只是做了每个 50% 并且有 padding: 0px 2
我是一名优秀的程序员,十分优秀!