mr1*_*011 5 dns gettext poedit
我已经尝试了几个小时找到设置POEdit的方法,以便它只能从特定域中获取文本
我的gettext函数如下所示:
function ri($id, $parameters = array(), $domain = 'default', $locale = null)
Run Code Online (Sandbox Code Playgroud)
一个样本电话:
echo ri('Text %xyz%', array('%xyz%'=>100), 'myDomain');
Run Code Online (Sandbox Code Playgroud)
我将只需要使用域myDomain来翻译文本,或者至少我希望POEdit将这些文本放入特定于域的文件中.有办法吗?
我发现了几个相似的问题,但答案并没有真正告诉我该怎么做(我想我是一个小菜,必须用简单的英语解释我才能理解):
经过几天的搜索,我终于弄明白了,我终于找到了答案:
http://sourceforge.net/mailarchive/message.php?msg_id=27691818
xgettext识别字符串中的上下文,并在*.pot文件中给出一个msgctxt字段,该字段由翻译软件识别为上下文并显示为这样(检查Pootle的图像显示下面的上下文)
这可以通过3种方式完成:
- 代码中的字符串应采用_t('context','string')格式; 和xgettext调用的形式应该是--keyword = _t:1c,2(这基本上解释为xgettext关键字函数中有2个参数,第一个是上下文,第二个是字符串)
- 代码中的字符串格式为_t('string','context'); 和xgettext调用的格式应为--keyword = _t:1,2c
- 代码中的字符串应为_t('context | string'),xgettext调用应采用以下形式--keyword = _t:1g
所以为了回答我自己的问题,我将其添加到Poedit的"sources keywords"标签中:
ri:1,3c
Run Code Online (Sandbox Code Playgroud)
ri是函数名,1是stringid的位置,3是context/domain的位置
希望这有助于其他人,我讨厌所有这些神秘的文件
| 归档时间: |
|
| 查看次数: |
3049 次 |
| 最近记录: |