Packages
fermo
0.5.0
0.20.1
0.20.0
0.19.2
0.19.1
0.19.0
0.18.1
0.18.0
0.17.1
0.17.0
0.16.7
0.16.6
0.16.5
0.16.4
0.16.3
0.16.2
0.16.1
0.16.0
0.15.0
0.14.9
0.14.8
0.14.7
0.14.6
0.14.5
0.14.4
0.14.3
0.14.2
0.14.1
0.14.0
0.13.9
0.13.8
0.13.7
0.13.6
0.13.5
0.13.4
0.13.2
0.13.1
0.13.0
0.12.1
0.12.0
0.11.1
0.11.0
0.10.0
0.9.1
0.9.0
0.8.4
0.8.3
0.8.2
0.8.1
0.8.0
0.7.1
0.7.0
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
0.5.1
0.5.0
0.4.0
0.3.0
0.2.4
0.2.2
0.2.1
0.2.0
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
A static site generator
Current section
Files
Jump to
Current section
Files
lib/fermo/helpers/i18n.ex
defmodule Fermo.Helpers.I18n do
@doc false
defmacro __using__(_opts) do
quote do
require Fermo.Helpers.I18n
def t(key, parameters \\ %{}, locale) do
I18n.translate!(key, parameters, locale)
end
end
end
def load! do
files = Path.wildcard("priv/locales/**/*.yml")
translations = Enum.reduce(files, %{}, fn (file, translations) ->
content = YamlElixir.read_from_file(file)
{:ok, atom_keys} = Morphix.atomorphiform(content)
DeepMerge.deep_merge(translations, atom_keys)
end)
{:ok} = I18n.put(translations)
end
end