标签: pluralize

QObject :: tr()的复数重载是否将%n转换为本地数字?

QObject::tr()我一直用于翻译包含数字的字符串的函数有两种形式:

tr("There are %n foo(s)", 0, foo.size());
tr("%1: %2").arg(QLocale().toString(bar.size())).arg(bar.name());
Run Code Online (Sandbox Code Playgroud)

除了您希望在同一个字符串中进行本地化多元化之外,这些会占用您希望字符串中的数字的大多数情况.当然你可以打破翻译,但是你必须猜测这个字符串是否会在所有语言的相同位置中断(我决定大部分时间没有资格做出决定).

QLocale文档指出...

当格式字符串中的位置说明符包含"L"时,QString :: arg()使用默认语言环境格式化数字,例如"%L1"

......所以第二种形式可以改写为......

tr("%L1: %2").arg(bar.size()).arg(bar.name());
Run Code Online (Sandbox Code Playgroud)

......这表明你可以将第一个表格重写为......

tr("There are %Ln foo(s)", 0, foo.size());
Run Code Online (Sandbox Code Playgroud)

这将编译并在Linguist中显示为多元化,但有人知道这是否也将本地化数字?我在任何文档中都找不到任何说法.

qt translation localization pluralize

3
推荐指数
1
解决办法
2294
查看次数

Django翻译一个单词的复数和奇异形式的奇怪行为

在我们的代码中,我们将单词"Photo"标记为单数翻译.在代码中的不同位置,我们在复数翻译"Photo"/"Photos"中有这个词,所以:

1 {% trans 'Photo' %}
2 {% trans 'Photos' %}
Run Code Online (Sandbox Code Playgroud)

{{ x }} {% blocktrans count counter=x %}Photo{% plural %}Photos{% endblocktrans %}
Run Code Online (Sandbox Code Playgroud)

可能的话,我们必须用我们的计数器变量x 的翻译字符串.但是,我在文档中找不到任何有关此类要求的内容.无论如何,使用我们的代码,我们在PO文件中获得的是:

msgid "Photos"
msgstr ""

msgid "Photo"
msgid_plural "Photos"
msgstr[0] ""
msgstr[1] ""
Run Code Online (Sandbox Code Playgroud)

"Photo"没有msgid,导致"Photo"根本没有被翻译,因为实际的翻译字符串不存在 - 除非在*n*gettext中使用,但不在{%trans'Photo'%}中使用.

我在这里做错了吗?这是一个Django错误吗?

django translation internationalization pluralize

3
推荐指数
1
解决办法
1272
查看次数

FOSRestBundle:如何避免POST /登录路由的自动多元化?

我有这个Action来处理用户登录也通过REST api调用:

/**
 * Login Action
 *
 * @param Request $request
 */
