Скрипт для формирования модуля локализации из alfresco-share (выполняется в консоли браузера). Работает с версии uiserv 1.14.0+ После выполнения можно зайти в системные журналы и скачать новый модуль, после чего залить его в репозиторий:
Скрипт:
var getMessages = async (locale) => { var resProm = await fetch('/share/service/messages.js?locale=' + locale); if (resProm.status !== 200) { resProm = await fetch('/share/noauth/messages.js?locale=' + locale); } res = await resProm.text(); var messagesRegexp = /global = (\{.+\})/; var messagesRes = res.match(messagesRegexp); return JSON.parse(messagesRes[1]); }; var locales = ["en", "ru"]; var module = {"moduleId": "alfresco-messages", locales, order: -1, messages: {} }; var messagesByLocale = {}; var keys = {}; for (let locale of locales) { messagesByLocale[locale] = await getMessages(locale); for (let key in messagesByLocale[locale]) { keys[key] = true; } } for (let key of Object.keys(keys)) { module.messages[key] = locales.map(l => { let message = messagesByLocale[l][key]; if (message == null) { for (let locale of locales) { message = messagesByLocale[locale][key]; if (message != null) { return message; } } message = ""; } return message; }); } var record = Citeck.Records.get('uiserv/i18n@'); for (let key in module) { record.att(key, module[key]); } record.save();