gettext,如何处理同音异义词?

2024-03-13

使用 gettext

单值

echo gettext( "Hello, world!\n" );

Plurals

printf(ngettext("%d comment", "%d comments", $n), $n);

英文同音字?

echo gettext("Letter");// as in mail, for Russian outputs "письмо"
echo gettext("Letter");// as in character, for Russian outputs "буква" 

和英文单词“character”一样,可以是一个人的性格,也可以是一个字母! gettext 如何识别同音异义词的正确翻译?


您正在寻找的是上下文gettext这解决了像你的例子这样的歧义。您可以在以下位置找到相关信息文档 http://www.gnu.org/software/gettext/manual/html_node/Contexts.html。还是需要的方法pgettext未在 PHP 中实现,因此您可以使用用户评论 http://www.php.net/manual/de/book.gettext.php#89975在 php 文档中。

if (!function_exists('pgettext')) {

  function pgettext($context, $msgid)
  {
     $contextString = "{$context}\004{$msgid}";
     $translation = dcgettext('messages', contextString,LC_MESSAGES);
     if ($translation == $contextString)  return $msgid;
     else  return $translation;
  }

}

在你的情况下它将是

echo pgettext('mail', 'Letter');
echo pgettext('character', 'Letter');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

gettext,如何处理同音异义词? 的相关文章

随机推荐

  • Api-Platform:在 SF 4 中使用 Yaml 配置代替注释

    我想在 Api Platform 中使用 YAML 而不是注释 我没有使用 Api Platform 发行版 而是将 api pack 添加到了现有的 Symfony Flex 项目中 composer req api 文档说 YAML 文
  • “在我的机器上运行” - 如何修复不可重现的错误?

    偶尔 尽管进行了所有测试 我还是收到了客户的错误报告 而我根本无法在办公室重现该错误报告 Apologies to Jeff http www codinghorror com blog archives 000818 html for t
  • PHP 中如何处理并发请求(使用线程、线程池或子进程)

    据我所知 PHP 支持处理多个并发连接 并且根据服务器的不同 可以按照本中提到的方式进行配置answer https stackoverflow com a 1430890 2159867 服务器如何管理多个连接 是为每个请求分叉一个子进程
  • 从 jquery ajax GET 将多个参数传递给 .asmx

    html a fill in names and check it out a br p Enter First Name p
  • JPA 日期文字

    如何在不使用 类型化 参数的情况下表示 JPA 查询中的日期 如果日期确实是固定的 例如 1980 年 3 月 1 日 则代码 TypedQuery
  • 带编译时检查的 l18n 框架

    我目前正在开发一个更大的 Java 桌面应用程序 现在我想添加翻译 l18n 系统让我困扰的是 它不提供任何类型的编译时检查 在java的系统中 你有类似的东西HashMap 其中每个本地化字符串都有一个 Key 翻译后的字符串就是 Val
  • 快速调整每个故事板问题的大小

    我想知道是否有人可以告诉我如何编写此代码 以便它自动调整大小以适应不同的屏幕尺寸 我有 4 个屏幕尺寸不同的故事板 只是想要一种显示代码的方法 如果这个故事板那么 数字改变 遵循这个代码 否则 数字根据故事板大小而变化 这个代码 我已经尝试
  • Git 克隆错误“CONNECT 后来自代理的 HTTP 代码 504”

    我在公司防火墙后面的办公室工作 我的系统是Windows 7 使用consola组件 通常我需要设置代理连接才能让 GIT 与 github 一起工作 但是当我尝试克隆存储在私有 Stash Atlassian 中的存储库时 我收到此错误
  • 甲骨文移动平均线

    我有一个表 日期 有效负载 其中包含大约 10 年的数据 我想计算移动平均值 MA 以基于 14 天 2 周 和 90 天 12 周 间隔显示有效负载的趋势 我已经编写了这个查询 但它给了我错误的值 SELECT x ABS LTMA ST
  • 解析 phantomjs 中的 post 数据

    I am working with the POSTMAN extension to chrome and am trying to send a post request to phantomjs I have managed to se
  • Visual Studio 2008 中 BizTalk 架构项目的引用问题

    在大型 VS 2008 解决方案中 我们有不同的架构项目和映射项目 映射项目引用了适当的模式项目 总体来说效果很好 但是 最近我添加了一个新的架构项目 它始终如一地给出了同样的问题 当我向其中添加新架构 并且想要在已引用该架构项目的映射项目
  • 在Puppeteer中进行网页抓取时如何处理验证码?

    我正在使用 Puppeteer 进行网页抓取 我刚刚注意到 有时 由于我通过计算机进行的访问量很大 我尝试抓取的网站会要求输入验证码 验证码形式如下所示 因此 我需要有关如何处理此问题的帮助 自从我使用 Express 和 EJS 将值发送
  • 使用 iframe 时,Angular 2 应用程序组件 ngOnInit 被调用两次

    我正在开发一个 Angular 2 应用程序 该应用程序将通过其他网站上的 iframe 进行交付 在测试时我注意到当我加载应用程序时应用程序组件ngOnInit 函数被调用两次 我觉得这很奇怪 因为当我 自己 测试应用程序时 即不是通过
  • 如何使用 javascript 提取并更改 url 路径?

    我正在尝试提取部分 url 并使用 javascript 将其替换为自定义文本 例如 我想获取当前的 url 例如 mydomain com url part to change some other stuff 然后更改要插入的 url
  • 如何将对象文字作为聚合物属性传递

    为了单独测试我的一些聚合物自定义元素 我希望能够传入 js 对象文字来获取通常来自父元素的一些属性 我很难弄清楚如何做到这一点 请参阅此示例代码 如果它按照我希望的方式工作 它会显示一个 1 和一个 2 彼此相邻 但它不起作用
  • 如何在可内容编辑的 DIV 中查找光标位置?

    我正在为内容可编辑 DIV 编写一个自动完成器 需要在文本框中呈现 html 内容 因此更喜欢使用 contenteditable DIV 而不是 TEXTAREA 现在我需要在 DIV 中有 keyup keydown click 事件时
  • 对于自定义表单组件,是否可以使用 DefaultValueAccessor 而不是 ControlValueAccessor?

    我需要能够使用formControlName我的自定义组件的指令 我一直在阅读有关实施的多个SO问题ControlValueAccessor对于一个子组件来说 这一切看起来都非常脆弱 很多例子都在转变 div or span 元素转换为表单
  • ReactforwardRef 似乎不适用于 bootstrap Overlay

    根据React Bootstrap 覆盖文档 https react bootstrap github io components overlays 覆盖的目标应该是the element the overlay is positioned
  • Firefox 中未定义 Intl

    我有以下java脚本代码 它在chrome中运行良好 但在firefox和IE中运行失败 FF 的错误消息是 ReferenceError Intl is not Define IE 的错误消息是 SCRIPT5009 Intl 未定义 我
  • gettext,如何处理同音异义词?

    使用 gettext 单值 echo gettext Hello world n Plurals printf ngettext d comment d comments n n 英文同音字 echo gettext Letter as i