public function postLoginAction(Request $request)
{
Run Code Online (Sandbox Code Playgroud)

这是php app/console router:debug向我展示的:

en__RG__post_login                          POST     ANY    ANY  /api/1/logins.{_format}
Run Code Online (Sandbox Code Playgroud)

在这种情况下," 登录 " 的自动复数不是那么好......任何想法如何只获得" 登录 "?

php pluralize symfony fosrestbundle

3
推荐指数
1
解决办法
1775
查看次数

词干和淡化之间的区别

在理解字符串匹配时:词干去污之间的确切区别是什么

或者他们的意思是一样的吗?

nlp stemming pluralize

2
推荐指数
1
解决办法
1182
查看次数

symfony2 transchoice翻译

我正在翻译以下密钥 activity.fr.yml

user.list.link: '{1}et %count% autre|]1,Inf[voir les %count% autres'
Run Code Online (Sandbox Code Playgroud)

使用tranchoice

<a href="{{ moreLink }}" >{% transchoice count from "activity" %}user.list.link{% endtranschoice %}</a>
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

An exception has been thrown during the rendering of a template ("Unable to choose a translation.")

我认为翻译已被发现,否则我不会得到关于无法选择翻译但关键本身的错误.

同样yaml甚至其他tranchoice的所有其他键都很好地翻译.

我跟着文档,尝试添加with {'%count%': count}没有成功.

有人知道这里有什么问题吗?提前致谢

yaml translation pluralize symfony twig

2
推荐指数
1
解决办法
9822
查看次数

在rails视图中处理英语复数的最佳方法是什么?

我通常做这样的事情,但如果感觉讨厌而且不是很干燥:

-if minutes == 1
  added #{minutes} minute ago
-else
  added #{minutes} minutes ago
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails pluralize

2
推荐指数
1
解决办法
88
查看次数

Rails中的非标准复数

可能重复:
如何覆盖rails命名约定?

在Rails中生成新模型时,它会自动复数表名.但是,这并不总是很好 - 特别是对于具有非标准复数的单词.

我创建了一个名为的模型lens.由于rails认为这个词已经多元化,因此它没有在迁移文件中复数表名.没问题 - 我刚刚编辑了文件并在运行迁移之前已更改lenslenses.

不幸的是,我在尝试实例化Lens类时遇到了这个错误:

Could not find table 'lens'
Run Code Online (Sandbox Code Playgroud)

我假设这是因为Rails认为这个单词已经是多元化的,所以当试图在数据库中找到表时它不会尝试复数.

那我该怎么办?我是否应该违反惯例而只是让Rails调用表lens而不是lenses,或者有没有办法正确配置?

database-design model ruby-on-rails pluralize

2
推荐指数
1
解决办法
310
查看次数

Django {%blocktrans%}:如何处理for循环内的复数?

我的Django模板中有以下循环:

{% for item in state.list %}

    <div> HTML (CUSTOMERS BY STATE) </div>

    <!-- print sum of customers at bottom of list -->
    {% if forloop.last %}
        <h4>{{ forloop.counter }} Valued Customers</h4>
    {% endif %}

{% endfor %}
Run Code Online (Sandbox Code Playgroud)

显然,如果我最终只有一位客户,我想打印单数的“尊贵客户”

根据Django的文档,应该使用blocktrans。尝试了以下几种嵌套方式:

    {% blocktrans count %}
        {% if forloop.last %}
            <h4>
                {{ forloop.counter }}
                &nbsp;Valued Customer
                {% plural %}
                &nbsp;Valued Customers
            </h4>
        {% endif %}
    {% endblocktrans %} 
Run Code Online (Sandbox Code Playgroud)

继续获取TemplateSyntaxError:无效的块标记:'blocktrans',预期为'empty'或'endfor'

有没有办法与另一个循环结合?任何想法如何解决?谢谢!

python django templates pluralize

2
推荐指数
2
解决办法
1969
查看次数

如何从PHP中的字符串中删除多个单词?

我有一串单词,有一些像

"Cloud", "Clouds", "Application", "Applications", "Event", "Events"
Run Code Online (Sandbox Code Playgroud)

还有一些像

"Access"
Run Code Online (Sandbox Code Playgroud)

它们是单数但最后有的"s".我想删除复数单词,但我不能写一个代码从末尾删除s,因为它将"s"从所有单词中删除.我在互联网上搜索,找不到任何相关内容.任何人都可以帮助我做到这一点的最好方法吗?

编辑:如何在我的程序中使用CakePHP?我之前从未使用它,所以没有经验.我在函数中有String变量.它说我需要安装Cake PHP,谁能告诉我如何在函数中使用它?

谢谢

php regex cakephp preg-replace pluralize

2
推荐指数
1
解决办法
1729
查看次数

翻译模型属性rails

我的 Rails 应用程序遇到以下问题:我想翻译一些像这样的模型属性,以便它们在验证错误消息中正确显示。

de:
  activerecord:
    models:
      account:
        attributes:
          email:
            one: 'Email'
            other: 'Emails'
Run Code Online (Sandbox Code Playgroud)

现在在 Rails 控制台中我可以检查

I18n.t 'activerecord.models.account.attributes.email', count: 1
Run Code Online (Sandbox Code Playgroud)

它返回“电子邮件”,一切似乎都很好。

但是如果我转到浏览器并发布表单,则会收到错误

I18n::InvalidPluralizationData in AccountsController#create
translation data {:attributes=>{:email=>{:one=>"Email", :other=>"Emails"}}} can not be used with :count => 1
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?Rails 期望获得哪些翻译数据?

谢谢

translation ruby-on-rails internationalization pluralize

2
推荐指数
1
解决办法
9257
查看次数