gpt4 book ai didi

angularjs - 使用angular-translate进行多元化的AngularJS翻译

转载 作者:行者123 更新时间:2023-12-04 16:52:06 25 4
gpt4 key购买 nike

您好,我需要根据值进行复数形式的翻译,但找不到如何执行此操作。

例如我有变量peopleCount

  • peopleCount = 1翻译应为:英语:{{ peopleCount }} person likes this立陶宛语:{{ peopleCount }} zmogus tai megsta
  • 如果 peopleCount大于1,则
  • 的英语翻译为:{{ peopleCount }} people like this

  • 但对于立陶宛语翻译:
  • (如果peopleCount在2到9之间)或以这些数字结尾的任何数字,但以第4条规则提供的数字结尾的数字除外(例如:225、249、210 <-这些是正确的数字,而错误的数字是215、250。 ..)。这将是{{ peopleCount }} zmones tai megsta
  • 如果count在10到20或30、40或其他任何以0结尾的数字(例如150或90)之间,则为{{ peopleCount }} zmoniu tai megsta

  • 我该怎么做?

    最佳答案

    Angular-translate具有MessageFormat功能,该功能确实非常强大,并且具有内置的立陶宛语语言环境。 Article about MessageFormat and angular-translate.

    安装

    您可以通过bower安装此软件包:

    $ bower install angular-translate-interpolation-messageformat

    之后,按顺序包括带有MessageFormat和angular-translate-interpolation-messageformat的必要脚本:
    <script src="path/to/messageformat.js"></script>
    <script src="path/to/angular-translate-interpolation-messageformat.js"></script>

    最后,在您的配置函数中,从$ translateProvider调用useMessageFormatInterpolation函数:
    $translateProvider.useMessageFormatInterpolation();

    用法

    angular-translate-interpolation-messageformat安装到您的应用中之后,您就可以使用它了。

    例如,您可以为代码“PEOPLE”创建英语本地化,如下所示:
    {
    "PEOPLE" : "{peopleCount, plural, one {There is one man (in lithuanian)} few {# zmones tai megsta} other {# zmoniu tai megsta}}"
    }

    而不是像这样在您的html中使用它:
    <span translate="PEOPLE" translate-values="{peopleCount: 12}" translate-interpolation="messageformat"></span>

    输出将是:“12 zmones tai megsta”。

    关于angularjs - 使用angular-translate进行多元化的AngularJS翻译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30846763/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com