首页 > 解决方案 > 灵丹妙药| gettext 不翻译某些字符串

问题描述

我对网站的本地化有疑问。未翻译的模块示例如下所示:

defmodule JpWeb.SpecialistDefinitions do
  import JpWeb.Gettext

  @specialists_search_definition %{
    schema: Jp.Profiles.Specialist,
    filters: [

      %{
        field: :is_verified,
        operation: "==",
        options: [{"Yes", true}, {"No", false}],
        label: gettext("Is verified")
      },

      %{
        field: :photo,
        operation: "is_present",
        label: gettext("With photo")
      },
    ]
  }
end

模板文件中的字符串按预期本地化。

标签: elixirphoenix-frameworkgettext

解决方案


使用@ 语法,我们定义了一个模块属性。这些是在编译时设置的。这意味着您的 gettext 函数仅在编译代码时被评估一次。

所以我改变@specialists_search_definition

def specialists_search_definition, do:

一切正常。


推荐阅读