Current section
Files
Jump to
Current section
Files
lib/core/translator.ex
defmodule Gulib.Translator do
@settings Application.get_env(:gulib, Gulib.Gettext) || []
@default_locale Gulib.get(@settings, :default_locale, "en") # 默认的语言
def with_locale(locale, fun) do
old_locale = Gettext.get_locale(Gulib.Gettext)
Gettext.put_locale(Gulib.Gettext, locale)
result = fun.()
Gettext.put_locale(Gulib.Gettext, old_locale)
result
end
def dgettext domain, msgid, bindings \\ %{} do
Gettext.dgettext(Gulib.Gettext, domain, msgid, bindings)
end
@spec current_locale() :: String.t
def current_locale, do: Gettext.get_locale(Gulib.Gettext)
@spec default_locale() :: String.t
def default_locale, do: @default_locale
end