【问题标题】:Flutter translate filter with parameter带参数的颤振翻译过滤器
【发布时间】:2020-12-29 17:57:21
【问题描述】:

我正在尝试翻译一个字符串,例如“filter [solved|date] clear”。如果我不想翻译参数(已解决|日期),一切正常。

MyLocalizations.of(context).clearFilter( filter.activeFilter)

但我也想翻译参数。因为不可能动态访问对象属性,所以以下不起作用:

MyLocalizations.of(context).clearFilter( MyLocalizations.of(context)[filter.activeFilter] )

我没有找到任何例子:-(但我希望有人能帮助我。

最好, 多米尼克

// 编辑: // 过滤器 [solved|date] 可以是“已解决”或“日期”

【问题讨论】:

    标签: flutter dart translation intl


    【解决方案1】:

    MyLocalizations 中,翻译应如下所示:

    String clearFilter(String value) => Intl.message("filter $value clear",
      args: [value],
      name: "clearFilter",
      desc: "clearFilter");
    
    String get activeFilter => Intl.message("[solved|date]",
      name: "activeFilter",
      desc: "activeFilter");
    

    那么你可以这样使用它:

    MyLocalizations.of(context).clearFilter(MyLocalizations.of(context).activeFilter)
    

    看一下intl包的README文件:https://github.com/dart-lang/intl#messages

    【讨论】:

      猜你喜欢
      • 2020-04-23
      • 1970-01-01
      • 2023-03-22
      • 2021-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-29
      • 1970-01-01
      相关资源
      最近更新 更多