@iobroker/create-adapter
Version:
Command line utility to create customized ioBroker adapters
120 lines (119 loc) • 3.56 kB
JavaScript
"use strict";
const questions_1 = require("../../src/lib/questions");
const tools_1 = require("../../src/lib/tools");
module.exports = (async (answers) => {
const isAdapter = answers.features.indexOf("adapter") > -1;
const isWidget = answers.features.indexOf("vis") > -1;
// Automatically translate all settings
const adapterSettings = answers.adapterSettings || questions_1.getDefaultAnswer("adapterSettings");
const languages = ["en", "de", "ru", "pt", "nl", "fr", "it", "es", "pl", "zh-cn"];
const translatedSettings = {};
for (const setting of adapterSettings) {
translatedSettings[setting.key] = {};
for (const lang of languages) {
translatedSettings[setting.key][lang] = await tools_1.translateText(setting.label || setting.key, lang);
}
}
const translatedSettingsJson = Object.keys(translatedSettings)
.map(key => {
return `"${key}": ${JSON.stringify(translatedSettings[key], null, 4)}`;
})
.join(",\n");
const template = `
/*global systemDictionary:true */
'use strict';
systemDictionary = ${tools_1.formatJsonString(`{
${isAdapter ? (`
"${answers.adapterName} adapter settings": {
"en": "Adapter settings for ${answers.adapterName}",
"de": "Adaptereinstellungen für ${answers.adapterName}",
"ru": "Настройки адаптера для ${answers.adapterName}",
"pt": "Configurações do adaptador para ${answers.adapterName}",
"nl": "Adapterinstellingen voor ${answers.adapterName}",
"fr": "Paramètres d'adaptateur pour ${answers.adapterName}",
"it": "Impostazioni dell'adattatore per ${answers.adapterName}",
"es": "Ajustes del adaptador para ${answers.adapterName}",
"pl": "Ustawienia adaptera dla ${answers.adapterName}",
"zh-cn": "${answers.adapterName}的适配器设置"
},
${translatedSettingsJson},
`) : ""}
${isWidget ? (`
"myColor": {
"en": "myColor",
"de": "meineColor",
"ru": "Мой цвет",
"pt": "minhaCor",
"nl": "mijnKleur",
"fr": "maCouleur",
"it": "mioColore",
"es": "miColor",
"pl": "mójKolor",
"zh-cn": "我的颜色"
},
"myColor_tooltip": {
"en": "Description of\\x0AmyColor",
"de": "Beschreibung von\\x0AmyColor",
"ru": "Описание\\x0AmyColor",
"pt": "Descrição de\\x0AmyColor",
"nl": "Beschrijving van\\x0AmyColor",
"fr": "Description de\\x0AmyColor",
"it": "Descrizione di\\x0AmyColor",
"es": "Descripción de\\x0AmyColor",
"pl": "Opis\\x0AmyColor",
"zh-cn": "\\x0AmyColor的描述"
},
"htmlText": {
"en": "htmlText",
"de": "htmlText",
"ru": "htmlText",
"pt": "htmlText",
"nl": "htmlText",
"fr": "htmlText",
"it": "htmlText",
"es": "htmlText",
"pl": "htmlText",
"zh-cn": "htmlText"
},
"group_extraMyset": {
"en": "extraMyset",
"de": "extraMyset",
"ru": "extraMyset",
"pt": "extraMyset",
"nl": "extraMyset",
"fr": "extraMyset",
"it": "extraMyset",
"es": "extraMyset",
"pl": "extraMyset",
"zh-cn": "extraMyset"
},
"extraAttr": {
"en": "extraAttr",
"de": "extraAttr",
"ru": "extraAttr",
"pt": "extraAttr",
"nl": "extraAttr",
"fr": "extraAttr",
"it": "extraAttr",
"es": "extraAttr",
"pl": "extraAttr",
"zh-cn": "extraAttr"
},
"Instance": {
"en": "Instance",
"de": "Instanz",
"ru": "Инстанция",
"pt": "Instância",
"nl": "Instantie",
"fr": "Instance",
"it": "Esempio",
"es": "Instancia",
"pl": "Instancja",
"zh-cn": "例"
}
`) : ""}
}`, answers.indentation || "Tab")};
`;
return template.trim();
});
//# sourceMappingURL=words.js.js.map