merge-i18n.escript 784 B

123456789101112131415161718192021222324252627
  1. #!/usr/bin/env escript
  2. -mode(compile).
  3. main(_) ->
  4. BaseConf = <<"">>,
  5. Cfgs0 = get_all_files(),
  6. Conf = merge(BaseConf, Cfgs0),
  7. OutputFile = "apps/emqx_dashboard/priv/i18n.conf",
  8. ok = filelib:ensure_dir(OutputFile),
  9. ok = file:write_file(OutputFile, Conf).
  10. merge(BaseConf, Cfgs) ->
  11. lists:foldl(
  12. fun(CfgFile, Acc) ->
  13. case filelib:is_regular(CfgFile) of
  14. true ->
  15. {ok, Bin1} = file:read_file(CfgFile),
  16. [Acc, io_lib:nl(), Bin1];
  17. false -> Acc
  18. end
  19. end, BaseConf, Cfgs).
  20. get_all_files() ->
  21. Dir = filename:join(["rel","i18n"]),
  22. Files = filelib:wildcard("*.hocon", Dir),
  23. lists:map(fun(Name) -> filename:join([Dir, Name]) end, Files).