Pass in msgctxt for config translation strings
This commit is contained in:
parent
074a94e90d
commit
1d7e8d6e01
4 changed files with 5799 additions and 4242 deletions
|
|
@ -22,35 +22,51 @@ defmodule Pleroma.Web.AdminAPI.ConfigController do
|
|||
|
||||
defdelegate open_api_operation(action), to: Pleroma.Web.ApiSpec.Admin.ConfigOperation
|
||||
|
||||
defp translate_descriptions(descriptions) do
|
||||
Enum.map(descriptions, &translate_item/1)
|
||||
defp translate_descriptions(descriptions, path \\ []) do
|
||||
Enum.map(descriptions, fn desc -> translate_item(desc, path) end)
|
||||
end
|
||||
|
||||
defp translate_string(str) do
|
||||
Gettext.dgettext(Pleroma.Web.Gettext, "config_descriptions", str)
|
||||
defp translate_string(str, path, type) do
|
||||
Gettext.dpgettext(
|
||||
Pleroma.Web.Gettext,
|
||||
"config_descriptions",
|
||||
Pleroma.Docs.Translator.Compiler.msgctxt_for(path, type),
|
||||
str
|
||||
)
|
||||
end
|
||||
|
||||
defp maybe_put_translated(item, key) do
|
||||
defp maybe_put_translated(item, key, path) do
|
||||
if item[key] do
|
||||
Map.put(item, key, translate_string(item[key]))
|
||||
Map.put(
|
||||
item,
|
||||
key,
|
||||
translate_string(
|
||||
item[key],
|
||||
path ++ [Pleroma.Docs.Translator.Compiler.key_for(item)],
|
||||
to_string(key)
|
||||
)
|
||||
)
|
||||
else
|
||||
item
|
||||
end
|
||||
end
|
||||
|
||||
defp translate_item(item) do
|
||||
defp translate_item(item, path) do
|
||||
item
|
||||
|> maybe_put_translated(:label)
|
||||
|> maybe_put_translated(:description)
|
||||
|> translate_children()
|
||||
|> maybe_put_translated(:label, path)
|
||||
|> maybe_put_translated(:description, path)
|
||||
|> translate_children(path)
|
||||
end
|
||||
|
||||
defp translate_children(%{children: children} = item) when is_list(children) do
|
||||
defp translate_children(%{children: children} = item, path) when is_list(children) do
|
||||
item
|
||||
|> Map.put(:children, translate_descriptions(children))
|
||||
|> Map.put(
|
||||
:children,
|
||||
translate_descriptions(children, path ++ [Pleroma.Docs.Translator.Compiler.key_for(item)])
|
||||
)
|
||||
end
|
||||
|
||||
defp translate_children(item) do
|
||||
defp translate_children(item, _path) do
|
||||
item
|
||||
end
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue