@iobroker/adapter-react-v5 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Components/404.js +155 -0
- package/Components/404.js.map +1 -0
- package/Components/ColorPicker.js +313 -0
- package/Components/ColorPicker.js.map +1 -0
- package/Components/ComplexCron.js +606 -0
- package/Components/ComplexCron.js.map +1 -0
- package/Components/FileBrowser.js +2147 -0
- package/Components/FileBrowser.js.map +1 -0
- package/Components/FileViewer.js +245 -0
- package/Components/FileViewer.js.map +1 -0
- package/Components/Icon.js +234 -0
- package/Components/Icon.js.map +1 -0
- package/Components/IconPicker.js +188 -0
- package/Components/IconPicker.js.map +1 -0
- package/Components/IconSelector.js +337 -0
- package/Components/IconSelector.js.map +1 -0
- package/Components/Image.js +215 -0
- package/Components/Image.js.map +1 -0
- package/Components/Loader.js +134 -0
- package/Components/Loader.js.map +1 -0
- package/Components/Loaders/PT.css +109 -0
- package/Components/Loaders/PT.js +104 -0
- package/Components/Loaders/PT.js.map +1 -0
- package/Components/Loaders/Vendor.css +13 -0
- package/Components/Loaders/Vendor.js +108 -0
- package/Components/Loaders/Vendor.js.map +1 -0
- package/Components/Logo.js +230 -0
- package/Components/Logo.js.map +1 -0
- package/Components/MDUtils.js +141 -0
- package/Components/MDUtils.js.map +1 -0
- package/Components/ObjectBrowser.js +6119 -0
- package/Components/ObjectBrowser.js.map +1 -0
- package/Components/Router.js +152 -0
- package/Components/Router.js.map +1 -0
- package/Components/SaveCloseButtons.js +177 -0
- package/Components/SaveCloseButtons.js.map +1 -0
- package/Components/Schedule.js +1891 -0
- package/Components/Schedule.js.map +1 -0
- package/Components/SelectWithIcon.js +235 -0
- package/Components/SelectWithIcon.js.map +1 -0
- package/Components/SimpleCron/cron2text.js +563 -0
- package/Components/SimpleCron/cron2text.js.map +1 -0
- package/Components/SimpleCron/cronText.js +60 -0
- package/Components/SimpleCron/cronText.js.map +1 -0
- package/Components/SimpleCron/index.js +861 -0
- package/Components/SimpleCron/index.js.map +1 -0
- package/Components/SimpleCron/jquery.cron.locale.js +322 -0
- package/Components/SimpleCron/jquery.cron.locale.js.map +1 -0
- package/Components/TabContainer.js +108 -0
- package/Components/TabContainer.js.map +1 -0
- package/Components/TabContent.js +96 -0
- package/Components/TabContent.js.map +1 -0
- package/Components/TabHeader.js +72 -0
- package/Components/TabHeader.js.map +1 -0
- package/Components/TextWithIcon.js +148 -0
- package/Components/TextWithIcon.js.map +1 -0
- package/Components/ToggleThemeMenu.js +49 -0
- package/Components/ToggleThemeMenu.js.map +1 -0
- package/Components/TreeTable.js +1030 -0
- package/Components/TreeTable.js.map +1 -0
- package/Components/Utils.js +1763 -0
- package/Components/Utils.js.map +1 -0
- package/Components/copy-to-clipboard.js +183 -0
- package/Components/copy-to-clipboard.js.map +1 -0
- package/Components/loader.css +222 -0
- package/Components/types.d.ts +121 -0
- package/Connection.js +3334 -0
- package/Connection.js.map +1 -0
- package/Dialogs/ComplexCron.js +193 -0
- package/Dialogs/ComplexCron.js.map +1 -0
- package/Dialogs/Confirm.js +211 -0
- package/Dialogs/Confirm.js.map +1 -0
- package/Dialogs/Cron.js +254 -0
- package/Dialogs/Cron.js.map +1 -0
- package/Dialogs/Error.js +137 -0
- package/Dialogs/Error.js.map +1 -0
- package/Dialogs/Message.js +118 -0
- package/Dialogs/Message.js.map +1 -0
- package/Dialogs/SelectID.js +313 -0
- package/Dialogs/SelectID.js.map +1 -0
- package/Dialogs/SimpleCron.js +177 -0
- package/Dialogs/SimpleCron.js.map +1 -0
- package/Dialogs/TextInput.js +194 -0
- package/Dialogs/TextInput.js.map +1 -0
- package/GenericApp.js +1022 -0
- package/GenericApp.js.map +1 -0
- package/LICENSE +22 -0
- package/Prompt.js +21 -0
- package/Prompt.js.map +1 -0
- package/README.md +645 -0
- package/Theme.js +422 -0
- package/Theme.js.map +1 -0
- package/assets/devices/Alarm Systems.svg +19 -0
- package/assets/devices/Amplifier.svg +22 -0
- package/assets/devices/Awnings.svg +5 -0
- package/assets/devices/Battery Status.svg +5 -0
- package/assets/devices/Ceiling Spotlights.svg +16 -0
- package/assets/devices/Chandelier.svg +7 -0
- package/assets/devices/Climate.svg +12 -0
- package/assets/devices/Coffee Makers.svg +6 -0
- package/assets/devices/Cold Water.svg +31 -0
- package/assets/devices/Computer.svg +21 -0
- package/assets/devices/Consumption.svg +8 -0
- package/assets/devices/Curtains.svg +43 -0
- package/assets/devices/Dishwashers.svg +12 -0
- package/assets/devices/Doors.svg +6 -0
- package/assets/devices/Doorstep.svg +35 -0
- package/assets/devices/Dryer.svg +14 -0
- package/assets/devices/Fan.svg +20 -0
- package/assets/devices/Floor Lamps.svg +5 -0
- package/assets/devices/Garage Doors.svg +9 -0
- package/assets/devices/Gates.svg +32 -0
- package/assets/devices/Hairdryer.svg +23 -0
- package/assets/devices/Handle.svg +6 -0
- package/assets/devices/Hanging Lamps.svg +9 -0
- package/assets/devices/Heater.svg +44 -0
- package/assets/devices/Hoods.svg +12 -0
- package/assets/devices/Hot Water.svg +10 -0
- package/assets/devices/Humidity.svg +41 -0
- package/assets/devices/Iron.svg +5 -0
- package/assets/devices/Irrigation.svg +42 -0
- package/assets/devices/Led Strip.svg +31 -0
- package/assets/devices/Light.svg +30 -0
- package/assets/devices/Lightings.svg +46 -0
- package/assets/devices/Lock.svg +19 -0
- package/assets/devices/Louvre.svg +7 -0
- package/assets/devices/Mowing Machine.svg +9 -0
- package/assets/devices/Music.svg +13 -0
- package/assets/devices/Outdoor Blinds.svg +7 -0
- package/assets/devices/People.svg +19 -0
- package/assets/devices/Pool.svg +8 -0
- package/assets/devices/Power Consumption.svg +13 -0
- package/assets/devices/Printer.svg +10 -0
- package/assets/devices/Pump.svg +10 -0
- package/assets/devices/Receiver.svg +19 -0
- package/assets/devices/Sconces.svg +10 -0
- package/assets/devices/Security.svg +34 -0
- package/assets/devices/Shading.svg +5 -0
- package/assets/devices/Shutters.svg +11 -0
- package/assets/devices/SmokeDetector.svg +13 -0
- package/assets/devices/Sockets.svg +13 -0
- package/assets/devices/Speaker.svg +35 -0
- package/assets/devices/Stove.svg +12 -0
- package/assets/devices/Table Lamps.svg +12 -0
- package/assets/devices/Temperature Sensors.svg +28 -0
- package/assets/devices/Tv.svg +8 -0
- package/assets/devices/Vacuum Cleaner.svg +16 -0
- package/assets/devices/Ventilation.svg +12 -0
- package/assets/devices/Washing Machines.svg +16 -0
- package/assets/devices/Water Consumption.svg +6 -0
- package/assets/devices/Water Heater.svg +8 -0
- package/assets/devices/Water.svg +40 -0
- package/assets/devices/Weather.svg +28 -0
- package/assets/devices/Window.svg +8 -0
- package/assets/devices/list.json +994 -0
- package/assets/devices/names.txt +63 -0
- package/assets/devices/parseNames.js +34 -0
- package/assets/lamp_ceiling.svg +9 -0
- package/assets/lamp_table.svg +8 -0
- package/assets/no_icon.svg +9 -0
- package/assets/rooms/Anteroom.svg +53 -0
- package/assets/rooms/Attic.svg +21 -0
- package/assets/rooms/Balcony.svg +13 -0
- package/assets/rooms/Barn.svg +6 -0
- package/assets/rooms/Basement.svg +5 -0
- package/assets/rooms/Bathroom.svg +38 -0
- package/assets/rooms/Bedroom.svg +5 -0
- package/assets/rooms/Boiler Room.svg +13 -0
- package/assets/rooms/Carport.svg +17 -0
- package/assets/rooms/Cellar.svg +89 -0
- package/assets/rooms/Chamber.svg +9 -0
- package/assets/rooms/Corridor.svg +53 -0
- package/assets/rooms/Dining Area.svg +37 -0
- package/assets/rooms/Dining Room.svg +37 -0
- package/assets/rooms/Dining.svg +37 -0
- package/assets/rooms/Dressing Room.svg +5 -0
- package/assets/rooms/Driveway.svg +15 -0
- package/assets/rooms/Entrance.svg +44 -0
- package/assets/rooms/Equipment Room.svg +15 -0
- package/assets/rooms/Front Yard.svg +64 -0
- package/assets/rooms/Gallery.svg +14 -0
- package/assets/rooms/Garage.svg +20 -0
- package/assets/rooms/Garden.svg +13 -0
- package/assets/rooms/Ground Floor.svg +95 -0
- package/assets/rooms/Guest Bathroom.svg +33 -0
- package/assets/rooms/Guest Room.svg +5 -0
- package/assets/rooms/Gym.svg +5 -0
- package/assets/rooms/Hall.svg +19 -0
- package/assets/rooms/Home Theater.svg +8 -0
- package/assets/rooms/Kitchen.svg +18 -0
- package/assets/rooms/Laundry Room.svg +12 -0
- package/assets/rooms/Living Area.svg +11 -0
- package/assets/rooms/Living Room.svg +10 -0
- package/assets/rooms/Locker Room.svg +17 -0
- package/assets/rooms/Nursery.svg +5 -0
- package/assets/rooms/Office.svg +8 -0
- package/assets/rooms/Outdoors.svg +7 -0
- package/assets/rooms/Playroom.svg +6 -0
- package/assets/rooms/Pool.svg +8 -0
- package/assets/rooms/Rear Wall.svg +30 -0
- package/assets/rooms/Second Floor.svg +95 -0
- package/assets/rooms/Shed.svg +16 -0
- package/assets/rooms/Sleeping Area.svg +22 -0
- package/assets/rooms/Stairway.svg +5 -0
- package/assets/rooms/Stairwell.svg +15 -0
- package/assets/rooms/Storeroom.svg +5 -0
- package/assets/rooms/Summer House.svg +27 -0
- package/assets/rooms/Swimming Pool.svg +21 -0
- package/assets/rooms/Terrace.svg +7 -0
- package/assets/rooms/Toilet.svg +10 -0
- package/assets/rooms/Upstairs.svg +6 -0
- package/assets/rooms/Wardrobe.svg +60 -0
- package/assets/rooms/Washroom.svg +20 -0
- package/assets/rooms/Wc.svg +10 -0
- package/assets/rooms/Windscreen.svg +60 -0
- package/assets/rooms/Workshop.svg +23 -0
- package/assets/rooms/Workspace.svg +8 -0
- package/assets/rooms/list.json +946 -0
- package/assets/rooms/names.txt +60 -0
- package/assets/rooms/parseNames.js +34 -0
- package/gulpfile.js +113 -0
- package/i18n/de.json +280 -0
- package/i18n/en.json +280 -0
- package/i18n/es.json +267 -0
- package/i18n/fr.json +267 -0
- package/i18n/it.json +267 -0
- package/i18n/nl.json +267 -0
- package/i18n/pl.json +267 -0
- package/i18n/pt.json +267 -0
- package/i18n/ru.json +280 -0
- package/i18n/zh-cn.json +267 -0
- package/i18n.js +171 -0
- package/i18n.js.map +1 -0
- package/icons/IconAdapter.js +39 -0
- package/icons/IconAdapter.js.map +1 -0
- package/icons/IconAlias.js +39 -0
- package/icons/IconAlias.js.map +1 -0
- package/icons/IconChannel.js +80 -0
- package/icons/IconChannel.js.map +1 -0
- package/icons/IconClearFilter.js +41 -0
- package/icons/IconClearFilter.js.map +1 -0
- package/icons/IconClosed.js +39 -0
- package/icons/IconClosed.js.map +1 -0
- package/icons/IconCopy.js +48 -0
- package/icons/IconCopy.js.map +1 -0
- package/icons/IconDevice.js +147 -0
- package/icons/IconDevice.js.map +1 -0
- package/icons/IconDocument.js +39 -0
- package/icons/IconDocument.js.map +1 -0
- package/icons/IconExpert.js +50 -0
- package/icons/IconExpert.js.map +1 -0
- package/icons/IconFx.js +39 -0
- package/icons/IconFx.js.map +1 -0
- package/icons/IconInstance.js +39 -0
- package/icons/IconInstance.js.map +1 -0
- package/icons/IconLogout.js +50 -0
- package/icons/IconLogout.js.map +1 -0
- package/icons/IconOpen.js +39 -0
- package/icons/IconOpen.js.map +1 -0
- package/icons/IconState.js +58 -0
- package/icons/IconState.js.map +1 -0
- package/index.css +55 -0
- package/package.json +42 -0
- package/types.d.ts +84 -0
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
EN RU DE FR IT NL PL PT ES ZH-CN
|
|
2
|
+
Storeroom Кладовая Abstellraum Débarras Dispensa Bergplaats Magazyn Despensa Trastero 库房
|
|
3
|
+
Dressing Room Гардеробная Ankleide Vestiaire Camerino Kleedkamer Przebieralnia Provador Vestidor 更衣室
|
|
4
|
+
Workspace Рабочая Среда Arbeitszimmer Espace De Travail Area Di Lavoro Workspace Workspace Área De Trabalho Espacio De Trabajo 工作区
|
|
5
|
+
Driveway Дорога Auffahrt Allée Viale Pad Podjazd Entrada Da Garagem Entrada De Coches 车道
|
|
6
|
+
Outdoors На Улице Außenbereich En Plein Air All'Aperto Buitenshuis Na Dworze Ao Ar Livre Al Aire Libre 户外
|
|
7
|
+
Bathroom Ванная Комната Badezimmer Salle De Bains Bagno Badkamer Łazienka Banheiro Baño 浴室
|
|
8
|
+
Balcony Балкон Balkon Balcon Balcone Balkon Balkon Sacada Balcón 阳台
|
|
9
|
+
Office Офис Büro Bureau Ufficio Kantoor Gabinet Escritório Oficina 办公室
|
|
10
|
+
Carport Навес Carport Carport Posto Auto Coperto Carport Wiata Telheiro Cochera 车棚
|
|
11
|
+
Attic Чердак Dachgeschoss Grenier Attico Zolder Poddasze Sótão Ático 阁楼
|
|
12
|
+
Hall Зал Diele Salle Sala Hal Sala Corredor Sala 大厅
|
|
13
|
+
Entrance Вход Eingang Entrée Ingresso Ingang Wejście Entrada Entrada 入口
|
|
14
|
+
Ground Floor Первый Этаж Erdgeschoss Rez-De-Chaussée Piano Terra Begane Grond Parter Térreo Planta Baja 一楼
|
|
15
|
+
Dining Area Столовая Essbereich Salle À Manger Zona Pranzo Eethoek Jadalnia Área De Refeições Comedor 用餐区
|
|
16
|
+
Dining Room Столовая Esszimmer Salle À Manger Sala Da Pranzo Eetkamer Jadalnia Sala De Jantar Comedor 饭厅
|
|
17
|
+
Gym Спортзал Fitnessraum Gym Palestra Sportschool Siłownia Ginásio Gimnasio 健身房
|
|
18
|
+
Gallery Галерея Galerie Galerie Galleria Galerij Galeria Galeria Galería 画廊
|
|
19
|
+
Garage Гараж Garage Garage Box Auto Garage Garaż Garagem Garaje 车库
|
|
20
|
+
Wardrobe Гардероб Garderobe Penderie Armadio Garderobe Szafa Guarda Roupa Armario 衣柜
|
|
21
|
+
Garden Сад Garten Jardin Giardino Tuin Ogród Jardim Jardín 花园
|
|
22
|
+
Summer House Дача Gartenhaus Maison D'Été Casa Estiva Zomerhuis Domek Letniskowy Summer House Casa De Verano 凉亭
|
|
23
|
+
Guest Bathroom Гостевая Комната Gäste-WC Salle De Bains Invité Guest Bathroom Gastenbadkamer Łazienka Gościnna Banheiro De Hóspedes Baño De Visitas 客用浴室
|
|
24
|
+
Guest Room Гостевая Комната Gästezimmer Chambre D'Amis Stanza Degli Ospiti Guest Room Pokój Gościnny Quarto De Hóspedes Habitación De Huéspedes 客房
|
|
25
|
+
Laundry Room Прачечная Hauswirtschaftsraum Buanderie Lavanderia Wasruimte Pralnia Lavandaria Cuarto De Lavado 洗衣房
|
|
26
|
+
Home Theater Домашний Театр Heimkino Cinéma Maison Home Theater Thuisbioscoop Kino Domowe Cinema Em Casa Cine En Casa 家庭电影院
|
|
27
|
+
Boiler Room Бойлерная Heizungsraum Chaufferie Locale Caldaia Boiler Room Kotłownia Sala Da Caldeira Sala De Calderas 锅炉房
|
|
28
|
+
Chamber Камера Kammer Chambre Camera Kamer Izba Câmara Cámara 商会
|
|
29
|
+
Basement, Cellar Подвал, Погреб Keller Sous-Sol, Cave Taverna, Cantina Kelder, Kelder Piwnica, Piwnica Porão, Adega Sótano, Bodega 地下室,地窖
|
|
30
|
+
Nursery Питомник Kinderzimmer Garderie Asilo Kinderkamer Żłobek Berçário Guardería 苗圃
|
|
31
|
+
Corridor Коридор Korridor Couloir Corridoio Gang Korytarz Corredor Corredor 走廊
|
|
32
|
+
Kitchen Кухня Küche Cuisine Cucina Keuken Kuchnia Cozinha Cocina 厨房
|
|
33
|
+
Upstairs Вверх По Лестнице Obergeschoss En Haut Di Sopra Boven Na Górę Andar De Cima Piso Superior 楼上
|
|
34
|
+
Office Офис Office Bureau Ufficio Kantoor Gabinet Escritório Oficina 办公室
|
|
35
|
+
Pool Бассейн Pool Piscine Piscina Zwembad Basen Piscina Piscina 水池
|
|
36
|
+
Rear Wall Задняя Стенка Rückwand Paroi Arrière Parete Posteriore Achterwand Tylna Ściana Parede Traseira Pared Posterior 后墙
|
|
37
|
+
Barn Амбар Scheune Grange Fienile Schuur Stodoła Celeiro Granero 谷仓
|
|
38
|
+
Sleeping Area Спальное Место Schlafbereich Coin Montagne Area Sleeping Sleeping Area Powierzchnia Spania Sleeping Area Área De Dormir 睡眠区
|
|
39
|
+
Bedroom Спальная Комната Schlafzimmer Chambre Camera Da Letto Slaapkamer Sypialnia Quarto Cuarto 卧室
|
|
40
|
+
Shed Сбрасывать Schuppen Hangar Capannone Schuur Budka Cabana Cobertizo 棚
|
|
41
|
+
Swimming Pool Плавательный Бассейн Schwimmbad Piscine Piscina Zwembad Basen Piscina Piscina 游泳池
|
|
42
|
+
Dining Обеденный Speis À Manger Cenare Dining Jadalnia Jantar Comida 用餐
|
|
43
|
+
Playroom Игровая Комната Spielzimmer Salle De Jeux Stanza Dei Giochi Speelkamer Pokój Zabaw Sala De Jogos Cuarto De Jugar 游戏室
|
|
44
|
+
Stairway Лестница Stiege Escalier Scala Trap Klatka Schodowa Escada Escalera 楼梯
|
|
45
|
+
Equipment Room Оборудование Номера Technikraum Salle D'Équipement Stanza Degli Attrezzi Technische Ruimte Wyposażenie Pokoi Sala De Equipamentos Cuarto De Equipos 机房
|
|
46
|
+
Terrace Терраса Terrasse Terrasse Terrazza Terras Taras Terraço Terraza 阳台
|
|
47
|
+
Toilet Туалет Toilette Toilette Gabinetto Toilet Toaleta Banheiro Inodoro 洗手间
|
|
48
|
+
Stairway Лестница Treppe Escalier Scala Trap Klatka Schodowa Escada Escalera 楼梯
|
|
49
|
+
Stairwell Лестничная Клетка Treppenhaus Cage D'Escalier Tromba Delle Scale Trappenhuis Klatka Schodowa Caixa De Escada Hueco De Escalera 楼梯间
|
|
50
|
+
Locker Room Камера Хранения Umkleideraum Vestiaire Spogliatoio Kleedkamer Szatnia Vestiário Vestuario 更衣室
|
|
51
|
+
Basement Подвал Untergeschoss Sous-Sol Seminterrato Kelder Piwnica Porão Sótano 地下室
|
|
52
|
+
Front Yard Передний Двор Vorgarten Front Yard Cortile Voortuin Podwórko Jardim Da Frente Patio Delantero 前院
|
|
53
|
+
Anteroom Передняя Vorraum Antichambre Anticamera Voorkamer Przedpokój Ante-Sala Antesala 接待室
|
|
54
|
+
Washroom Уборная Waschraum Toilettes Bagno Waskamer Umywalnia Banheiro Baño 卫生间
|
|
55
|
+
Wc Туалет WC Toilettes Bagno Wc Toaleta Banheiro Wc 厕所
|
|
56
|
+
Workshop Цех Werkstätte Atelier Laboratorio Werkplaats Warsztat Oficina Taller 作坊
|
|
57
|
+
Windscreen Ветровое Стекло Windfang Pare-Brise Parabrezza Voorruit Szyba Przednia Pára-Brisas Parabrisas 风档
|
|
58
|
+
Living Area Жилая Площадь Wohnbereich Salon Zona Giorno Living Area Powierzchnia Mieszkalna Sala-De-Estar Sala De Estar 生活区域
|
|
59
|
+
Living Room Гостинная Wohnraum Le Salon Soggiorno Woonkamer Salon Sala De Estar Sala De Estar 客厅
|
|
60
|
+
Living Room Гостинная Wohnzimmer Le Salon Soggiorno Woonkamer Salon Sala De Estar Sala De Estar 客厅
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// this is service script that extracts names from names.txt and places them into list.json
|
|
2
|
+
/*
|
|
3
|
+
const fs = require('fs');
|
|
4
|
+
|
|
5
|
+
function readTxt(fileName) {
|
|
6
|
+
const text = fs.readFileSync(fileName).toString('utf8');
|
|
7
|
+
const lines = text.split('\n');
|
|
8
|
+
const langs = lines.shift().split('\t').map(l => l.toLowerCase().trim());
|
|
9
|
+
|
|
10
|
+
const result = {};
|
|
11
|
+
lines.forEach(line => {
|
|
12
|
+
const words = line.split('\t').map(w => w.trim());
|
|
13
|
+
const word = {};
|
|
14
|
+
result[words[0]] = word;
|
|
15
|
+
langs.forEach((lang, i) => {
|
|
16
|
+
word[lang] = words[i];
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
return result;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function mergeTexts(jsonFileName, words) {
|
|
23
|
+
const file = require(jsonFileName);
|
|
24
|
+
file.forEach(item => {
|
|
25
|
+
if (typeof item.name === 'string' && words[item.name]) {
|
|
26
|
+
item.name = words[item.name];
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
fs.writeFileSync(jsonFileName, JSON.stringify(file, null, 2));
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const words = readTxt(__dirname + '/names.txt');
|
|
33
|
+
mergeTexts(__dirname + '/list.json', words);
|
|
34
|
+
*/
|
package/gulpfile.js
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2018-2109 bluefox <dogafox@gmail.com>
|
|
3
|
+
*
|
|
4
|
+
* MIT License
|
|
5
|
+
*
|
|
6
|
+
**/
|
|
7
|
+
'use strict';
|
|
8
|
+
|
|
9
|
+
const gulp = require('gulp');
|
|
10
|
+
const fs = require('fs');
|
|
11
|
+
|
|
12
|
+
const dir = __dirname + '/src/i18n/';
|
|
13
|
+
gulp.task('i18n=>flat', done => {
|
|
14
|
+
const files = fs.readdirSync(dir).filter(name => name.match(/\.json$/));
|
|
15
|
+
const index = {};
|
|
16
|
+
const langs = [];
|
|
17
|
+
files.forEach(file => {
|
|
18
|
+
const lang = file.replace(/\.json$/, '');
|
|
19
|
+
langs.push(lang);
|
|
20
|
+
const text = require(dir + file);
|
|
21
|
+
|
|
22
|
+
for (const id in text) {
|
|
23
|
+
if (text.hasOwnProperty(id)) {
|
|
24
|
+
index[id] = index[id] || {};
|
|
25
|
+
index[id][lang] = text[id] === undefined ? id : text[id];
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
const keys = Object.keys(index);
|
|
31
|
+
keys.sort();
|
|
32
|
+
|
|
33
|
+
if (!fs.existsSync(dir + '/flat/')) {
|
|
34
|
+
fs.mkdirSync(dir + '/flat/');
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
langs.forEach(lang => {
|
|
38
|
+
const words = [];
|
|
39
|
+
keys.forEach(key => {
|
|
40
|
+
words.push(index[key][lang]);
|
|
41
|
+
});
|
|
42
|
+
fs.writeFileSync(dir + '/flat/' + lang + '.txt', words.join('\n'));
|
|
43
|
+
});
|
|
44
|
+
fs.writeFileSync(dir + '/flat/index.txt', keys.join('\n'));
|
|
45
|
+
done();
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
gulp.task('flat=>i18n', done => {
|
|
49
|
+
if (!fs.existsSync(dir + '/flat/')) {
|
|
50
|
+
console.error(dir + '/flat/ directory not found');
|
|
51
|
+
return done();
|
|
52
|
+
}
|
|
53
|
+
const keys = fs.readFileSync(dir + '/flat/index.txt').toString().split(/[\r\n]/);
|
|
54
|
+
while (!keys[keys.length - 1]) keys.splice(keys.length - 1, 1);
|
|
55
|
+
|
|
56
|
+
const files = fs.readdirSync(dir + '/flat/').filter(name => name.match(/\.txt$/) && name !== 'index.txt');
|
|
57
|
+
const index = {};
|
|
58
|
+
const langs = [];
|
|
59
|
+
files.forEach(file => {
|
|
60
|
+
const lang = file.replace(/\.txt$/, '');
|
|
61
|
+
langs.push(lang);
|
|
62
|
+
const lines = fs.readFileSync(dir + '/flat/' + file).toString().split(/[\r\n]/);
|
|
63
|
+
lines.forEach((word, i) => {
|
|
64
|
+
index[keys[i]] = index[keys[i]] || {};
|
|
65
|
+
index[keys[i]][lang] = word;
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
langs.forEach(lang => {
|
|
69
|
+
const words = {};
|
|
70
|
+
keys.forEach((key, line) => {
|
|
71
|
+
if (!index[key]) {
|
|
72
|
+
console.log('No word ' + key + ', ' + lang + ', line: ' + line);
|
|
73
|
+
}
|
|
74
|
+
words[key] = index[key][lang];
|
|
75
|
+
});
|
|
76
|
+
fs.writeFileSync(dir + '/' + lang + '.json', JSON.stringify(words, null, 2));
|
|
77
|
+
});
|
|
78
|
+
done();
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
gulp.task('build', done => {
|
|
82
|
+
const { fork } = require('child_process');
|
|
83
|
+
|
|
84
|
+
const child = fork(__dirname + '/node_modules/react-scripts/scripts/build.js', {
|
|
85
|
+
cwd: __dirname
|
|
86
|
+
});
|
|
87
|
+
child.on('exit', (code, signal) => done());
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
gulp.task('clean', () => {
|
|
91
|
+
const del = require('del');
|
|
92
|
+
return del(['admin/*/**', 'admin/*', '!admin/actions.js', '!admin/alexalogo.png', '!admin/blockly.js', '!admin/iot.png']);
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
gulp.task('copy', () => {
|
|
96
|
+
return gulp.src(['build/*/**', 'build/*'])
|
|
97
|
+
.pipe(gulp.dest('../admin/'));
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
gulp.task('renameIndex', gulp.series('copy', done => {
|
|
101
|
+
if (fs.existsSync(__dirname + '/../admin/index.html')) {
|
|
102
|
+
fs.renameSync(__dirname + '/admin/index.html', __dirname + '/admin/index_m.html')
|
|
103
|
+
}
|
|
104
|
+
done();
|
|
105
|
+
}));
|
|
106
|
+
|
|
107
|
+
gulp.task('renameTab', gulp.series('copy', done => {
|
|
108
|
+
if (fs.existsSync(__dirname + '/../admin/index.html')) {
|
|
109
|
+
fs.renameSync(__dirname + '/../admin/index.html', __dirname + '/../admin/tab.html')
|
|
110
|
+
}
|
|
111
|
+
done();
|
|
112
|
+
}));
|
|
113
|
+
|
package/i18n/de.json
ADDED
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
{
|
|
2
|
+
"ra_filter_func": "Funktion",
|
|
3
|
+
"ra_filter_id": "ID",
|
|
4
|
+
"ra_filter_name": "Name",
|
|
5
|
+
"ra_filter_type": "Typ",
|
|
6
|
+
"ra_filter_customs": "Einstellungen",
|
|
7
|
+
"ra_filter_role": "Rolle",
|
|
8
|
+
"ra_filter_room": "Raum",
|
|
9
|
+
"ra_tooltip_ack": "Bestätigt",
|
|
10
|
+
"ra_tooltip_from": "Von",
|
|
11
|
+
"ra_tooltip_lc": "Zuletzt geändert",
|
|
12
|
+
"ra_tooltip_quality": "Qualität",
|
|
13
|
+
"ra_tooltip_ts": "Zeitstempel",
|
|
14
|
+
"ra_tooltip_user": "Benutzer",
|
|
15
|
+
"ra_tooltip_value": "Wert",
|
|
16
|
+
"ra_Are you sure?": "Bist du sicher?",
|
|
17
|
+
"ra_Cancel": "Abbrechen",
|
|
18
|
+
"ra_Copied": "Kopiert",
|
|
19
|
+
"ra_Copied %s": "%s kopiert",
|
|
20
|
+
"ra_Define functions": "Funktionen definieren",
|
|
21
|
+
"ra_Define rooms": "Räume definieren",
|
|
22
|
+
"ra_Error": "Fehler",
|
|
23
|
+
"ra_Message": "Meldung",
|
|
24
|
+
"ra_Ok": "OK",
|
|
25
|
+
"ra_Please select object ID...": "Bitte Objekt-ID auswählen...",
|
|
26
|
+
"ra_Selected": "Ausgewählt",
|
|
27
|
+
"ra_Unknown error!": "Unbekannter Fehler!",
|
|
28
|
+
"ra_Value": "Wert",
|
|
29
|
+
"ra_invalidConfig": "Ungültige Einstellungen",
|
|
30
|
+
"ra_otherConfig": "Einstellungen von anderen Adaptern %s",
|
|
31
|
+
"ra_tooltip_copyState": "Kopieren Sie den Statuswert",
|
|
32
|
+
"ra_tooltip_customConfig": "Benutzerdefinierte Einstellungen",
|
|
33
|
+
"ra_tooltip_deleteObject": "Objekt löschen",
|
|
34
|
+
"ra_tooltip_editObject": "Objekt bearbeiten",
|
|
35
|
+
"ra_tooltip_editState": "Bearbeiten Sie den Statuswert",
|
|
36
|
+
"ra_dow_Fr": "Fr",
|
|
37
|
+
"ra_dow_Mo": "Mo",
|
|
38
|
+
"ra_dow_Sa": "Sa",
|
|
39
|
+
"ra_dow_Su": "So",
|
|
40
|
+
"ra_dow_Th": "Do",
|
|
41
|
+
"ra_dow_Tu": "Di",
|
|
42
|
+
"ra_dow_We": "Mi",
|
|
43
|
+
"ra_Listen on all IPs": "Zugriff von allen IPs zulassen",
|
|
44
|
+
"ra_Save": "Speichern",
|
|
45
|
+
"ra_Save and close": "Speichern und schließen",
|
|
46
|
+
"ra_Close": "Schließen",
|
|
47
|
+
"ra_Auto (no custom columns)": "Auto (keine benutzerdefinierten Spalten)",
|
|
48
|
+
"ra_Transparent dialog": "Transparenter Dialog",
|
|
49
|
+
"ra_Width": "Breite",
|
|
50
|
+
"ra_val": "Wert",
|
|
51
|
+
"ra_buttons": "Tasten",
|
|
52
|
+
"ra_Configure visible columns": "Spalten Konfigurieren",
|
|
53
|
+
"ra_close": "Schließen",
|
|
54
|
+
"ra_Cannot update attribute, because not found in the object": "Attribut kann nicht aktualisiert werden, da es nicht im Objekt gefunden wurde",
|
|
55
|
+
"ra_Edit object field": "Objektfeld bearbeiten",
|
|
56
|
+
"ra_Hide empty folders": "Leere Ordner ausblenden",
|
|
57
|
+
"ra_Reload files": "Dateien neu laden",
|
|
58
|
+
"ra_Create folder": "Ordner erstellen",
|
|
59
|
+
"ra_Upload file": "Datei hochladen",
|
|
60
|
+
"ra_User files": "Benutzerdaten",
|
|
61
|
+
"ra_Confirm deletion of %s": "Bestätigen Sie das Löschen von %s",
|
|
62
|
+
"ra_Delete (no confirm for 5 mins)": "Löschen (keine Bestätigung für 5 Minuten)",
|
|
63
|
+
"ra_Delete": "Löschen",
|
|
64
|
+
"ra_Toggle expert mode": "Expertenmodus umschalten",
|
|
65
|
+
"ra_Toggle view mode": "Ansichtsmodus umschalten",
|
|
66
|
+
"re_Root": "Anfang",
|
|
67
|
+
"re_Back to %s": "Zurück zu %s",
|
|
68
|
+
"ra_Place your files here or click here to open the browse dialog": "Platzieren Sie Ihre Dateien hier oder klicken Sie hier, um den Suchdialog zu öffnen",
|
|
69
|
+
"ra_If no file will be created in the folder, it will disappear after the browser closed": "Wenn im Ordner keine Datei erstellt wird, verschwindet dieser nach dem Schließen des Browsers",
|
|
70
|
+
"ra_Folder name": "Ordnernamen",
|
|
71
|
+
"ra_Create new folder in %s": "Neuen Ordner in \"%s\" erstellen",
|
|
72
|
+
"ra_Duplicate name": "Doppelter Name",
|
|
73
|
+
"ra_Invalid parent folder!": "Ungültiger übergeordneter Ordner!",
|
|
74
|
+
"ra_Drop file here": "Datei hier ablegen",
|
|
75
|
+
"ra_Suppress question for next %s minutes": "Frage für die nächsten %s Minuten unterdrücken",
|
|
76
|
+
"ra_Clear filter": "Filter löschen",
|
|
77
|
+
"ra_Update": "Aktualisieren",
|
|
78
|
+
"ra_Load configuration from file": "Konfiguration aus Datei laden",
|
|
79
|
+
"ra_Save configuration to file": "Konfiguration in Datei speichern",
|
|
80
|
+
"sc_cron": "CRON",
|
|
81
|
+
"sc_date": "Datum",
|
|
82
|
+
"sc_dates": "Tage",
|
|
83
|
+
"sc_dows": "Wochentage",
|
|
84
|
+
"sc_every": "Jeden",
|
|
85
|
+
"sc_everyN_dates": "alle N Tage",
|
|
86
|
+
"sc_everyN_dows": "alle N Wochentage",
|
|
87
|
+
"sc_everyN_hours": "alle N Stunden",
|
|
88
|
+
"sc_everyN_minutes": "alle N Minuten",
|
|
89
|
+
"sc_everyN_months": "alle N Monate",
|
|
90
|
+
"sc_everyN_seconds": "alle N Sekunden",
|
|
91
|
+
"sc_every_dates": "jeden Tag",
|
|
92
|
+
"sc_every_dows": "jeden Tag der Woche",
|
|
93
|
+
"sc_every_hours": "jede Stunde",
|
|
94
|
+
"sc_every_minutes": "jede Minute",
|
|
95
|
+
"sc_every_months": "jeden Monat",
|
|
96
|
+
"sc_every_seconds": "jede Sekunde",
|
|
97
|
+
"sc_from": "Von",
|
|
98
|
+
"sc_hours": "Stunden",
|
|
99
|
+
"sc_interval": "Intervall",
|
|
100
|
+
"sc_intervalBetween": "Intervall zwischen",
|
|
101
|
+
"sc_minutes": "Minuten",
|
|
102
|
+
"sc_months": "Monate",
|
|
103
|
+
"sc_once": "Einmal",
|
|
104
|
+
"sc_period": "Zeitraum",
|
|
105
|
+
"sc_seconds": "Sekunden",
|
|
106
|
+
"sc_simple": "Einfach",
|
|
107
|
+
"sc_specific": "Bestimmte Zeit",
|
|
108
|
+
"sc_specific_dates": "bestimmte Tage",
|
|
109
|
+
"sc_specific_dows": "bestimmten Wochentag",
|
|
110
|
+
"sc_specific_hours": "bestimmte Stunden",
|
|
111
|
+
"sc_specific_minutes": "bestimmte Minuten",
|
|
112
|
+
"sc_specific_months": "bestimmte Monate",
|
|
113
|
+
"sc_specific_seconds": "bestimmte Sekunden",
|
|
114
|
+
"sc_time": "Zeit",
|
|
115
|
+
"sc_to": "Bis",
|
|
116
|
+
"sc_wizard": "Wizard",
|
|
117
|
+
"sch_all": "alle",
|
|
118
|
+
"sch_astroDay": "Astronomisch Tag",
|
|
119
|
+
"sch_astroNight": "Astronomisch Nacht",
|
|
120
|
+
"sch_astro_dawn": "Morgendämmerung",
|
|
121
|
+
"sch_astro_dusk": "Abenddämmerung",
|
|
122
|
+
"sch_astro_goldenHour": "Goldene Stunde",
|
|
123
|
+
"sch_astro_goldenHourEnd": "Goldene Stundenende",
|
|
124
|
+
"sch_astro_nadir": "Nadir",
|
|
125
|
+
"sch_astro_nauticalDawn": "Nautische Morgendämmerung",
|
|
126
|
+
"sch_astro_nauticalDusk": "Nautische Abenddämmerung",
|
|
127
|
+
"sch_astro_night": "Nacht",
|
|
128
|
+
"sch_astro_nightEnd": "Nachtende",
|
|
129
|
+
"sch_astro_solarNoon": "Sonnenmittag",
|
|
130
|
+
"sch_astro_sunrise": "Sonnenaufgang",
|
|
131
|
+
"sch_astro_sunriseEnd": "Sonnenaufgangende",
|
|
132
|
+
"sch_astro_sunset": "Sonnenuntergang",
|
|
133
|
+
"sch_astro_sunsetStart": "Sonnenuntergangstart",
|
|
134
|
+
"sch_at": "am",
|
|
135
|
+
"sch_desc_atTime": "um %s",
|
|
136
|
+
"sch_desc_everyDay": "jeden Tag",
|
|
137
|
+
"sch_desc_everyHour": "jede Stunde",
|
|
138
|
+
"sch_desc_everyMinute": "jede Minute",
|
|
139
|
+
"sch_desc_everyMonth": "jeden Monat",
|
|
140
|
+
"sch_desc_everyNDay": "jeden %s Tag",
|
|
141
|
+
"sch_desc_everyNHours": "alle %s Stunden",
|
|
142
|
+
"sch_desc_everyNMinutes": "alle %s Minuten",
|
|
143
|
+
"sch_desc_everyNMonths": "alle %s Monate",
|
|
144
|
+
"sch_desc_everyNWeeks": "alle %s Wochen",
|
|
145
|
+
"sch_desc_everyNYears": "alle %s Jahre",
|
|
146
|
+
"sch_desc_everyWeek": "jede Woche",
|
|
147
|
+
"sch_desc_everyYear": "jedes Jahr",
|
|
148
|
+
"sch_desc_intervalFromTo": "von %s bis %s",
|
|
149
|
+
"sch_desc_never": "noch nie",
|
|
150
|
+
"sch_desc_onDate": "am %s von %s",
|
|
151
|
+
"sch_desc_onDates": "am %s und %s von",
|
|
152
|
+
"sch_desc_onEveryDate": "an jedem Datum von",
|
|
153
|
+
"sch_desc_onMonth": "%s",
|
|
154
|
+
"sch_desc_onMonths": "%s und %s",
|
|
155
|
+
"sch_desc_onWeekday": "auf %s",
|
|
156
|
+
"sch_desc_onWeekdays": "auf %s und %s",
|
|
157
|
+
"sch_desc_onWeekends": "an Wochenenden",
|
|
158
|
+
"sch_desc_onWorkdays": "an Werktagen",
|
|
159
|
+
"sch_desc_onceInPast": "wird nicht mehr ausgeführt, weil der Start in der Vergangenheit ist",
|
|
160
|
+
"sch_desc_once_on": "auf %s",
|
|
161
|
+
"sch_desc_validFrom": "von %s",
|
|
162
|
+
"sch_desc_validFromTo": "Ausführen von bis",
|
|
163
|
+
"sch_desc_validTo": "bis %s",
|
|
164
|
+
"sch_every": "jeden",
|
|
165
|
+
"sch_exactTime": "Bestimmte Zeit",
|
|
166
|
+
"sch_from": "von",
|
|
167
|
+
"sch_fromTo": "Von bis",
|
|
168
|
+
"sch_intervalTime": "Zeitintervall",
|
|
169
|
+
"sch_invert": "umkehren",
|
|
170
|
+
"sch_no_one": "keiner",
|
|
171
|
+
"sch_on": "am",
|
|
172
|
+
"sch_period": "Zeitraum",
|
|
173
|
+
"sch_periodDaily": "Täglich",
|
|
174
|
+
"sch_periodDates": "Daten",
|
|
175
|
+
"sch_periodDay": "Tag",
|
|
176
|
+
"sch_periodEvery": "Jeden",
|
|
177
|
+
"sch_periodEveryDay": "Jeden Tag",
|
|
178
|
+
"sch_periodEveryMonth": "Jeden Monat",
|
|
179
|
+
"sch_periodEveryWeek": "Jede Woche",
|
|
180
|
+
"sch_periodEveryYear": "Jedes Jahr",
|
|
181
|
+
"sch_periodHours": "Stunden",
|
|
182
|
+
"sch_periodMinutes": "Minuten",
|
|
183
|
+
"sch_periodMonth": "Monat",
|
|
184
|
+
"sch_periodMonthly": "Monatlich",
|
|
185
|
+
"sch_periodOnce": "Einmal",
|
|
186
|
+
"sch_periodSpecificMonths": "Bestimmte Monate",
|
|
187
|
+
"sch_periodWeek": "Woche",
|
|
188
|
+
"sch_periodWeekdays": "Wochentage",
|
|
189
|
+
"sch_periodWeekend": "Wochenende",
|
|
190
|
+
"sch_periodWeekly": "Wöchentlich",
|
|
191
|
+
"sch_periodWorkdays": "Arbeitstage",
|
|
192
|
+
"sch_periodYear": "Jahr",
|
|
193
|
+
"sch_periodYearly": "Jährlich",
|
|
194
|
+
"sch_specificTime": "Bestimmte Zeit",
|
|
195
|
+
"sch_time": "Zeit",
|
|
196
|
+
"sch_to": "zu",
|
|
197
|
+
"sch_valid": "Gültigkeit",
|
|
198
|
+
"sch_validFrom": "von",
|
|
199
|
+
"sch_validTo": "bis",
|
|
200
|
+
"sch_wholeDay": "Ganzer Tag",
|
|
201
|
+
"sch_yearEveryMonth": "jeden Monat",
|
|
202
|
+
"ra_Define schedule...": "Zeitplan definieren ...",
|
|
203
|
+
"ra_Repeat": "Wiederholen",
|
|
204
|
+
"ra_use seconds": "Sekunden benutzen",
|
|
205
|
+
"ra_months_Apr": "Apr",
|
|
206
|
+
"ra_months_Aug": "Aug",
|
|
207
|
+
"ra_months_Dec": "Dez",
|
|
208
|
+
"ra_months_Jan": "Jan",
|
|
209
|
+
"ra_months_Feb": "Feb",
|
|
210
|
+
"ra_months_Jul": "Jul",
|
|
211
|
+
"ra_months_Jun": "Jun",
|
|
212
|
+
"ra_months_Mai": "Mai",
|
|
213
|
+
"ra_months_Mar": "Mär",
|
|
214
|
+
"ra_months_Nov": "Nov",
|
|
215
|
+
"ra_months_Oct": "Okt",
|
|
216
|
+
"ra_months_Sep": "Sep",
|
|
217
|
+
"ra_Toggle the states view": "Statusansicht umschalten",
|
|
218
|
+
"ra_Add new child object to selected parent": "Dem ausgewählten übergeordneten Objekt ein neues untergeordnetes Objekt hinzufügen",
|
|
219
|
+
"ra_Add objects tree from JSON file": "Objektbaum aus JSON-Datei hinzufügen",
|
|
220
|
+
"ra_Save objects tree as JSON file": "Objektbaum als JSON-Datei speichern",
|
|
221
|
+
"ra_Objects": "Objekte",
|
|
222
|
+
"ra_States": "Zustände",
|
|
223
|
+
"ra_object_changed_by_user": "Objekt zuletzt geändert um",
|
|
224
|
+
"ra_object_changed_by": "Objekt geändert von",
|
|
225
|
+
"ra_state_changed_from": "Objekt geändert von",
|
|
226
|
+
"ra_state_changed_by": "Zustand geändert durch",
|
|
227
|
+
"ra_aclOwner_read_object": "Besitzer kann Objekt lesen",
|
|
228
|
+
"ra_aclOwner_read_state": "Besitzer kann Zustand lesen",
|
|
229
|
+
"ra_aclOwner_write_object": "Besitzer kann Objekt schreiben",
|
|
230
|
+
"ra_aclOwner_write_state": "Besitzer kann Zustand schreiben",
|
|
231
|
+
"ra_aclGroup_read_object": "Gruppe kann Objekt lesen",
|
|
232
|
+
"ra_aclGroup_read_state": "Gruppe kann Status lesen",
|
|
233
|
+
"ra_aclGroup_write_object": "Gruppe kann Objekt schreiben",
|
|
234
|
+
"ra_aclGroup_write_state": "Gruppe kann Status schreiben",
|
|
235
|
+
"ra_aclEveryone_read_object": "Jeder kann Objekt lesen",
|
|
236
|
+
"ra_aclEveryone_read_state": "Jeder kann Zustand lesen",
|
|
237
|
+
"ra_aclEveryone_write_object": "Jeder kann ein Objekt schreiben",
|
|
238
|
+
"ra_aclEveryone_write_state": "Jeder kann Zustand schreiben",
|
|
239
|
+
"ra_Folders always first": "Ordner immer zuerst",
|
|
240
|
+
"ra_changedFrom": "Geändert von",
|
|
241
|
+
"ra_qualityCode": "Qualitätscode",
|
|
242
|
+
"ra_timestamp": "Zeitstempel",
|
|
243
|
+
"ra_lastChange": "Letzte Änderung",
|
|
244
|
+
"ra_Owner group": "Besitzergruppe",
|
|
245
|
+
"ra_Owner user": "Besitzer Benutzer",
|
|
246
|
+
"ra_Create": "Erstellen",
|
|
247
|
+
"ra_Changed from": "Geändert von",
|
|
248
|
+
"ra_Quality code": "Qualität",
|
|
249
|
+
"ra_Timestamp": "Zeitstempel",
|
|
250
|
+
"ra_Last change": "Letzte Änderung",
|
|
251
|
+
"ra_Collapse all nodes": "Alle Knoten zuklappen",
|
|
252
|
+
"ra_Edit custom config": "Bearbeite Benutzerdefinierte Konfiguration",
|
|
253
|
+
"ra_Collapse one step node": "Eine Ebene zuklappen",
|
|
254
|
+
"ra_Expand one step node": "Eine Ebene aufklappen",
|
|
255
|
+
"ra_Refresh tree": "Baum aktualisieren",
|
|
256
|
+
"ra_Expand all nodes": "Alle Knoten aufklappen",
|
|
257
|
+
"ra_Deselect all": "Alles abwählen",
|
|
258
|
+
"ra_Select all": "Alle auswählen",
|
|
259
|
+
"ra_%s object(s) processed": "%s Objekt(e) verarbeitet",
|
|
260
|
+
"ra_Invalid structure": "Ungültige Struktur",
|
|
261
|
+
"ra_%s was imported": "%s wurde importiert",
|
|
262
|
+
"ra_Failed to open JSON File": "Fehler beim Öffnen der JSON-Datei",
|
|
263
|
+
"ra_Only following structures of objects are available:": "Es stehen nur folgende Objektstrukturen zur Verfügung:",
|
|
264
|
+
"ra_Folder → State": "Ordner → Zustand",
|
|
265
|
+
"ra_Folder → Channel → State": "Ordner → Kanal → Zustand",
|
|
266
|
+
"ra_Folder → Device → Channel → State": "Ordner → Gerät → Kanal → Zustand",
|
|
267
|
+
"ra_Device → Channel → State": "Gerät → Kanal → Status",
|
|
268
|
+
"ra_Channel → State": "Kanal → Status",
|
|
269
|
+
"ra_Non-experts may create new objects only in \"0_userdata.0\" or \"alias.0\".": "Nicht-Experten dürfen neue Objekte nur in \"0_userdata.0\" oder \"alias.0\" erstellen.",
|
|
270
|
+
"ra_The experts may create objects everywhere but from second level (e.g. \"vis.0\" or \"javascript.0\").": "Die Experten können Objekte überall erstellen, außer auf der zweiten Ebene (z. B. \"vis.0\" oder \"javascript.0\").",
|
|
271
|
+
"ra_expertMode": "Expertenmodus",
|
|
272
|
+
"ra_On weekdays": "An Wochentagen",
|
|
273
|
+
"ra_Drop the files here...": "Datei hier ablegen...",
|
|
274
|
+
"ra_Drag 'n' drop some files here, or click to select files": "Die Datei hierher ziehen und ablegen, oder klicken, um die Datei auszuwählen",
|
|
275
|
+
"ra_Clear": "Löschen",
|
|
276
|
+
"ra_Clear icon": "Symbol löschen",
|
|
277
|
+
"ra_none": "kein",
|
|
278
|
+
"ra_Select predefined icon": "Vordefiniertes Symbol auswählen",
|
|
279
|
+
"ra_Show lines between rows": "Zeilen zwischen Zeilen anzeigen"
|
|
280
|
+
}
|