modules/luci-base/src/po2lmo
modules/luci-base/src/jsmin
modules/luci-base/src/contrib/lemon
-modules/luci-base/src/plural_formula.c
-modules/luci-base/src/plural_formula.h
+modules/luci-base/src/lib/plural_formula.c
+modules/luci-base/src/lib/plural_formula.h
+modules/luci-compat/src/contrib/lemon
+modules/luci-compat/src/plural_formula.c
+modules/luci-compat/src/plural_formula.h
docs/jsapi/*
!docs/jsapi/README.md
msgid ""
msgstr ""
-"PO-Revision-Date: 2022-06-24 13:31+0000\n"
-"Last-Translator: Christian Neff <christian.neff@gmail.com>\n"
+"PO-Revision-Date: 2022-10-23 17:26+0000\n"
+"Last-Translator: Glax <gfreak70@gmail.com>\n"
"Language-Team: German <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsacme/de/>\n"
"Language: de\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.13.1-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: applications/luci-app-acme/htdocs/luci-static/resources/view/acme.js:17
msgid "ACME certificates"
#: applications/luci-app-acme/htdocs/luci-static/resources/view/acme.js:99
msgid "Standalone"
-msgstr "Eigenständig"
+msgstr "Standalone"
#: applications/luci-app-acme/htdocs/luci-static/resources/view/acme.js:96
msgid ""
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
"X-Generator: Weblate 4.5.1\n"
-#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:258
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:272
msgid "Action"
msgstr "إجراء"
"DNS backend."
msgstr ""
-#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:257
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:271
msgid "Answer"
msgstr "إجابة"
"تم حفظ التغييرات في القائمة السوداء. رجاء قم بتحديث قوائم أدبلوك الخاصة بك "
"لتظهر التغييرات."
-#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:282
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:296
msgid "Blacklist..."
msgstr "القائمة السوداء..."
"DNS backend."
msgstr ""
-#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:313
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:327
msgid "Blocked DNS Requests"
msgstr "طلبات DNS المحظورة"
-#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:211
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:225
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:229
msgid "Blocked Domains"
msgstr "نطاقات محظورة"
msgid "Blocklist Query"
msgstr "استعلام لقائمة الحظر"
-#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:322
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:336
msgid "Blocklist Query..."
msgstr "استعلام لقائمة الحظر..."
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:22
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:57
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:109
-#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:163
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:176
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:72
msgid "Cancel"
msgstr "إلغاء"
msgid "Categories"
msgstr "فئات"
-#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:255
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:269
msgid "Client"
msgstr "العميل"
-#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:207
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:221
msgid "Clients"
msgstr ""
"master/net/adblock/files/README.md\" target=\"_blank\" rel=\"noreferrer "
"noopener\" > راجع المساعدة على الشبكة</a>"
-#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:206
-#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:208
-#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:210
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:220
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:222
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:224
msgid "Count"
msgstr "العدد"
msgid "DNS Restart Timeout"
msgstr "مهلة إعادة تشغيل DNS"
-#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:253
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:267
msgid "Date"
msgstr "تاريخ"
msgid "Disable selective DNS whitelisting (RPZ-PASSTHRU)."
msgstr ""
-#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:256
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:270
msgid "Domain"
msgstr "اختصاص"
-#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:209
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:223
msgid "Domains"
msgstr ""
msgid "Enabled"
msgstr "مفعل"
-#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:305
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:319
msgid "End Timestamp"
msgstr "الطابع الزمني للانتهاء"
msgid "Fifth instance"
msgstr ""
-#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:157
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:170
msgid "Filter criteria like date, domain or client (optional)"
msgstr "معايير التصفية مثل التاريخ أو المجال أو العميل (اختياري)"
msgid "Last Run"
msgstr "آخر تشغيل"
-#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:341
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:355
msgid "Latest DNS Requests"
msgstr "أحدث طلبات DNS"
"تقليل أولوية معالجة خلفية adblock لأخذ موارد أقل من النظام. يرجى ملاحظة: هذا "
"التغيير يتطلب إعادة تشغيل خدمة adblock كاملة لتصبح سارية المفعول."
-#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:184
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:198
msgid "Refresh"
msgstr "نعش الذاكرة"
msgid "Refresh Timer..."
msgstr "تحديث المؤقت ..."
-#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:329
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:343
msgid "Refresh..."
msgstr "تنعيش الذاكرة"
msgid "Space separated list of ports used by tcpdump."
msgstr "قائمة منافذ مفصولة بمسافة يستخدمها tcpdump."
-#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:301
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:315
msgid "Start Timestamp"
msgstr "بدء الطابع الزمني"
"معينة. <br /> يُرجى ملاحظة: إضافة مجال واحد فقط في كل سطر. يُسمح بالتعليقات "
"المقدمة ب \"#\" - لا يُسمح بعناوين IP و wildcards و regex."
-#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:298
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:312
msgid ""
"This tab shows the last generated DNS Report, press the 'Refresh' button to "
"get a current one."
"تعرض علامة التبويب هذه آخر تقرير DNS تم إنشاؤه ، اضغط على الزر \"تحديث\" "
"للحصول على تقرير حالي."
-#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:254
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:268
msgid "Time"
msgstr "وقت"
"للحفاظ على تحديث قوائم Adblock الخاصة بك ، يجب عليك إعداد مهمة تحديث تلقائي "
"لهذه القوائم."
-#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:334
-msgid "Top 10 Statistics"
-msgstr "أفضل 10 إحصائيات"
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:348
+msgid "Top Statistics"
+msgstr ""
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:519
msgid "Topic for adblock notification E-Mails."
msgstr "موضوع رسائل البريد الإلكتروني الخاصة بإشعار adblock."
-#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:309
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:323
msgid "Total DNS Requests"
msgstr "إجمالي طلبات DNS"
"تم حفظ تغييرات القائمة البيضاء. قم بتحديث قوائم منع الإعلانات التي تسري "
"التغييرات عليها."
-#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:274
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:288
msgid "Whitelist..."
msgstr "القائمة البيضاء ..."
msgid "kresd (/etc/kresd)"
msgstr "محلل العقد الخفي kresd (/etc/kresd)"
-#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:150
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:163
msgid "max. result set size"
msgstr "مجموعة نتائج أعلى حجم."
+#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:150
+msgid "max. top statistics"
+msgstr ""
+
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:424
msgid "raw (/tmp)"
msgstr "خام (/ tmp)"
msgid "unbound (/var/lib/unbound)"
msgstr "غير ملزم (/var/lib/unbound)"
+#~ msgid "Top 10 Statistics"
+#~ msgstr "أفضل 10 إحصائيات"
+
#~ msgid "Disable DNS Restarts"
#~ msgstr "تعطيل إعادة بدء DNS"
msgid ""
msgstr ""
-"PO-Revision-Date: 2022-05-07 19:19+0000\n"
+"PO-Revision-Date: 2022-10-18 21:23+0000\n"
"Last-Translator: drax red <drax@outlook.dk>\n"
"Language-Team: Danish <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsadblock/da/>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.12.1\n"
+"X-Generator: Weblate 4.15-dev\n"
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:272
msgid "Action"
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:348
msgid "Top Statistics"
-msgstr ""
+msgstr "Topstatistik"
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:519
msgid "Topic for adblock notification E-Mails."
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:150
msgid "max. top statistics"
-msgstr ""
+msgstr "max. topstatistik"
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:424
msgid "raw (/tmp)"
msgid ""
msgstr ""
-"PO-Revision-Date: 2022-02-26 03:55+0000\n"
+"PO-Revision-Date: 2022-10-22 18:07+0000\n"
"Last-Translator: ssantos <ssantos@web.de>\n"
"Language-Team: German <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsadblock/de/>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.11.1-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:272
msgid "Action"
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:348
msgid "Top Statistics"
-msgstr ""
+msgstr "Top-Statistiken"
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:519
msgid "Topic for adblock notification E-Mails."
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:150
msgid "max. top statistics"
-msgstr ""
+msgstr "Max. Top-Statistiken"
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:424
msgid "raw (/tmp)"
msgid ""
msgstr ""
-"PO-Revision-Date: 2022-10-03 08:34+0000\n"
+"PO-Revision-Date: 2022-10-23 17:26+0000\n"
"Last-Translator: TakissX <pxatzidakis@gmail.com>\n"
"Language-Team: Greek <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsadblock/el/>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.14.1\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:272
msgid "Action"
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:40
msgid "Adblock action"
-msgstr ""
+msgstr "Δράση αντιδιαφημιστικού"
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:11
msgid "Add Blacklist Domain"
-msgstr ""
+msgstr "Προσθήκη τομέα μαύρης λίστας"
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:46
msgid "Add Whitelist Domain"
-msgstr ""
+msgstr "Προσθήκη τομέα στη λίστα επιτρεπόμενων"
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:12
msgid "Add this (sub-)domain to your local blacklist."
-msgstr ""
+msgstr "Προσθέστε αυτόν τον (υπο)τομέα στην τοπική σας μαύρη λίστα."
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:47
msgid "Add this (sub-)domain to your local whitelist."
-msgstr ""
+msgstr "Προσθέστε αυτόν τον (υπο)τομέα στην τοπική σας λίστα επιτρεπόμενων."
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:470
msgid "Additional Jail Blocklist"
-msgstr ""
+msgstr "Πρόσθετος κατάλογος αποκλεισμού"
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:300
msgid "Additional Settings"
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-04-05 19:06+0000\n"
-"Last-Translator: Lanchon <lanchon@gmail.com>\n"
+"PO-Revision-Date: 2022-10-21 05:07+0000\n"
+"Last-Translator: Franco Castillo <castillofrancodamian@gmail.com>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsadblock/es/>\n"
"Language: es\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.12-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:272
msgid "Action"
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:348
msgid "Top Statistics"
-msgstr ""
+msgstr "Estadísticas principales"
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:519
msgid "Topic for adblock notification E-Mails."
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:150
msgid "max. top statistics"
-msgstr ""
+msgstr "máx. estadísticas principales"
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:424
msgid "raw (/tmp)"
msgid ""
msgstr ""
-"PO-Revision-Date: 2022-07-31 13:17+0000\n"
-"Last-Translator: Christophe Blancon <christophe.blancon@gmail.com>\n"
+"PO-Revision-Date: 2022-10-23 17:26+0000\n"
+"Last-Translator: Amaury <y0da@live.fr>\n"
"Language-Team: French <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsadblock/fr/>\n"
"Language: fr\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.14-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:272
msgid "Action"
"de mise à jour automatique de ces listes."
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:348
+#, fuzzy
msgid "Top Statistics"
-msgstr ""
+msgstr "Principales statistiques"
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:519
msgid "Topic for adblock notification E-Mails."
msgid ""
msgstr ""
-"PO-Revision-Date: 2022-05-10 19:15+0000\n"
+"PO-Revision-Date: 2022-10-18 21:23+0000\n"
"Last-Translator: Matthaiks <kitynska@gmail.com>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsadblock/pl/>\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.12.1\n"
+"X-Generator: Weblate 4.15-dev\n"
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:272
msgid "Action"
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:348
msgid "Top Statistics"
-msgstr ""
+msgstr "Statystyki czołówek"
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:519
msgid "Topic for adblock notification E-Mails."
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:150
msgid "max. top statistics"
-msgstr ""
+msgstr "maks. statystyki czołówek"
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:424
msgid "raw (/tmp)"
msgid ""
msgstr ""
-"PO-Revision-Date: 2022-02-10 19:45+0000\n"
+"PO-Revision-Date: 2022-10-22 18:07+0000\n"
"Last-Translator: ssantos <ssantos@web.de>\n"
"Language-Team: Portuguese <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsadblock/pt/>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.11-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:272
msgid "Action"
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:348
msgid "Top Statistics"
-msgstr ""
+msgstr "Estatísticas principais"
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:519
msgid "Topic for adblock notification E-Mails."
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:150
msgid "max. top statistics"
-msgstr ""
+msgstr "estatísticas principais max."
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:424
msgid "raw (/tmp)"
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-02-10 14:24+0000\n"
+"PO-Revision-Date: 2022-10-19 10:29+0000\n"
"Last-Translator: Wellington Terumi Uemura <wellingtonuemura@gmail.com>\n"
"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
"openwrt/luciapplicationsadblock/pt_BR/>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.11-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:272
msgid "Action"
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:348
msgid "Top Statistics"
-msgstr ""
+msgstr "Principais estatísticas"
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:519
msgid "Topic for adblock notification E-Mails."
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:150
msgid "max. top statistics"
-msgstr ""
+msgstr "principais estatísticas máx."
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:424
msgid "raw (/tmp)"
msgid ""
msgstr ""
-"PO-Revision-Date: 2022-02-18 20:58+0000\n"
-"Last-Translator: Oğuz Ersen <oguzersen@protonmail.com>\n"
+"PO-Revision-Date: 2022-10-23 19:52+0000\n"
+"Last-Translator: semih <semiht@gmail.com>\n"
"Language-Team: Turkish <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsadblock/tr/>\n"
"Language: tr\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.11-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:272
msgid "Action"
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:348
msgid "Top Statistics"
-msgstr ""
+msgstr "En İyi İstatistikler"
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:519
msgid "Topic for adblock notification E-Mails."
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:150
msgid "max. top statistics"
-msgstr ""
+msgstr "maks. en iyi istatistikler"
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:424
msgid "raw (/tmp)"
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-06-23 07:20+0000\n"
-"Last-Translator: MkQtS <onewordwrong@aliyun.com>\n"
+"PO-Revision-Date: 2022-10-19 06:39+0000\n"
+"Last-Translator: Eric <hamburger1024@mailbox.org>\n"
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
"openwrt/luciapplicationsadblock/zh_Hans/>\n"
"Language: zh_Hans\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.13.1-dev\n"
+"X-Generator: Weblate 4.15-dev\n"
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:272
msgid "Action"
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:348
msgid "Top Statistics"
-msgstr ""
+msgstr "热门统计"
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:519
msgid "Topic for adblock notification E-Mails."
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/dnsreport.js:150
msgid "max. top statistics"
-msgstr ""
+msgstr "max. top statistics"
#: applications/luci-app-adblock/htdocs/luci-static/resources/view/adblock/overview.js:424
msgid "raw (/tmp)"
msgid ""
msgstr ""
-"PO-Revision-Date: 2021-03-10 04:35+0000\n"
-"Last-Translator: Said Zakaria <said.zakaria@gmail.com>\n"
+"PO-Revision-Date: 2022-10-22 18:07+0000\n"
+"Last-Translator: Abdullah AlShaikh <abdullah@alshai5.com>\n"
"Language-Team: Arabic <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsaria2/ar/>\n"
"Language: ar\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
-"X-Generator: Weblate 4.5.2-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: applications/luci-app-aria2/htdocs/luci-static/resources/view/aria2/config.js:433
msgid "<abbr title=\"Local Peer Discovery\">LPD</abbr> enabled"
-msgstr ""
+msgstr "<abbr title=\"Local Peer Discovery\">LPD</abbr> مفعّل"
#: applications/luci-app-aria2/htdocs/luci-static/resources/view/aria2/config.js:551
msgid "Additional BT tracker"
#: applications/luci-app-aria2/htdocs/luci-static/resources/view/aria2/config.js:585
msgid ""
"Specify file allocation method. If you are using newer file systems such as "
-"ext4 (with extents support), btrfs, xfs or NTFS (MinGW build only), "
-"\"falloc\" is your best choice. It allocates large(few GiB) files almost "
-"instantly, but it may not be available if your system doesn't have "
-"posix_fallocate(3) function. Don't use \"falloc\" with legacy file systems "
-"such as ext3 and FAT32 because it takes almost same time as \"prealloc\" and "
-"it blocks aria2 entirely until allocation finishes."
+"ext4 (with extents support), btrfs, xfs or NTFS (MinGW build only), \"falloc"
+"\" is your best choice. It allocates large(few GiB) files almost instantly, "
+"but it may not be available if your system doesn't have posix_fallocate(3) "
+"function. Don't use \"falloc\" with legacy file systems such as ext3 and "
+"FAT32 because it takes almost same time as \"prealloc\" and it blocks aria2 "
+"entirely until allocation finishes."
msgstr ""
#: applications/luci-app-aria2/htdocs/luci-static/resources/view/aria2/config.js:505
msgid ""
msgstr ""
-"PO-Revision-Date: 2022-07-01 10:29+0000\n"
-"Last-Translator: Eric <alchemillatruth@purelymail.com>\n"
+"PO-Revision-Date: 2022-10-26 13:13+0000\n"
+"Last-Translator: Byacrya <byacrya@proton.me>\n"
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
"openwrt/luciapplicationsattendedsysupgrade/zh_Hans/>\n"
"Language: zh_Hans\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.13.1-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: applications/luci-app-attendedsysupgrade/htdocs/luci-static/resources/view/attendedsysupgrade/overview.js:63
msgid "10% Received build request"
#: applications/luci-app-attendedsysupgrade/htdocs/luci-static/resources/view/attendedsysupgrade/configuration.js:16
msgid "Address of the sysupgrade server"
-msgstr "系统升级服务器的地址"
+msgstr "系统更新服务器地址"
#: applications/luci-app-attendedsysupgrade/htdocs/luci-static/resources/view/attendedsysupgrade/configuration.js:26
msgid "Advanced Mode"
#: applications/luci-app-attendedsysupgrade/htdocs/luci-static/resources/view/attendedsysupgrade/overview.js:437
#: applications/luci-app-attendedsysupgrade/root/usr/share/luci/menu.d/luci-app-attendedsysupgrade.json:3
msgid "Attended Sysupgrade"
-msgstr "å\8f\82ä¸\8eå¼\8fç³»ç»\9få\8d\87级"
+msgstr "å\80¼å®\88å¼\8fç³»ç»\9fæ\9b´æ\96°"
#: applications/luci-app-attendedsysupgrade/htdocs/luci-static/resources/view/attendedsysupgrade/configuration.js:10
msgid "Attendedsysupgrade Configuration."
-msgstr "Attended系统升级 配置。"
+msgstr "值守式系统更新配置。"
#: applications/luci-app-attendedsysupgrade/htdocs/luci-static/resources/view/attendedsysupgrade/overview.js:374
msgid "Board Name / Profile"
-msgstr "板名称/配置文件"
+msgstr "主板名称/配置"
#: applications/luci-app-attendedsysupgrade/htdocs/luci-static/resources/view/attendedsysupgrade/overview.js:117
msgid "Build Date"
#: applications/luci-app-attendedsysupgrade/htdocs/luci-static/resources/view/attendedsysupgrade/overview.js:306
msgid "Could not reach API at \"%s\". Please try again later."
-msgstr "无法访问位于 “%s” 的 API。请稍后再试。"
+msgstr "无法访问位于 “%s” 的 API,请稍后再试。"
#: applications/luci-app-attendedsysupgrade/htdocs/luci-static/resources/view/attendedsysupgrade/overview.js:381
#: applications/luci-app-attendedsysupgrade/htdocs/luci-static/resources/view/attendedsysupgrade/overview.js:440
msgid "Currently running: %s - %s"
-msgstr "当前运行中:%s - %s"
+msgstr "当前版本:%s - %s"
#: applications/luci-app-attendedsysupgrade/htdocs/luci-static/resources/view/attendedsysupgrade/overview.js:123
msgid "Download firmware image"
#: applications/luci-app-attendedsysupgrade/htdocs/luci-static/resources/view/attendedsysupgrade/overview.js:305
msgid "Error connecting to upgrade server"
-msgstr "连接升级服务器出错"
+msgstr "连接至升级服务器时出错"
#: applications/luci-app-attendedsysupgrade/htdocs/luci-static/resources/view/attendedsysupgrade/overview.js:266
msgid "Error during download of firmware. Please try again"
-msgstr "固件下载出错。请重试"
+msgstr "固件下载出错,请重试"
#: applications/luci-app-attendedsysupgrade/htdocs/luci-static/resources/view/attendedsysupgrade/overview.js:118
msgid "Filename"
#: applications/luci-app-attendedsysupgrade/htdocs/luci-static/resources/view/attendedsysupgrade/overview.js:271
msgid "Installing the sysupgrade. Do not unpower device!"
-msgstr "正在安装 sysupgrade。不要切断电源!"
+msgstr "正在更新系统,请勿切断电源!"
#: applications/luci-app-attendedsysupgrade/htdocs/luci-static/resources/view/attendedsysupgrade/overview.js:270
msgid "Installing..."
#: applications/luci-app-attendedsysupgrade/htdocs/luci-static/resources/view/attendedsysupgrade/overview.js:139
msgid "Keep settings and retain the current configuration"
-msgstr "保持设置并保留当前配置"
+msgstr "保留当前配置"
#: applications/luci-app-attendedsysupgrade/htdocs/luci-static/resources/view/attendedsysupgrade/overview.js:380
msgid "New firmware upgrade available"
-msgstr "有新的固件升级可用"
+msgstr "有新固件版本可供更新"
#: applications/luci-app-attendedsysupgrade/htdocs/luci-static/resources/view/attendedsysupgrade/overview.js:400
msgid "No upgrade available"
#: applications/luci-app-attendedsysupgrade/htdocs/luci-static/resources/view/attendedsysupgrade/overview.js:375
msgid "Packages"
-msgstr "包"
+msgstr "软件包"
#: applications/luci-app-attendedsysupgrade/htdocs/luci-static/resources/view/attendedsysupgrade/overview.js:175
msgid "Please report the error message and request"
#: applications/luci-app-attendedsysupgrade/htdocs/luci-static/resources/view/attendedsysupgrade/overview.js:161
msgid "Queued..."
-msgstr "已排队…"
+msgstr "队列中…"
#: applications/luci-app-attendedsysupgrade/htdocs/luci-static/resources/view/attendedsysupgrade/overview.js:176
msgid "Request Data:"
#: applications/luci-app-attendedsysupgrade/htdocs/luci-static/resources/view/attendedsysupgrade/overview.js:444
msgid "Search for firmware upgrade"
-msgstr "搜索固件升级"
+msgstr "搜索固件更新"
#: applications/luci-app-attendedsysupgrade/htdocs/luci-static/resources/view/attendedsysupgrade/configuration.js:22
msgid "Search for new sysupgrades on opening the tab"
-msgstr "æ\89\93å¼\80æ \87ç¾é¡µæ\97¶æ\90\9cç´¢æ\96°ç\9a\84ç³»ç»\9få\8d\87级"
+msgstr "æ\89\93å¼\80æ¤æ \87ç¾é¡µæ\97¶æ\90\9cç´¢æ\96°ç\9a\84ç³»ç»\9fæ\9b´æ\96°"
#: applications/luci-app-attendedsysupgrade/htdocs/luci-static/resources/view/attendedsysupgrade/configuration.js:21
msgid "Search on opening"
#: applications/luci-app-attendedsysupgrade/htdocs/luci-static/resources/view/attendedsysupgrade/overview.js:299
msgid "Searching for an available sysupgrade of %s - %s"
-msgstr "正在搜索 %s - %s 的可用系统升级"
+msgstr "正在搜索 %s - %s 的可用系统更新"
#: applications/luci-app-attendedsysupgrade/htdocs/luci-static/resources/view/attendedsysupgrade/overview.js:297
msgid "Searching..."
#: applications/luci-app-attendedsysupgrade/htdocs/luci-static/resources/view/attendedsysupgrade/configuration.js:27
msgid "Show advanced options like package list modification"
-msgstr "显示高级选项,如包列表修改"
+msgstr "显示高级选项,如软件包列表更改"
#: applications/luci-app-attendedsysupgrade/htdocs/luci-static/resources/view/attendedsysupgrade/overview.js:152
msgid "Successfully created firmware image"
-msgstr "成功创建了固件镜像"
+msgstr "已成功创建固件镜像"
#: applications/luci-app-attendedsysupgrade/htdocs/luci-static/resources/view/attendedsysupgrade/overview.js:116
msgid "Target"
msgid ""
"The attended sysupgrade service allows to easily upgrade vanilla and custom "
"firmware images."
-msgstr "attended 系统升级服务允许轻松升级 vanilla 和自定义固件镜像。"
+msgstr "值守式系统升级服务可让您轻松升级原版和自定义固件镜像。"
#: applications/luci-app-attendedsysupgrade/htdocs/luci-static/resources/view/attendedsysupgrade/overview.js:401
msgid "The device runs the latest firmware version %s - %s"
-msgstr "此设备运行最新的固件版本 %s - %s"
+msgstr "此设备正运行最新的固件版本 %s - %s"
#: applications/luci-app-attendedsysupgrade/htdocs/luci-static/resources/view/attendedsysupgrade/overview.js:439
msgid ""
"This is done by building a new firmware on demand via an online service."
-msgstr "这是通过在线服务按需构建新的固件来实现的。"
+msgstr "这是通过按需构建新固件的在线服务来实现的。"
#: applications/luci-app-attendedsysupgrade/htdocs/luci-static/resources/view/attendedsysupgrade/overview.js:253
msgid "Uploading firmware from browser to device"
msgid ""
msgstr ""
-"PO-Revision-Date: 2021-03-08 13:04+0000\n"
-"Last-Translator: Said Zakaria <said.zakaria@gmail.com>\n"
+"PO-Revision-Date: 2022-10-22 18:07+0000\n"
+"Last-Translator: Abdullah AlShaikh <abdullah@alshai5.com>\n"
"Language-Team: Arabic <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsbmx7/ar/>\n"
"Language: ar\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
-"X-Generator: Weblate 4.5.1\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/tunnels_j.htm:33
msgid "Announcements"
-msgstr ""
+msgstr "الإعلانات"
#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:27
msgid "BMX7 revision"
include $(TOPDIR)/rules.mk
LUCI_TITLE:=LuCI Shell Command Module
-LUCI_DEPENDS:=+luci-compat
PKG_LICENSE:=Apache-2.0
--- /dev/null
+'use strict';
+
+'require view';
+'require form';
+
+return view.extend({
+ render: function(data) {
+ var m, s, o;
+
+ m = new form.Map('luci', _('Custom Commands'),
+ _('This page allows you to configure custom shell commands which can be easily invoked from the web interface.'));
+
+ s = m.section(form.GridSection, 'command');
+ s.nodescriptions = true;
+ s.anonymous = true;
+ s.addremove = true;
+
+ o = s.option(form.Value, 'name', _('Description'),
+ _('A short textual description of the configured command'));
+
+ o = s.option(form.Value, 'command', _('Command'), _('Command line to execute'));
+ o.textvalue = function(section_id) {
+ return E('code', [ this.cfgvalue(section_id) ]);
+ };
+
+ o = s.option(form.Flag, 'param', _('Custom arguments'),
+ _('Allow the user to provide additional command line arguments'));
+
+ o = s.option(form.Flag, 'public', _('Public access'),
+ _('Allow executing the command and downloading its output without prior authentication'));
+
+ return m.render();
+ }
+});
+++ /dev/null
--- Copyright 2012 Jo-Philipp Wich <jow@openwrt.org>
--- Licensed to the public under the Apache License 2.0.
-
-module("luci.controller.commands", package.seeall)
-
-function index()
- entry({"admin", "system", "commands"}, firstchild(), _("Custom Commands"), 80).acl_depends = { "luci-app-commands" }
- entry({"admin", "system", "commands", "dashboard"}, template("commands"), _("Dashboard"), 1)
- entry({"admin", "system", "commands", "config"}, cbi("commands"), _("Configure"), 2)
- entry({"admin", "system", "commands", "run"}, call("action_run"), nil, 3).leaf = true
- entry({"admin", "system", "commands", "download"}, call("action_download"), nil, 3).leaf = true
-
- entry({"command"}, call("action_public"), nil, 1).leaf = true
-end
-
---- Decode a given string into arguments following shell quoting rules
---- [[abc \def "foo\"bar" abc'def']] -> [[abc def]] [[foo"bar]] [[abcdef]]
-local function parse_args(str)
- local args = { }
-
- local function isspace(c)
- if c == 9 or c == 10 or c == 11 or c == 12 or c == 13 or c == 32 then
- return c
- end
- end
-
- local function isquote(c)
- if c == 34 or c == 39 or c == 96 then
- return c
- end
- end
-
- local function isescape(c)
- if c == 92 then
- return c
- end
- end
-
- local function ismeta(c)
- if c == 36 or c == 92 or c == 96 then
- return c
- end
- end
-
- --- Convert given table of byte values into a Lua string and append it to
- --- the "args" table. Segment byte value sequence into chunks of 256 values
- --- to not trip over the parameter limit for string.char()
- local function putstr(bytes)
- local chunks = { }
- local csz = 256
- local upk = unpack
- local chr = string.char
- local min = math.min
- local len = #bytes
- local off
-
- for off = 1, len, csz do
- chunks[#chunks+1] = chr(upk(bytes, off, min(off + csz - 1, len)))
- end
-
- args[#args+1] = table.concat(chunks)
- end
-
- --- Scan substring defined by the indexes [s, e] of the string "str",
- --- perform unquoting and de-escaping on the fly and store the result in
- --- a table of byte values which is passed to putstr()
- local function unquote(s, e)
- local off, esc, quote
- local res = { }
-
- for off = s, e do
- local byte = str:byte(off)
- local q = isquote(byte)
- local e = isescape(byte)
- local m = ismeta(byte)
-
- if e then
- esc = true
- elseif esc then
- if m then res[#res+1] = 92 end
- res[#res+1] = byte
- esc = false
- elseif q and quote and q == quote then
- quote = nil
- elseif q and not quote then
- quote = q
- else
- if m then res[#res+1] = 92 end
- res[#res+1] = byte
- end
- end
-
- putstr(res)
- end
-
- --- Find substring boundaries in "str". Ignore escaped or quoted
- --- whitespace, pass found start- and end-index for each substring
- --- to unquote()
- local off, esc, start, quote
- for off = 1, #str + 1 do
- local byte = str:byte(off)
- local q = isquote(byte)
- local s = isspace(byte) or (off > #str)
- local e = isescape(byte)
-
- if esc then
- esc = false
- elseif e then
- esc = true
- elseif q and quote and q == quote then
- quote = nil
- elseif q and not quote then
- start = start or off
- quote = q
- elseif s and not quote then
- if start then
- unquote(start, off - 1)
- start = nil
- end
- else
- start = start or off
- end
- end
-
- --- If the "quote" is still set we encountered an unfinished string
- if quote then
- unquote(start, #str)
- end
-
- return args
-end
-
-local function parse_cmdline(cmdid, args)
- local uci = require "luci.model.uci".cursor()
- if uci:get("luci", cmdid) == "command" then
- local cmd = uci:get_all("luci", cmdid)
- local argv = parse_args(cmd.command)
- local i, v
-
- if cmd.param == "1" and args then
- for i, v in ipairs(parse_args(luci.http.urldecode(args))) do
- argv[#argv+1] = v
- end
- end
-
- for i, v in ipairs(argv) do
- if v:match("[^%w%.%-i/|]") then
- argv[i] = '"%s"' % v:gsub('"', '\\"')
- end
- end
-
- return argv
- end
-end
-
-function execute_command(callback, ...)
- local fs = require "nixio.fs"
- local argv = parse_cmdline(...)
- if argv then
- local outfile = os.tmpname()
- local errfile = os.tmpname()
-
- local rv = os.execute(table.concat(argv, " ") .. " >%s 2>%s" %{ outfile, errfile })
- local stdout = fs.readfile(outfile, 1024 * 512) or ""
- local stderr = fs.readfile(errfile, 1024 * 512) or ""
-
- fs.unlink(outfile)
- fs.unlink(errfile)
-
- local binary = not not (stdout:match("[%z\1-\8\14-\31]"))
-
- callback({
- ok = true,
- command = table.concat(argv, " "),
- stdout = not binary and stdout,
- stderr = stderr,
- exitcode = rv,
- binary = binary
- })
- else
- callback({
- ok = false,
- code = 404,
- reason = "No such command"
- })
- end
-end
-
-function return_json(result)
- if result.ok then
- luci.http.prepare_content("application/json")
- luci.http.write_json(result)
- else
- luci.http.status(result.code, result.reason)
- end
-end
-
-function action_run(...)
- execute_command(return_json, ...)
-end
-
-function return_html(result)
- if result.ok then
- require("luci.template")
- luci.template.render("commands_public", {
- exitcode = result.exitcode,
- stdout = result.stdout,
- stderr = result.stderr
- })
- else
- luci.http.status(result.code, result.reason)
- end
-
-end
-
-function action_download(...)
- local fs = require "nixio.fs"
- local argv = parse_cmdline(...)
- if argv then
- local fd = io.popen(table.concat(argv, " ") .. " 2>/dev/null")
- if fd then
- local chunk = fd:read(4096) or ""
- local name
- if chunk:match("[%z\1-\8\14-\31]") then
- luci.http.header("Content-Disposition", "attachment; filename=%s"
- % fs.basename(argv[1]):gsub("%W+", ".") .. ".bin")
- luci.http.prepare_content("application/octet-stream")
- else
- luci.http.header("Content-Disposition", "attachment; filename=%s"
- % fs.basename(argv[1]):gsub("%W+", ".") .. ".txt")
- luci.http.prepare_content("text/plain")
- end
-
- while chunk do
- luci.http.write(chunk)
- chunk = fd:read(4096)
- end
-
- fd:close()
- else
- luci.http.status(500, "Failed to execute command")
- end
- else
- luci.http.status(404, "No such command")
- end
-end
-
-
-function action_public(cmdid, args)
- local disp = false
- if string.sub(cmdid, -1) == "s" then
- disp = true
- cmdid = string.sub(cmdid, 1, -2)
- end
- local uci = require "luci.model.uci".cursor()
- if cmdid and
- uci:get("luci", cmdid) == "command" and
- uci:get("luci", cmdid, "public") == "1"
- then
- if disp then
- execute_command(return_html, cmdid, args)
- else
- action_download(cmdid, args)
- end
- else
- luci.http.status(403, "Access to command denied")
- end
- end
+++ /dev/null
--- Copyright 2012 Jo-Philipp Wich <jow@openwrt.org>
--- Licensed to the public under the Apache License 2.0.
-
-local m, s
-
-m = Map("luci", translate("Custom Commands"),
- translate("This page allows you to configure custom shell commands which can be easily invoked from the web interface."))
-
-s = m:section(TypedSection, "command", "")
-s.template = "cbi/tblsection"
-s.anonymous = true
-s.addremove = true
-
-
-s:option(Value, "name", translate("Description"),
- translate("A short textual description of the configured command"))
-
-s:option(Value, "command", translate("Command"),
- translate("Command line to execute"))
-
-s:option(Flag, "param", translate("Custom arguments"),
- translate("Allow the user to provide additional command line arguments"))
-
-s:option(Flag, "public", translate("Public access"),
- translate("Allow executing the command and downloading its output without prior authentication"))
-
-return m
+++ /dev/null
-<%#
- Copyright 2012 Jo-Philipp Wich <jow@openwrt.org>
- Licensed to the public under the Apache License 2.0.
--%>
-
-<% css = [[
-
-.commandbox {
- height: 12em;
- width: 30%;
- float: left;
- height: 12em;
- margin: 5px;
- position: relative;
-}
-
-.commandbox h3 {
- font-size: 1.5em !important;
- line-height: 2em !important;
- margin: 0 !important;
-}
-
-.commandbox input[type="text"] {
- width: 50% !important;
-}
-
-.commandbox div {
- position: absolute;
- left: 0;
- bottom: 1.5em;
-}
-
-]] -%>
-
-<%+header%>
-
-<script type="text/javascript">//<![CDATA[
- var stxhr = new XHR();
-
- function command_run(ev, id)
- {
- var args;
- var field = document.getElementById(id);
- if (field)
- args = encodeURIComponent(field.value);
-
- var legend = document.getElementById('command-rc-legend');
- var output = document.getElementById('command-rc-output');
-
- if (legend && output)
- {
- output.innerHTML =
- '<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="vertical-align:middle" /> ' +
- '<%:Waiting for command to complete...%>'
- ;
-
- legend.parentNode.style.display = 'block';
- legend.style.display = 'inline';
-
- stxhr.get('<%=url('admin/system/commands/run')%>/' + id + (args ? '/' + args : ''), null,
- function(x, st)
- {
- if (st)
- {
- if (st.binary)
- st.stdout = '[<%:Binary data not displayed, download instead.%>]';
-
- legend.style.display = 'none';
- output.innerHTML = String.format(
- '<pre><strong># %h\n</strong>%h<span style="color:red">%h</span></pre>' +
- '<div class="alert-message warning">%s (<%:Code:%> %d)</div>',
- st.command, st.stdout, st.stderr,
- (st.exitcode == 0) ? '<%:Command successful%>' : '<%:Command failed%>',
- st.exitcode);
- }
- else
- {
- legend.style.display = 'none';
- output.innerHTML = '<span class="error"><%:Failed to execute command!%></span>';
- }
-
- location.hash = '#output';
- }
- );
- }
-
- ev.preventDefault();
- }
-
- function command_download(ev, id)
- {
- var args;
- var field = document.getElementById(id);
- if (field)
- args = encodeURIComponent(field.value);
-
- location.href = '<%=url('admin/system/commands/download')%>/' + id + (args ? '/' + args : '');
-
- ev.preventDefault();
- }
-
- function command_link(ev, id)
- {
- var legend = document.getElementById('command-rc-legend');
- var output = document.getElementById('command-rc-output');
-
- var args;
- var field = document.getElementById(id);
- if (field)
- args = encodeURIComponent(field.value);
-
- if (legend && output)
- {
- var prefix = location.protocol + '//' + location.host + '<%=url('command')%>/';
- var suffix = (args ? '/' + args : '');
-
- var link = prefix + id + suffix;
- var link_nodownload = prefix + id + "s" + suffix;
-
- legend.style.display = 'none';
- output.parentNode.style.display = 'block';
- output.innerHTML = String.format(
- '<div class="alert-message"><p><%:Download execution result%> <a href="%s">%s</a></p><p><%:Or display result%> <a href="%s">%s</a></p></div>',
- link, link, link_nodownload, link_nodownload
- );
-
- location.hash = '#output';
- }
-
- ev.preventDefault();
- }
-
-//]]></script>
-
-<%
- local uci = require "luci.model.uci".cursor()
- local commands = { }
-
- uci:foreach("luci", "command", function(s) commands[#commands+1] = s end)
-%>
-
-<form method="get" action="<%=pcdata(FULL_REQUEST_URI)%>">
- <div class="cbi-map">
- <h2 name="content"><%:Custom Commands%></h2>
- <% if #commands == 0 then %>
- <div class="cbi-section">
- <div class="table cbi-section-table">
- <div class="tr cbi-section-table-row">
- <p>
- <em><%:This section contains no values yet%></em>
- </p>
- </div>
- </div>
- </div>
- <% else %>
- <fieldset class="cbi-section">
- <% local _, command; for _, command in ipairs(commands) do %>
- <div class="commandbox">
- <h3><%=pcdata(command.name)%></h3>
- <p><%:Command:%> <code><%=pcdata(command.command)%></code></p>
- <% if command.param == "1" then %>
- <p><%:Arguments:%> <input type="text" id="<%=command['.name']%>" /></p>
- <% end %>
- <div>
- <button class="cbi-button cbi-button-apply" onclick="command_run(event, '<%=command['.name']%>')"><%:Run%></button>
- <button class="cbi-button cbi-button-download" onclick="command_download(event, '<%=command['.name']%>')"><%:Download%></button>
- <% if command.public == "1" then %>
- <button class="cbi-button cbi-button-link" onclick="command_link(event, '<%=command['.name']%>')"><%:Link%></button>
- <% end %>
- </div>
- </div>
- <% end %>
-
- <br style="clear:both" /><br />
- <a name="output"></a>
- </fieldset>
- <% end %>
-
- </div>
-
- <fieldset class="cbi-section" style="display:none">
- <legend id="command-rc-legend"><%:Collecting data...%></legend>
- <span id="command-rc-output"></span>
- </fieldset>
-</form>
-
-<%+footer%>
+++ /dev/null
-<%#
- Copyright 2016 t123yh <t123yh@outlook.com>
- Licensed to the public under the Apache License 2.0.
--%>
-
-<% css = [[
-.alert-success {
- color: #3c763d;
- background-color: #dff0d8;
- border-color: #d6e9c6;
-}
-
-.alert {
- padding: 15px;
- margin-bottom: 20px;
- border: 1px solid transparent;
- border-radius: 4px;
-}
-
-.alert-warning {
- color: #8a6d3b;
- background-color: #fcf8e3;
- border-color: #faebcc;
-}
-]] -%>
-
-<%+header%>
-
-<% if exitcode == 0 then %>
- <div class="alert alert-success" role="alert"> <%:Command executed successfully.%> </div>
-<% else %>
- <div class="alert alert-warning" role="alert"> <%:Command exited with status code %> <%= exitcode %> </div>
-<% end %>
-
-<% if stdout ~= "" then %>
- <h3><%:Standard Output%></h3>
- <pre><%= stdout %></pre>
-<% end %>
-
-<% if stderr ~= "" then %>
- <h3><%:Standard Error%></h3>
- <pre><%= stderr %></pre>
-<% end %>
-
-<script>
- <%# Display top bar on mobile devices -%>
- document.getElementsByClassName('brand')[0].style.setProperty("display", "block", "important");
-</script>
-
-<%+footer%>
\ No newline at end of file
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
"X-Generator: Weblate 4.2-dev\n"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:16
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:19
msgid "A short textual description of the configured command"
msgstr "وصف نصي قصير للأمر الذي تم تكوينه"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:25
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:30
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
msgstr "السماح بتنفيذ الأمر وتنزيل إخراجه دون مصادقة مسبقة"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:22
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:27
msgid "Allow the user to provide additional command line arguments"
msgstr "السماح للمستخدم بتقديم وسيطات سطر أوامر إضافية"
-#: applications/luci-app-commands/luasrc/view/commands.htm:162
+#: applications/luci-app-commands/ucode/template/commands.ut:156
msgid "Arguments:"
msgstr "الحجج:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:66
+#: applications/luci-app-commands/ucode/template/commands.ut:60
msgid "Binary data not displayed, download instead."
msgstr "البيانات الثنائية غير معروضة، قم بتنزيلها بدلاً من ذلك."
-#: applications/luci-app-commands/luasrc/view/commands.htm:71
+#: applications/luci-app-commands/ucode/template/commands.ut:65
msgid "Code:"
msgstr "الكود:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:182
+#: applications/luci-app-commands/ucode/template/commands.ut:174
msgid "Collecting data..."
msgstr "جمع البيانات..."
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:18
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command"
msgstr "أمر"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:30
+#: applications/luci-app-commands/ucode/template/commands_public.ut:32
msgid "Command executed successfully."
msgstr "تم تنفيذ الأمر بنجاح."
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:32
-msgid "Command exited with status code"
-msgstr "تم إنهاء الأمر برمز الحالة"
+#: applications/luci-app-commands/ucode/template/commands_public.ut:34
+msgid "Command exited with status code %d"
+msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command failed"
msgstr "فشل الأمر"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:19
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command line to execute"
msgstr "سطر الأوامر للتنفيذ"
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command successful"
msgstr "الأمر ناجح"
-#: applications/luci-app-commands/luasrc/view/commands.htm:160
+#: applications/luci-app-commands/ucode/template/commands.ut:154
msgid "Command:"
msgstr "الأمر:"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:9
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:23
msgid "Configure"
msgstr "تكوين"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:7
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:6
-#: applications/luci-app-commands/luasrc/view/commands.htm:144
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:10
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:3
+#: applications/luci-app-commands/ucode/template/commands.ut:137
msgid "Custom Commands"
msgstr "أوامر مخصصة"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:21
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:26
msgid "Custom arguments"
msgstr "الحجج المخصصة"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:8
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:14
msgid "Dashboard"
msgstr "لوحة المعلومات"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:15
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:18
msgid "Description"
msgstr "الوصف"
-#: applications/luci-app-commands/luasrc/view/commands.htm:166
+#: applications/luci-app-commands/ucode/template/commands.ut:160
msgid "Download"
msgstr "تنزيل"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Download execution result"
msgstr "تحميل نتيجة التنفيذ"
-#: applications/luci-app-commands/luasrc/view/commands.htm:79
+#: applications/luci-app-commands/ucode/template/commands.ut:73
msgid "Failed to execute command!"
msgstr "فشل في تنفيذ الأمر!"
msgid "Grant UCI access for luci-app-commands"
msgstr "امنح UCI حق الوصول إلى luci-app-wifischedule"
-#: applications/luci-app-commands/luasrc/view/commands.htm:168
+#: applications/luci-app-commands/ucode/template/commands.ut:162
msgid "Link"
msgstr "رابط"
-#: applications/luci-app-commands/luasrc/view/commands.htm:53
+#: applications/luci-app-commands/ucode/template/commands.ut:47
msgid "Loading"
msgstr "جار التحميل"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Or display result"
msgstr "أو عرض النتيجة"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:24
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:29
msgid "Public access"
msgstr "وصول عام"
-#: applications/luci-app-commands/luasrc/view/commands.htm:165
+#: applications/luci-app-commands/ucode/template/commands.ut:159
msgid "Run"
msgstr "شغل"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:41
+#: applications/luci-app-commands/ucode/template/commands_public.ut:44
msgid "Standard Error"
msgstr "خطأ تقليدي"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:36
+#: applications/luci-app-commands/ucode/template/commands_public.ut:39
msgid "Standard Output"
msgstr "الإخراج القياسي"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:7
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:11
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
"تتيح لك هذه الصفحة تكوين أوامر shell مخصصة يمكن استدعاؤها بسهولة من واجهة "
"الويب."
-#: applications/luci-app-commands/luasrc/view/commands.htm:150
+#: applications/luci-app-commands/ucode/template/commands.ut:144
msgid "This section contains no values yet"
msgstr "لا يحتوي هذا القسم على قيم حتى الآن"
-#: applications/luci-app-commands/luasrc/view/commands.htm:54
+#: applications/luci-app-commands/ucode/template/commands.ut:48
msgid "Waiting for command to complete..."
msgstr "في انتظار اكتمال الأمر ..."
+#~ msgid "Command exited with status code"
+#~ msgstr "تم إنهاء الأمر برمز الحالة"
+
#~ msgid "Command exited with status code "
#~ msgstr "Command exited with status code "
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.8.1-dev\n"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:16
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:19
msgid "A short textual description of the configured command"
msgstr "Кратко текстово описание на конфигурираната команда"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:25
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:30
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
msgstr ""
"Позволяване изпълнение на командата и сваляне на аутпута й без аутентикация"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:22
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:27
msgid "Allow the user to provide additional command line arguments"
msgstr "Позволи на потребителя да въведе допълнителни командни аргументи"
-#: applications/luci-app-commands/luasrc/view/commands.htm:162
+#: applications/luci-app-commands/ucode/template/commands.ut:156
msgid "Arguments:"
msgstr "Аргументи:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:66
+#: applications/luci-app-commands/ucode/template/commands.ut:60
msgid "Binary data not displayed, download instead."
msgstr "Бинарни данни не са показани, свалете ги вместо това."
-#: applications/luci-app-commands/luasrc/view/commands.htm:71
+#: applications/luci-app-commands/ucode/template/commands.ut:65
msgid "Code:"
msgstr "Код:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:182
+#: applications/luci-app-commands/ucode/template/commands.ut:174
msgid "Collecting data..."
msgstr "Събиране данни..."
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:18
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command"
msgstr "Команда"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:30
+#: applications/luci-app-commands/ucode/template/commands_public.ut:32
msgid "Command executed successfully."
msgstr "Командата е изпълнена успешно."
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:32
-msgid "Command exited with status code"
-msgstr "Командата приключи с код"
+#: applications/luci-app-commands/ucode/template/commands_public.ut:34
+msgid "Command exited with status code %d"
+msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command failed"
msgstr "Командата се провали"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:19
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command line to execute"
msgstr "Команден ред за изпълнение"
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command successful"
msgstr "Успешна команда"
-#: applications/luci-app-commands/luasrc/view/commands.htm:160
+#: applications/luci-app-commands/ucode/template/commands.ut:154
msgid "Command:"
msgstr "Команда:"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:9
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:23
msgid "Configure"
msgstr "Конфигурирай"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:7
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:6
-#: applications/luci-app-commands/luasrc/view/commands.htm:144
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:10
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:3
+#: applications/luci-app-commands/ucode/template/commands.ut:137
msgid "Custom Commands"
msgstr "Персонализирани команди"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:21
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:26
msgid "Custom arguments"
msgstr "Персонализирани аргументи"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:8
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:14
msgid "Dashboard"
msgstr "Табло"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:15
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:18
msgid "Description"
msgstr "Описание"
-#: applications/luci-app-commands/luasrc/view/commands.htm:166
+#: applications/luci-app-commands/ucode/template/commands.ut:160
msgid "Download"
msgstr "Сваляне"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Download execution result"
msgstr "Сваляне резултат от изпълнение"
-#: applications/luci-app-commands/luasrc/view/commands.htm:79
+#: applications/luci-app-commands/ucode/template/commands.ut:73
msgid "Failed to execute command!"
msgstr "Провалено изпълнение на команда!"
msgid "Grant UCI access for luci-app-commands"
msgstr "Разреши UCI достъп за luci-app-commands"
-#: applications/luci-app-commands/luasrc/view/commands.htm:168
+#: applications/luci-app-commands/ucode/template/commands.ut:162
msgid "Link"
msgstr "Връзка"
-#: applications/luci-app-commands/luasrc/view/commands.htm:53
+#: applications/luci-app-commands/ucode/template/commands.ut:47
msgid "Loading"
msgstr "Зареждане"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Or display result"
msgstr "Или покажи резултат"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:24
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:29
msgid "Public access"
msgstr "Публичен достъп"
-#: applications/luci-app-commands/luasrc/view/commands.htm:165
+#: applications/luci-app-commands/ucode/template/commands.ut:159
msgid "Run"
msgstr "Изпълни"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:41
+#: applications/luci-app-commands/ucode/template/commands_public.ut:44
msgid "Standard Error"
msgstr "Стандартна грешка"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:36
+#: applications/luci-app-commands/ucode/template/commands_public.ut:39
msgid "Standard Output"
msgstr "Стандартен аутпут"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:7
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:11
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
"На тази страница можете да настроите персонализирани шел команди, които да "
"извиквате лесно през уеб интерфейса."
-#: applications/luci-app-commands/luasrc/view/commands.htm:150
+#: applications/luci-app-commands/ucode/template/commands.ut:144
msgid "This section contains no values yet"
msgstr "Секцията всеоще не съдържа стойности"
-#: applications/luci-app-commands/luasrc/view/commands.htm:54
+#: applications/luci-app-commands/ucode/template/commands.ut:48
msgid "Waiting for command to complete..."
msgstr "Изчакване командата да приключи..."
+#~ msgid "Command exited with status code"
+#~ msgstr "Командата приключи с код"
+
#~ msgid "Command exited with status code "
#~ msgstr "Command exited with status code "
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.9-dev\n"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:16
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:19
msgid "A short textual description of the configured command"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:25
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:30
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:22
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:27
msgid "Allow the user to provide additional command line arguments"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:162
+#: applications/luci-app-commands/ucode/template/commands.ut:156
msgid "Arguments:"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:66
+#: applications/luci-app-commands/ucode/template/commands.ut:60
msgid "Binary data not displayed, download instead."
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:71
+#: applications/luci-app-commands/ucode/template/commands.ut:65
msgid "Code:"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:182
+#: applications/luci-app-commands/ucode/template/commands.ut:174
msgid "Collecting data..."
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:18
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command"
msgstr "কমান্ড"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:30
+#: applications/luci-app-commands/ucode/template/commands_public.ut:32
msgid "Command executed successfully."
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:32
-msgid "Command exited with status code"
+#: applications/luci-app-commands/ucode/template/commands_public.ut:34
+msgid "Command exited with status code %d"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command failed"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:19
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command line to execute"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command successful"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:160
+#: applications/luci-app-commands/ucode/template/commands.ut:154
msgid "Command:"
msgstr ""
-#: applications/luci-app-commands/luasrc/controller/commands.lua:9
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:23
msgid "Configure"
msgstr ""
-#: applications/luci-app-commands/luasrc/controller/commands.lua:7
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:6
-#: applications/luci-app-commands/luasrc/view/commands.htm:144
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:10
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:3
+#: applications/luci-app-commands/ucode/template/commands.ut:137
msgid "Custom Commands"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:21
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:26
msgid "Custom arguments"
msgstr ""
-#: applications/luci-app-commands/luasrc/controller/commands.lua:8
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:14
msgid "Dashboard"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:15
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:18
msgid "Description"
msgstr "বর্ণনা"
-#: applications/luci-app-commands/luasrc/view/commands.htm:166
+#: applications/luci-app-commands/ucode/template/commands.ut:160
msgid "Download"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Download execution result"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:79
+#: applications/luci-app-commands/ucode/template/commands.ut:73
msgid "Failed to execute command!"
msgstr ""
msgid "Grant UCI access for luci-app-commands"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:168
+#: applications/luci-app-commands/ucode/template/commands.ut:162
msgid "Link"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:53
+#: applications/luci-app-commands/ucode/template/commands.ut:47
msgid "Loading"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Or display result"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:24
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:29
msgid "Public access"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:165
+#: applications/luci-app-commands/ucode/template/commands.ut:159
msgid "Run"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:41
+#: applications/luci-app-commands/ucode/template/commands_public.ut:44
msgid "Standard Error"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:36
+#: applications/luci-app-commands/ucode/template/commands_public.ut:39
msgid "Standard Output"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:7
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:11
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:150
+#: applications/luci-app-commands/ucode/template/commands.ut:144
msgid "This section contains no values yet"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:54
+#: applications/luci-app-commands/ucode/template/commands.ut:48
msgid "Waiting for command to complete..."
msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.9.1-dev\n"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:16
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:19
msgid "A short textual description of the configured command"
msgstr "Una breva descripció textual de l'ordre configurat"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:25
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:30
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
"Permet la execució de l'ordre i la baixada de la seva sortida sense "
"autenticació prèvia"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:22
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:27
msgid "Allow the user to provide additional command line arguments"
msgstr "Permet que l'usuari proveïa paràmetres de línia de consola addicionals"
-#: applications/luci-app-commands/luasrc/view/commands.htm:162
+#: applications/luci-app-commands/ucode/template/commands.ut:156
msgid "Arguments:"
msgstr "Paràmetres:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:66
+#: applications/luci-app-commands/ucode/template/commands.ut:60
msgid "Binary data not displayed, download instead."
msgstr "Els dades binaris no es mostren, descarregueu-los."
-#: applications/luci-app-commands/luasrc/view/commands.htm:71
+#: applications/luci-app-commands/ucode/template/commands.ut:65
msgid "Code:"
msgstr "Codi:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:182
+#: applications/luci-app-commands/ucode/template/commands.ut:174
msgid "Collecting data..."
msgstr "S’estan recollint dades…"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:18
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command"
msgstr "Ordre"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:30
+#: applications/luci-app-commands/ucode/template/commands_public.ut:32
msgid "Command executed successfully."
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:32
-msgid "Command exited with status code"
+#: applications/luci-app-commands/ucode/template/commands_public.ut:34
+msgid "Command exited with status code %d"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command failed"
msgstr "L'ordre ha fallat"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:19
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command line to execute"
msgstr "Línia d'ordre per executar"
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command successful"
msgstr "L'ordre ha tingut èxit"
-#: applications/luci-app-commands/luasrc/view/commands.htm:160
+#: applications/luci-app-commands/ucode/template/commands.ut:154
msgid "Command:"
msgstr "Ordre;"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:9
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:23
msgid "Configure"
msgstr "Configura"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:7
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:6
-#: applications/luci-app-commands/luasrc/view/commands.htm:144
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:10
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:3
+#: applications/luci-app-commands/ucode/template/commands.ut:137
msgid "Custom Commands"
msgstr "Ordres personalitzats"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:21
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:26
msgid "Custom arguments"
msgstr "Paràmetres personalitzats"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:8
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:14
msgid "Dashboard"
msgstr "Panell"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:15
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:18
msgid "Description"
msgstr "Descripció"
-#: applications/luci-app-commands/luasrc/view/commands.htm:166
+#: applications/luci-app-commands/ucode/template/commands.ut:160
msgid "Download"
msgstr "Baixa"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Download execution result"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:79
+#: applications/luci-app-commands/ucode/template/commands.ut:73
msgid "Failed to execute command!"
msgstr "L'execució de l'ordre ha fallat!"
msgid "Grant UCI access for luci-app-commands"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:168
+#: applications/luci-app-commands/ucode/template/commands.ut:162
msgid "Link"
msgstr "Enllaç"
-#: applications/luci-app-commands/luasrc/view/commands.htm:53
+#: applications/luci-app-commands/ucode/template/commands.ut:47
msgid "Loading"
msgstr "S’està carregant"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Or display result"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:24
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:29
msgid "Public access"
msgstr "Accés públic"
-#: applications/luci-app-commands/luasrc/view/commands.htm:165
+#: applications/luci-app-commands/ucode/template/commands.ut:159
msgid "Run"
msgstr "Executa"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:41
+#: applications/luci-app-commands/ucode/template/commands_public.ut:44
msgid "Standard Error"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:36
+#: applications/luci-app-commands/ucode/template/commands_public.ut:39
msgid "Standard Output"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:7
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:11
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
"Aquesta pàgina us permet configurar ordres de consola personalitzats que es "
"poden invocar fàcilment de la interfície web."
-#: applications/luci-app-commands/luasrc/view/commands.htm:150
+#: applications/luci-app-commands/ucode/template/commands.ut:144
msgid "This section contains no values yet"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:54
+#: applications/luci-app-commands/ucode/template/commands.ut:48
msgid "Waiting for command to complete..."
msgstr "S’està esperant que l’ordre s’acabi…"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Weblate 4.9-dev\n"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:16
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:19
msgid "A short textual description of the configured command"
msgstr "Stručný popis nastaveného příkazu"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:25
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:30
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
msgstr "Povolit vykonání příkazu a stažení výstupu bez předchozí autentizace"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:22
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:27
msgid "Allow the user to provide additional command line arguments"
msgstr "Povolit uživateli poskytnout dodatečné argumenty příkazového řádku"
-#: applications/luci-app-commands/luasrc/view/commands.htm:162
+#: applications/luci-app-commands/ucode/template/commands.ut:156
msgid "Arguments:"
msgstr "Argumenty:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:66
+#: applications/luci-app-commands/ucode/template/commands.ut:60
msgid "Binary data not displayed, download instead."
msgstr "Binární data nezobrazena, stáhněte si je."
-#: applications/luci-app-commands/luasrc/view/commands.htm:71
+#: applications/luci-app-commands/ucode/template/commands.ut:65
msgid "Code:"
msgstr "Kód:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:182
+#: applications/luci-app-commands/ucode/template/commands.ut:174
msgid "Collecting data..."
msgstr "Shromažďování údajů…"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:18
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command"
msgstr "Příkaz"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:30
+#: applications/luci-app-commands/ucode/template/commands_public.ut:32
msgid "Command executed successfully."
msgstr "Příkaz byl úspěšně proveden."
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:32
-msgid "Command exited with status code"
-msgstr "Příkaz byl ukončen se stavovým kódem"
+#: applications/luci-app-commands/ucode/template/commands_public.ut:34
+msgid "Command exited with status code %d"
+msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command failed"
msgstr "Vykonání příkazu se nezdařilo"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:19
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command line to execute"
msgstr "Příkazový řádek k vykonání"
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command successful"
msgstr "Příkaz byl úspěšný"
-#: applications/luci-app-commands/luasrc/view/commands.htm:160
+#: applications/luci-app-commands/ucode/template/commands.ut:154
msgid "Command:"
msgstr "Příkaz:"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:9
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:23
msgid "Configure"
msgstr "Konfigurovat"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:7
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:6
-#: applications/luci-app-commands/luasrc/view/commands.htm:144
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:10
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:3
+#: applications/luci-app-commands/ucode/template/commands.ut:137
msgid "Custom Commands"
msgstr "Vlastní příkazy"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:21
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:26
msgid "Custom arguments"
msgstr "Vlastní parametry"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:8
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:14
msgid "Dashboard"
msgstr "Řídicí panel"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:15
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:18
msgid "Description"
msgstr "Popis"
-#: applications/luci-app-commands/luasrc/view/commands.htm:166
+#: applications/luci-app-commands/ucode/template/commands.ut:160
msgid "Download"
msgstr "Stáhnout"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Download execution result"
msgstr "Stáhnout výsledek spuštění"
-#: applications/luci-app-commands/luasrc/view/commands.htm:79
+#: applications/luci-app-commands/ucode/template/commands.ut:73
msgid "Failed to execute command!"
msgstr "Chyba při zpracování příkazu!"
msgid "Grant UCI access for luci-app-commands"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:168
+#: applications/luci-app-commands/ucode/template/commands.ut:162
msgid "Link"
msgstr "Odkaz"
-#: applications/luci-app-commands/luasrc/view/commands.htm:53
+#: applications/luci-app-commands/ucode/template/commands.ut:47
msgid "Loading"
msgstr "Načítání"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Or display result"
msgstr "Nebo zobrazit výsledek"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:24
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:29
msgid "Public access"
msgstr "Veřejný přístup"
-#: applications/luci-app-commands/luasrc/view/commands.htm:165
+#: applications/luci-app-commands/ucode/template/commands.ut:159
msgid "Run"
msgstr "Spustit"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:41
+#: applications/luci-app-commands/ucode/template/commands_public.ut:44
msgid "Standard Error"
msgstr "Standardní chybový výstup"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:36
+#: applications/luci-app-commands/ucode/template/commands_public.ut:39
msgid "Standard Output"
msgstr "Standardní výstup"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:7
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:11
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
"Tato stránka umožňuje nastavit vlastní příkazy shellu, které lze snadno "
"vyvolat z webového rozhraní."
-#: applications/luci-app-commands/luasrc/view/commands.htm:150
+#: applications/luci-app-commands/ucode/template/commands.ut:144
msgid "This section contains no values yet"
msgstr "Tato sekce ještě neobsahuje žádné hodnoty"
-#: applications/luci-app-commands/luasrc/view/commands.htm:54
+#: applications/luci-app-commands/ucode/template/commands.ut:48
msgid "Waiting for command to complete..."
msgstr "Čekání na dokončení příkazu..."
+
+#~ msgid "Command exited with status code"
+#~ msgstr "Příkaz byl ukončen se stavovým kódem"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.9.1-dev\n"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:16
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:19
msgid "A short textual description of the configured command"
msgstr "En kort tekstbeskrivelse af den konfigurerede kommando"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:25
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:30
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
"Tillad at udføre kommandoen og downloade dens output uden forudgående "
"godkendelse"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:22
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:27
msgid "Allow the user to provide additional command line arguments"
msgstr "Tillad brugeren at angive yderligere kommandolinjeargumenter"
-#: applications/luci-app-commands/luasrc/view/commands.htm:162
+#: applications/luci-app-commands/ucode/template/commands.ut:156
msgid "Arguments:"
msgstr "Argumenter:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:66
+#: applications/luci-app-commands/ucode/template/commands.ut:60
msgid "Binary data not displayed, download instead."
msgstr "Binære data vises ikke, download i stedet."
-#: applications/luci-app-commands/luasrc/view/commands.htm:71
+#: applications/luci-app-commands/ucode/template/commands.ut:65
msgid "Code:"
msgstr "Kode:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:182
+#: applications/luci-app-commands/ucode/template/commands.ut:174
msgid "Collecting data..."
msgstr "Indsamler data..."
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:18
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command"
msgstr "Kommando"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:30
+#: applications/luci-app-commands/ucode/template/commands_public.ut:32
msgid "Command executed successfully."
msgstr "Kommandoen blev udført."
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:32
-msgid "Command exited with status code"
-msgstr "Kommando afslutede med statuskode"
+#: applications/luci-app-commands/ucode/template/commands_public.ut:34
+msgid "Command exited with status code %d"
+msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command failed"
msgstr "Kommandoen mislykkedes"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:19
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command line to execute"
msgstr "Kommandolinje til udførelse"
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command successful"
msgstr "Kommandoen lykkedes"
-#: applications/luci-app-commands/luasrc/view/commands.htm:160
+#: applications/luci-app-commands/ucode/template/commands.ut:154
msgid "Command:"
msgstr "Kommando:"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:9
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:23
msgid "Configure"
msgstr "Konfigurer"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:7
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:6
-#: applications/luci-app-commands/luasrc/view/commands.htm:144
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:10
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:3
+#: applications/luci-app-commands/ucode/template/commands.ut:137
msgid "Custom Commands"
msgstr "Brugerdefinerede kommandoer"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:21
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:26
msgid "Custom arguments"
msgstr "Brugerdefinerede argumenter"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:8
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:14
msgid "Dashboard"
msgstr "Dashboard"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:15
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:18
msgid "Description"
msgstr "Beskrivelse"
-#: applications/luci-app-commands/luasrc/view/commands.htm:166
+#: applications/luci-app-commands/ucode/template/commands.ut:160
msgid "Download"
msgstr "Download"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Download execution result"
msgstr "Download udførelsesresultat"
-#: applications/luci-app-commands/luasrc/view/commands.htm:79
+#: applications/luci-app-commands/ucode/template/commands.ut:73
msgid "Failed to execute command!"
msgstr "Kunne ikke udføre kommandoen!"
msgid "Grant UCI access for luci-app-commands"
msgstr "Giv UCI-adgang til luci-app-kommandoer"
-#: applications/luci-app-commands/luasrc/view/commands.htm:168
+#: applications/luci-app-commands/ucode/template/commands.ut:162
msgid "Link"
msgstr "Link"
-#: applications/luci-app-commands/luasrc/view/commands.htm:53
+#: applications/luci-app-commands/ucode/template/commands.ut:47
msgid "Loading"
msgstr "Indlæser"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Or display result"
msgstr "Eller vis resultatet"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:24
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:29
msgid "Public access"
msgstr "Offentlig adgang"
-#: applications/luci-app-commands/luasrc/view/commands.htm:165
+#: applications/luci-app-commands/ucode/template/commands.ut:159
msgid "Run"
msgstr "Kør"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:41
+#: applications/luci-app-commands/ucode/template/commands_public.ut:44
msgid "Standard Error"
msgstr "Standard fejl"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:36
+#: applications/luci-app-commands/ucode/template/commands_public.ut:39
msgid "Standard Output"
msgstr "Standard Output"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:7
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:11
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
"Denne side giver dig mulighed for at konfigurere brugerdefinerede shell-"
"kommandoer, som nemt kan fremkaldes fra web interface."
-#: applications/luci-app-commands/luasrc/view/commands.htm:150
+#: applications/luci-app-commands/ucode/template/commands.ut:144
msgid "This section contains no values yet"
msgstr "Denne sektion indeholder endnu ingen værdier"
-#: applications/luci-app-commands/luasrc/view/commands.htm:54
+#: applications/luci-app-commands/ucode/template/commands.ut:48
msgid "Waiting for command to complete..."
msgstr "Venter på, at kommandoen er fuldført..."
+#~ msgid "Command exited with status code"
+#~ msgstr "Kommando afslutede med statuskode"
+
#~ msgid "Command exited with status code "
#~ msgstr "Command exited with status code "
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.3.1-dev\n"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:16
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:19
msgid "A short textual description of the configured command"
msgstr "Eine kurze Beschreibung des konfigurierten Befehls"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:25
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:30
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
"Ausführen des Kommandos und Herunterladen der Ausgabe ohne vorherige "
"Authentifizierung ermöglichen"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:22
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:27
msgid "Allow the user to provide additional command line arguments"
msgstr "Erlaube dem Nutzer zusätzliche Kommandozeilenargumente zu übergeben"
-#: applications/luci-app-commands/luasrc/view/commands.htm:162
+#: applications/luci-app-commands/ucode/template/commands.ut:156
msgid "Arguments:"
msgstr "Argumente:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:66
+#: applications/luci-app-commands/ucode/template/commands.ut:60
msgid "Binary data not displayed, download instead."
msgstr "Binärdaten ausgeblendet, laden Sie die Ausgaben stattdessen herunter."
-#: applications/luci-app-commands/luasrc/view/commands.htm:71
+#: applications/luci-app-commands/ucode/template/commands.ut:65
msgid "Code:"
msgstr "Rückgabewert:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:182
+#: applications/luci-app-commands/ucode/template/commands.ut:174
msgid "Collecting data..."
msgstr "Sammle Daten..."
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:18
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command"
msgstr "Befehl"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:30
+#: applications/luci-app-commands/ucode/template/commands_public.ut:32
msgid "Command executed successfully."
msgstr "Befehl erfolgreich ausgeführt."
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:32
-msgid "Command exited with status code"
-msgstr "Befehl wurde mit einem Rückgabewert beendet"
+#: applications/luci-app-commands/ucode/template/commands_public.ut:34
+msgid "Command exited with status code %d"
+msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command failed"
msgstr "Befehl fehlgeschlagen"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:19
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command line to execute"
msgstr "Auszuführende Kommandozeile"
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command successful"
msgstr "Kommando erfolgreich"
-#: applications/luci-app-commands/luasrc/view/commands.htm:160
+#: applications/luci-app-commands/ucode/template/commands.ut:154
msgid "Command:"
msgstr "Kommando:"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:9
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:23
msgid "Configure"
msgstr "Konfigurieren"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:7
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:6
-#: applications/luci-app-commands/luasrc/view/commands.htm:144
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:10
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:3
+#: applications/luci-app-commands/ucode/template/commands.ut:137
msgid "Custom Commands"
msgstr "Benutzerdefinierte Kommandos"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:21
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:26
msgid "Custom arguments"
msgstr "Benutzerdefinierte Argumente"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:8
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:14
msgid "Dashboard"
msgstr "Übersicht"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:15
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:18
msgid "Description"
msgstr "Beschreibung"
-#: applications/luci-app-commands/luasrc/view/commands.htm:166
+#: applications/luci-app-commands/ucode/template/commands.ut:160
msgid "Download"
msgstr "Download"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Download execution result"
msgstr "Programmausgabe herunterladen"
-#: applications/luci-app-commands/luasrc/view/commands.htm:79
+#: applications/luci-app-commands/ucode/template/commands.ut:73
msgid "Failed to execute command!"
msgstr "Befehl konnte nicht ausgeführt werden!"
msgid "Grant UCI access for luci-app-commands"
msgstr "Gewähre UCI Zugriff auf luci-app-commands"
-#: applications/luci-app-commands/luasrc/view/commands.htm:168
+#: applications/luci-app-commands/ucode/template/commands.ut:162
msgid "Link"
msgstr "Link"
-#: applications/luci-app-commands/luasrc/view/commands.htm:53
+#: applications/luci-app-commands/ucode/template/commands.ut:47
msgid "Loading"
msgstr "Lade"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Or display result"
msgstr "Oder Ergebnis anzeigen"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:24
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:29
msgid "Public access"
msgstr "Öffentlicher Zugriff"
-#: applications/luci-app-commands/luasrc/view/commands.htm:165
+#: applications/luci-app-commands/ucode/template/commands.ut:159
msgid "Run"
msgstr "Ausführen"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:41
+#: applications/luci-app-commands/ucode/template/commands_public.ut:44
msgid "Standard Error"
msgstr "Fehlerausgabe"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:36
+#: applications/luci-app-commands/ucode/template/commands_public.ut:39
msgid "Standard Output"
msgstr "Standardausgabe"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:7
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:11
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
"Diese Seite ermöglicht die Konfiguration eigener Shell-Kommandos um diese "
"einfach über das Webinterface ausführen zu können."
-#: applications/luci-app-commands/luasrc/view/commands.htm:150
+#: applications/luci-app-commands/ucode/template/commands.ut:144
msgid "This section contains no values yet"
msgstr "Dieser Abschnitt enthält noch keine Werte"
-#: applications/luci-app-commands/luasrc/view/commands.htm:54
+#: applications/luci-app-commands/ucode/template/commands.ut:48
msgid "Waiting for command to complete..."
msgstr "Der Befehl wird ausgeführt..."
+#~ msgid "Command exited with status code"
+#~ msgstr "Befehl wurde mit einem Rückgabewert beendet"
+
#~ msgid "Access command with"
#~ msgstr "Kommando aufrufen mit"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.13-dev\n"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:16
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:19
msgid "A short textual description of the configured command"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:25
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:30
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:22
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:27
msgid "Allow the user to provide additional command line arguments"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:162
+#: applications/luci-app-commands/ucode/template/commands.ut:156
msgid "Arguments:"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:66
+#: applications/luci-app-commands/ucode/template/commands.ut:60
msgid "Binary data not displayed, download instead."
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:71
+#: applications/luci-app-commands/ucode/template/commands.ut:65
msgid "Code:"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:182
+#: applications/luci-app-commands/ucode/template/commands.ut:174
msgid "Collecting data..."
msgstr "Συλλογή δεδομένων..."
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:18
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:30
+#: applications/luci-app-commands/ucode/template/commands_public.ut:32
msgid "Command executed successfully."
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:32
-msgid "Command exited with status code"
+#: applications/luci-app-commands/ucode/template/commands_public.ut:34
+msgid "Command exited with status code %d"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command failed"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:19
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command line to execute"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command successful"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:160
+#: applications/luci-app-commands/ucode/template/commands.ut:154
msgid "Command:"
msgstr ""
-#: applications/luci-app-commands/luasrc/controller/commands.lua:9
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:23
msgid "Configure"
msgstr ""
-#: applications/luci-app-commands/luasrc/controller/commands.lua:7
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:6
-#: applications/luci-app-commands/luasrc/view/commands.htm:144
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:10
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:3
+#: applications/luci-app-commands/ucode/template/commands.ut:137
msgid "Custom Commands"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:21
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:26
msgid "Custom arguments"
msgstr ""
-#: applications/luci-app-commands/luasrc/controller/commands.lua:8
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:14
msgid "Dashboard"
msgstr "Ταμπλό"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:15
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:18
msgid "Description"
msgstr "Περιγραφή"
-#: applications/luci-app-commands/luasrc/view/commands.htm:166
+#: applications/luci-app-commands/ucode/template/commands.ut:160
msgid "Download"
msgstr "Λήψη"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Download execution result"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:79
+#: applications/luci-app-commands/ucode/template/commands.ut:73
msgid "Failed to execute command!"
msgstr ""
msgid "Grant UCI access for luci-app-commands"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:168
+#: applications/luci-app-commands/ucode/template/commands.ut:162
msgid "Link"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:53
+#: applications/luci-app-commands/ucode/template/commands.ut:47
msgid "Loading"
msgstr "Φόρτωση"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Or display result"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:24
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:29
msgid "Public access"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:165
+#: applications/luci-app-commands/ucode/template/commands.ut:159
msgid "Run"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:41
+#: applications/luci-app-commands/ucode/template/commands_public.ut:44
msgid "Standard Error"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:36
+#: applications/luci-app-commands/ucode/template/commands_public.ut:39
msgid "Standard Output"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:7
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:11
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:150
+#: applications/luci-app-commands/ucode/template/commands.ut:144
msgid "This section contains no values yet"
msgstr "Αυτή η ενότητα δεν περιέχει ακόμη τιμές"
-#: applications/luci-app-commands/luasrc/view/commands.htm:54
+#: applications/luci-app-commands/ucode/template/commands.ut:48
msgid "Waiting for command to complete..."
msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.7\n"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:16
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:19
msgid "A short textual description of the configured command"
msgstr "A short textual description of the configured command"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:25
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:30
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
"Allow executing the command and downloading its output without prior "
"authentication"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:22
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:27
msgid "Allow the user to provide additional command line arguments"
msgstr "Allow the user to provide additional command line arguments"
-#: applications/luci-app-commands/luasrc/view/commands.htm:162
+#: applications/luci-app-commands/ucode/template/commands.ut:156
msgid "Arguments:"
msgstr "Arguments:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:66
+#: applications/luci-app-commands/ucode/template/commands.ut:60
msgid "Binary data not displayed, download instead."
msgstr "Binary data not displayed, download instead."
-#: applications/luci-app-commands/luasrc/view/commands.htm:71
+#: applications/luci-app-commands/ucode/template/commands.ut:65
msgid "Code:"
msgstr "Code:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:182
+#: applications/luci-app-commands/ucode/template/commands.ut:174
msgid "Collecting data..."
msgstr "Collecting data..."
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:18
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command"
msgstr "Command"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:30
+#: applications/luci-app-commands/ucode/template/commands_public.ut:32
msgid "Command executed successfully."
msgstr "Command executed successfully."
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:32
-msgid "Command exited with status code"
-msgstr "Command exited with status code"
+#: applications/luci-app-commands/ucode/template/commands_public.ut:34
+msgid "Command exited with status code %d"
+msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command failed"
msgstr "Command failed"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:19
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command line to execute"
msgstr "Command line to execute"
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command successful"
msgstr "Command successful"
-#: applications/luci-app-commands/luasrc/view/commands.htm:160
+#: applications/luci-app-commands/ucode/template/commands.ut:154
msgid "Command:"
msgstr "Command:"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:9
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:23
msgid "Configure"
msgstr "Configure"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:7
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:6
-#: applications/luci-app-commands/luasrc/view/commands.htm:144
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:10
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:3
+#: applications/luci-app-commands/ucode/template/commands.ut:137
msgid "Custom Commands"
msgstr "Custom Commands"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:21
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:26
msgid "Custom arguments"
msgstr "Custom arguments"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:8
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:14
msgid "Dashboard"
msgstr "Dashboard"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:15
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:18
msgid "Description"
msgstr "Description"
-#: applications/luci-app-commands/luasrc/view/commands.htm:166
+#: applications/luci-app-commands/ucode/template/commands.ut:160
msgid "Download"
msgstr "Download"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Download execution result"
msgstr "Download execution result"
-#: applications/luci-app-commands/luasrc/view/commands.htm:79
+#: applications/luci-app-commands/ucode/template/commands.ut:73
msgid "Failed to execute command!"
msgstr "Failed to execute command!"
msgid "Grant UCI access for luci-app-commands"
msgstr "Grant UCI access for luci-app-commands"
-#: applications/luci-app-commands/luasrc/view/commands.htm:168
+#: applications/luci-app-commands/ucode/template/commands.ut:162
msgid "Link"
msgstr "Link"
-#: applications/luci-app-commands/luasrc/view/commands.htm:53
+#: applications/luci-app-commands/ucode/template/commands.ut:47
msgid "Loading"
msgstr "Loading"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Or display result"
msgstr "Or display result"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:24
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:29
msgid "Public access"
msgstr "Public access"
-#: applications/luci-app-commands/luasrc/view/commands.htm:165
+#: applications/luci-app-commands/ucode/template/commands.ut:159
msgid "Run"
msgstr "Run"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:41
+#: applications/luci-app-commands/ucode/template/commands_public.ut:44
msgid "Standard Error"
msgstr "Standard Error"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:36
+#: applications/luci-app-commands/ucode/template/commands_public.ut:39
msgid "Standard Output"
msgstr "Standard Output"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:7
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:11
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
-#: applications/luci-app-commands/luasrc/view/commands.htm:150
+#: applications/luci-app-commands/ucode/template/commands.ut:144
msgid "This section contains no values yet"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:54
+#: applications/luci-app-commands/ucode/template/commands.ut:48
msgid "Waiting for command to complete..."
msgstr "Waiting for command to complete..."
+#~ msgid "Command exited with status code"
+#~ msgstr "Command exited with status code"
+
#~ msgid "Command exited with status code "
#~ msgstr "Command exited with status code "
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.6-dev\n"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:16
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:19
msgid "A short textual description of the configured command"
msgstr "Una breve descripción textual del comando configurado"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:25
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:30
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
msgstr ""
"Permitir ejecutar el comando y descargar su salida sin autenticación previa"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:22
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:27
msgid "Allow the user to provide additional command line arguments"
msgstr ""
"Permitir al usuario proporcionar argumentos de línea de comando adicionales"
-#: applications/luci-app-commands/luasrc/view/commands.htm:162
+#: applications/luci-app-commands/ucode/template/commands.ut:156
msgid "Arguments:"
msgstr "Parámetros:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:66
+#: applications/luci-app-commands/ucode/template/commands.ut:60
msgid "Binary data not displayed, download instead."
msgstr "No se pueden mostrar datos binarios; descárguelos."
-#: applications/luci-app-commands/luasrc/view/commands.htm:71
+#: applications/luci-app-commands/ucode/template/commands.ut:65
msgid "Code:"
msgstr "Código:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:182
+#: applications/luci-app-commands/ucode/template/commands.ut:174
msgid "Collecting data..."
msgstr "Recolectando datos…"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:18
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command"
msgstr "Comando"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:30
+#: applications/luci-app-commands/ucode/template/commands_public.ut:32
msgid "Command executed successfully."
msgstr "La orden se ejecutó correctamente."
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:32
-msgid "Command exited with status code"
-msgstr "El comando finalizó con un código de error"
+#: applications/luci-app-commands/ucode/template/commands_public.ut:34
+msgid "Command exited with status code %d"
+msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command failed"
msgstr "Comando fallido"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:19
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command line to execute"
msgstr "Línea de comandos para ejecutar"
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command successful"
msgstr "Comando exitoso"
-#: applications/luci-app-commands/luasrc/view/commands.htm:160
+#: applications/luci-app-commands/ucode/template/commands.ut:154
msgid "Command:"
msgstr "Comando:"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:9
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:23
msgid "Configure"
msgstr "Configurar"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:7
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:6
-#: applications/luci-app-commands/luasrc/view/commands.htm:144
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:10
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:3
+#: applications/luci-app-commands/ucode/template/commands.ut:137
msgid "Custom Commands"
msgstr "Comandos personalizados"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:21
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:26
msgid "Custom arguments"
msgstr "Parámetros personalizados"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:8
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:14
msgid "Dashboard"
msgstr "Tablero"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:15
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:18
msgid "Description"
msgstr "Descripción"
-#: applications/luci-app-commands/luasrc/view/commands.htm:166
+#: applications/luci-app-commands/ucode/template/commands.ut:160
msgid "Download"
msgstr "Descargar"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Download execution result"
msgstr "Descargar resultado de ejecución"
-#: applications/luci-app-commands/luasrc/view/commands.htm:79
+#: applications/luci-app-commands/ucode/template/commands.ut:73
msgid "Failed to execute command!"
msgstr "Falló la ejecución del comando!"
msgid "Grant UCI access for luci-app-commands"
msgstr "Conceder acceso UCI para luci-app-command"
-#: applications/luci-app-commands/luasrc/view/commands.htm:168
+#: applications/luci-app-commands/ucode/template/commands.ut:162
msgid "Link"
msgstr "Enlace"
-#: applications/luci-app-commands/luasrc/view/commands.htm:53
+#: applications/luci-app-commands/ucode/template/commands.ut:47
msgid "Loading"
msgstr "Cargando"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Or display result"
msgstr "O mostrar resultado"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:24
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:29
msgid "Public access"
msgstr "Acceso público"
-#: applications/luci-app-commands/luasrc/view/commands.htm:165
+#: applications/luci-app-commands/ucode/template/commands.ut:159
msgid "Run"
msgstr "Ejecutar"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:41
+#: applications/luci-app-commands/ucode/template/commands_public.ut:44
msgid "Standard Error"
msgstr "Error estándar"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:36
+#: applications/luci-app-commands/ucode/template/commands_public.ut:39
msgid "Standard Output"
msgstr "Salida estándar"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:7
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:11
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
"Esta página le permite configurar comandos de shell personalizados que se "
"pueden invocar fácilmente desde la interfaz web."
-#: applications/luci-app-commands/luasrc/view/commands.htm:150
+#: applications/luci-app-commands/ucode/template/commands.ut:144
msgid "This section contains no values yet"
msgstr "Esta sección aún no contiene valores"
-#: applications/luci-app-commands/luasrc/view/commands.htm:54
+#: applications/luci-app-commands/ucode/template/commands.ut:48
msgid "Waiting for command to complete..."
msgstr "Esperando a que se complete el comando..."
+#~ msgid "Command exited with status code"
+#~ msgstr "El comando finalizó con un código de error"
+
#~ msgid "Access command with"
#~ msgstr "Acceder al comando con"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.12-dev\n"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:16
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:19
msgid "A short textual description of the configured command"
msgstr "Määritetyn komennon lyhyt kuvaus"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:25
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:30
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
"Salli komennon suoritus ja sen tuloksen lataaminen ilman erillistä "
"hyväksyntää"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:22
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:27
msgid "Allow the user to provide additional command line arguments"
msgstr "Salli käyttäjän määritellä lisää komentoriviargumentteja"
-#: applications/luci-app-commands/luasrc/view/commands.htm:162
+#: applications/luci-app-commands/ucode/template/commands.ut:156
msgid "Arguments:"
msgstr "Argumentit:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:66
+#: applications/luci-app-commands/ucode/template/commands.ut:60
msgid "Binary data not displayed, download instead."
msgstr "Binääridataa ei näytetä. Lataa se."
-#: applications/luci-app-commands/luasrc/view/commands.htm:71
+#: applications/luci-app-commands/ucode/template/commands.ut:65
msgid "Code:"
msgstr "Koodi:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:182
+#: applications/luci-app-commands/ucode/template/commands.ut:174
msgid "Collecting data..."
msgstr "Kerätään tietoja…"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:18
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command"
msgstr "Komento"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:30
+#: applications/luci-app-commands/ucode/template/commands_public.ut:32
msgid "Command executed successfully."
msgstr "Komento suoritettu onnistuneesti."
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:32
-msgid "Command exited with status code"
-msgstr "Komento päättyi statuskoodiin"
+#: applications/luci-app-commands/ucode/template/commands_public.ut:34
+msgid "Command exited with status code %d"
+msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command failed"
msgstr "Komento epäonnistui"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:19
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command line to execute"
msgstr "Suoritettava komentorivi"
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command successful"
msgstr "Komento onnistui"
-#: applications/luci-app-commands/luasrc/view/commands.htm:160
+#: applications/luci-app-commands/ucode/template/commands.ut:154
msgid "Command:"
msgstr "Komento:"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:9
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:23
msgid "Configure"
msgstr "Asetukset"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:7
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:6
-#: applications/luci-app-commands/luasrc/view/commands.htm:144
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:10
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:3
+#: applications/luci-app-commands/ucode/template/commands.ut:137
msgid "Custom Commands"
msgstr "Räätälöidyt komennot"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:21
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:26
msgid "Custom arguments"
msgstr "Erilliset argumentit"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:8
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:14
msgid "Dashboard"
msgstr "Kojelauta"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:15
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:18
msgid "Description"
msgstr "Kuvaus"
-#: applications/luci-app-commands/luasrc/view/commands.htm:166
+#: applications/luci-app-commands/ucode/template/commands.ut:160
msgid "Download"
msgstr "Lataus"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Download execution result"
msgstr "Lataa suorituksen tulos"
-#: applications/luci-app-commands/luasrc/view/commands.htm:79
+#: applications/luci-app-commands/ucode/template/commands.ut:73
msgid "Failed to execute command!"
msgstr "Komennon suorittaminen epäonnistui!"
msgid "Grant UCI access for luci-app-commands"
msgstr "Salli pääsy räätälöityjen komentojen asetuksiin"
-#: applications/luci-app-commands/luasrc/view/commands.htm:168
+#: applications/luci-app-commands/ucode/template/commands.ut:162
msgid "Link"
msgstr "Linkki"
-#: applications/luci-app-commands/luasrc/view/commands.htm:53
+#: applications/luci-app-commands/ucode/template/commands.ut:47
msgid "Loading"
msgstr "Ladataan"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Or display result"
msgstr "Tai näytä tulos"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:24
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:29
msgid "Public access"
msgstr "Julkinen pääsy"
-#: applications/luci-app-commands/luasrc/view/commands.htm:165
+#: applications/luci-app-commands/ucode/template/commands.ut:159
msgid "Run"
msgstr "Suorita"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:41
+#: applications/luci-app-commands/ucode/template/commands_public.ut:44
msgid "Standard Error"
msgstr "Vakiovirhe"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:36
+#: applications/luci-app-commands/ucode/template/commands_public.ut:39
msgid "Standard Output"
msgstr "Vakiotulos"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:7
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:11
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
"Tällä sivulla voit räätälöidä komentorivillä ajettavia komentoja, jotka "
"voidaan sitten suorittaa helposti verkkoselaimesta käsin."
-#: applications/luci-app-commands/luasrc/view/commands.htm:150
+#: applications/luci-app-commands/ucode/template/commands.ut:144
msgid "This section contains no values yet"
msgstr "Tässä osassa ei ole vielä arvoja"
-#: applications/luci-app-commands/luasrc/view/commands.htm:54
+#: applications/luci-app-commands/ucode/template/commands.ut:48
msgid "Waiting for command to complete..."
msgstr "Odotetaan komennon suorittamisen päättymistä..."
+#~ msgid "Command exited with status code"
+#~ msgstr "Komento päättyi statuskoodiin"
+
#~ msgid "Command exited with status code "
#~ msgstr "Command exited with status code "
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.1-dev\n"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:16
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:19
msgid "A short textual description of the configured command"
msgstr "Une courte description de la commande configurée"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:25
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:30
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
"Autoriser l'exécution de la commande et le téléchargement de son résultat "
"sans authentification préalable"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:22
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:27
msgid "Allow the user to provide additional command line arguments"
msgstr ""
"Autoriser l'utilisateur à fournir des arguments de ligne de commande "
"supplémentaires"
-#: applications/luci-app-commands/luasrc/view/commands.htm:162
+#: applications/luci-app-commands/ucode/template/commands.ut:156
msgid "Arguments:"
msgstr "Arguments :"
-#: applications/luci-app-commands/luasrc/view/commands.htm:66
+#: applications/luci-app-commands/ucode/template/commands.ut:60
msgid "Binary data not displayed, download instead."
msgstr "Données binaires non affichables, elle peuvent être téléchargées."
-#: applications/luci-app-commands/luasrc/view/commands.htm:71
+#: applications/luci-app-commands/ucode/template/commands.ut:65
msgid "Code:"
msgstr "Code :"
-#: applications/luci-app-commands/luasrc/view/commands.htm:182
+#: applications/luci-app-commands/ucode/template/commands.ut:174
msgid "Collecting data..."
msgstr "Récupération des données…"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:18
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command"
msgstr "Commande"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:30
+#: applications/luci-app-commands/ucode/template/commands_public.ut:32
msgid "Command executed successfully."
msgstr "Commande exécutée avec succès."
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:32
-msgid "Command exited with status code"
-msgstr "La commande s'est arrêtée avec un code de sortie"
+#: applications/luci-app-commands/ucode/template/commands_public.ut:34
+msgid "Command exited with status code %d"
+msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command failed"
msgstr "Échec de la commande"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:19
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command line to execute"
msgstr "Ligne de commande à exécuter"
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command successful"
msgstr "Commande réussie"
-#: applications/luci-app-commands/luasrc/view/commands.htm:160
+#: applications/luci-app-commands/ucode/template/commands.ut:154
msgid "Command:"
msgstr "Commande :"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:9
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:23
msgid "Configure"
msgstr "Configurer"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:7
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:6
-#: applications/luci-app-commands/luasrc/view/commands.htm:144
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:10
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:3
+#: applications/luci-app-commands/ucode/template/commands.ut:137
msgid "Custom Commands"
msgstr "Commandes personnalisées"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:21
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:26
msgid "Custom arguments"
msgstr "Arguments personnalisés"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:8
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:14
msgid "Dashboard"
msgstr "Tableau de bord"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:15
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:18
msgid "Description"
msgstr "Description"
-#: applications/luci-app-commands/luasrc/view/commands.htm:166
+#: applications/luci-app-commands/ucode/template/commands.ut:160
msgid "Download"
msgstr "Télécharger"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Download execution result"
msgstr "Télécharger le résultat de l'exécution"
-#: applications/luci-app-commands/luasrc/view/commands.htm:79
+#: applications/luci-app-commands/ucode/template/commands.ut:73
msgid "Failed to execute command!"
msgstr "Échec de l'exécution de la commande !"
msgid "Grant UCI access for luci-app-commands"
msgstr "Accorder tout accès UCI a luci-app-commands"
-#: applications/luci-app-commands/luasrc/view/commands.htm:168
+#: applications/luci-app-commands/ucode/template/commands.ut:162
msgid "Link"
msgstr "Lien"
-#: applications/luci-app-commands/luasrc/view/commands.htm:53
+#: applications/luci-app-commands/ucode/template/commands.ut:47
msgid "Loading"
msgstr "Chargement"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Or display result"
msgstr "Ou afficher le résultat"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:24
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:29
msgid "Public access"
msgstr "Accès public"
-#: applications/luci-app-commands/luasrc/view/commands.htm:165
+#: applications/luci-app-commands/ucode/template/commands.ut:159
msgid "Run"
msgstr "Exécuter"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:41
+#: applications/luci-app-commands/ucode/template/commands_public.ut:44
msgid "Standard Error"
msgstr "Erreur standard"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:36
+#: applications/luci-app-commands/ucode/template/commands_public.ut:39
msgid "Standard Output"
msgstr "Sortie standard"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:7
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:11
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
"Cette page vous permet de configurer des commandes shell personnalisées, "
"pouvant être invoquées facilement depuis l'interface web."
-#: applications/luci-app-commands/luasrc/view/commands.htm:150
+#: applications/luci-app-commands/ucode/template/commands.ut:144
msgid "This section contains no values yet"
msgstr "Cette section ne contient pas encore de valeur"
-#: applications/luci-app-commands/luasrc/view/commands.htm:54
+#: applications/luci-app-commands/ucode/template/commands.ut:48
msgid "Waiting for command to complete..."
msgstr "En attente que la commande se termine…"
+#~ msgid "Command exited with status code"
+#~ msgstr "La commande s'est arrêtée avec un code de sortie"
+
#~ msgid "Access command with"
#~ msgstr "Accéder à la commande par"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Weblate 4.5-dev\n"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:16
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:19
msgid "A short textual description of the configured command"
msgstr "תיאור טקסטואלי קצר של הפקודה שהוגדרה"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:25
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:30
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:22
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:27
msgid "Allow the user to provide additional command line arguments"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:162
+#: applications/luci-app-commands/ucode/template/commands.ut:156
msgid "Arguments:"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:66
+#: applications/luci-app-commands/ucode/template/commands.ut:60
msgid "Binary data not displayed, download instead."
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:71
+#: applications/luci-app-commands/ucode/template/commands.ut:65
msgid "Code:"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:182
+#: applications/luci-app-commands/ucode/template/commands.ut:174
msgid "Collecting data..."
msgstr "נאספים נתונים…"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:18
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:30
+#: applications/luci-app-commands/ucode/template/commands_public.ut:32
msgid "Command executed successfully."
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:32
-msgid "Command exited with status code"
+#: applications/luci-app-commands/ucode/template/commands_public.ut:34
+msgid "Command exited with status code %d"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command failed"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:19
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command line to execute"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command successful"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:160
+#: applications/luci-app-commands/ucode/template/commands.ut:154
msgid "Command:"
msgstr ""
-#: applications/luci-app-commands/luasrc/controller/commands.lua:9
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:23
msgid "Configure"
msgstr ""
-#: applications/luci-app-commands/luasrc/controller/commands.lua:7
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:6
-#: applications/luci-app-commands/luasrc/view/commands.htm:144
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:10
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:3
+#: applications/luci-app-commands/ucode/template/commands.ut:137
msgid "Custom Commands"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:21
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:26
msgid "Custom arguments"
msgstr ""
-#: applications/luci-app-commands/luasrc/controller/commands.lua:8
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:14
msgid "Dashboard"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:15
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:18
msgid "Description"
msgstr "תיאור"
-#: applications/luci-app-commands/luasrc/view/commands.htm:166
+#: applications/luci-app-commands/ucode/template/commands.ut:160
msgid "Download"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Download execution result"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:79
+#: applications/luci-app-commands/ucode/template/commands.ut:73
msgid "Failed to execute command!"
msgstr ""
msgid "Grant UCI access for luci-app-commands"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:168
+#: applications/luci-app-commands/ucode/template/commands.ut:162
msgid "Link"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:53
+#: applications/luci-app-commands/ucode/template/commands.ut:47
msgid "Loading"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Or display result"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:24
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:29
msgid "Public access"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:165
+#: applications/luci-app-commands/ucode/template/commands.ut:159
msgid "Run"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:41
+#: applications/luci-app-commands/ucode/template/commands_public.ut:44
msgid "Standard Error"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:36
+#: applications/luci-app-commands/ucode/template/commands_public.ut:39
msgid "Standard Output"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:7
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:11
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:150
+#: applications/luci-app-commands/ucode/template/commands.ut:144
msgid "This section contains no values yet"
msgstr "סעיף זה לא מכיל ערכים עדיין"
-#: applications/luci-app-commands/luasrc/view/commands.htm:54
+#: applications/luci-app-commands/ucode/template/commands.ut:48
msgid "Waiting for command to complete..."
msgstr ""
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Poedit 1.8.11\n"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:16
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:19
msgid "A short textual description of the configured command"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:25
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:30
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:22
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:27
msgid "Allow the user to provide additional command line arguments"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:162
+#: applications/luci-app-commands/ucode/template/commands.ut:156
msgid "Arguments:"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:66
+#: applications/luci-app-commands/ucode/template/commands.ut:60
msgid "Binary data not displayed, download instead."
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:71
+#: applications/luci-app-commands/ucode/template/commands.ut:65
msgid "Code:"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:182
+#: applications/luci-app-commands/ucode/template/commands.ut:174
msgid "Collecting data..."
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:18
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:30
+#: applications/luci-app-commands/ucode/template/commands_public.ut:32
msgid "Command executed successfully."
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:32
-msgid "Command exited with status code"
+#: applications/luci-app-commands/ucode/template/commands_public.ut:34
+msgid "Command exited with status code %d"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command failed"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:19
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command line to execute"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command successful"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:160
+#: applications/luci-app-commands/ucode/template/commands.ut:154
msgid "Command:"
msgstr ""
-#: applications/luci-app-commands/luasrc/controller/commands.lua:9
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:23
msgid "Configure"
msgstr ""
-#: applications/luci-app-commands/luasrc/controller/commands.lua:7
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:6
-#: applications/luci-app-commands/luasrc/view/commands.htm:144
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:10
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:3
+#: applications/luci-app-commands/ucode/template/commands.ut:137
msgid "Custom Commands"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:21
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:26
msgid "Custom arguments"
msgstr ""
-#: applications/luci-app-commands/luasrc/controller/commands.lua:8
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:14
msgid "Dashboard"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:15
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:18
msgid "Description"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:166
+#: applications/luci-app-commands/ucode/template/commands.ut:160
msgid "Download"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Download execution result"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:79
+#: applications/luci-app-commands/ucode/template/commands.ut:73
msgid "Failed to execute command!"
msgstr ""
msgid "Grant UCI access for luci-app-commands"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:168
+#: applications/luci-app-commands/ucode/template/commands.ut:162
msgid "Link"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:53
+#: applications/luci-app-commands/ucode/template/commands.ut:47
msgid "Loading"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Or display result"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:24
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:29
msgid "Public access"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:165
+#: applications/luci-app-commands/ucode/template/commands.ut:159
msgid "Run"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:41
+#: applications/luci-app-commands/ucode/template/commands_public.ut:44
msgid "Standard Error"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:36
+#: applications/luci-app-commands/ucode/template/commands_public.ut:39
msgid "Standard Output"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:7
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:11
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:150
+#: applications/luci-app-commands/ucode/template/commands.ut:144
msgid "This section contains no values yet"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:54
+#: applications/luci-app-commands/ucode/template/commands.ut:48
msgid "Waiting for command to complete..."
msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.8-dev\n"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:16
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:19
msgid "A short textual description of the configured command"
msgstr "A beállított parancs rövid szöveges leírása"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:25
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:30
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
"Lehetővé teszi a parancs végrehajtását és a kimenetének letöltését előzetes "
"hitelesítés nélkül"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:22
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:27
msgid "Allow the user to provide additional command line arguments"
msgstr ""
"Annak lehetővé tétele a felhasználó számára, hogy további parancssori "
"argumentumokat adjon meg"
-#: applications/luci-app-commands/luasrc/view/commands.htm:162
+#: applications/luci-app-commands/ucode/template/commands.ut:156
msgid "Arguments:"
msgstr "Argumentumok:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:66
+#: applications/luci-app-commands/ucode/template/commands.ut:60
msgid "Binary data not displayed, download instead."
msgstr "A bináris adat nem jelenik meg, töltse le inkább."
-#: applications/luci-app-commands/luasrc/view/commands.htm:71
+#: applications/luci-app-commands/ucode/template/commands.ut:65
msgid "Code:"
msgstr "Kód:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:182
+#: applications/luci-app-commands/ucode/template/commands.ut:174
msgid "Collecting data..."
msgstr "Adatok összegyűjtése…"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:18
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command"
msgstr "Parancs"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:30
+#: applications/luci-app-commands/ucode/template/commands_public.ut:32
msgid "Command executed successfully."
msgstr "A parancs sikeresen végrehajtódott."
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:32
-msgid "Command exited with status code"
-msgstr "A parancs állapotkóddal kilépett"
+#: applications/luci-app-commands/ucode/template/commands_public.ut:34
+msgid "Command exited with status code %d"
+msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command failed"
msgstr "Parancs sikertelen"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:19
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command line to execute"
msgstr "Végrehajtandó parancssor"
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command successful"
msgstr "A parancs sikeres"
-#: applications/luci-app-commands/luasrc/view/commands.htm:160
+#: applications/luci-app-commands/ucode/template/commands.ut:154
msgid "Command:"
msgstr "Parancs:"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:9
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:23
msgid "Configure"
msgstr "Beállítás"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:7
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:6
-#: applications/luci-app-commands/luasrc/view/commands.htm:144
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:10
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:3
+#: applications/luci-app-commands/ucode/template/commands.ut:137
msgid "Custom Commands"
msgstr "Egyéni parancsok"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:21
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:26
msgid "Custom arguments"
msgstr "Egyéni argumentumok"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:8
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:14
msgid "Dashboard"
msgstr "Kezelőfelület"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:15
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:18
msgid "Description"
msgstr "Leírás"
-#: applications/luci-app-commands/luasrc/view/commands.htm:166
+#: applications/luci-app-commands/ucode/template/commands.ut:160
msgid "Download"
msgstr "Letöltés"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Download execution result"
msgstr "Végrehajtás eredményének letöltése"
-#: applications/luci-app-commands/luasrc/view/commands.htm:79
+#: applications/luci-app-commands/ucode/template/commands.ut:73
msgid "Failed to execute command!"
msgstr "Parancs végrehajtása sikertelen!"
msgid "Grant UCI access for luci-app-commands"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:168
+#: applications/luci-app-commands/ucode/template/commands.ut:162
msgid "Link"
msgstr "Hivatkozás"
-#: applications/luci-app-commands/luasrc/view/commands.htm:53
+#: applications/luci-app-commands/ucode/template/commands.ut:47
msgid "Loading"
msgstr "Betöltés"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Or display result"
msgstr "Vagy az eredmény megjelenítése"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:24
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:29
msgid "Public access"
msgstr "Nyilvános hozzáférés"
-#: applications/luci-app-commands/luasrc/view/commands.htm:165
+#: applications/luci-app-commands/ucode/template/commands.ut:159
msgid "Run"
msgstr "Futtatás"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:41
+#: applications/luci-app-commands/ucode/template/commands_public.ut:44
msgid "Standard Error"
msgstr "Szabványos hiba"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:36
+#: applications/luci-app-commands/ucode/template/commands_public.ut:39
msgid "Standard Output"
msgstr "Szabványos kimenet"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:7
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:11
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
"Ez az oldal lehetővé teszi az egyéni parancsértelmező parancsok beállítását, "
"amelyek egyszerűen meghívhatók a webes felületről."
-#: applications/luci-app-commands/luasrc/view/commands.htm:150
+#: applications/luci-app-commands/ucode/template/commands.ut:144
msgid "This section contains no values yet"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:54
+#: applications/luci-app-commands/ucode/template/commands.ut:48
msgid "Waiting for command to complete..."
msgstr "Várakozás a parancs befejeződésére…"
+#~ msgid "Command exited with status code"
+#~ msgstr "A parancs állapotkóddal kilépett"
+
#~ msgid "Access command with"
#~ msgstr "Parancs hozzáférése"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.14.1\n"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:16
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:19
msgid "A short textual description of the configured command"
msgstr "Una breve descrizione testuale del comando configurato"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:25
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:30
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
"Consentire l'esecuzione del comando e il download del suo output senza "
"previa autenticazione"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:22
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:27
msgid "Allow the user to provide additional command line arguments"
msgstr ""
"Consente all'utente di fornire ulteriori argomenti della riga di comando"
-#: applications/luci-app-commands/luasrc/view/commands.htm:162
+#: applications/luci-app-commands/ucode/template/commands.ut:156
msgid "Arguments:"
msgstr "Argomenti:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:66
+#: applications/luci-app-commands/ucode/template/commands.ut:60
msgid "Binary data not displayed, download instead."
msgstr "I dati binari non vengono visualizzati, ma possono essere scaricati."
-#: applications/luci-app-commands/luasrc/view/commands.htm:71
+#: applications/luci-app-commands/ucode/template/commands.ut:65
msgid "Code:"
msgstr "Codice:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:182
+#: applications/luci-app-commands/ucode/template/commands.ut:174
msgid "Collecting data..."
msgstr "Sto raccogliendo i dati..."
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:18
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command"
msgstr "Comando"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:30
+#: applications/luci-app-commands/ucode/template/commands_public.ut:32
msgid "Command executed successfully."
msgstr "Esecuzione comando completata."
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:32
-msgid "Command exited with status code"
-msgstr "Comando uscito con codice stato"
+#: applications/luci-app-commands/ucode/template/commands_public.ut:34
+msgid "Command exited with status code %d"
+msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command failed"
msgstr "Comando fallito"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:19
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command line to execute"
msgstr "Riga di comando da eseguire"
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command successful"
msgstr "Comando riuscito"
-#: applications/luci-app-commands/luasrc/view/commands.htm:160
+#: applications/luci-app-commands/ucode/template/commands.ut:154
msgid "Command:"
msgstr "Comando:"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:9
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:23
msgid "Configure"
msgstr "Configura"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:7
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:6
-#: applications/luci-app-commands/luasrc/view/commands.htm:144
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:10
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:3
+#: applications/luci-app-commands/ucode/template/commands.ut:137
msgid "Custom Commands"
msgstr "Comandi Personalizzati"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:21
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:26
msgid "Custom arguments"
msgstr "Argomenti Personalizzati"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:8
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:14
msgid "Dashboard"
msgstr "Pannello di controllo"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:15
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:18
msgid "Description"
msgstr "Descrizione"
-#: applications/luci-app-commands/luasrc/view/commands.htm:166
+#: applications/luci-app-commands/ucode/template/commands.ut:160
msgid "Download"
msgstr "Download"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Download execution result"
msgstr "Risultato esecuzione download"
-#: applications/luci-app-commands/luasrc/view/commands.htm:79
+#: applications/luci-app-commands/ucode/template/commands.ut:73
msgid "Failed to execute command!"
msgstr "Impossibile eseguire il comando!"
msgid "Grant UCI access for luci-app-commands"
msgstr "Concedi accesso UCI per luci-app-commands"
-#: applications/luci-app-commands/luasrc/view/commands.htm:168
+#: applications/luci-app-commands/ucode/template/commands.ut:162
msgid "Link"
msgstr "Collegamento"
-#: applications/luci-app-commands/luasrc/view/commands.htm:53
+#: applications/luci-app-commands/ucode/template/commands.ut:47
msgid "Loading"
msgstr "Caricamento"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Or display result"
msgstr "O visualizza risultato"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:24
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:29
msgid "Public access"
msgstr "Accesso Pubblico"
-#: applications/luci-app-commands/luasrc/view/commands.htm:165
+#: applications/luci-app-commands/ucode/template/commands.ut:159
msgid "Run"
msgstr "Esegui"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:41
+#: applications/luci-app-commands/ucode/template/commands_public.ut:44
msgid "Standard Error"
msgstr "Errore standard"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:36
+#: applications/luci-app-commands/ucode/template/commands_public.ut:39
msgid "Standard Output"
msgstr "Output standard"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:7
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:11
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
"Questa pagina consente di configurare i comandi della shell personalizzate "
"che possono essere facilmente richiamati dall'interfaccia web."
-#: applications/luci-app-commands/luasrc/view/commands.htm:150
+#: applications/luci-app-commands/ucode/template/commands.ut:144
msgid "This section contains no values yet"
msgstr "Questa sezione non contiene ancora valori"
-#: applications/luci-app-commands/luasrc/view/commands.htm:54
+#: applications/luci-app-commands/ucode/template/commands.ut:48
msgid "Waiting for command to complete..."
msgstr "In attesa che il comando sia completato..."
+#~ msgid "Command exited with status code"
+#~ msgstr "Comando uscito con codice stato"
+
#~ msgid "Access command with"
#~ msgstr "Accesso comando con"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.4-dev\n"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:16
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:19
msgid "A short textual description of the configured command"
msgstr "設定したコマンドの簡単な説明文を記載します"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:25
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:30
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
msgstr "事前認証なしでのコマンドの実行と、結果出力のダウンロードを許可します"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:22
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:27
msgid "Allow the user to provide additional command line arguments"
msgstr "コマンドラインに対する引数の追記を許可するか設定します"
-#: applications/luci-app-commands/luasrc/view/commands.htm:162
+#: applications/luci-app-commands/ucode/template/commands.ut:156
msgid "Arguments:"
msgstr "引数:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:66
+#: applications/luci-app-commands/ucode/template/commands.ut:60
msgid "Binary data not displayed, download instead."
msgstr "バイナリデータは表示されずにダウンロードされます。"
-#: applications/luci-app-commands/luasrc/view/commands.htm:71
+#: applications/luci-app-commands/ucode/template/commands.ut:65
msgid "Code:"
msgstr "コード:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:182
+#: applications/luci-app-commands/ucode/template/commands.ut:174
msgid "Collecting data..."
msgstr "データを収集中..."
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:18
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command"
msgstr "コマンド"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:30
+#: applications/luci-app-commands/ucode/template/commands_public.ut:32
msgid "Command executed successfully."
msgstr "コマンドの実行に成功しました。"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:32
-msgid "Command exited with status code"
-msgstr "コマンドは次のステータスコードで終了しました:"
+#: applications/luci-app-commands/ucode/template/commands_public.ut:34
+msgid "Command exited with status code %d"
+msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command failed"
msgstr "コマンド実行失敗"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:19
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command line to execute"
msgstr "実行するコマンドラインを記載します"
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command successful"
msgstr "コマンド実行成功"
-#: applications/luci-app-commands/luasrc/view/commands.htm:160
+#: applications/luci-app-commands/ucode/template/commands.ut:154
msgid "Command:"
msgstr "コマンド:"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:9
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:23
msgid "Configure"
msgstr "設定"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:7
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:6
-#: applications/luci-app-commands/luasrc/view/commands.htm:144
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:10
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:3
+#: applications/luci-app-commands/ucode/template/commands.ut:137
msgid "Custom Commands"
msgstr "カスタムコマンド"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:21
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:26
msgid "Custom arguments"
msgstr "カスタム引数"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:8
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:14
msgid "Dashboard"
msgstr "ダッシュボード"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:15
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:18
msgid "Description"
msgstr "説明"
-#: applications/luci-app-commands/luasrc/view/commands.htm:166
+#: applications/luci-app-commands/ucode/template/commands.ut:160
msgid "Download"
msgstr "ダウンロード"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Download execution result"
msgstr "実行結果のダウンロード:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:79
+#: applications/luci-app-commands/ucode/template/commands.ut:73
msgid "Failed to execute command!"
msgstr "コマンドの実行に失敗しました!"
msgid "Grant UCI access for luci-app-commands"
msgstr "luci-app-commandsにUCIアクセスを許可"
-#: applications/luci-app-commands/luasrc/view/commands.htm:168
+#: applications/luci-app-commands/ucode/template/commands.ut:162
msgid "Link"
msgstr "リンク"
-#: applications/luci-app-commands/luasrc/view/commands.htm:53
+#: applications/luci-app-commands/ucode/template/commands.ut:47
msgid "Loading"
msgstr "読み込み中"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Or display result"
msgstr "または結果の表示:"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:24
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:29
msgid "Public access"
msgstr "パブリックアクセス"
-#: applications/luci-app-commands/luasrc/view/commands.htm:165
+#: applications/luci-app-commands/ucode/template/commands.ut:159
msgid "Run"
msgstr "実行"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:41
+#: applications/luci-app-commands/ucode/template/commands_public.ut:44
msgid "Standard Error"
msgstr "標準エラー"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:36
+#: applications/luci-app-commands/ucode/template/commands_public.ut:39
msgid "Standard Output"
msgstr "標準出力"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:7
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:11
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
"このページでは、ウェブインターフェースから簡単にシェルコマンドを実行すること"
"ができます。"
-#: applications/luci-app-commands/luasrc/view/commands.htm:150
+#: applications/luci-app-commands/ucode/template/commands.ut:144
msgid "This section contains no values yet"
msgstr "このセクションはまだ設定されていません"
-#: applications/luci-app-commands/luasrc/view/commands.htm:54
+#: applications/luci-app-commands/ucode/template/commands.ut:48
msgid "Waiting for command to complete..."
msgstr "コマンド実行中..."
+#~ msgid "Command exited with status code"
+#~ msgstr "コマンドは次のステータスコードで終了しました:"
+
#~ msgid "Access command with"
#~ msgstr "コマンドへのアクセス"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.14-dev\n"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:16
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:19
msgid "A short textual description of the configured command"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:25
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:30
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:22
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:27
msgid "Allow the user to provide additional command line arguments"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:162
+#: applications/luci-app-commands/ucode/template/commands.ut:156
msgid "Arguments:"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:66
+#: applications/luci-app-commands/ucode/template/commands.ut:60
msgid "Binary data not displayed, download instead."
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:71
+#: applications/luci-app-commands/ucode/template/commands.ut:65
msgid "Code:"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:182
+#: applications/luci-app-commands/ucode/template/commands.ut:174
msgid "Collecting data..."
msgstr "데이터 수집 중..."
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:18
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:30
+#: applications/luci-app-commands/ucode/template/commands_public.ut:32
msgid "Command executed successfully."
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:32
-msgid "Command exited with status code"
+#: applications/luci-app-commands/ucode/template/commands_public.ut:34
+msgid "Command exited with status code %d"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command failed"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:19
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command line to execute"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command successful"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:160
+#: applications/luci-app-commands/ucode/template/commands.ut:154
msgid "Command:"
msgstr ""
-#: applications/luci-app-commands/luasrc/controller/commands.lua:9
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:23
msgid "Configure"
msgstr ""
-#: applications/luci-app-commands/luasrc/controller/commands.lua:7
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:6
-#: applications/luci-app-commands/luasrc/view/commands.htm:144
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:10
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:3
+#: applications/luci-app-commands/ucode/template/commands.ut:137
msgid "Custom Commands"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:21
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:26
msgid "Custom arguments"
msgstr ""
-#: applications/luci-app-commands/luasrc/controller/commands.lua:8
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:14
msgid "Dashboard"
msgstr "대시보드"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:15
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:18
msgid "Description"
msgstr "설명"
-#: applications/luci-app-commands/luasrc/view/commands.htm:166
+#: applications/luci-app-commands/ucode/template/commands.ut:160
msgid "Download"
msgstr "다운로드"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Download execution result"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:79
+#: applications/luci-app-commands/ucode/template/commands.ut:73
msgid "Failed to execute command!"
msgstr ""
msgid "Grant UCI access for luci-app-commands"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:168
+#: applications/luci-app-commands/ucode/template/commands.ut:162
msgid "Link"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:53
+#: applications/luci-app-commands/ucode/template/commands.ut:47
msgid "Loading"
msgstr "로드 중"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Or display result"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:24
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:29
msgid "Public access"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:165
+#: applications/luci-app-commands/ucode/template/commands.ut:159
msgid "Run"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:41
+#: applications/luci-app-commands/ucode/template/commands_public.ut:44
msgid "Standard Error"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:36
+#: applications/luci-app-commands/ucode/template/commands_public.ut:39
msgid "Standard Output"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:7
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:11
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:150
+#: applications/luci-app-commands/ucode/template/commands.ut:144
msgid "This section contains no values yet"
msgstr "이 항목에 입력된 값이 없습니다"
-#: applications/luci-app-commands/luasrc/view/commands.htm:54
+#: applications/luci-app-commands/ucode/template/commands.ut:48
msgid "Waiting for command to complete..."
msgstr ""
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 3.11-dev\n"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:16
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:19
msgid "A short textual description of the configured command"
msgstr "कॉन्फिगर केलेल्या कमांडचे लहान मजकूर वर्णन"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:25
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:30
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
"आधीच्या प्रमाणीकरणाशिवाय कमांड कार्यान्वित करण्यास आणि त्याचे आउटपुट डाउनलोड करण्यास "
"अनुमती द्या"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:22
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:27
msgid "Allow the user to provide additional command line arguments"
msgstr "वापरकर्त्यास अतिरिक्त कमांड लाइन वितर्क प्रदान करण्याची परवानगी द्या"
-#: applications/luci-app-commands/luasrc/view/commands.htm:162
+#: applications/luci-app-commands/ucode/template/commands.ut:156
msgid "Arguments:"
msgstr "वितर्क:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:66
+#: applications/luci-app-commands/ucode/template/commands.ut:60
msgid "Binary data not displayed, download instead."
msgstr "बायनरी डेटा प्रदर्शित नाही, त्याऐवजी डाउनलोड करा."
-#: applications/luci-app-commands/luasrc/view/commands.htm:71
+#: applications/luci-app-commands/ucode/template/commands.ut:65
msgid "Code:"
msgstr "कोड:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:182
+#: applications/luci-app-commands/ucode/template/commands.ut:174
msgid "Collecting data..."
msgstr "डेटा संकलित करीत आहे ..."
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:18
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command"
msgstr "कमांड"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:30
+#: applications/luci-app-commands/ucode/template/commands_public.ut:32
msgid "Command executed successfully."
msgstr "कमांड यशस्वीपणे चालवली ."
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:32
-msgid "Command exited with status code"
-msgstr "स्टेटस कोडे सहा कमांड बाहेर पडली"
+#: applications/luci-app-commands/ucode/template/commands_public.ut:34
+msgid "Command exited with status code %d"
+msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command failed"
msgstr "कमांड अयशस्वी"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:19
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command line to execute"
msgstr "कार्यान्वित करण्यासाठी कमांड लाइन"
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command successful"
msgstr "कमांड यशस्वी"
-#: applications/luci-app-commands/luasrc/view/commands.htm:160
+#: applications/luci-app-commands/ucode/template/commands.ut:154
msgid "Command:"
msgstr "कमांड:"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:9
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:23
msgid "Configure"
msgstr "कॉन्फिगर करा"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:7
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:6
-#: applications/luci-app-commands/luasrc/view/commands.htm:144
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:10
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:3
+#: applications/luci-app-commands/ucode/template/commands.ut:137
msgid "Custom Commands"
msgstr "सानुकूल कमांड"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:21
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:26
msgid "Custom arguments"
msgstr "सानुकूल वितर्क"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:8
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:14
msgid "Dashboard"
msgstr "डॅशबोर्ड"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:15
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:18
msgid "Description"
msgstr "वर्णन"
-#: applications/luci-app-commands/luasrc/view/commands.htm:166
+#: applications/luci-app-commands/ucode/template/commands.ut:160
msgid "Download"
msgstr "डाउनलोड"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Download execution result"
msgstr "अंमलबजावणी परिणाम डाउनलोड करा"
-#: applications/luci-app-commands/luasrc/view/commands.htm:79
+#: applications/luci-app-commands/ucode/template/commands.ut:73
msgid "Failed to execute command!"
msgstr "कमांड चालविण्यात अयशस्वी!"
msgid "Grant UCI access for luci-app-commands"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:168
+#: applications/luci-app-commands/ucode/template/commands.ut:162
msgid "Link"
msgstr "दुवा"
-#: applications/luci-app-commands/luasrc/view/commands.htm:53
+#: applications/luci-app-commands/ucode/template/commands.ut:47
msgid "Loading"
msgstr "लोड करीत आहे"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Or display result"
msgstr "किंवा परिणाम दाखवा"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:24
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:29
msgid "Public access"
msgstr "सार्वजनिक प्रवेश"
-#: applications/luci-app-commands/luasrc/view/commands.htm:165
+#: applications/luci-app-commands/ucode/template/commands.ut:159
msgid "Run"
msgstr "चालवा"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:41
+#: applications/luci-app-commands/ucode/template/commands_public.ut:44
msgid "Standard Error"
msgstr "मानक त्रुटी"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:36
+#: applications/luci-app-commands/ucode/template/commands_public.ut:39
msgid "Standard Output"
msgstr "मानक आउटपुट"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:7
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:11
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
"हे पृष्ठ आपल्याला सानुकूल शेल आदेश कॉन्फिगर करण्याची परवानगी देते जे वेब इंटरफेसवरून सहजपणे "
"बोलाविले जाऊ शकतात ."
-#: applications/luci-app-commands/luasrc/view/commands.htm:150
+#: applications/luci-app-commands/ucode/template/commands.ut:144
msgid "This section contains no values yet"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:54
+#: applications/luci-app-commands/ucode/template/commands.ut:48
msgid "Waiting for command to complete..."
msgstr "कमांड पूर्ण होण्याची प्रतीक्षा करीत आहे ..."
+#~ msgid "Command exited with status code"
+#~ msgstr "स्टेटस कोडे सहा कमांड बाहेर पडली"
+
#~ msgid "Command exited with status code "
#~ msgstr "Command exited with status code "
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 3.10-dev\n"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:16
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:19
msgid "A short textual description of the configured command"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:25
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:30
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:22
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:27
msgid "Allow the user to provide additional command line arguments"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:162
+#: applications/luci-app-commands/ucode/template/commands.ut:156
msgid "Arguments:"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:66
+#: applications/luci-app-commands/ucode/template/commands.ut:60
msgid "Binary data not displayed, download instead."
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:71
+#: applications/luci-app-commands/ucode/template/commands.ut:65
msgid "Code:"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:182
+#: applications/luci-app-commands/ucode/template/commands.ut:174
msgid "Collecting data..."
msgstr "Mengumpul data..."
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:18
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:30
+#: applications/luci-app-commands/ucode/template/commands_public.ut:32
msgid "Command executed successfully."
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:32
-msgid "Command exited with status code"
+#: applications/luci-app-commands/ucode/template/commands_public.ut:34
+msgid "Command exited with status code %d"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command failed"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:19
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command line to execute"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command successful"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:160
+#: applications/luci-app-commands/ucode/template/commands.ut:154
msgid "Command:"
msgstr ""
-#: applications/luci-app-commands/luasrc/controller/commands.lua:9
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:23
msgid "Configure"
msgstr ""
-#: applications/luci-app-commands/luasrc/controller/commands.lua:7
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:6
-#: applications/luci-app-commands/luasrc/view/commands.htm:144
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:10
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:3
+#: applications/luci-app-commands/ucode/template/commands.ut:137
msgid "Custom Commands"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:21
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:26
msgid "Custom arguments"
msgstr ""
-#: applications/luci-app-commands/luasrc/controller/commands.lua:8
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:14
msgid "Dashboard"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:15
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:18
msgid "Description"
msgstr "Keterangan"
-#: applications/luci-app-commands/luasrc/view/commands.htm:166
+#: applications/luci-app-commands/ucode/template/commands.ut:160
msgid "Download"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Download execution result"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:79
+#: applications/luci-app-commands/ucode/template/commands.ut:73
msgid "Failed to execute command!"
msgstr ""
msgid "Grant UCI access for luci-app-commands"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:168
+#: applications/luci-app-commands/ucode/template/commands.ut:162
msgid "Link"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:53
+#: applications/luci-app-commands/ucode/template/commands.ut:47
msgid "Loading"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Or display result"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:24
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:29
msgid "Public access"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:165
+#: applications/luci-app-commands/ucode/template/commands.ut:159
msgid "Run"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:41
+#: applications/luci-app-commands/ucode/template/commands_public.ut:44
msgid "Standard Error"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:36
+#: applications/luci-app-commands/ucode/template/commands_public.ut:39
msgid "Standard Output"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:7
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:11
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:150
+#: applications/luci-app-commands/ucode/template/commands.ut:144
msgid "This section contains no values yet"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:54
+#: applications/luci-app-commands/ucode/template/commands.ut:48
msgid "Waiting for command to complete..."
msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.7.2-dev\n"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:16
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:19
msgid "A short textual description of the configured command"
msgstr "En kort tekstlig beskrivelse av den konfigurerte kommandoen"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:25
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:30
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
"Tillat å utføre kommandoen og laste ned resultatet uten forutgående "
"godkjenning"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:22
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:27
msgid "Allow the user to provide additional command line arguments"
msgstr "Tillat brukeren å gi ytterligere kommandolinjeargumenter"
-#: applications/luci-app-commands/luasrc/view/commands.htm:162
+#: applications/luci-app-commands/ucode/template/commands.ut:156
msgid "Arguments:"
msgstr "Argumenter:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:66
+#: applications/luci-app-commands/ucode/template/commands.ut:60
msgid "Binary data not displayed, download instead."
msgstr "Binære data vises ikke, last ned i stedet."
-#: applications/luci-app-commands/luasrc/view/commands.htm:71
+#: applications/luci-app-commands/ucode/template/commands.ut:65
msgid "Code:"
msgstr "Kode:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:182
+#: applications/luci-app-commands/ucode/template/commands.ut:174
msgid "Collecting data..."
msgstr "Samler inn data…"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:18
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command"
msgstr "Kommando"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:30
+#: applications/luci-app-commands/ucode/template/commands_public.ut:32
msgid "Command executed successfully."
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:32
-msgid "Command exited with status code"
+#: applications/luci-app-commands/ucode/template/commands_public.ut:34
+msgid "Command exited with status code %d"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command failed"
msgstr "Kommando mislyktes"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:19
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command line to execute"
msgstr "Kommandolinje å utføre"
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command successful"
msgstr "Kommando vellykket"
-#: applications/luci-app-commands/luasrc/view/commands.htm:160
+#: applications/luci-app-commands/ucode/template/commands.ut:154
msgid "Command:"
msgstr "Kommando:"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:9
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:23
msgid "Configure"
msgstr "Konfigurer"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:7
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:6
-#: applications/luci-app-commands/luasrc/view/commands.htm:144
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:10
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:3
+#: applications/luci-app-commands/ucode/template/commands.ut:137
msgid "Custom Commands"
msgstr "Egendefinerte Kommandoer"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:21
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:26
msgid "Custom arguments"
msgstr "Egendefinerte argumenter"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:8
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:14
msgid "Dashboard"
msgstr "Oversikt"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:15
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:18
msgid "Description"
msgstr "Beskrivelse"
-#: applications/luci-app-commands/luasrc/view/commands.htm:166
+#: applications/luci-app-commands/ucode/template/commands.ut:160
msgid "Download"
msgstr "Last ned"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Download execution result"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:79
+#: applications/luci-app-commands/ucode/template/commands.ut:73
msgid "Failed to execute command!"
msgstr "Kunne ikke utføre kommandoen!"
msgid "Grant UCI access for luci-app-commands"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:168
+#: applications/luci-app-commands/ucode/template/commands.ut:162
msgid "Link"
msgstr "Link"
-#: applications/luci-app-commands/luasrc/view/commands.htm:53
+#: applications/luci-app-commands/ucode/template/commands.ut:47
msgid "Loading"
msgstr "Laster inn"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Or display result"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:24
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:29
msgid "Public access"
msgstr "Tilgjengelig for alle"
-#: applications/luci-app-commands/luasrc/view/commands.htm:165
+#: applications/luci-app-commands/ucode/template/commands.ut:159
msgid "Run"
msgstr "Kjør"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:41
+#: applications/luci-app-commands/ucode/template/commands_public.ut:44
msgid "Standard Error"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:36
+#: applications/luci-app-commands/ucode/template/commands_public.ut:39
msgid "Standard Output"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:7
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:11
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
"Denne siden lar deg konfigurere egendefinerte shell-kommandoer som lett kan "
"startes fra webgrensesnittet."
-#: applications/luci-app-commands/luasrc/view/commands.htm:150
+#: applications/luci-app-commands/ucode/template/commands.ut:144
msgid "This section contains no values yet"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:54
+#: applications/luci-app-commands/ucode/template/commands.ut:48
msgid "Waiting for command to complete..."
msgstr "Venter på at kommandoen fullføres..."
"|| n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.7.1-dev\n"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:16
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:19
msgid "A short textual description of the configured command"
msgstr "Krótki opis konfigurowanej komendy"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:25
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:30
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
"Zezwól na uruchomienie komendy i pobranie wyjścia bez uprzedniego "
"uwierzytelnienia"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:22
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:27
msgid "Allow the user to provide additional command line arguments"
msgstr "Zezwól użytkownikowi dodać argumenty wiersza poleceń"
-#: applications/luci-app-commands/luasrc/view/commands.htm:162
+#: applications/luci-app-commands/ucode/template/commands.ut:156
msgid "Arguments:"
msgstr "Argumenty:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:66
+#: applications/luci-app-commands/ucode/template/commands.ut:60
msgid "Binary data not displayed, download instead."
msgstr "Nie wyświetlono danych binarnych, możesz je pobrać."
-#: applications/luci-app-commands/luasrc/view/commands.htm:71
+#: applications/luci-app-commands/ucode/template/commands.ut:65
msgid "Code:"
msgstr "Kod:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:182
+#: applications/luci-app-commands/ucode/template/commands.ut:174
msgid "Collecting data..."
msgstr "Trwa zbieranie danych..."
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:18
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command"
msgstr "Polecenie"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:30
+#: applications/luci-app-commands/ucode/template/commands_public.ut:32
msgid "Command executed successfully."
msgstr "Pomyślne wykonanie komendy."
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:32
-msgid "Command exited with status code"
-msgstr "Komenda zakończona kodem statusu"
+#: applications/luci-app-commands/ucode/template/commands_public.ut:34
+msgid "Command exited with status code %d"
+msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command failed"
msgstr "Błędne polecenie"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:19
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command line to execute"
msgstr "Linia Komendy do wykonania"
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command successful"
msgstr "Komenda Wykonana"
-#: applications/luci-app-commands/luasrc/view/commands.htm:160
+#: applications/luci-app-commands/ucode/template/commands.ut:154
msgid "Command:"
msgstr "Komenda:"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:9
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:23
msgid "Configure"
msgstr "Konfiguracja"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:7
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:6
-#: applications/luci-app-commands/luasrc/view/commands.htm:144
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:10
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:3
+#: applications/luci-app-commands/ucode/template/commands.ut:137
msgid "Custom Commands"
msgstr "Własne komendy"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:21
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:26
msgid "Custom arguments"
msgstr "Własne argumenty"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:8
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:14
msgid "Dashboard"
msgstr "Info"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:15
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:18
msgid "Description"
msgstr "Opis"
-#: applications/luci-app-commands/luasrc/view/commands.htm:166
+#: applications/luci-app-commands/ucode/template/commands.ut:160
msgid "Download"
msgstr "Pobieranie"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Download execution result"
msgstr "Pobierz wynik wykonania"
-#: applications/luci-app-commands/luasrc/view/commands.htm:79
+#: applications/luci-app-commands/ucode/template/commands.ut:73
msgid "Failed to execute command!"
msgstr "Nie można wykonać komendy!"
msgid "Grant UCI access for luci-app-commands"
msgstr "Udziel dostępu UCI do luci-app-commands"
-#: applications/luci-app-commands/luasrc/view/commands.htm:168
+#: applications/luci-app-commands/ucode/template/commands.ut:162
msgid "Link"
msgstr "Łącze"
-#: applications/luci-app-commands/luasrc/view/commands.htm:53
+#: applications/luci-app-commands/ucode/template/commands.ut:47
msgid "Loading"
msgstr "Ładowanie"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Or display result"
msgstr "Lub wyświetl wynik"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:24
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:29
msgid "Public access"
msgstr "Publiczny dostęp"
-#: applications/luci-app-commands/luasrc/view/commands.htm:165
+#: applications/luci-app-commands/ucode/template/commands.ut:159
msgid "Run"
msgstr "Uruchom"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:41
+#: applications/luci-app-commands/ucode/template/commands_public.ut:44
msgid "Standard Error"
msgstr "Standardowy błąd"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:36
+#: applications/luci-app-commands/ucode/template/commands_public.ut:39
msgid "Standard Output"
msgstr "Standardowe wyjście"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:7
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:11
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
"Ta strona pozwala ci skonfigurować niestandardową komendę którą można łatwo "
"wywołać z interfejsu sieciowego."
-#: applications/luci-app-commands/luasrc/view/commands.htm:150
+#: applications/luci-app-commands/ucode/template/commands.ut:144
msgid "This section contains no values yet"
msgstr "Ta sekcja nie zawiera jeszcze żadnych wartości"
-#: applications/luci-app-commands/luasrc/view/commands.htm:54
+#: applications/luci-app-commands/ucode/template/commands.ut:48
msgid "Waiting for command to complete..."
msgstr "Oczekiwanie na polecenie do wykonania..."
+#~ msgid "Command exited with status code"
+#~ msgstr "Komenda zakończona kodem statusu"
+
#~ msgid "Access command with"
#~ msgstr "Dostęp do komendy przez"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.1-dev\n"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:16
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:19
msgid "A short textual description of the configured command"
msgstr "Uma pequena descrição textual do comando configurado"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:25
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:30
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
"Permitir a execução do comando e descarregar o resultado sem autenticação "
"prévia"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:22
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:27
msgid "Allow the user to provide additional command line arguments"
msgstr ""
"Permitir que o utilizador forneça argumentos adicionais na linha de comandos"
-#: applications/luci-app-commands/luasrc/view/commands.htm:162
+#: applications/luci-app-commands/ucode/template/commands.ut:156
msgid "Arguments:"
msgstr "Argumentos:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:66
+#: applications/luci-app-commands/ucode/template/commands.ut:60
msgid "Binary data not displayed, download instead."
msgstr "Dados binários não mostrados, mas pode descarregar."
-#: applications/luci-app-commands/luasrc/view/commands.htm:71
+#: applications/luci-app-commands/ucode/template/commands.ut:65
msgid "Code:"
msgstr "Código:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:182
+#: applications/luci-app-commands/ucode/template/commands.ut:174
msgid "Collecting data..."
msgstr "A recolher dados..."
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:18
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command"
msgstr "Comando"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:30
+#: applications/luci-app-commands/ucode/template/commands_public.ut:32
msgid "Command executed successfully."
msgstr "Comando executado com sucesso."
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:32
-msgid "Command exited with status code"
-msgstr "Comando terminou com código de estado"
+#: applications/luci-app-commands/ucode/template/commands_public.ut:34
+msgid "Command exited with status code %d"
+msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command failed"
msgstr "O comando falhou"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:19
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command line to execute"
msgstr "Linha de comandos a executar"
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command successful"
msgstr "Comando executado com sucesso"
-#: applications/luci-app-commands/luasrc/view/commands.htm:160
+#: applications/luci-app-commands/ucode/template/commands.ut:154
msgid "Command:"
msgstr "Comando:"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:9
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:23
msgid "Configure"
msgstr "Configurar"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:7
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:6
-#: applications/luci-app-commands/luasrc/view/commands.htm:144
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:10
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:3
+#: applications/luci-app-commands/ucode/template/commands.ut:137
msgid "Custom Commands"
msgstr "Comandos Personalizados"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:21
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:26
msgid "Custom arguments"
msgstr "Argumentos personalizados"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:8
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:14
msgid "Dashboard"
msgstr "Painel de Controlo"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:15
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:18
msgid "Description"
msgstr "Descrição"
-#: applications/luci-app-commands/luasrc/view/commands.htm:166
+#: applications/luci-app-commands/ucode/template/commands.ut:160
msgid "Download"
msgstr "Descarregar"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Download execution result"
msgstr "Descarregamento do resultado da execução"
-#: applications/luci-app-commands/luasrc/view/commands.htm:79
+#: applications/luci-app-commands/ucode/template/commands.ut:73
msgid "Failed to execute command!"
msgstr "Falha ao executar comando!"
msgid "Grant UCI access for luci-app-commands"
msgstr "Conceder acesso UCI ao luci-app-commands"
-#: applications/luci-app-commands/luasrc/view/commands.htm:168
+#: applications/luci-app-commands/ucode/template/commands.ut:162
msgid "Link"
msgstr "Link"
-#: applications/luci-app-commands/luasrc/view/commands.htm:53
+#: applications/luci-app-commands/ucode/template/commands.ut:47
msgid "Loading"
msgstr "A carregar"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Or display result"
msgstr "Ou exibir resultado"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:24
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:29
msgid "Public access"
msgstr "Acesso público"
-#: applications/luci-app-commands/luasrc/view/commands.htm:165
+#: applications/luci-app-commands/ucode/template/commands.ut:159
msgid "Run"
msgstr "Executar"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:41
+#: applications/luci-app-commands/ucode/template/commands_public.ut:44
msgid "Standard Error"
msgstr "Erro Padrão"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:36
+#: applications/luci-app-commands/ucode/template/commands_public.ut:39
msgid "Standard Output"
msgstr "Saída Padrão"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:7
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:11
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
"Esta página permite-lhe configurar uma linha de comandos personalizada que "
"pode facilmente ser executada a partir da interface web."
-#: applications/luci-app-commands/luasrc/view/commands.htm:150
+#: applications/luci-app-commands/ucode/template/commands.ut:144
msgid "This section contains no values yet"
msgstr "Esta secção ainda não contém valores"
-#: applications/luci-app-commands/luasrc/view/commands.htm:54
+#: applications/luci-app-commands/ucode/template/commands.ut:48
msgid "Waiting for command to complete..."
msgstr "A aguardar que o comando termine..."
+#~ msgid "Command exited with status code"
+#~ msgstr "Comando terminou com código de estado"
+
#~ msgid "Access command with"
#~ msgstr "Aceder ao comando com"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.1-dev\n"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:16
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:19
msgid "A short textual description of the configured command"
msgstr "Uma pequena descrição textual do comando configurado"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:25
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:30
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
"Permitir a execução do comando e descarregar o resultado sem autenticação "
"prévia"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:22
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:27
msgid "Allow the user to provide additional command line arguments"
msgstr "Permitir ao usuário inserir argumentos de linha de comando adicionais"
-#: applications/luci-app-commands/luasrc/view/commands.htm:162
+#: applications/luci-app-commands/ucode/template/commands.ut:156
msgid "Arguments:"
msgstr "Argumentos:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:66
+#: applications/luci-app-commands/ucode/template/commands.ut:60
msgid "Binary data not displayed, download instead."
msgstr "Dados binários não mostrados, mas podem ser baixados."
-#: applications/luci-app-commands/luasrc/view/commands.htm:71
+#: applications/luci-app-commands/ucode/template/commands.ut:65
msgid "Code:"
msgstr "Código:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:182
+#: applications/luci-app-commands/ucode/template/commands.ut:174
msgid "Collecting data..."
msgstr "Coletando dados..."
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:18
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command"
msgstr "Comando"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:30
+#: applications/luci-app-commands/ucode/template/commands_public.ut:32
msgid "Command executed successfully."
msgstr "O comando executou com sucesso."
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:32
-msgid "Command exited with status code"
-msgstr "O comando encerrou com um estado de erro"
+#: applications/luci-app-commands/ucode/template/commands_public.ut:34
+msgid "Command exited with status code %d"
+msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command failed"
msgstr "O comando falhou"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:19
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command line to execute"
msgstr "Linha de comandos a executar"
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command successful"
msgstr "Comando executado com sucesso"
-#: applications/luci-app-commands/luasrc/view/commands.htm:160
+#: applications/luci-app-commands/ucode/template/commands.ut:154
msgid "Command:"
msgstr "Comando:"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:9
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:23
msgid "Configure"
msgstr "Configurar"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:7
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:6
-#: applications/luci-app-commands/luasrc/view/commands.htm:144
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:10
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:3
+#: applications/luci-app-commands/ucode/template/commands.ut:137
msgid "Custom Commands"
msgstr "Comandos Personalizados"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:21
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:26
msgid "Custom arguments"
msgstr "Argumentos personalizados"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:8
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:14
msgid "Dashboard"
msgstr "Painel de Controle"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:15
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:18
msgid "Description"
msgstr "Descrição"
-#: applications/luci-app-commands/luasrc/view/commands.htm:166
+#: applications/luci-app-commands/ucode/template/commands.ut:160
msgid "Download"
msgstr "Download"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Download execution result"
msgstr "Baixar os resultados da execução"
-#: applications/luci-app-commands/luasrc/view/commands.htm:79
+#: applications/luci-app-commands/ucode/template/commands.ut:73
msgid "Failed to execute command!"
msgstr "Falha ao executar comando!"
msgid "Grant UCI access for luci-app-commands"
msgstr "Conceda acesso UCI ao luci-app-commands"
-#: applications/luci-app-commands/luasrc/view/commands.htm:168
+#: applications/luci-app-commands/ucode/template/commands.ut:162
msgid "Link"
msgstr "Endereço"
-#: applications/luci-app-commands/luasrc/view/commands.htm:53
+#: applications/luci-app-commands/ucode/template/commands.ut:47
msgid "Loading"
msgstr "Carregando"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Or display result"
msgstr "Ou mostre o resultado"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:24
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:29
msgid "Public access"
msgstr "Acesso público"
-#: applications/luci-app-commands/luasrc/view/commands.htm:165
+#: applications/luci-app-commands/ucode/template/commands.ut:159
msgid "Run"
msgstr "Executar"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:41
+#: applications/luci-app-commands/ucode/template/commands_public.ut:44
msgid "Standard Error"
msgstr "Saída de Erro"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:36
+#: applications/luci-app-commands/ucode/template/commands_public.ut:39
msgid "Standard Output"
msgstr "Saída Padrão"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:7
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:11
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
"Esta página permite a configuração de comandos personalizados que podem ser "
"facilmente executados através da interface web."
-#: applications/luci-app-commands/luasrc/view/commands.htm:150
+#: applications/luci-app-commands/ucode/template/commands.ut:144
msgid "This section contains no values yet"
msgstr "Esta seção ainda não possui nenhum valor"
-#: applications/luci-app-commands/luasrc/view/commands.htm:54
+#: applications/luci-app-commands/ucode/template/commands.ut:48
msgid "Waiting for command to complete..."
msgstr "Aguardando a conclusão do comando..."
+#~ msgid "Command exited with status code"
+#~ msgstr "O comando encerrou com um estado de erro"
+
#~ msgid "Access command with"
#~ msgstr "Acessar o comando com"
"20)) ? 1 : 2;\n"
"X-Generator: Weblate 4.10-dev\n"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:16
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:19
msgid "A short textual description of the configured command"
msgstr "O scurta descriere textuala a comenzii configurate"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:25
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:30
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
"Permite executarea comenzii si descarcarea rezultatului fara o autentificare "
"anterioara"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:22
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:27
msgid "Allow the user to provide additional command line arguments"
msgstr "Permite utilizatorului sa adauge parametrii in linia de comanda"
-#: applications/luci-app-commands/luasrc/view/commands.htm:162
+#: applications/luci-app-commands/ucode/template/commands.ut:156
msgid "Arguments:"
msgstr "Parametrii:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:66
+#: applications/luci-app-commands/ucode/template/commands.ut:60
msgid "Binary data not displayed, download instead."
msgstr "Datele binare nu sunt afișate, descărcați în schimb."
-#: applications/luci-app-commands/luasrc/view/commands.htm:71
+#: applications/luci-app-commands/ucode/template/commands.ut:65
msgid "Code:"
msgstr "Cod:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:182
+#: applications/luci-app-commands/ucode/template/commands.ut:174
msgid "Collecting data..."
msgstr "Colectare date..."
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:18
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command"
msgstr "Comandă"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:30
+#: applications/luci-app-commands/ucode/template/commands_public.ut:32
msgid "Command executed successfully."
msgstr "Comandă executată cu succes."
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:32
-msgid "Command exited with status code"
-msgstr "Comanda a ieșit cu codul de stare"
+#: applications/luci-app-commands/ucode/template/commands_public.ut:34
+msgid "Command exited with status code %d"
+msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command failed"
msgstr "Comandă eşuată"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:19
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command line to execute"
msgstr "Linie de comanda pentru a executa"
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command successful"
msgstr "Comanda reusita"
-#: applications/luci-app-commands/luasrc/view/commands.htm:160
+#: applications/luci-app-commands/ucode/template/commands.ut:154
msgid "Command:"
msgstr "Comanda:"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:9
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:23
msgid "Configure"
msgstr "Configureaza"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:7
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:6
-#: applications/luci-app-commands/luasrc/view/commands.htm:144
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:10
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:3
+#: applications/luci-app-commands/ucode/template/commands.ut:137
msgid "Custom Commands"
msgstr "Comenzi particulare"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:21
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:26
msgid "Custom arguments"
msgstr "Argumenta particulare"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:8
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:14
msgid "Dashboard"
msgstr "Tabloul de bord"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:15
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:18
msgid "Description"
msgstr "Descriere"
-#: applications/luci-app-commands/luasrc/view/commands.htm:166
+#: applications/luci-app-commands/ucode/template/commands.ut:160
msgid "Download"
msgstr "Descărcați"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Download execution result"
msgstr "Descărcați rezultatul execuției"
-#: applications/luci-app-commands/luasrc/view/commands.htm:79
+#: applications/luci-app-commands/ucode/template/commands.ut:73
msgid "Failed to execute command!"
msgstr "S-a esuat executarea comenzii!!"
msgid "Grant UCI access for luci-app-commands"
msgstr "Acordarea accesului UCI pentru luci-app-commands"
-#: applications/luci-app-commands/luasrc/view/commands.htm:168
+#: applications/luci-app-commands/ucode/template/commands.ut:162
msgid "Link"
msgstr "Link"
-#: applications/luci-app-commands/luasrc/view/commands.htm:53
+#: applications/luci-app-commands/ucode/template/commands.ut:47
msgid "Loading"
msgstr "Încărcare"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Or display result"
msgstr "Sau afișați rezultatul"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:24
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:29
msgid "Public access"
msgstr "Access public"
-#: applications/luci-app-commands/luasrc/view/commands.htm:165
+#: applications/luci-app-commands/ucode/template/commands.ut:159
msgid "Run"
msgstr "Ruleaza"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:41
+#: applications/luci-app-commands/ucode/template/commands_public.ut:44
msgid "Standard Error"
msgstr "Eroare standard"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:36
+#: applications/luci-app-commands/ucode/template/commands_public.ut:39
msgid "Standard Output"
msgstr "Ieșire standard"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:7
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:11
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
"Această pagină vă permite să configurați comenzi shell personalizate care "
"pot fi invocate cu ușurință din interfața web."
-#: applications/luci-app-commands/luasrc/view/commands.htm:150
+#: applications/luci-app-commands/ucode/template/commands.ut:144
msgid "This section contains no values yet"
msgstr "Această secțiune nu conține încă nicio valoare"
-#: applications/luci-app-commands/luasrc/view/commands.htm:54
+#: applications/luci-app-commands/ucode/template/commands.ut:48
msgid "Waiting for command to complete..."
msgstr "În așteptarea finalizării comenzii..."
+#~ msgid "Command exited with status code"
+#~ msgstr "Comanda a ieșit cu codul de stare"
+
#~ msgid "Access command with"
#~ msgstr "Acces la comanda cu"
"Project-Info: Это технический перевод, не дословный. Главное-удобный русский "
"интерфейс, все проверялось в графическом режиме, совместим с другими apps\n"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:16
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:19
msgid "A short textual description of the configured command"
msgstr "Короткое текстовое описание команды"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:25
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:30
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
"Разрешить выполнение команды и загрузку ее выходных данных без ввода пароля "
"пользователя"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:22
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:27
msgid "Allow the user to provide additional command line arguments"
msgstr ""
"Разрешить пользователю предоставлять дополнительные аргументы командной "
"строки"
-#: applications/luci-app-commands/luasrc/view/commands.htm:162
+#: applications/luci-app-commands/ucode/template/commands.ut:156
msgid "Arguments:"
msgstr "Аргументы:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:66
+#: applications/luci-app-commands/ucode/template/commands.ut:60
msgid "Binary data not displayed, download instead."
msgstr "Двоичные данные не отображаются, вместо этого загружаются."
-#: applications/luci-app-commands/luasrc/view/commands.htm:71
+#: applications/luci-app-commands/ucode/template/commands.ut:65
msgid "Code:"
msgstr "Код:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:182
+#: applications/luci-app-commands/ucode/template/commands.ut:174
msgid "Collecting data..."
msgstr "Сбор данных..."
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:18
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command"
msgstr "Команда"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:30
+#: applications/luci-app-commands/ucode/template/commands_public.ut:32
msgid "Command executed successfully."
msgstr "Команда выполнена успешно."
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:32
-msgid "Command exited with status code"
-msgstr "Команда вышла с кодом состояния"
+#: applications/luci-app-commands/ucode/template/commands_public.ut:34
+msgid "Command exited with status code %d"
+msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command failed"
msgstr "Ошибка команды"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:19
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command line to execute"
msgstr "Командная строка<br />для выполнения"
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command successful"
msgstr "Команда выполнена"
-#: applications/luci-app-commands/luasrc/view/commands.htm:160
+#: applications/luci-app-commands/ucode/template/commands.ut:154
msgid "Command:"
msgstr "Команда:"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:9
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:23
msgid "Configure"
msgstr "Настройка панели управления"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:7
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:6
-#: applications/luci-app-commands/luasrc/view/commands.htm:144
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:10
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:3
+#: applications/luci-app-commands/ucode/template/commands.ut:137
msgid "Custom Commands"
msgstr "Пользовательские команды"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:21
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:26
msgid "Custom arguments"
msgstr "Пользовательские аргументы"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:8
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:14
msgid "Dashboard"
msgstr "Панель мониторинга"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:15
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:18
msgid "Description"
msgstr "Описание"
-#: applications/luci-app-commands/luasrc/view/commands.htm:166
+#: applications/luci-app-commands/ucode/template/commands.ut:160
msgid "Download"
msgstr "Скачать"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Download execution result"
msgstr "Результат выполнения загрузки"
-#: applications/luci-app-commands/luasrc/view/commands.htm:79
+#: applications/luci-app-commands/ucode/template/commands.ut:73
msgid "Failed to execute command!"
msgstr "Ошибка выполнения команды!"
msgid "Grant UCI access for luci-app-commands"
msgstr "Предоставить UCI доступ для luci-app-commands"
-#: applications/luci-app-commands/luasrc/view/commands.htm:168
+#: applications/luci-app-commands/ucode/template/commands.ut:162
msgid "Link"
msgstr "Ссылка"
-#: applications/luci-app-commands/luasrc/view/commands.htm:53
+#: applications/luci-app-commands/ucode/template/commands.ut:47
msgid "Loading"
msgstr "Загрузка"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Or display result"
msgstr "Или отобразить результат"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:24
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:29
msgid "Public access"
msgstr "Публичный доступ"
-#: applications/luci-app-commands/luasrc/view/commands.htm:165
+#: applications/luci-app-commands/ucode/template/commands.ut:159
msgid "Run"
msgstr "Запуск"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:41
+#: applications/luci-app-commands/ucode/template/commands_public.ut:44
msgid "Standard Error"
msgstr "Стандартная ошибка"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:36
+#: applications/luci-app-commands/ucode/template/commands_public.ut:39
msgid "Standard Output"
msgstr "Стандартный вывод"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:7
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:11
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
"которые могут быть легко вызваны из веб-интерфейса по нажатию "
"соответствующей кнопки. Здесь вы можете подписать кнопки и указать команды."
-#: applications/luci-app-commands/luasrc/view/commands.htm:150
+#: applications/luci-app-commands/ucode/template/commands.ut:144
msgid "This section contains no values yet"
msgstr "Этот раздел не содержит данных"
-#: applications/luci-app-commands/luasrc/view/commands.htm:54
+#: applications/luci-app-commands/ucode/template/commands.ut:48
msgid "Waiting for command to complete..."
msgstr "Ожидание завершения выполнения команды..."
+
+#~ msgid "Command exited with status code"
+#~ msgstr "Команда вышла с кодом состояния"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Weblate 4.0-dev\n"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:16
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:19
msgid "A short textual description of the configured command"
msgstr "Krátky textový popis nakonfigurovaného príkazu"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:25
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:30
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:22
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:27
msgid "Allow the user to provide additional command line arguments"
msgstr "Umožniť používateľovi poskytnúť dodatočné parametre príkazového riadku"
-#: applications/luci-app-commands/luasrc/view/commands.htm:162
+#: applications/luci-app-commands/ucode/template/commands.ut:156
msgid "Arguments:"
msgstr "Parametre:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:66
+#: applications/luci-app-commands/ucode/template/commands.ut:60
msgid "Binary data not displayed, download instead."
msgstr "Binárne údaje neboli zobrazené, ale môžu byť prevzaté."
-#: applications/luci-app-commands/luasrc/view/commands.htm:71
+#: applications/luci-app-commands/ucode/template/commands.ut:65
msgid "Code:"
msgstr "Kód:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:182
+#: applications/luci-app-commands/ucode/template/commands.ut:174
msgid "Collecting data..."
msgstr "Zbierajú sa údaje..."
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:18
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command"
msgstr "Príkaz"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:30
+#: applications/luci-app-commands/ucode/template/commands_public.ut:32
msgid "Command executed successfully."
msgstr "Príkaz úspešne spustený."
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:32
-msgid "Command exited with status code"
-msgstr "Príkaz skončil so stavovým kódom"
+#: applications/luci-app-commands/ucode/template/commands_public.ut:34
+msgid "Command exited with status code %d"
+msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command failed"
msgstr "Príkaz zlyhal"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:19
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command line to execute"
msgstr "Príkazový riadok na spustenie"
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command successful"
msgstr "Príkaz úspešný"
-#: applications/luci-app-commands/luasrc/view/commands.htm:160
+#: applications/luci-app-commands/ucode/template/commands.ut:154
msgid "Command:"
msgstr "Príkaz:"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:9
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:23
msgid "Configure"
msgstr "Konfigurovať"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:7
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:6
-#: applications/luci-app-commands/luasrc/view/commands.htm:144
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:10
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:3
+#: applications/luci-app-commands/ucode/template/commands.ut:137
msgid "Custom Commands"
msgstr "Vlastné príkazy"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:21
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:26
msgid "Custom arguments"
msgstr "Vlastné parametre"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:8
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:14
msgid "Dashboard"
msgstr "Nástenka"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:15
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:18
msgid "Description"
msgstr "Popis"
-#: applications/luci-app-commands/luasrc/view/commands.htm:166
+#: applications/luci-app-commands/ucode/template/commands.ut:160
msgid "Download"
msgstr "Prevziať"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Download execution result"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:79
+#: applications/luci-app-commands/ucode/template/commands.ut:73
msgid "Failed to execute command!"
msgstr "Zlyhalo spustenie príkazu!"
msgid "Grant UCI access for luci-app-commands"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:168
+#: applications/luci-app-commands/ucode/template/commands.ut:162
msgid "Link"
msgstr "Odkaz"
-#: applications/luci-app-commands/luasrc/view/commands.htm:53
+#: applications/luci-app-commands/ucode/template/commands.ut:47
msgid "Loading"
msgstr "Načítava sa"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Or display result"
msgstr "Alebo zobraziť výsledok"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:24
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:29
msgid "Public access"
msgstr "Verejný prístup"
-#: applications/luci-app-commands/luasrc/view/commands.htm:165
+#: applications/luci-app-commands/ucode/template/commands.ut:159
msgid "Run"
msgstr "Spustiť"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:41
+#: applications/luci-app-commands/ucode/template/commands_public.ut:44
msgid "Standard Error"
msgstr "Štandardná chyba"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:36
+#: applications/luci-app-commands/ucode/template/commands_public.ut:39
msgid "Standard Output"
msgstr "Štandardný výstup"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:7
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:11
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:150
+#: applications/luci-app-commands/ucode/template/commands.ut:144
msgid "This section contains no values yet"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:54
+#: applications/luci-app-commands/ucode/template/commands.ut:48
msgid "Waiting for command to complete..."
msgstr "Čaká sa na dokončenie príkazu..."
+
+#~ msgid "Command exited with status code"
+#~ msgstr "Príkaz skončil so stavovým kódom"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.7-dev\n"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:16
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:19
msgid "A short textual description of the configured command"
msgstr "En kort textuell beskrivning av det inställda kommandot"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:25
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:30
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
"Tillåt att kommandot kan köras och ladda ner dess utmatning utan föregående "
"autentisering"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:22
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:27
msgid "Allow the user to provide additional command line arguments"
msgstr "Tillåt användaren att tillge extra kommandoradsargument"
-#: applications/luci-app-commands/luasrc/view/commands.htm:162
+#: applications/luci-app-commands/ucode/template/commands.ut:156
msgid "Arguments:"
msgstr "Argument:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:66
+#: applications/luci-app-commands/ucode/template/commands.ut:60
msgid "Binary data not displayed, download instead."
msgstr "Binärdatan visades inte, ladda ner istället."
-#: applications/luci-app-commands/luasrc/view/commands.htm:71
+#: applications/luci-app-commands/ucode/template/commands.ut:65
msgid "Code:"
msgstr "Kod:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:182
+#: applications/luci-app-commands/ucode/template/commands.ut:174
msgid "Collecting data..."
msgstr "Samlar in data..."
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:18
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command"
msgstr "Kommando"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:30
+#: applications/luci-app-commands/ucode/template/commands_public.ut:32
msgid "Command executed successfully."
msgstr "Kommandot utfördes korrekt."
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:32
-msgid "Command exited with status code"
-msgstr "Kommandot avslutade med statuskod"
+#: applications/luci-app-commands/ucode/template/commands_public.ut:34
+msgid "Command exited with status code %d"
+msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command failed"
msgstr "Kommandot misslyckades"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:19
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command line to execute"
msgstr "Kommandorad att exekvera"
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command successful"
msgstr "Kommandot lyckades"
-#: applications/luci-app-commands/luasrc/view/commands.htm:160
+#: applications/luci-app-commands/ucode/template/commands.ut:154
msgid "Command:"
msgstr "Kommando:"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:9
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:23
msgid "Configure"
msgstr "Ställ in"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:7
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:6
-#: applications/luci-app-commands/luasrc/view/commands.htm:144
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:10
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:3
+#: applications/luci-app-commands/ucode/template/commands.ut:137
msgid "Custom Commands"
msgstr "Anpassade kommandon"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:21
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:26
msgid "Custom arguments"
msgstr "Anpassade argument"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:8
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:14
msgid "Dashboard"
msgstr "Instrumentbräda"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:15
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:18
msgid "Description"
msgstr "Beskrivning"
-#: applications/luci-app-commands/luasrc/view/commands.htm:166
+#: applications/luci-app-commands/ucode/template/commands.ut:160
msgid "Download"
msgstr "Nedladdning"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Download execution result"
msgstr "Resultatet av nerladdningen"
-#: applications/luci-app-commands/luasrc/view/commands.htm:79
+#: applications/luci-app-commands/ucode/template/commands.ut:73
msgid "Failed to execute command!"
msgstr "Misslyckade med att köra kommando!"
msgid "Grant UCI access for luci-app-commands"
msgstr "Ge UCI åtkomst för luci-app-commands"
-#: applications/luci-app-commands/luasrc/view/commands.htm:168
+#: applications/luci-app-commands/ucode/template/commands.ut:162
msgid "Link"
msgstr "Länk"
-#: applications/luci-app-commands/luasrc/view/commands.htm:53
+#: applications/luci-app-commands/ucode/template/commands.ut:47
msgid "Loading"
msgstr "Laddar"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Or display result"
msgstr "Eller visa resultat"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:24
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:29
msgid "Public access"
msgstr "Publik tillgång"
-#: applications/luci-app-commands/luasrc/view/commands.htm:165
+#: applications/luci-app-commands/ucode/template/commands.ut:159
msgid "Run"
msgstr "Kör"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:41
+#: applications/luci-app-commands/ucode/template/commands_public.ut:44
msgid "Standard Error"
msgstr "Standardfel"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:36
+#: applications/luci-app-commands/ucode/template/commands_public.ut:39
msgid "Standard Output"
msgstr "Standardinmatning"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:7
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:11
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
"Den här sidan tillåter dig att ställa in anpassade skalkommandon som lättast "
"kan åberopas från webbgränssnittet."
-#: applications/luci-app-commands/luasrc/view/commands.htm:150
+#: applications/luci-app-commands/ucode/template/commands.ut:144
msgid "This section contains no values yet"
msgstr "Den här sektionen innehåller inga värden ännu"
-#: applications/luci-app-commands/luasrc/view/commands.htm:54
+#: applications/luci-app-commands/ucode/template/commands.ut:48
msgid "Waiting for command to complete..."
msgstr "Väntar på att kommandot ska slutföras..."
+
+#~ msgid "Command exited with status code"
+#~ msgstr "Kommandot avslutade med statuskod"
msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:16
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:19
msgid "A short textual description of the configured command"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:25
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:30
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:22
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:27
msgid "Allow the user to provide additional command line arguments"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:162
+#: applications/luci-app-commands/ucode/template/commands.ut:156
msgid "Arguments:"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:66
+#: applications/luci-app-commands/ucode/template/commands.ut:60
msgid "Binary data not displayed, download instead."
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:71
+#: applications/luci-app-commands/ucode/template/commands.ut:65
msgid "Code:"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:182
+#: applications/luci-app-commands/ucode/template/commands.ut:174
msgid "Collecting data..."
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:18
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:30
+#: applications/luci-app-commands/ucode/template/commands_public.ut:32
msgid "Command executed successfully."
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:32
-msgid "Command exited with status code"
+#: applications/luci-app-commands/ucode/template/commands_public.ut:34
+msgid "Command exited with status code %d"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command failed"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:19
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command line to execute"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command successful"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:160
+#: applications/luci-app-commands/ucode/template/commands.ut:154
msgid "Command:"
msgstr ""
-#: applications/luci-app-commands/luasrc/controller/commands.lua:9
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:23
msgid "Configure"
msgstr ""
-#: applications/luci-app-commands/luasrc/controller/commands.lua:7
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:6
-#: applications/luci-app-commands/luasrc/view/commands.htm:144
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:10
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:3
+#: applications/luci-app-commands/ucode/template/commands.ut:137
msgid "Custom Commands"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:21
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:26
msgid "Custom arguments"
msgstr ""
-#: applications/luci-app-commands/luasrc/controller/commands.lua:8
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:14
msgid "Dashboard"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:15
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:18
msgid "Description"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:166
+#: applications/luci-app-commands/ucode/template/commands.ut:160
msgid "Download"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Download execution result"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:79
+#: applications/luci-app-commands/ucode/template/commands.ut:73
msgid "Failed to execute command!"
msgstr ""
msgid "Grant UCI access for luci-app-commands"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:168
+#: applications/luci-app-commands/ucode/template/commands.ut:162
msgid "Link"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:53
+#: applications/luci-app-commands/ucode/template/commands.ut:47
msgid "Loading"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Or display result"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:24
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:29
msgid "Public access"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:165
+#: applications/luci-app-commands/ucode/template/commands.ut:159
msgid "Run"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:41
+#: applications/luci-app-commands/ucode/template/commands_public.ut:44
msgid "Standard Error"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:36
+#: applications/luci-app-commands/ucode/template/commands_public.ut:39
msgid "Standard Output"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:7
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:11
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:150
+#: applications/luci-app-commands/ucode/template/commands.ut:144
msgid "This section contains no values yet"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:54
+#: applications/luci-app-commands/ucode/template/commands.ut:48
msgid "Waiting for command to complete..."
msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.6-dev\n"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:16
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:19
msgid "A short textual description of the configured command"
msgstr "Yapılandırılan komutun kısa bir metin açıklaması"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:25
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:30
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
"Önceden kimlik doğrulama yapmadan komutun çalıştırılmasına ve çıktısının "
"indirilmesine izin ver"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:22
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:27
msgid "Allow the user to provide additional command line arguments"
msgstr "Kullanıcının ek komut satırı argümanları sağlamasına izin ver"
-#: applications/luci-app-commands/luasrc/view/commands.htm:162
+#: applications/luci-app-commands/ucode/template/commands.ut:156
msgid "Arguments:"
msgstr "Argümanlar:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:66
+#: applications/luci-app-commands/ucode/template/commands.ut:60
msgid "Binary data not displayed, download instead."
msgstr "İkili veri görüntülenmiyor, bunun yerine indir."
-#: applications/luci-app-commands/luasrc/view/commands.htm:71
+#: applications/luci-app-commands/ucode/template/commands.ut:65
msgid "Code:"
msgstr "Kod:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:182
+#: applications/luci-app-commands/ucode/template/commands.ut:174
msgid "Collecting data..."
msgstr "Veriler toplanıyor..."
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:18
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command"
msgstr "Komut"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:30
+#: applications/luci-app-commands/ucode/template/commands_public.ut:32
msgid "Command executed successfully."
msgstr "Komut başarıyla çalıştırıldı."
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:32
-msgid "Command exited with status code"
-msgstr "Komut şu durum kodu ile çıktı:"
+#: applications/luci-app-commands/ucode/template/commands_public.ut:34
+msgid "Command exited with status code %d"
+msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command failed"
msgstr "Komut başarısız oldu"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:19
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command line to execute"
msgstr "Çalıştırılacak komut satırı"
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command successful"
msgstr "Komut başarılı"
-#: applications/luci-app-commands/luasrc/view/commands.htm:160
+#: applications/luci-app-commands/ucode/template/commands.ut:154
msgid "Command:"
msgstr "Komut:"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:9
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:23
msgid "Configure"
msgstr "Yapılandır"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:7
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:6
-#: applications/luci-app-commands/luasrc/view/commands.htm:144
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:10
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:3
+#: applications/luci-app-commands/ucode/template/commands.ut:137
msgid "Custom Commands"
msgstr "Özel Komutlar"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:21
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:26
msgid "Custom arguments"
msgstr "Özel argümanlar"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:8
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:14
msgid "Dashboard"
msgstr "Denetim Paneli"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:15
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:18
msgid "Description"
msgstr "Açıklama"
-#: applications/luci-app-commands/luasrc/view/commands.htm:166
+#: applications/luci-app-commands/ucode/template/commands.ut:160
msgid "Download"
msgstr "İndir"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Download execution result"
msgstr "Çalıştırma sonucunu indir"
-#: applications/luci-app-commands/luasrc/view/commands.htm:79
+#: applications/luci-app-commands/ucode/template/commands.ut:73
msgid "Failed to execute command!"
msgstr "Komutu çalıştırma başarısız oldu!"
msgid "Grant UCI access for luci-app-commands"
msgstr "luci-app-commands için UCI erişimi verin"
-#: applications/luci-app-commands/luasrc/view/commands.htm:168
+#: applications/luci-app-commands/ucode/template/commands.ut:162
msgid "Link"
msgstr "Bağlantı"
-#: applications/luci-app-commands/luasrc/view/commands.htm:53
+#: applications/luci-app-commands/ucode/template/commands.ut:47
msgid "Loading"
msgstr "Yükleniyor"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Or display result"
msgstr "Veya sonucu göster"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:24
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:29
msgid "Public access"
msgstr "Genel erişim"
-#: applications/luci-app-commands/luasrc/view/commands.htm:165
+#: applications/luci-app-commands/ucode/template/commands.ut:159
msgid "Run"
msgstr "Çalıştır"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:41
+#: applications/luci-app-commands/ucode/template/commands_public.ut:44
msgid "Standard Error"
msgstr "Standart Hata"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:36
+#: applications/luci-app-commands/ucode/template/commands_public.ut:39
msgid "Standard Output"
msgstr "Standart Çıktı"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:7
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:11
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
"Bu sayfa, web arayüzünden kolayca çağrılabilen özel kabuk komutlarını "
"yapılandırmanıza olanak tanır."
-#: applications/luci-app-commands/luasrc/view/commands.htm:150
+#: applications/luci-app-commands/ucode/template/commands.ut:144
msgid "This section contains no values yet"
msgstr "Bu bölüm henüz herhangi bir değer içermiyor"
-#: applications/luci-app-commands/luasrc/view/commands.htm:54
+#: applications/luci-app-commands/ucode/template/commands.ut:48
msgid "Waiting for command to complete..."
msgstr "Komutun tamamlanması bekleniyor..."
+
+#~ msgid "Command exited with status code"
+#~ msgstr "Komut şu durum kodu ile çıktı:"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.9-dev\n"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:16
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:19
msgid "A short textual description of the configured command"
msgstr "Короткий текстовий опис налаштовуваної команди"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:25
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:30
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
"Дозволити виконання команди та завантаження її результатів без попередньої "
"автентифікації"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:22
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:27
msgid "Allow the user to provide additional command line arguments"
msgstr "Дозвольте користувачеві надати додаткові аргументи командного рядка"
-#: applications/luci-app-commands/luasrc/view/commands.htm:162
+#: applications/luci-app-commands/ucode/template/commands.ut:156
msgid "Arguments:"
msgstr "Аргументи:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:66
+#: applications/luci-app-commands/ucode/template/commands.ut:60
msgid "Binary data not displayed, download instead."
msgstr "Бінарні дані не відображаються, завантажте замість цього."
-#: applications/luci-app-commands/luasrc/view/commands.htm:71
+#: applications/luci-app-commands/ucode/template/commands.ut:65
msgid "Code:"
msgstr "Код:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:182
+#: applications/luci-app-commands/ucode/template/commands.ut:174
msgid "Collecting data..."
msgstr "Збирання даних..."
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:18
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command"
msgstr "Команда"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:30
+#: applications/luci-app-commands/ucode/template/commands_public.ut:32
msgid "Command executed successfully."
msgstr "Команду вдало виконано."
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:32
-msgid "Command exited with status code"
-msgstr "Команда вийшла із кодом стану"
+#: applications/luci-app-commands/ucode/template/commands_public.ut:34
+msgid "Command exited with status code %d"
+msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command failed"
msgstr "Не вдалося виконати команду"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:19
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command line to execute"
msgstr "Командний рядок для виконання"
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command successful"
msgstr "Команду виконано"
-#: applications/luci-app-commands/luasrc/view/commands.htm:160
+#: applications/luci-app-commands/ucode/template/commands.ut:154
msgid "Command:"
msgstr "Команда:"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:9
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:23
msgid "Configure"
msgstr "Конфігурація"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:7
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:6
-#: applications/luci-app-commands/luasrc/view/commands.htm:144
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:10
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:3
+#: applications/luci-app-commands/ucode/template/commands.ut:137
msgid "Custom Commands"
msgstr "Власна команда"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:21
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:26
msgid "Custom arguments"
msgstr "Власні аргументи"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:8
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:14
msgid "Dashboard"
msgstr "Панелі"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:15
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:18
msgid "Description"
msgstr "Опис"
-#: applications/luci-app-commands/luasrc/view/commands.htm:166
+#: applications/luci-app-commands/ucode/template/commands.ut:160
msgid "Download"
msgstr "Завантажити"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Download execution result"
msgstr "Підсумок виконання завантаження"
-#: applications/luci-app-commands/luasrc/view/commands.htm:79
+#: applications/luci-app-commands/ucode/template/commands.ut:73
msgid "Failed to execute command!"
msgstr "Помилка виконання команди!"
msgid "Grant UCI access for luci-app-commands"
msgstr "Надати доступ UCI для команд luci-app"
-#: applications/luci-app-commands/luasrc/view/commands.htm:168
+#: applications/luci-app-commands/ucode/template/commands.ut:162
msgid "Link"
msgstr "Посилання"
-#: applications/luci-app-commands/luasrc/view/commands.htm:53
+#: applications/luci-app-commands/ucode/template/commands.ut:47
msgid "Loading"
msgstr "Завантаження"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Or display result"
msgstr "Або відобразити підсумок"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:24
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:29
msgid "Public access"
msgstr "Відкритий доступ"
-#: applications/luci-app-commands/luasrc/view/commands.htm:165
+#: applications/luci-app-commands/ucode/template/commands.ut:159
msgid "Run"
msgstr "Запустити"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:41
+#: applications/luci-app-commands/ucode/template/commands_public.ut:44
msgid "Standard Error"
msgstr "Стандартна помилка"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:36
+#: applications/luci-app-commands/ucode/template/commands_public.ut:39
msgid "Standard Output"
msgstr "Стандартний вивід"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:7
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:11
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
"Ця сторінка дозволяє налаштувати користувацькі команди оболонки, які може "
"бути легко запущені з веб-інтерфейсу."
-#: applications/luci-app-commands/luasrc/view/commands.htm:150
+#: applications/luci-app-commands/ucode/template/commands.ut:144
msgid "This section contains no values yet"
msgstr "Ця секція поки що не містить значень"
-#: applications/luci-app-commands/luasrc/view/commands.htm:54
+#: applications/luci-app-commands/ucode/template/commands.ut:48
msgid "Waiting for command to complete..."
msgstr "Очікуємо завершення виконання команди..."
+
+#~ msgid "Command exited with status code"
+#~ msgstr "Команда вийшла із кодом стану"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 3.10-dev\n"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:16
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:19
msgid "A short textual description of the configured command"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:25
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:30
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:22
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:27
msgid "Allow the user to provide additional command line arguments"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:162
+#: applications/luci-app-commands/ucode/template/commands.ut:156
msgid "Arguments:"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:66
+#: applications/luci-app-commands/ucode/template/commands.ut:60
msgid "Binary data not displayed, download instead."
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:71
+#: applications/luci-app-commands/ucode/template/commands.ut:65
msgid "Code:"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:182
+#: applications/luci-app-commands/ucode/template/commands.ut:174
msgid "Collecting data..."
msgstr "Đang lấy dữ liệu..."
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:18
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:30
+#: applications/luci-app-commands/ucode/template/commands_public.ut:32
msgid "Command executed successfully."
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:32
-msgid "Command exited with status code"
+#: applications/luci-app-commands/ucode/template/commands_public.ut:34
+msgid "Command exited with status code %d"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command failed"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:19
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command line to execute"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command successful"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:160
+#: applications/luci-app-commands/ucode/template/commands.ut:154
msgid "Command:"
msgstr ""
-#: applications/luci-app-commands/luasrc/controller/commands.lua:9
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:23
msgid "Configure"
msgstr ""
-#: applications/luci-app-commands/luasrc/controller/commands.lua:7
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:6
-#: applications/luci-app-commands/luasrc/view/commands.htm:144
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:10
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:3
+#: applications/luci-app-commands/ucode/template/commands.ut:137
msgid "Custom Commands"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:21
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:26
msgid "Custom arguments"
msgstr ""
-#: applications/luci-app-commands/luasrc/controller/commands.lua:8
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:14
msgid "Dashboard"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:15
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:18
msgid "Description"
msgstr "Mô tả"
-#: applications/luci-app-commands/luasrc/view/commands.htm:166
+#: applications/luci-app-commands/ucode/template/commands.ut:160
msgid "Download"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Download execution result"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:79
+#: applications/luci-app-commands/ucode/template/commands.ut:73
msgid "Failed to execute command!"
msgstr ""
msgid "Grant UCI access for luci-app-commands"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:168
+#: applications/luci-app-commands/ucode/template/commands.ut:162
msgid "Link"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:53
+#: applications/luci-app-commands/ucode/template/commands.ut:47
msgid "Loading"
msgstr "Đang tải"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Or display result"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:24
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:29
msgid "Public access"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:165
+#: applications/luci-app-commands/ucode/template/commands.ut:159
msgid "Run"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:41
+#: applications/luci-app-commands/ucode/template/commands_public.ut:44
msgid "Standard Error"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:36
+#: applications/luci-app-commands/ucode/template/commands_public.ut:39
msgid "Standard Output"
msgstr ""
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:7
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:11
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:150
+#: applications/luci-app-commands/ucode/template/commands.ut:144
msgid "This section contains no values yet"
msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:54
+#: applications/luci-app-commands/ucode/template/commands.ut:48
msgid "Waiting for command to complete..."
msgstr "Vui lòng chờ đến khi lệnh được thực thi hoàn thành..."
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.6-dev\n"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:16
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:19
msgid "A short textual description of the configured command"
msgstr "简短描述命令用途"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:25
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:30
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
msgstr "允许不事先验证就执行命令并下载其输出"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:22
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:27
msgid "Allow the user to provide additional command line arguments"
msgstr "允许用户提供额外的命令行参数"
-#: applications/luci-app-commands/luasrc/view/commands.htm:162
+#: applications/luci-app-commands/ucode/template/commands.ut:156
msgid "Arguments:"
msgstr "参数:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:66
+#: applications/luci-app-commands/ucode/template/commands.ut:60
msgid "Binary data not displayed, download instead."
msgstr "二进制数据未显示,以下载替代。"
-#: applications/luci-app-commands/luasrc/view/commands.htm:71
+#: applications/luci-app-commands/ucode/template/commands.ut:65
msgid "Code:"
msgstr "状态码:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:182
+#: applications/luci-app-commands/ucode/template/commands.ut:174
msgid "Collecting data..."
msgstr "正在收集数据…"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:18
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command"
msgstr "命令"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:30
+#: applications/luci-app-commands/ucode/template/commands_public.ut:32
msgid "Command executed successfully."
msgstr "命令成功执行。"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:32
-msgid "Command exited with status code"
-msgstr "命令退出,状态码为"
+#: applications/luci-app-commands/ucode/template/commands_public.ut:34
+msgid "Command exited with status code %d"
+msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command failed"
msgstr "命令执行失败"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:19
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command line to execute"
msgstr "执行命令行"
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command successful"
msgstr "执行命令成功"
-#: applications/luci-app-commands/luasrc/view/commands.htm:160
+#: applications/luci-app-commands/ucode/template/commands.ut:154
msgid "Command:"
msgstr "命令:"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:9
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:23
msgid "Configure"
msgstr "配置"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:7
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:6
-#: applications/luci-app-commands/luasrc/view/commands.htm:144
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:10
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:3
+#: applications/luci-app-commands/ucode/template/commands.ut:137
msgid "Custom Commands"
msgstr "自定义命令"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:21
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:26
msgid "Custom arguments"
msgstr "自定义参数"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:8
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:14
msgid "Dashboard"
msgstr "概览"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:15
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:18
msgid "Description"
msgstr "描述"
-#: applications/luci-app-commands/luasrc/view/commands.htm:166
+#: applications/luci-app-commands/ucode/template/commands.ut:160
msgid "Download"
msgstr "下载"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Download execution result"
msgstr "下载执行结果"
-#: applications/luci-app-commands/luasrc/view/commands.htm:79
+#: applications/luci-app-commands/ucode/template/commands.ut:73
msgid "Failed to execute command!"
msgstr "执行命令失败!"
msgid "Grant UCI access for luci-app-commands"
msgstr "授予UCI访问luci-app-commands的权限"
-#: applications/luci-app-commands/luasrc/view/commands.htm:168
+#: applications/luci-app-commands/ucode/template/commands.ut:162
msgid "Link"
msgstr "连接"
-#: applications/luci-app-commands/luasrc/view/commands.htm:53
+#: applications/luci-app-commands/ucode/template/commands.ut:47
msgid "Loading"
msgstr "加载中"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Or display result"
msgstr "显示执行结果"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:24
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:29
msgid "Public access"
msgstr "公开访问"
-#: applications/luci-app-commands/luasrc/view/commands.htm:165
+#: applications/luci-app-commands/ucode/template/commands.ut:159
msgid "Run"
msgstr "运行"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:41
+#: applications/luci-app-commands/ucode/template/commands_public.ut:44
msgid "Standard Error"
msgstr "标准错误流"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:36
+#: applications/luci-app-commands/ucode/template/commands_public.ut:39
msgid "Standard Output"
msgstr "标准输出流"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:7
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:11
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
msgstr "此页面允许您配置自定义 Shell 命令,并可以从 Web 界面调用。"
-#: applications/luci-app-commands/luasrc/view/commands.htm:150
+#: applications/luci-app-commands/ucode/template/commands.ut:144
msgid "This section contains no values yet"
msgstr "尚无任何配置"
-#: applications/luci-app-commands/luasrc/view/commands.htm:54
+#: applications/luci-app-commands/ucode/template/commands.ut:48
msgid "Waiting for command to complete..."
msgstr "正在等待命令完成…"
+#~ msgid "Command exited with status code"
+#~ msgstr "命令退出,状态码为"
+
#~ msgid "Command exited with status code "
#~ msgstr "命令退出,状态码:"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.12.1\n"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:16
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:19
msgid "A short textual description of the configured command"
msgstr "簡短描述指令用途"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:25
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:30
msgid ""
"Allow executing the command and downloading its output without prior "
"authentication"
msgstr "允許執行命令並下載其輸出, 無須事先認證"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:22
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:27
msgid "Allow the user to provide additional command line arguments"
msgstr "允許使用者提供額外的指令列引數"
-#: applications/luci-app-commands/luasrc/view/commands.htm:162
+#: applications/luci-app-commands/ucode/template/commands.ut:156
msgid "Arguments:"
msgstr "引數:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:66
+#: applications/luci-app-commands/ucode/template/commands.ut:60
msgid "Binary data not displayed, download instead."
msgstr "二進位資料未顯示,以下載替代。"
-#: applications/luci-app-commands/luasrc/view/commands.htm:71
+#: applications/luci-app-commands/ucode/template/commands.ut:65
msgid "Code:"
msgstr "狀態碼:"
-#: applications/luci-app-commands/luasrc/view/commands.htm:182
+#: applications/luci-app-commands/ucode/template/commands.ut:174
msgid "Collecting data..."
msgstr "正在收集資料中…"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:18
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command"
msgstr "命令"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:30
+#: applications/luci-app-commands/ucode/template/commands_public.ut:32
msgid "Command executed successfully."
msgstr "指令成功執行。"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:32
-msgid "Command exited with status code"
-msgstr "指令退出附狀態碼"
+#: applications/luci-app-commands/ucode/template/commands_public.ut:34
+msgid "Command exited with status code %d"
+msgstr ""
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command failed"
msgstr "指令失敗"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:19
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:21
msgid "Command line to execute"
msgstr "執行指令列"
-#: applications/luci-app-commands/luasrc/view/commands.htm:73
+#: applications/luci-app-commands/ucode/template/commands.ut:67
msgid "Command successful"
msgstr "執行指令成功"
-#: applications/luci-app-commands/luasrc/view/commands.htm:160
+#: applications/luci-app-commands/ucode/template/commands.ut:154
msgid "Command:"
msgstr "指令:"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:9
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:23
msgid "Configure"
msgstr "配置"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:7
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:6
-#: applications/luci-app-commands/luasrc/view/commands.htm:144
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:10
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:3
+#: applications/luci-app-commands/ucode/template/commands.ut:137
msgid "Custom Commands"
msgstr "自訂指令集"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:21
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:26
msgid "Custom arguments"
msgstr "自訂參數集"
-#: applications/luci-app-commands/luasrc/controller/commands.lua:8
+#: applications/luci-app-commands/root/usr/share/luci/menu.d/luci-app-commands.json:14
msgid "Dashboard"
msgstr "儀表板"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:15
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:18
msgid "Description"
msgstr "描述"
-#: applications/luci-app-commands/luasrc/view/commands.htm:166
+#: applications/luci-app-commands/ucode/template/commands.ut:160
msgid "Download"
msgstr "下載"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Download execution result"
msgstr "下載執行結果"
-#: applications/luci-app-commands/luasrc/view/commands.htm:79
+#: applications/luci-app-commands/ucode/template/commands.ut:73
msgid "Failed to execute command!"
msgstr "執行指令失敗!"
msgid "Grant UCI access for luci-app-commands"
msgstr "授予 luci-app-commands 擁有 UCI 存取的權限"
-#: applications/luci-app-commands/luasrc/view/commands.htm:168
+#: applications/luci-app-commands/ucode/template/commands.ut:162
msgid "Link"
msgstr "連線"
-#: applications/luci-app-commands/luasrc/view/commands.htm:53
+#: applications/luci-app-commands/ucode/template/commands.ut:47
msgid "Loading"
msgstr "正在載入中"
-#: applications/luci-app-commands/luasrc/view/commands.htm:123
+#: applications/luci-app-commands/ucode/template/commands.ut:117
msgid "Or display result"
msgstr "顯示執行結果"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:24
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:29
msgid "Public access"
msgstr "公開訪問"
-#: applications/luci-app-commands/luasrc/view/commands.htm:165
+#: applications/luci-app-commands/ucode/template/commands.ut:159
msgid "Run"
msgstr "執行"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:41
+#: applications/luci-app-commands/ucode/template/commands_public.ut:44
msgid "Standard Error"
msgstr "標準錯誤流"
-#: applications/luci-app-commands/luasrc/view/commands_public.htm:36
+#: applications/luci-app-commands/ucode/template/commands_public.ut:39
msgid "Standard Output"
msgstr "標準輸出流"
-#: applications/luci-app-commands/luasrc/model/cbi/commands.lua:7
+#: applications/luci-app-commands/htdocs/luci-static/resources/view/commands.js:11
msgid ""
"This page allows you to configure custom shell commands which can be easily "
"invoked from the web interface."
msgstr "此頁面允許您配置自訂 Shell 指令,並可以從 Web 介面呼叫。"
-#: applications/luci-app-commands/luasrc/view/commands.htm:150
+#: applications/luci-app-commands/ucode/template/commands.ut:144
msgid "This section contains no values yet"
msgstr "這部分尚無數值"
-#: applications/luci-app-commands/luasrc/view/commands.htm:54
+#: applications/luci-app-commands/ucode/template/commands.ut:48
msgid "Waiting for command to complete..."
msgstr "正在等待指令完成…"
+#~ msgid "Command exited with status code"
+#~ msgstr "指令退出附狀態碼"
+
#~ msgid "Command exited with status code "
#~ msgstr "指令退出,狀態碼:"
--- /dev/null
+{
+ "admin/system/commands": {
+ "title": "Custom Commands",
+ "order": 80,
+ "action": {
+ "type": "firstchild"
+ },
+ "depends": {
+ "acl": [ "luci-app-commands" ]
+ }
+ },
+
+ "admin/system/commands/dashboard": {
+ "title": "Dashboard",
+ "order": 1,
+ "action": {
+ "type": "template",
+ "path": "commands"
+ }
+ },
+
+ "admin/system/commands/config": {
+ "title": "Configure",
+ "order": 2,
+ "action": {
+ "type": "view",
+ "path": "commands"
+ }
+ },
+
+ "admin/system/commands/run/*": {
+ "order": 3,
+ "action": {
+ "type": "function",
+ "module": "luci.controller.commands",
+ "function": "action_run"
+ }
+ },
+
+ "admin/system/commands/download/*": {
+ "order": 4,
+ "action": {
+ "type": "function",
+ "module": "luci.controller.commands",
+ "function": "action_download"
+ }
+ },
+
+ "command/*": {
+ "action": {
+ "type": "function",
+ "module": "luci.controller.commands",
+ "function": "action_public"
+ }
+ }
+}
--- /dev/null
+// Copyright 2012-2022 Jo-Philipp Wich <jow@openwrt.org>
+// Licensed to the public under the Apache License 2.0.
+
+'use strict';
+
+import { basename, mkstemp, popen } from 'fs';
+import { urldecode } from 'luci.http';
+
+// Decode a given string into arguments following shell quoting rules
+// [[abc\ def "foo\"bar" abc'def']] -> [[abc def]] [[foo"bar]] [[abcdef]]
+function parse_args(str) {
+ let args = [];
+
+ function isspace(c) {
+ if (c == 9 || c == 10 || c == 11 || c == 12 || c == 13 || c == 32)
+ return c;
+ }
+
+ function isquote(c) {
+ if (c == 34 || c == 39 || c == 96)
+ return c;
+ }
+
+ function isescape(c) {
+ if (c == 92)
+ return c;
+ }
+
+ function ismeta(c) {
+ if (c == 36 || c == 92 || c == 96)
+ return c;
+ }
+
+ // Scan substring defined by the indexes [s, e] of the string "str",
+ // perform unquoting and de-escaping on the fly and store the result
+ function unquote(start, end) {
+ let esc, quote, res = [];
+
+ for (let off = start; off < end; off++) {
+ const byte = ord(str, off);
+ const q = isquote(byte);
+ const e = isescape(byte);
+ const m = ismeta(byte);
+
+ if (esc) {
+ if (!m)
+ push(res, 92);
+
+ push(res, byte);
+ esc = false;
+ }
+ else if (e && quote != 39) {
+ esc = true;
+ }
+ else if (q && quote && q == quote) {
+ quote = null;
+ }
+ else if (q && !quote) {
+ quote = q;
+ }
+ else {
+ push(res, byte);
+ }
+ }
+
+ push(args, chr(...res));
+ }
+
+ // Find substring boundaries in "str". Ignore escaped or quoted
+ // whitespace, pass found start- and end-index for each substring
+ // to unquote()
+ let esc, start, quote;
+
+ for (let off = 0; off <= length(str); off++) {
+ const byte = ord(str, off);
+ const q = isquote(byte);
+ const s = isspace(byte) ?? (byte === null);
+ const e = isescape(byte);
+
+ if (esc) {
+ esc = false;
+ }
+ else if (e && quote != 39) {
+ esc = true;
+ start ??= off;
+ }
+ else if (q && quote && q == quote) {
+ quote = null;
+ }
+ else if (q && !quote) {
+ start ??= off;
+ quote = q;
+ }
+ else if (s && !quote) {
+ if (start !== null) {
+ unquote(start, off);
+ start = null;
+ }
+ }
+ else {
+ start ??= off;
+ }
+ }
+
+ // If the "quote" is still set we encountered an unfinished string
+ if (quote)
+ unquote(start, length(str));
+
+ return args;
+}
+
+function test_binary(str) {
+ for (let off = 0, byte = ord(str); off < length(str); byte = ord(str, ++off))
+ if (byte <= 8 || (byte >= 14 && byte <= 31))
+ return true;
+
+ return false;
+}
+
+function parse_cmdline(cmdid, args) {
+ if (uci.get('luci', cmdid) == 'command') {
+ let cmd = uci.get_all('luci', cmdid);
+ let argv = parse_args(cmd?.command);
+
+ if (cmd?.param == '1') {
+ if (length(args))
+ push(argv, ...(parse_args(urldecode(args)) ?? []));
+ else if (length(args = http.formvalue('args')))
+ push(argv, ...(parse_args(args) ?? []));
+ }
+
+ return map(argv, v => match(v, /[^\w.\/|-]/) ? `'${replace(v, "'", "'\\''")}'` : v);
+ }
+}
+
+function execute_command(callback, ...args) {
+ let argv = parse_cmdline(...args);
+
+ if (argv) {
+ let outfd = mkstemp();
+ let errfd = mkstemp();
+
+ const exitcode = system(`${join(' ', argv)} >&${outfd.fileno()} 2>&${errfd.fileno()}`);
+
+ outfd.seek(0);
+ errfd.seek(0);
+
+ const stdout = outfd.read(1024 * 512) ?? '';
+ const stderr = errfd.read(1024 * 512) ?? '';
+
+ outfd.close();
+ errfd.close();
+
+ const binary = test_binary(stdout);
+
+ callback({
+ ok: true,
+ command: join(' ', argv),
+ stdout: binary ? null : stdout,
+ stderr,
+ exitcode,
+ binary
+ });
+ }
+ else {
+ callback({
+ ok: false,
+ code: 404,
+ reason: "No such command"
+ });
+ }
+}
+
+function return_json(result) {
+ if (result.ok) {
+ http.prepare_content('application/json');
+ http.write_json(result);
+ }
+ else {
+ http.status(result.code, result.reason);
+ }
+}
+
+
+function return_html(result) {
+ if (result.ok) {
+ include('commands_public', result);
+ }
+ else {
+ http.status(result.code, result.reason);
+ }
+}
+
+return {
+ action_run: function(...args) {
+ execute_command(return_json, ...args);
+ },
+
+ action_download: function(...args) {
+ const argv = parse_cmdline(...args);
+
+ if (argv) {
+ const fd = popen(`${join(' ', argv)} 2>/dev/null`);
+
+ if (fd) {
+ let filename = replace(basename(argv[0]), /\W+/g, '.');
+ let chunk = fd.read(4096) ?? '';
+ let name;
+
+ if (test_binary(chunk)) {
+ http.header("Content-Disposition", `attachment; filename=${filename}.bin`);
+ http.prepare_content("application/octet-stream");
+ }
+ else {
+ http.header("Content-Disposition", `attachment; filename=${filename}.txt`);
+ http.prepare_content("text/plain");
+ }
+
+ while (length(chunk)) {
+ http.write(chunk);
+ chunk = fd.read(4096);
+ }
+
+ fd.close();
+ }
+ else {
+ http.status(500, "Failed to execute command");
+ }
+ }
+ else {
+ http.status(404, "No such command");
+ }
+ },
+
+ action_public: function(cmdid, ...args) {
+ let disp = false;
+
+ if (substr(cmdid, -1) == "s") {
+ disp = true;
+ cmdid = substr(cmdid, 0, -1);
+ }
+
+ if (cmdid &&
+ uci.get('luci', cmdid) == 'command' &&
+ uci.get('luci', cmdid, 'public') == '1')
+ {
+ if (disp)
+ execute_command(return_html, cmdid, ...args);
+ else
+ this.action_download(cmdid, args);
+ }
+ else {
+ http.status(403, "Access to command denied");
+ }
+ }
+};
--- /dev/null
+{#
+ Copyright 2012-2022 Jo-Philipp Wich <jo@mein.io>
+ Licensed to the public under the Apache License 2.0.
+-#}
+
+{%
+ include('header', { css: `
+ .commands {
+ display: flex;
+ flex-wrap: wrap;
+ }
+
+ .commandbox {
+ flex: 0 0 30%;
+ margin: .5em;
+ display: flex;
+ flex-direction: column;
+ }
+
+ .commandbox > p,
+ .commandbox > p > * {
+ display: block;
+ }
+
+ .commandbox div {
+ margin-top: auto;
+ }
+ ` });
+-%}
+
+<script type="text/javascript">//<![CDATA[
+ var stxhr = new XHR();
+
+ function command_run(ev, id)
+ {
+ var args;
+ var field = document.getElementById(id);
+ if (field)
+ args = encodeURIComponent(field.value);
+
+ var legend = document.getElementById('command-rc-legend');
+ var output = document.getElementById('command-rc-output');
+
+ if (legend && output)
+ {
+ output.innerHTML =
+ '<img src="{{ resource }}/icons/loading.gif" alt="{{ _('Loading') }}" style="vertical-align:middle" /> ' +
+ '{{ _('Waiting for command to complete...') }}'
+ ;
+
+ legend.parentNode.style.display = 'block';
+ legend.style.display = 'inline';
+
+ stxhr.get('{{ dispatcher.build_url('admin/system/commands/run') }}/' + id + (args ? '?args=' + args : ''), null,
+ function(x, st)
+ {
+ if (st)
+ {
+ if (st.binary)
+ st.stdout = '[{{ _('Binary data not displayed, download instead.') }}]';
+
+ legend.style.display = 'none';
+ output.innerHTML = String.format(
+ '<pre><strong># %h\n</strong>%h<span style="color:red">%h</span></pre>' +
+ '<div class="alert-message warning">%s ({{ _('Code:') }} %d)</div>',
+ st.command, st.stdout, st.stderr,
+ (st.exitcode == 0) ? '{{ _('Command successful') }}' : '{{ _('Command failed') }}',
+ st.exitcode);
+ }
+ else
+ {
+ legend.style.display = 'none';
+ output.innerHTML = '<span class="error">{{ _('Failed to execute command!') }}</span>';
+ }
+
+ location.hash = '#output';
+ }
+ );
+ }
+
+ ev.preventDefault();
+ }
+
+ function command_download(ev, id)
+ {
+ var args;
+ var field = document.getElementById(id);
+ if (field)
+ args = encodeURIComponent(field.value);
+
+ location.href = '{{ dispatcher.build_url('admin/system/commands/download') }}/' + id + (args ? '/' + args : '');
+
+ ev.preventDefault();
+ }
+
+ function command_link(ev, id)
+ {
+ var legend = document.getElementById('command-rc-legend');
+ var output = document.getElementById('command-rc-output');
+
+ var args;
+ var field = document.getElementById(id);
+ if (field)
+ args = encodeURIComponent(field.value);
+
+ if (legend && output)
+ {
+ var prefix = location.protocol + '//' + location.host + '{{ dispatcher.build_url('command') }}/';
+ var suffix = (args ? '?args=' + args : '');
+
+ var link = prefix + id + suffix;
+ var link_nodownload = prefix + id + "s" + suffix;
+
+ legend.style.display = 'none';
+ output.parentNode.style.display = 'block';
+ output.innerHTML = String.format(
+ '<div class="alert-message"><p>{{ _('Download execution result') }} <a href="%s">%s</a></p><p>{{ _('Or display result') }} <a href="%s">%s</a></p></div>',
+ link, link, link_nodownload, link_nodownload
+ );
+
+ location.hash = '#output';
+ }
+
+ ev.preventDefault();
+ }
+
+//]]></script>
+
+{%
+ const commands = [];
+
+ uci.foreach('luci', 'command', s => push(commands, s));
+-%}
+
+<form method="get" action="{{ entityencode(FULL_REQUEST_URI) }}">
+ <div class="cbi-map">
+ <h2 name="content">{{ _('Custom Commands') }}</h2>
+
+ {% if (length(commands) == 0): %}
+ <div class="cbi-section">
+ <div class="table cbi-section-table">
+ <div class="tr cbi-section-table-row">
+ <p>
+ <em>{{ _('This section contains no values yet') }}</em>
+ </p>
+ </div>
+ </div>
+ </div>
+ {% else %}
+ <div class="commands">
+ {% for (let command in commands): %}
+ <div class="commandbox">
+ <h3>{{ entityencode(command.name) }}</h3>
+ <p>{{ _('Command:') }} <code>{{ entityencode(command.command) }}</code></p>
+ {% if (command.param == "1"): %}
+ <p>{{ _('Arguments:') }} <input type="text" id="{{ command['.name'] }}" /></p>
+ {% endif %}
+ <div>
+ <button class="cbi-button cbi-button-apply" onclick="command_run(event, '{{ command['.name'] }}')">{{ _('Run') }}</button>
+ <button class="cbi-button cbi-button-download" onclick="command_download(event, '{{ command['.name'] }}')">{{ _('Download') }}</button>
+ {% if (command.public == "1"): %}
+ <button class="cbi-button cbi-button-link" onclick="command_link(event, '{{ command['.name'] }}')">{{ _('Link') }}</button>
+ {% endif %}
+ </div>
+ </div>
+ {% endfor %}
+
+ <a name="output"></a>
+ </div>
+ {% endif %}
+ </div>
+
+ <fieldset class="cbi-section" style="display:none">
+ <legend id="command-rc-legend">{{ _('Collecting data...') }}</legend>
+ <span id="command-rc-output"></span>
+ </fieldset>
+</form>
+
+{% include('footer') %}
--- /dev/null
+{#
+ Copyright 2016 t123yh <t123yh@outlook.com>
+ Copyright 2022 Jo-Philipp Wich <jo@mein.io>
+ Licensed to the public under the Apache License 2.0.
+-#}
+
+{%
+ include('header', { blank_page: true, css: `
+ .alert-success {
+ color: #3c763d;
+ background-color: #dff0d8;
+ border-color: #d6e9c6;
+ }
+
+ .alert {
+ padding: 15px;
+ margin-bottom: 20px;
+ border: 1px solid transparent;
+ border-radius: 4px;
+ }
+
+ .alert-warning {
+ color: #8a6d3b;
+ background-color: #fcf8e3;
+ border-color: #faebcc;
+ }
+ ` });
+-%}
+
+<div class="alert alert-success" role="alert">
+ {% if (exitcode == 0): %}
+ {{ _('Command executed successfully.') }}
+ {% else %}
+ {{ sprintf(_('Command exited with status code %d'), exitcode) }}
+ {% endif %}
+</div>
+
+{% if (length(stdout)): %}
+ <h3>{{ _('Standard Output') }}</h3>
+ <pre>{{ entityencode(stdout) }}</pre>
+{% endif %}
+
+{% if (length(stderr)): %}
+ <h3>{{ _('Standard Error') }}</h3>
+ <pre>{{ entityencode(stderr) }}</pre>
+{% endif %}
+
+{% include('footer', { blank_page: true }) %}
PKG_MAINTAINER:=Ansuel Smith <ansuelsmth@gmail.com>
LUCI_TITLE:=LuCI Support for Dynamic DNS Client (ddns-scripts)
-LUCI_DEPENDS:=+luci-lib-ipkg +luci-mod-admin-full +ddns-scripts
+LUCI_DEPENDS:=+luci-mod-admin-full +luci-lua-runtime +ddns-scripts
LUCI_PKGARCH:=all
include ../../luci.mk
o = s.taboption("timer", form.ListValue, "force_unit",
_('Force Unit'),
- _("Interval unit to force updates send to DDNS Provider"));
+ _("Interval unit to force updates sent to DDNS Provider."));
o.modalonly = true;
o.optional = true;
o.default = "minutes"
o = s.taboption("timer", form.Value, "retry_count",
_("Error Retry Counter"),
- _("On Error the script will stop execution after given number of retrys")
+ _("On Error the script will stop execution after given number of retrys.")
+ "<br />" +
- _("The default setting of '0' will retry infinite."));
+ _("The default setting of '0' will retry infinitely."));
o.placeholder = "0";
o.optional = true;
o.modalonly = true;
o = s.taboption("timer", form.Value, "retry_interval",
_("Error Retry Interval"),
- _("On Error the script will stop execution after given number of retrys")
- + "<br />" +
- _("The default setting of '0' will retry infinite."));
+ _("The interval between which each succesive retry will commence."));
o.placeholder = "60";
o.optional = true;
o.modalonly = true;
o = s.taboption("timer", form.ListValue, "retry_unit",
_('Retry Unit'),
- _("On Error the script will retry the failed action after given time"));
+ _("Which time units to use for retry counters."));
o.modalonly = true;
o.optional = true;
o.default = "seconds"
msgstr "إعدادات"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:214
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1128
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1126
msgid "Configuration Error"
msgstr "خطأ في الاعداد"
msgstr "تمكين الاتصال الآمن مع مزود DDNS"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:614
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1136
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1134
msgid "Enabled"
msgstr "مفعل"
msgstr "وحدة الفاصل الزمني للتحقق من تغيير IP"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1017
-msgid "Interval unit to force updates send to DDNS Provider"
+msgid "Interval unit to force updates sent to DDNS Provider."
msgstr "وحدة الفاصل الزمني لفرض إرسال التحديثات إلى مزود DDNS"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
msgid "Last Update"
msgstr "اخر تحديث"
msgstr "سجل في سجل النظام"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:623
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:29
msgid "Lookup Hostname"
msgstr "اسم مضيف البحث"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:499
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1118
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1116
msgid "Name"
msgstr "اسم"
msgstr "الشبكة التي ستبدأ عليها سكربتات محدث ddns"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:216
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
msgid "Never"
msgstr "أبدا"
msgid "New DDns Service…"
msgstr "خدمة DDns الجديدة …"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:28
msgid "Next Update"
msgstr "التحديث القادم"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:215
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1129
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1127
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:40
msgid "No Data"
msgstr "لايوجد بيانات"
msgstr "غير عام وبشكل افتراضي عناوين IP المحظورة"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:218
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1110
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1108
msgid "Not Running"
msgstr "لا يعمل"
msgid "OPTIONAL: Use non-default DNS-Server to detect 'Registered IP'."
msgstr "اختياري: استخدم خادم DNS غير افتراضي لاكتشاف \"عنوان IP المسجل\"."
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1047
-msgid "On Error the script will retry the failed action after given time"
-msgstr ""
-"عند \"خطأ\" ، سيقوم البرنامج النصي بإعادة محاولة الإجراء الفاشل بعد وقت معين"
-
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1027
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
-msgid "On Error the script will stop execution after given number of retrys"
+msgid "On Error the script will stop execution after given number of retrys."
msgstr ""
-"عند حدوث خطأ ، سيتوقف البرنامج النصي عن التنفيذ بعد عدد معين من المحاولات"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:758
msgid "Optional Encoded Parameter"
msgstr ""
"يرجى اتباع التعليمات الموجودة على الصفحة الرئيسية ل OpenWrt لتمكين دعم IPv6"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1075
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1073
msgid "Please press [Read] button"
msgstr "الرجاء الضغط على زر [قراءة]"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1058
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1056
msgid "Read / Reread log file"
msgstr "قراءة / إعادة قراءة ملف السجل"
msgid "Really switch service?"
msgstr "حقا تبديل الخدمة؟"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:30
msgid "Registered IP"
msgstr "IP المسجل"
msgid "Restart DDns"
msgstr "أعد تشغيل DDns"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1046
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1044
msgid "Retry Unit"
msgstr "وحدة إعادة المحاولة"
msgstr "تشغيل مرة واحدة"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:229
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1113
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1111
msgid "Running"
msgstr "قيد التشغيل"
msgid "State"
msgstr "حالة"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1107
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1105
msgid "Status"
msgstr "الحالة"
msgstr "خدمة التبديل"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1029
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1039
-msgid "The default setting of '0' will retry infinite."
+msgid "The default setting of '0' will retry infinitely."
msgstr "الإعداد الافتراضي \"0\" سيعيد المحاولة بلا حدود."
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
+msgid "The interval between which each succesive retry will commence."
+msgstr ""
+"عند حدوث خطأ ، سيتوقف البرنامج النصي عن التنفيذ بعد عدد معين من المحاولات"
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:505
msgid "The service name is already used"
msgstr "اسم الخدمة مستخدم الآن"
msgid "There is no service configured."
msgstr "لا توجد خدمة مهيأة."
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1074
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1072
msgid "This is the current content of the log file in %h for this service."
msgstr ""
msgstr "URL المراد اكتشافه"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:217
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:38
msgid "Unknown"
msgstr "مجهول"
msgid "Warning"
msgstr "تحذير"
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1045
+msgid "Which time units to use for retry counters."
+msgstr ""
+"عند \"خطأ\" ، سيقوم البرنامج النصي بإعادة محاولة الإجراء الفاشل بعد وقت معين"
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:959
msgid ""
"Writes detailed messages to log file. File will be truncated automatically."
"You should install 'bind-host' or 'knot-host' or 'drill' or 'hostip' "
"package, if you need to specify a DNS server to detect your registered IP."
msgstr ""
-"يجب عليك تثبيت حزمة \"bind-host\" أو \"knot-host\" أو \"drill\" أو "
-"\"hostip\" ، إذا كنت بحاجة إلى تحديد خادم DNS لاكتشاف عنوان IP المسجل الخاص "
-"بك."
+"يجب عليك تثبيت حزمة \"bind-host\" أو \"knot-host\" أو \"drill\" أو \"hostip"
+"\" ، إذا كنت بحاجة إلى تحديد خادم DNS لاكتشاف عنوان IP المسجل الخاص بك."
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:373
msgid ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:986
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1021
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1052
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1050
msgid "minutes"
msgstr "دقائق"
msgstr "أو قم بتحديث نظامك إلى أحدث إصدار من OpenWrt"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:985
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1051
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1049
msgid "seconds"
msgstr "ثواني"
msgstr "Конфигурация"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:214
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1128
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1126
msgid "Configuration Error"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:614
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1136
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1134
msgid "Enabled"
msgstr "Разрешен"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1017
-msgid "Interval unit to force updates send to DDNS Provider"
+msgid "Interval unit to force updates sent to DDNS Provider."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
msgid "Last Update"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:623
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:29
msgid "Lookup Hostname"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:499
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1118
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1116
msgid "Name"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:216
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
msgid "Never"
msgstr "Никога"
msgid "New DDns Service…"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:28
msgid "Next Update"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:215
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1129
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1127
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:40
msgid "No Data"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:218
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1110
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1108
msgid "Not Running"
msgstr ""
msgid "OPTIONAL: Use non-default DNS-Server to detect 'Registered IP'."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1047
-msgid "On Error the script will retry the failed action after given time"
-msgstr ""
-
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1027
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
-msgid "On Error the script will stop execution after given number of retrys"
+msgid "On Error the script will stop execution after given number of retrys."
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:758
"Please follow the instructions on OpenWrt's homepage to enable IPv6 support"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1075
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1073
msgid "Please press [Read] button"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1058
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1056
msgid "Read / Reread log file"
msgstr ""
msgid "Really switch service?"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:30
msgid "Registered IP"
msgstr ""
msgid "Restart DDns"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1046
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1044
msgid "Retry Unit"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:229
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1113
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1111
msgid "Running"
msgstr ""
msgid "State"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1107
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1105
msgid "Status"
msgstr "Статус"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1029
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1039
-msgid "The default setting of '0' will retry infinite."
+msgid "The default setting of '0' will retry infinitely."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
+msgid "The interval between which each succesive retry will commence."
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:505
msgid "There is no service configured."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1074
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1072
msgid "This is the current content of the log file in %h for this service."
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:217
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:38
msgid "Unknown"
msgstr ""
msgid "Warning"
msgstr ""
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1045
+msgid "Which time units to use for retry counters."
+msgstr ""
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:959
msgid ""
"Writes detailed messages to log file. File will be truncated automatically."
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:986
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1021
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1052
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1050
msgid "minutes"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:985
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1051
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1049
msgid "seconds"
msgstr ""
msgstr "কনফিগারেশন"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:214
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1128
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1126
msgid "Configuration Error"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:614
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1136
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1134
msgid "Enabled"
msgstr "সক্রিয়"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1017
-msgid "Interval unit to force updates send to DDNS Provider"
+msgid "Interval unit to force updates sent to DDNS Provider."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
msgid "Last Update"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:623
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:29
msgid "Lookup Hostname"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:499
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1118
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1116
msgid "Name"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:216
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
msgid "Never"
msgstr "কখনও না"
msgid "New DDns Service…"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:28
msgid "Next Update"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:215
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1129
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1127
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:40
msgid "No Data"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:218
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1110
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1108
msgid "Not Running"
msgstr ""
msgid "OPTIONAL: Use non-default DNS-Server to detect 'Registered IP'."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1047
-msgid "On Error the script will retry the failed action after given time"
-msgstr ""
-
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1027
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
-msgid "On Error the script will stop execution after given number of retrys"
+msgid "On Error the script will stop execution after given number of retrys."
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:758
"Please follow the instructions on OpenWrt's homepage to enable IPv6 support"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1075
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1073
msgid "Please press [Read] button"
msgstr "দয়া করে [পড়ুন] বোতাম টিপুন"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1058
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1056
msgid "Read / Reread log file"
msgstr "লগ ফাইল পড়ুন / পুনরায় পড়ুন"
msgid "Really switch service?"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:30
msgid "Registered IP"
msgstr ""
msgid "Restart DDns"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1046
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1044
msgid "Retry Unit"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:229
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1113
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1111
msgid "Running"
msgstr ""
msgid "State"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1107
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1105
msgid "Status"
msgstr "অবস্থা"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1029
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1039
-msgid "The default setting of '0' will retry infinite."
+msgid "The default setting of '0' will retry infinitely."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
+msgid "The interval between which each succesive retry will commence."
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:505
msgid "There is no service configured."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1074
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1072
msgid "This is the current content of the log file in %h for this service."
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:217
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:38
msgid "Unknown"
msgstr "অজানা"
msgid "Warning"
msgstr "সতর্কতা"
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1045
+msgid "Which time units to use for retry counters."
+msgstr ""
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:959
msgid ""
"Writes detailed messages to log file. File will be truncated automatically."
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:986
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1021
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1052
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1050
msgid "minutes"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:985
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1051
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1049
msgid "seconds"
msgstr ""
msgstr "Configuració"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:214
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1128
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1126
msgid "Configuration Error"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:614
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1136
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1134
msgid "Enabled"
msgstr "Activat"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1017
-msgid "Interval unit to force updates send to DDNS Provider"
+msgid "Interval unit to force updates sent to DDNS Provider."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
msgid "Last Update"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:623
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:29
msgid "Lookup Hostname"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:499
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1118
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1116
msgid "Name"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:216
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
msgid "Never"
msgstr "Mai"
msgid "New DDns Service…"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:28
msgid "Next Update"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:215
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1129
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1127
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:40
msgid "No Data"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:218
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1110
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1108
msgid "Not Running"
msgstr ""
msgid "OPTIONAL: Use non-default DNS-Server to detect 'Registered IP'."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1047
-msgid "On Error the script will retry the failed action after given time"
-msgstr ""
-
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1027
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
-msgid "On Error the script will stop execution after given number of retrys"
+msgid "On Error the script will stop execution after given number of retrys."
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:758
"Please follow the instructions on OpenWrt's homepage to enable IPv6 support"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1075
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1073
msgid "Please press [Read] button"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1058
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1056
msgid "Read / Reread log file"
msgstr ""
msgid "Really switch service?"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:30
msgid "Registered IP"
msgstr ""
msgid "Restart DDns"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1046
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1044
msgid "Retry Unit"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:229
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1113
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1111
msgid "Running"
msgstr ""
msgid "State"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1107
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1105
msgid "Status"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1029
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1039
-msgid "The default setting of '0' will retry infinite."
+msgid "The default setting of '0' will retry infinitely."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
+msgid "The interval between which each succesive retry will commence."
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:505
msgid "There is no service configured."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1074
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1072
msgid "This is the current content of the log file in %h for this service."
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:217
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:38
msgid "Unknown"
msgstr ""
msgid "Warning"
msgstr ""
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1045
+msgid "Which time units to use for retry counters."
+msgstr ""
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:959
msgid ""
"Writes detailed messages to log file. File will be truncated automatically."
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:986
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1021
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1052
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1050
msgid "minutes"
msgstr "minuts"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:985
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1051
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1049
msgid "seconds"
msgstr ""
msgstr "Nastavení"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:214
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1128
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1126
msgid "Configuration Error"
msgstr "Chyba nastavení"
msgstr "Povolit zabezpečenou komunikaci s poskytovatelem DDNS"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:614
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1136
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1134
msgid "Enabled"
msgstr "Zapnuto"
msgstr "Jednotka intervalu pro kontrolu změněné adresy IP"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1017
-msgid "Interval unit to force updates send to DDNS Provider"
+msgid "Interval unit to force updates sent to DDNS Provider."
msgstr ""
"Jednotka intervalu, která vynutí odeslání aktualizací zprostředkovateli DDNS"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
msgid "Last Update"
msgstr "Poslední aktualizace"
msgstr "Protokolovat do syslog"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:623
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:29
msgid "Lookup Hostname"
msgstr "Doménové jméno"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:499
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1118
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1116
msgid "Name"
msgstr "Název"
msgstr "Síť, na které budou spuštěny skripty ddns-updater"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:216
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
msgid "Never"
msgstr "Nikdy"
msgid "New DDns Service…"
msgstr "Nová služba DDNS…"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:28
msgid "Next Update"
msgstr "Další aktualizace"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:215
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1129
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1127
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:40
msgid "No Data"
msgstr "Žádná data"
msgstr "Neveřejné a implicitně blokované adresy IP"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:218
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1110
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1108
msgid "Not Running"
msgstr "Není spuštěno"
msgstr ""
"VOLITELNÉ: pro rozpoznání registrované adresy IP použít nevýchozí server DNS."
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1047
-msgid "On Error the script will retry the failed action after given time"
-msgstr "Při chybě skript zopakuje neúspěšnou akci po daném čase"
-
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1027
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
-msgid "On Error the script will stop execution after given number of retrys"
-msgstr "Při chybě skript zastaví provádění po daném počtu opakování"
+msgid "On Error the script will stop execution after given number of retrys."
+msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:758
msgid "Optional Encoded Parameter"
"Chcete-li povolit podporu protokolu IPv6, postupujte podle pokynů na "
"domovské stránce OpenWrt"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1075
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1073
msgid "Please press [Read] button"
msgstr "Prosím, stiskněte tlačítko [Načíst]"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1058
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1056
msgid "Read / Reread log file"
msgstr "Načíst / znovu načíst soubor protokolu"
msgid "Really switch service?"
msgstr "Doopravdy přehodit službu?"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:30
msgid "Registered IP"
msgstr "Registrovaná IP adresa"
msgid "Restart DDns"
msgstr "Restartovat DDNS"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1046
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1044
msgid "Retry Unit"
msgstr "Opakovat jednotku"
msgstr "Spustit jednou"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:229
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1113
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1111
msgid "Running"
msgstr "Spuštěno"
msgid "State"
msgstr "Stav"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1107
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1105
msgid "Status"
msgstr "Stav"
msgstr "Přehodit službu"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1029
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1039
-msgid "The default setting of '0' will retry infinite."
+msgid "The default setting of '0' will retry infinitely."
msgstr "Výchozí nastavení '0' znamená nekonečné opakování."
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
+msgid "The interval between which each succesive retry will commence."
+msgstr "Při chybě skript zastaví provádění po daném počtu opakování"
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:505
msgid "The service name is already used"
msgstr "Název služby je již používán"
msgid "There is no service configured."
msgstr "Není nakonfigurována žádná služba."
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1074
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1072
msgid "This is the current content of the log file in %h for this service."
msgstr ""
msgstr "Adresa URL pro rozpoznání"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:217
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:38
msgid "Unknown"
msgstr "Neznámé"
msgid "Warning"
msgstr "Varování"
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1045
+msgid "Which time units to use for retry counters."
+msgstr "Při chybě skript zopakuje neúspěšnou akci po daném čase"
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:959
msgid ""
"Writes detailed messages to log file. File will be truncated automatically."
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:986
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1021
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1052
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1050
msgid "minutes"
msgstr "minuty/minut"
msgstr "nebo aktualizujte systém na nejnovější verzi OpenWrt"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:985
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1051
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1049
msgid "seconds"
msgstr "sekundy/sekund"
msgstr "Konfiguration"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:214
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1128
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1126
msgid "Configuration Error"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:614
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1136
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1134
msgid "Enabled"
msgstr "Aktiveret"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1017
-msgid "Interval unit to force updates send to DDNS Provider"
+msgid "Interval unit to force updates sent to DDNS Provider."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
msgid "Last Update"
msgstr ""
msgstr "Log til syslog"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:623
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:29
msgid "Lookup Hostname"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:499
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1118
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1116
msgid "Name"
msgstr "Navn"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:216
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
msgid "Never"
msgstr "Aldrig"
msgid "New DDns Service…"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:28
msgid "Next Update"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:215
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1129
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1127
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:40
msgid "No Data"
msgstr "Ingen data"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:218
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1110
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1108
msgid "Not Running"
msgstr ""
msgid "OPTIONAL: Use non-default DNS-Server to detect 'Registered IP'."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1047
-msgid "On Error the script will retry the failed action after given time"
-msgstr ""
-
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1027
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
-msgid "On Error the script will stop execution after given number of retrys"
+msgid "On Error the script will stop execution after given number of retrys."
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:758
"Please follow the instructions on OpenWrt's homepage to enable IPv6 support"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1075
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1073
msgid "Please press [Read] button"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1058
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1056
msgid "Read / Reread log file"
msgstr ""
msgid "Really switch service?"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:30
msgid "Registered IP"
msgstr ""
msgid "Restart DDns"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1046
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1044
msgid "Retry Unit"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:229
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1113
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1111
msgid "Running"
msgstr ""
msgid "State"
msgstr "State"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1107
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1105
msgid "Status"
msgstr "Status"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1029
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1039
-msgid "The default setting of '0' will retry infinite."
+msgid "The default setting of '0' will retry infinitely."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
+msgid "The interval between which each succesive retry will commence."
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:505
msgid "There is no service configured."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1074
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1072
msgid "This is the current content of the log file in %h for this service."
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:217
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:38
msgid "Unknown"
msgstr "Ukendt"
msgid "Warning"
msgstr "Advarsel"
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1045
+msgid "Which time units to use for retry counters."
+msgstr ""
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:959
msgid ""
"Writes detailed messages to log file. File will be truncated automatically."
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:986
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1021
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1052
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1050
msgid "minutes"
msgstr "minutter"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:985
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1051
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1049
msgid "seconds"
msgstr ""
msgstr "Konfiguration"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:214
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1128
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1126
msgid "Configuration Error"
msgstr "Konfigurations-Fehler"
msgstr "Aktiviert sichere Kommunikation mit dem DDNS Anbieter"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:614
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1136
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1134
msgid "Enabled"
msgstr "Aktiviert"
msgstr "Intervalleinheit zur Überprüfung auf geänderte IP"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1017
-msgid "Interval unit to force updates send to DDNS Provider"
+msgid "Interval unit to force updates sent to DDNS Provider."
msgstr "Intervall für ein Zwangsupdate des DDNS-Eintrags"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
msgid "Last Update"
msgstr "Letzte Aktualisierung"
msgstr "Schreibe Logs ins syslog"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:623
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:29
msgid "Lookup Hostname"
msgstr "Hostname nachschlagen"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:499
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1118
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1116
msgid "Name"
msgstr "Name"
msgstr "Netzwerk auf dem die ddns-updater Skripte gestarten werden"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:216
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
msgid "Never"
msgstr "Niemals"
msgid "New DDns Service…"
msgstr "Neuer DDns-Dienst…"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:28
msgid "Next Update"
msgstr "Nächste Aktualisierung"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:215
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1129
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1127
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:40
msgid "No Data"
msgstr "Keine Daten"
msgstr "Nicht-öffentliche und standardmäßig blockierte IPs"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:218
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1110
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1108
msgid "Not Running"
msgstr "Läuft nicht"
"OPTIONAL: Ersetzt den voreingestellten DNS-Server um die 'Registrierte IP' "
"zu ermitteln."
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1047
-msgid "On Error the script will retry the failed action after given time"
-msgstr ""
-"Bei Fehlern wird das Skript die fehlerhafte Aktion nach der gegebenen Zeit "
-"wiederholen"
-
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1027
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
-msgid "On Error the script will stop execution after given number of retrys"
+msgid "On Error the script will stop execution after given number of retrys."
msgstr ""
-"Bei Fehlern wird das Skript nach der gegebenen Anzahl von Fehlversuchen "
-"beendet"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:758
msgid "Optional Encoded Parameter"
"Bitte den Anweisungen auf der OpenWrt-Homepage folgen, um IPv6-Unterstützung "
"zu aktivieren"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1075
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1073
msgid "Please press [Read] button"
msgstr "Bitte Protokolldatei einlesen"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1058
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1056
msgid "Read / Reread log file"
msgstr "Protokolldatei (neu) einlesen"
msgid "Really switch service?"
msgstr "Den Dienst wirklich wechseln?"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:30
msgid "Registered IP"
msgstr "Registrierte IP"
msgid "Restart DDns"
msgstr "DDns neustarten"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1046
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1044
msgid "Retry Unit"
msgstr "Abschnitt erneut versuchen"
msgstr "Einmalig ausführen"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:229
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1113
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1111
msgid "Running"
msgstr "Laufend"
msgid "State"
msgstr "Zustand"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1107
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1105
msgid "Status"
msgstr "Status"
msgstr "Dienst wechseln"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1029
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1039
-msgid "The default setting of '0' will retry infinite."
+msgid "The default setting of '0' will retry infinitely."
msgstr "Beim Standard-Wert von '0' wird es endlos erneut versucht."
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
+msgid "The interval between which each succesive retry will commence."
+msgstr ""
+"Bei Fehlern wird das Skript nach der gegebenen Anzahl von Fehlversuchen "
+"beendet"
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:505
msgid "The service name is already used"
msgstr "Dieser Dienstname ist bereits in Benutzung"
msgid "There is no service configured."
msgstr "Kein Dienst konfiguriert."
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1074
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1072
msgid "This is the current content of the log file in %h for this service."
msgstr ""
"Dies ist der aktuelle Inhalt der Protokolldatei in %h für diesen Dienst."
msgstr "URL zur Adresserkennung für"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:217
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:38
msgid "Unknown"
msgstr "Unbekannt"
msgid "Warning"
msgstr "Warnung"
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1045
+msgid "Which time units to use for retry counters."
+msgstr ""
+"Bei Fehlern wird das Skript die fehlerhafte Aktion nach der gegebenen Zeit "
+"wiederholen"
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:959
msgid ""
"Writes detailed messages to log file. File will be truncated automatically."
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:986
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1021
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1052
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1050
msgid "minutes"
msgstr "Minuten"
msgstr "oder aktualisieren Sie Ihr System auf die neueste OpenWrt Version"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:985
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1051
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1049
msgid "seconds"
msgstr "Sekunden"
msgstr "Διαμόρφωση"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:214
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1128
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1126
msgid "Configuration Error"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:614
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1136
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1134
msgid "Enabled"
msgstr "Ενεργοποιήθηκε"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1017
-msgid "Interval unit to force updates send to DDNS Provider"
+msgid "Interval unit to force updates sent to DDNS Provider."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
msgid "Last Update"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:623
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:29
msgid "Lookup Hostname"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:499
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1118
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1116
msgid "Name"
msgstr "Ονομα"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:216
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
msgid "Never"
msgstr "Ποτέ"
msgid "New DDns Service…"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:28
msgid "Next Update"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:215
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1129
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1127
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:40
msgid "No Data"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:218
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1110
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1108
msgid "Not Running"
msgstr ""
msgid "OPTIONAL: Use non-default DNS-Server to detect 'Registered IP'."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1047
-msgid "On Error the script will retry the failed action after given time"
-msgstr ""
-
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1027
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
-msgid "On Error the script will stop execution after given number of retrys"
+msgid "On Error the script will stop execution after given number of retrys."
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:758
"Please follow the instructions on OpenWrt's homepage to enable IPv6 support"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1075
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1073
msgid "Please press [Read] button"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1058
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1056
msgid "Read / Reread log file"
msgstr ""
msgid "Really switch service?"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:30
msgid "Registered IP"
msgstr ""
msgid "Restart DDns"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1046
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1044
msgid "Retry Unit"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:229
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1113
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1111
msgid "Running"
msgstr ""
msgid "State"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1107
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1105
msgid "Status"
msgstr "Κατάσταση"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1029
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1039
-msgid "The default setting of '0' will retry infinite."
+msgid "The default setting of '0' will retry infinitely."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
+msgid "The interval between which each succesive retry will commence."
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:505
msgid "There is no service configured."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1074
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1072
msgid "This is the current content of the log file in %h for this service."
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:217
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:38
msgid "Unknown"
msgstr ""
msgid "Warning"
msgstr ""
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1045
+msgid "Which time units to use for retry counters."
+msgstr ""
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:959
msgid ""
"Writes detailed messages to log file. File will be truncated automatically."
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:986
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1021
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1052
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1050
msgid "minutes"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:985
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1051
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1049
msgid "seconds"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:214
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1128
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1126
msgid "Configuration Error"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:614
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1136
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1134
msgid "Enabled"
msgstr "Enabled"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1017
-msgid "Interval unit to force updates send to DDNS Provider"
+msgid "Interval unit to force updates sent to DDNS Provider."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
msgid "Last Update"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:623
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:29
msgid "Lookup Hostname"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:499
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1118
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1116
msgid "Name"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:216
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
msgid "Never"
msgstr ""
msgid "New DDns Service…"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:28
msgid "Next Update"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:215
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1129
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1127
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:40
msgid "No Data"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:218
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1110
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1108
msgid "Not Running"
msgstr ""
msgid "OPTIONAL: Use non-default DNS-Server to detect 'Registered IP'."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1047
-msgid "On Error the script will retry the failed action after given time"
-msgstr ""
-
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1027
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
-msgid "On Error the script will stop execution after given number of retrys"
+msgid "On Error the script will stop execution after given number of retrys."
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:758
"Please follow the instructions on OpenWrt's homepage to enable IPv6 support"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1075
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1073
msgid "Please press [Read] button"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1058
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1056
msgid "Read / Reread log file"
msgstr ""
msgid "Really switch service?"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:30
msgid "Registered IP"
msgstr ""
msgid "Restart DDns"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1046
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1044
msgid "Retry Unit"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:229
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1113
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1111
msgid "Running"
msgstr ""
msgid "State"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1107
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1105
msgid "Status"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1029
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1039
-msgid "The default setting of '0' will retry infinite."
+msgid "The default setting of '0' will retry infinitely."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
+msgid "The interval between which each succesive retry will commence."
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:505
msgid "There is no service configured."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1074
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1072
msgid "This is the current content of the log file in %h for this service."
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:217
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:38
msgid "Unknown"
msgstr ""
msgid "Warning"
msgstr ""
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1045
+msgid "Which time units to use for retry counters."
+msgstr ""
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:959
msgid ""
"Writes detailed messages to log file. File will be truncated automatically."
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:986
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1021
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1052
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1050
msgid "minutes"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:985
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1051
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1049
msgid "seconds"
msgstr ""
msgstr "Configuración"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:214
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1128
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1126
msgid "Configuration Error"
msgstr "Error de configuración"
msgstr "Activa la comunicación segura con el proveedor de DDNS"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:614
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1136
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1134
msgid "Enabled"
msgstr "Activado"
msgstr "Unidad de intervalo para verificar el cambio de IP"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1017
-msgid "Interval unit to force updates send to DDNS Provider"
+msgid "Interval unit to force updates sent to DDNS Provider."
msgstr ""
"Unidad de intervalo para forzar el envío de actualizaciones al proveedor de "
"DDNS"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
msgid "Last Update"
msgstr "Última actualización"
msgstr "Inicie sesión en syslog"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:623
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:29
msgid "Lookup Hostname"
msgstr "Búsqueda de nombre de host"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:499
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1118
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1116
msgid "Name"
msgstr "Nombre"
msgstr "Red en la que se iniciarán los scripts ddns-updater"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:216
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
msgid "Never"
msgstr "Nunca"
msgid "New DDns Service…"
msgstr "Nuevo servicio DDNS…"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:28
msgid "Next Update"
msgstr "Siguiente actualización"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:215
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1129
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1127
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:40
msgid "No Data"
msgstr "Sin datos"
msgstr "IPs no públicos y bloqueados por defecto"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:218
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1110
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1108
msgid "Not Running"
msgstr "Sin ejecución"
"OPCIONAL: Use un servidor DNS no predeterminado para detectar 'IP "
"registrada'."
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1047
-msgid "On Error the script will retry the failed action after given time"
-msgstr ""
-"En caso de error, el script volverá a intentar la acción fallida después de "
-"un tiempo determinado"
-
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1027
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
-msgid "On Error the script will stop execution after given number of retrys"
+msgid "On Error the script will stop execution after given number of retrys."
msgstr ""
-"En caso de error, el script detendrá la ejecución después de un número dado "
-"de reintentos"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:758
msgid "Optional Encoded Parameter"
"Siga las instrucciones en la página de inicio de OpenWrt para activar el "
"soporte de IPv6"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1075
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1073
msgid "Please press [Read] button"
msgstr "Por favor presione el botón [Leer]"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1058
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1056
msgid "Read / Reread log file"
msgstr "Leer / releer el archivo de registro"
msgid "Really switch service?"
msgstr "¿Realmente quiere cambiar de servicio?"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:30
msgid "Registered IP"
msgstr "IP registrada"
msgid "Restart DDns"
msgstr "Reiniciar DDNS"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1046
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1044
msgid "Retry Unit"
msgstr "Unidad de reintento"
msgstr "Iniciar una vez"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:229
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1113
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1111
msgid "Running"
msgstr "Corriendo"
msgid "State"
msgstr "Estado"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1107
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1105
msgid "Status"
msgstr "Estado"
msgstr "Cambiar servicio"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1029
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1039
-msgid "The default setting of '0' will retry infinite."
+msgid "The default setting of '0' will retry infinitely."
msgstr "La configuración predeterminada de '0' reintentará infinito."
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
+msgid "The interval between which each succesive retry will commence."
+msgstr ""
+"En caso de error, el script detendrá la ejecución después de un número dado "
+"de reintentos"
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:505
msgid "The service name is already used"
msgstr "El nombre del servicio ya está en uso"
msgid "There is no service configured."
msgstr "No hay servicio configurado."
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1074
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1072
#, fuzzy
msgid "This is the current content of the log file in %h for this service."
msgstr ""
msgstr "URL para detectar"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:217
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:38
msgid "Unknown"
msgstr "Desconocido"
msgid "Warning"
msgstr "Advertencia"
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1045
+msgid "Which time units to use for retry counters."
+msgstr ""
+"En caso de error, el script volverá a intentar la acción fallida después de "
+"un tiempo determinado"
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:959
msgid ""
"Writes detailed messages to log file. File will be truncated automatically."
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:986
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1021
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1052
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1050
msgid "minutes"
msgstr "minutos"
msgstr "o actualice su sistema a la última versión de OpenWrt"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:985
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1051
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1049
msgid "seconds"
msgstr "Segundos"
msgstr "Kokoonpano"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:214
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1128
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1126
msgid "Configuration Error"
msgstr "Määritysvirhe"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:614
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1136
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1134
msgid "Enabled"
msgstr "Käytössä"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1017
-msgid "Interval unit to force updates send to DDNS Provider"
+msgid "Interval unit to force updates sent to DDNS Provider."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
msgid "Last Update"
msgstr "Viimeisin päivitys"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:623
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:29
msgid "Lookup Hostname"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:499
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1118
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1116
msgid "Name"
msgstr "Nimi"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:216
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
msgid "Never"
msgstr "Ei ikinä"
msgid "New DDns Service…"
msgstr "Uusi DDns-palvelu…"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:28
msgid "Next Update"
msgstr "Seuraava päivitys"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:215
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1129
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1127
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:40
msgid "No Data"
msgstr "Ei tietoja"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:218
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1110
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1108
msgid "Not Running"
msgstr "Ei käynnissä"
msgid "OPTIONAL: Use non-default DNS-Server to detect 'Registered IP'."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1047
-msgid "On Error the script will retry the failed action after given time"
-msgstr ""
-
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1027
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
-msgid "On Error the script will stop execution after given number of retrys"
+msgid "On Error the script will stop execution after given number of retrys."
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:758
"Please follow the instructions on OpenWrt's homepage to enable IPv6 support"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1075
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1073
msgid "Please press [Read] button"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1058
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1056
msgid "Read / Reread log file"
msgstr ""
msgid "Really switch service?"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:30
msgid "Registered IP"
msgstr "Rekisteröity IP"
msgid "Restart DDns"
msgstr "Käynnistä DDns uudelleen"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1046
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1044
msgid "Retry Unit"
msgstr ""
msgstr "Suorita kerran"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:229
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1113
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1111
msgid "Running"
msgstr "Käynnissä"
msgid "State"
msgstr "Tila"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1107
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1105
msgid "Status"
msgstr "Tila"
msgstr "Vaihda palvelua"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1029
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1039
-msgid "The default setting of '0' will retry infinite."
+msgid "The default setting of '0' will retry infinitely."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
+msgid "The interval between which each succesive retry will commence."
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:505
msgid "There is no service configured."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1074
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1072
msgid "This is the current content of the log file in %h for this service."
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:217
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:38
msgid "Unknown"
msgstr "Tuntematon"
msgid "Warning"
msgstr "Varoitus"
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1045
+msgid "Which time units to use for retry counters."
+msgstr ""
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:959
msgid ""
"Writes detailed messages to log file. File will be truncated automatically."
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:986
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1021
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1052
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1050
msgid "minutes"
msgstr "minuuttia"
msgstr "päivitä järjestelmäsi uusimpaan OpenWrt-julkaisuun"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:985
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1051
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1049
msgid "seconds"
msgstr "sekuntia"
msgstr "Configuration"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:214
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1128
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1126
msgid "Configuration Error"
msgstr "Erreur de configuration"
msgstr "Activez la communication sécurisée avec le fournisseur DDNS"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:614
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1136
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1134
msgid "Enabled"
msgstr "Activé"
msgstr "Unité d'intervalle pour vérifier l'IP modifiée"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1017
-msgid "Interval unit to force updates send to DDNS Provider"
+msgid "Interval unit to force updates sent to DDNS Provider."
msgstr ""
"Unité d'intervalle pour forcer l'envoi des mises à jour au fournisseur DDNS"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
msgid "Last Update"
msgstr "Dernière mise à jour"
msgstr "Connectez-vous à syslog"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:623
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:29
msgid "Lookup Hostname"
msgstr "Rechercher le nom d'hôte"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:499
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1118
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1116
msgid "Name"
msgstr "Nom"
msgstr "Réseau sur lequel les scripts ddns-updater seront démarrés"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:216
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
msgid "Never"
msgstr "Jamais"
msgid "New DDns Service…"
msgstr "Nouveau service DDns…"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:28
msgid "Next Update"
msgstr "Prochaine mise à jour"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:215
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1129
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1127
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:40
msgid "No Data"
msgstr "Aucune donnée"
msgstr "IP non publiques et par défaut bloquées"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:218
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1110
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1108
msgid "Not Running"
msgstr "Ne fonctionne pas"
"FACULTATIF : Utiliser un serveur DNS autre que celui par défaut pour "
"détecter 'IP enregistrée'."
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1047
-msgid "On Error the script will retry the failed action after given time"
-msgstr ""
-"En cas d'erreur, le script réessayera l'action ayant échoué après un délai "
-"donné"
-
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1027
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
-msgid "On Error the script will stop execution after given number of retrys"
+msgid "On Error the script will stop execution after given number of retrys."
msgstr ""
-"En cas d'erreur, le script arrêtera l'exécution après un nombre donné de "
-"tentatives"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:758
msgid "Optional Encoded Parameter"
"Veuillez suivre les instructions sur la page d'accueil d'OpenWrt pour "
"activer le support IPv6"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1075
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1073
msgid "Please press [Read] button"
msgstr "Veuillez appuyer sur le bouton [Lire]"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1058
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1056
msgid "Read / Reread log file"
msgstr "Lire/Relire le fichier de journal"
msgid "Really switch service?"
msgstr "Vraiment changer de service ?"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:30
msgid "Registered IP"
msgstr "Adresse IP enregistrée"
msgid "Restart DDns"
msgstr "Redémarrer DDns"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1046
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1044
msgid "Retry Unit"
msgstr "Réessaier l'unité"
msgstr "Exécuter une fois"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:229
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1113
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1111
msgid "Running"
msgstr "En cours d'exécution"
msgid "State"
msgstr "État"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1107
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1105
msgid "Status"
msgstr "État"
msgstr "Change de service"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1029
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1039
-msgid "The default setting of '0' will retry infinite."
+msgid "The default setting of '0' will retry infinitely."
msgstr "Le paramètre par défaut de '0' réessayera à l'infini."
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
+msgid "The interval between which each succesive retry will commence."
+msgstr ""
+"En cas d'erreur, le script arrêtera l'exécution après un nombre donné de "
+"tentatives"
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:505
msgid "The service name is already used"
msgstr "Le nom du service est déjà utilisé"
msgid "There is no service configured."
msgstr "Il n'y a aucun service configuré"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1074
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1072
msgid "This is the current content of the log file in %h for this service."
msgstr "Il s’agit du contenu actuel du fichier journal en %h pour ce service."
msgstr "URL a détecter"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:217
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:38
msgid "Unknown"
msgstr "Inconnue"
msgid "Warning"
msgstr "Avertissement"
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1045
+msgid "Which time units to use for retry counters."
+msgstr ""
+"En cas d'erreur, le script réessayera l'action ayant échoué après un délai "
+"donné"
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:959
msgid ""
"Writes detailed messages to log file. File will be truncated automatically."
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:986
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1021
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1052
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1050
msgid "minutes"
msgstr "minutes"
msgstr "ou mettez à jour votre système vers la dernière version d'OpenWrt"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:985
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1051
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1049
msgid "seconds"
msgstr "secondes"
msgstr "הגדרות"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:214
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1128
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1126
msgid "Configuration Error"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:614
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1136
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1134
msgid "Enabled"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1017
-msgid "Interval unit to force updates send to DDNS Provider"
+msgid "Interval unit to force updates sent to DDNS Provider."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
msgid "Last Update"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:623
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:29
msgid "Lookup Hostname"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:499
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1118
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1116
msgid "Name"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:216
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
msgid "Never"
msgstr "אף פעם"
msgid "New DDns Service…"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:28
msgid "Next Update"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:215
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1129
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1127
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:40
msgid "No Data"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:218
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1110
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1108
msgid "Not Running"
msgstr ""
msgid "OPTIONAL: Use non-default DNS-Server to detect 'Registered IP'."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1047
-msgid "On Error the script will retry the failed action after given time"
-msgstr ""
-
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1027
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
-msgid "On Error the script will stop execution after given number of retrys"
+msgid "On Error the script will stop execution after given number of retrys."
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:758
"Please follow the instructions on OpenWrt's homepage to enable IPv6 support"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1075
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1073
msgid "Please press [Read] button"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1058
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1056
msgid "Read / Reread log file"
msgstr ""
msgid "Really switch service?"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:30
msgid "Registered IP"
msgstr ""
msgid "Restart DDns"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1046
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1044
msgid "Retry Unit"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:229
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1113
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1111
msgid "Running"
msgstr ""
msgid "State"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1107
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1105
msgid "Status"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1029
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1039
-msgid "The default setting of '0' will retry infinite."
+msgid "The default setting of '0' will retry infinitely."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
+msgid "The interval between which each succesive retry will commence."
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:505
msgid "There is no service configured."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1074
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1072
msgid "This is the current content of the log file in %h for this service."
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:217
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:38
msgid "Unknown"
msgstr ""
msgid "Warning"
msgstr ""
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1045
+msgid "Which time units to use for retry counters."
+msgstr ""
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:959
msgid ""
"Writes detailed messages to log file. File will be truncated automatically."
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:986
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1021
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1052
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1050
msgid "minutes"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:985
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1051
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1049
msgid "seconds"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:214
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1128
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1126
msgid "Configuration Error"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:614
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1136
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1134
msgid "Enabled"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1017
-msgid "Interval unit to force updates send to DDNS Provider"
+msgid "Interval unit to force updates sent to DDNS Provider."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
msgid "Last Update"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:623
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:29
msgid "Lookup Hostname"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:499
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1118
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1116
msgid "Name"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:216
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
msgid "Never"
msgstr ""
msgid "New DDns Service…"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:28
msgid "Next Update"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:215
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1129
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1127
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:40
msgid "No Data"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:218
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1110
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1108
msgid "Not Running"
msgstr ""
msgid "OPTIONAL: Use non-default DNS-Server to detect 'Registered IP'."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1047
-msgid "On Error the script will retry the failed action after given time"
-msgstr ""
-
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1027
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
-msgid "On Error the script will stop execution after given number of retrys"
+msgid "On Error the script will stop execution after given number of retrys."
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:758
"Please follow the instructions on OpenWrt's homepage to enable IPv6 support"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1075
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1073
msgid "Please press [Read] button"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1058
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1056
msgid "Read / Reread log file"
msgstr ""
msgid "Really switch service?"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:30
msgid "Registered IP"
msgstr ""
msgid "Restart DDns"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1046
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1044
msgid "Retry Unit"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:229
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1113
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1111
msgid "Running"
msgstr ""
msgid "State"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1107
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1105
msgid "Status"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1029
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1039
-msgid "The default setting of '0' will retry infinite."
+msgid "The default setting of '0' will retry infinitely."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
+msgid "The interval between which each succesive retry will commence."
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:505
msgid "There is no service configured."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1074
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1072
msgid "This is the current content of the log file in %h for this service."
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:217
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:38
msgid "Unknown"
msgstr ""
msgid "Warning"
msgstr ""
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1045
+msgid "Which time units to use for retry counters."
+msgstr ""
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:959
msgid ""
"Writes detailed messages to log file. File will be truncated automatically."
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:986
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1021
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1052
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1050
msgid "minutes"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:985
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1051
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1049
msgid "seconds"
msgstr ""
msgstr "Beállítás"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:214
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1128
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1126
msgid "Configuration Error"
msgstr "Beállítási hiba"
msgstr "Biztonságos kommunikáció engedélyezése a DDNS-szolgáltatóval"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:614
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1136
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1134
msgid "Enabled"
msgstr "Engedélyezve"
msgstr "Időköz mértékegysége a megváltozott IP ellenőrzéséhez"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1017
-msgid "Interval unit to force updates send to DDNS Provider"
+msgid "Interval unit to force updates sent to DDNS Provider."
msgstr ""
"Időköz mértékegysége a DDNS-szolgáltatónak küldött frissítések "
"kényszerítéséhez"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
msgid "Last Update"
msgstr "Utolsó frissítés"
msgstr "Naplózás a rendszernaplóba"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:623
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:29
msgid "Lookup Hostname"
msgstr "Gépnév keresése"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:499
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1118
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1116
msgid "Name"
msgstr "Név"
msgstr "A hálózat, amelyen a DDNS-frissítő parancsfájlok el fognak indulni"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:216
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
msgid "Never"
msgstr "Soha"
msgid "New DDns Service…"
msgstr "Új DDNS szolgáltatás…"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:28
msgid "Next Update"
msgstr "Következő frissítés"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:215
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1129
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1127
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:40
msgid "No Data"
msgstr "Nincs adat"
msgstr "Nem nyilvános és alapértelmezetten blokkolt IP-k"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:218
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1110
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1108
msgid "Not Running"
msgstr "Nem fut"
"ELHAGYHATÓ: nem alapértelmezett DNS-kiszolgáló használata a „Regisztrált IP” "
"felismeréséhez."
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1047
-msgid "On Error the script will retry the failed action after given time"
-msgstr ""
-"Hiba esetén a parancsfájl újrapróbálja a sikertelen műveletet a megadott idő "
-"után"
-
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1027
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
-msgid "On Error the script will stop execution after given number of retrys"
+msgid "On Error the script will stop execution after given number of retrys."
msgstr ""
-"Hiba esetén a parancsfájl leállítja a végrehajtást a megadott "
-"újrapróbálkozások száma után"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:758
msgid "Optional Encoded Parameter"
"Kövesse az OpenWrt honlapján lévő utasításokat az IPv6 támogatás "
"engedélyezéséhez"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1075
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1073
msgid "Please press [Read] button"
msgstr "Nyomja meg a [Beolvasás] gombot"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1058
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1056
msgid "Read / Reread log file"
msgstr "Naplófájl olvasása vagy újraolvasása"
msgid "Really switch service?"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:30
msgid "Registered IP"
msgstr "Regisztrált IP"
msgid "Restart DDns"
msgstr "DDns újraindítása"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1046
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1044
msgid "Retry Unit"
msgstr ""
msgstr "Futtatás egyszer"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:229
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1113
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1111
msgid "Running"
msgstr "Fut"
msgid "State"
msgstr "Állapot"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1107
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1105
msgid "Status"
msgstr "Állapot"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1029
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1039
-msgid "The default setting of '0' will retry infinite."
+msgid "The default setting of '0' will retry infinitely."
msgstr "Az alapértelmezett „0” beállítás végtelenszer fog újrapróbálkozni."
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
+msgid "The interval between which each succesive retry will commence."
+msgstr ""
+"Hiba esetén a parancsfájl leállítja a végrehajtást a megadott "
+"újrapróbálkozások száma után"
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:505
msgid "The service name is already used"
msgstr "A szolgáltatás neve már használatban van"
msgid "There is no service configured."
msgstr "Nincs beállított szolgáltatás."
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1074
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1072
msgid "This is the current content of the log file in %h for this service."
msgstr ""
msgstr "Felismerendő URL"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:217
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:38
msgid "Unknown"
msgstr "Ismeretlen"
msgid "Warning"
msgstr "Figyelmeztetés"
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1045
+msgid "Which time units to use for retry counters."
+msgstr ""
+"Hiba esetén a parancsfájl újrapróbálja a sikertelen műveletet a megadott idő "
+"után"
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:959
msgid ""
"Writes detailed messages to log file. File will be truncated automatically."
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:986
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1021
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1052
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1050
msgid "minutes"
msgstr "perc"
msgstr "vagy frissítse a rendszerét a legújabb OpenWrt kiadásra"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:985
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1051
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1049
msgid "seconds"
msgstr "másodperc"
msgstr "Configurazione"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:214
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1128
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1126
msgid "Configuration Error"
msgstr "Errore di Configurazione"
msgstr "Abilita la comunicazione sicura con il provider DDNS"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:614
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1136
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1134
msgid "Enabled"
msgstr "Abilitato"
msgstr "Unità dell'intervallo di controllo per il cambio di IP"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1017
-msgid "Interval unit to force updates send to DDNS Provider"
+msgid "Interval unit to force updates sent to DDNS Provider."
msgstr ""
"Unità dell'intervallo per l'invio forzato di aggiornamento al provider DDNS"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
msgid "Last Update"
msgstr "Ultimo Aggiornamento"
msgstr "Registra su syslog"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:623
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:29
msgid "Lookup Hostname"
msgstr "Indirizzo da consultare"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:499
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1118
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1116
msgid "Name"
msgstr "Nome"
msgstr "Rete su cui lo script di aggiornamento DDNS sara avviato"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:216
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
msgid "Never"
msgstr "Mai"
msgid "New DDns Service…"
msgstr "Nuovo Servizio DDns…"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:28
msgid "Next Update"
msgstr "Prossimo Aggiornamento"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:215
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1129
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1127
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:40
msgid "No Data"
msgstr "Nessun dato"
msgstr "Ip non pubblici e bloccati di default"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:218
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1110
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1108
msgid "Not Running"
msgstr "Non in esecuzione"
msgstr ""
"OPZIONALE: Usa Server DNS non di default per individuare 'IP Registrato'."
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1047
-msgid "On Error the script will retry the failed action after given time"
-msgstr ""
-"In caso di errore lo script riproverà l'azione fallita dopo il tempo dato"
-
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1027
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
-msgid "On Error the script will stop execution after given number of retrys"
+msgid "On Error the script will stop execution after given number of retrys."
msgstr ""
-"In caso di errori lo script fermerà l'esecuzione dopo il numero di tentativi "
-"dati"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:758
msgid "Optional Encoded Parameter"
"Per favore segui le istruzioni sulla homepage di OpenWrt per abilitare il "
"supporto all'IPv6"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1075
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1073
msgid "Please press [Read] button"
msgstr "Per favore premi il pulsante [Leggi]"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1058
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1056
msgid "Read / Reread log file"
msgstr "Leggi / Rileggi registro"
msgid "Really switch service?"
msgstr "Cambiare davvero servizio?"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:30
msgid "Registered IP"
msgstr "IP Registrato"
msgid "Restart DDns"
msgstr "Riavvia DDns"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1046
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1044
msgid "Retry Unit"
msgstr "Unità nuovo tentativo"
msgstr "Esegui una volta"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:229
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1113
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1111
msgid "Running"
msgstr "In esecuzione"
msgid "State"
msgstr "Stato"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1107
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1105
msgid "Status"
msgstr "Stato"
msgstr "Cambia servizio"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1029
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1039
-msgid "The default setting of '0' will retry infinite."
+msgid "The default setting of '0' will retry infinitely."
msgstr "L'opzione di default '0' riproverà all'infinito."
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
+msgid "The interval between which each succesive retry will commence."
+msgstr ""
+"In caso di errori lo script fermerà l'esecuzione dopo il numero di tentativi "
+"dati"
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:505
msgid "The service name is already used"
msgstr "Questo nome per il servizio è già usato"
msgid "There is no service configured."
msgstr "Non c'è un servizio configurato."
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1074
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1072
msgid "This is the current content of the log file in %h for this service."
msgstr ""
msgstr "URL da individuare"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:217
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:38
msgid "Unknown"
msgstr "Sconosciuto"
msgid "Warning"
msgstr "Allarme"
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1045
+msgid "Which time units to use for retry counters."
+msgstr ""
+"In caso di errore lo script riproverà l'azione fallita dopo il tempo dato"
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:959
msgid ""
"Writes detailed messages to log file. File will be truncated automatically."
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:986
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1021
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1052
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1050
msgid "minutes"
msgstr "minuti"
msgstr "o aggiorna il tuo sistema all'ultima Release Openwrt"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:985
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1051
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1049
msgid "seconds"
msgstr "secondi"
msgstr "設定"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:214
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1128
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1126
msgid "Configuration Error"
msgstr "構成エラー"
msgstr "DDNS プロバイダーとの安全な通信を有効にする"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:614
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1136
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1134
msgid "Enabled"
msgstr "有効"
msgstr "変更された IP のチェック間隔の単位"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1017
-msgid "Interval unit to force updates send to DDNS Provider"
+msgid "Interval unit to force updates sent to DDNS Provider."
msgstr "DDNS プロバイダーに送信する強制アップデートの間隔の単位です"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
msgid "Last Update"
msgstr "最終更新"
msgstr "syslog へログを記録"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:623
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:29
msgid "Lookup Hostname"
msgstr "ルックアップするホスト名"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:499
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1118
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1116
msgid "Name"
msgstr "名前"
msgstr "ddns-updater スクリプトが開始されるネットワーク"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:216
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
msgid "Never"
msgstr "なし"
msgid "New DDns Service…"
msgstr "新規 DDNS サービス…"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:28
msgid "Next Update"
msgstr "次の更新"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:215
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1129
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1127
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:40
msgid "No Data"
msgstr "データなし"
msgstr "非パブリックかつデフォルトでブロックされる IP"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:218
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1110
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1108
msgid "Not Running"
msgstr "実行されていません"
msgstr ""
"オプション: 登録済み IP の検出に非デフォルトの DNS サーバーを使用します。"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1047
-msgid "On Error the script will retry the failed action after given time"
-msgstr ""
-"エラーの場合、スクリプトは指定された時間が経過すると失敗したアクションを再試"
-"行します"
-
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1027
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
-msgid "On Error the script will stop execution after given number of retrys"
-msgstr "指定された再試行回数後のスクリプトのエラーで実行を停止します"
+msgid "On Error the script will stop execution after given number of retrys."
+msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:758
msgid "Optional Encoded Parameter"
msgstr ""
"IPv6 サポートを有効にするには、OpenWrt のホームページの指示に従ってください"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1075
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1073
msgid "Please press [Read] button"
msgstr "[読込] ボタンを押してください"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1058
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1056
msgid "Read / Reread log file"
msgstr "ログファイルの読み込み/再読み込み"
msgid "Really switch service?"
msgstr "本当にサービスを切り替えますか?"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:30
msgid "Registered IP"
msgstr "登録済み IP"
msgid "Restart DDns"
msgstr "DDNS を再起動"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1046
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1044
msgid "Retry Unit"
msgstr "再試行の単位"
msgstr "一度のみ実行"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:229
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1113
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1111
msgid "Running"
msgstr "実行中"
msgid "State"
msgstr "状態"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1107
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1105
msgid "Status"
msgstr "ステータス"
msgstr "サービスを切り替える"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1029
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1039
-msgid "The default setting of '0' will retry infinite."
+msgid "The default setting of '0' will retry infinitely."
msgstr "デフォルトのゼロを設定すると、無限に再試行します。"
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
+msgid "The interval between which each succesive retry will commence."
+msgstr "指定された再試行回数後のスクリプトのエラーで実行を停止します"
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:505
msgid "The service name is already used"
msgstr "サービス名はすでに使用されています"
msgid "There is no service configured."
msgstr "構成済のサービスはありません。"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1074
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1072
msgid "This is the current content of the log file in %h for this service."
msgstr "本サービスの%hでログファイルの現在の内容です。"
msgstr "検出する URL"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:217
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:38
msgid "Unknown"
msgstr "不明"
msgid "Warning"
msgstr "警告"
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1045
+msgid "Which time units to use for retry counters."
+msgstr ""
+"エラーの場合、スクリプトは指定された時間が経過すると失敗したアクションを再試"
+"行します"
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:959
msgid ""
"Writes detailed messages to log file. File will be truncated automatically."
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:986
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1021
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1052
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1050
msgid "minutes"
msgstr "分"
msgstr "またはシステムを最新の OpenWrt リリースに更新します"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:985
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1051
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1049
msgid "seconds"
msgstr "秒"
msgstr "설정"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:214
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1128
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1126
msgid "Configuration Error"
msgstr "설정 오류"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:614
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1136
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1134
msgid "Enabled"
msgstr "활성화"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1017
-msgid "Interval unit to force updates send to DDNS Provider"
+msgid "Interval unit to force updates sent to DDNS Provider."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
msgid "Last Update"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:623
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:29
msgid "Lookup Hostname"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:499
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1118
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1116
msgid "Name"
msgstr "이름"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:216
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
msgid "Never"
msgstr "안함"
msgid "New DDns Service…"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:28
msgid "Next Update"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:215
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1129
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1127
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:40
msgid "No Data"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:218
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1110
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1108
msgid "Not Running"
msgstr ""
msgid "OPTIONAL: Use non-default DNS-Server to detect 'Registered IP'."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1047
-msgid "On Error the script will retry the failed action after given time"
-msgstr ""
-
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1027
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
-msgid "On Error the script will stop execution after given number of retrys"
+msgid "On Error the script will stop execution after given number of retrys."
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:758
"Please follow the instructions on OpenWrt's homepage to enable IPv6 support"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1075
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1073
msgid "Please press [Read] button"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1058
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1056
msgid "Read / Reread log file"
msgstr ""
msgid "Really switch service?"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:30
msgid "Registered IP"
msgstr ""
msgid "Restart DDns"
msgstr "DDNS 재시작"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1046
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1044
msgid "Retry Unit"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:229
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1113
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1111
msgid "Running"
msgstr "실행 중"
msgid "State"
msgstr "상태"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1107
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1105
msgid "Status"
msgstr "상태"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1029
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1039
-msgid "The default setting of '0' will retry infinite."
+msgid "The default setting of '0' will retry infinitely."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
+msgid "The interval between which each succesive retry will commence."
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:505
msgid "There is no service configured."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1074
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1072
msgid "This is the current content of the log file in %h for this service."
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:217
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:38
msgid "Unknown"
msgstr ""
msgid "Warning"
msgstr "경고"
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1045
+msgid "Which time units to use for retry counters."
+msgstr ""
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:959
msgid ""
"Writes detailed messages to log file. File will be truncated automatically."
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:986
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1021
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1052
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1050
msgid "minutes"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:985
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1051
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1049
msgid "seconds"
msgstr ""
msgstr "कॉन्फिगरेशन"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:214
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1128
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1126
msgid "Configuration Error"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:614
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1136
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1134
msgid "Enabled"
msgstr "सक्षम केले"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1017
-msgid "Interval unit to force updates send to DDNS Provider"
+msgid "Interval unit to force updates sent to DDNS Provider."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
msgid "Last Update"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:623
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:29
msgid "Lookup Hostname"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:499
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1118
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1116
msgid "Name"
msgstr "नाव"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:216
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
msgid "Never"
msgstr ""
msgid "New DDns Service…"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:28
msgid "Next Update"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:215
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1129
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1127
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:40
msgid "No Data"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:218
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1110
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1108
msgid "Not Running"
msgstr ""
msgid "OPTIONAL: Use non-default DNS-Server to detect 'Registered IP'."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1047
-msgid "On Error the script will retry the failed action after given time"
-msgstr ""
-
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1027
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
-msgid "On Error the script will stop execution after given number of retrys"
+msgid "On Error the script will stop execution after given number of retrys."
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:758
"Please follow the instructions on OpenWrt's homepage to enable IPv6 support"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1075
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1073
msgid "Please press [Read] button"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1058
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1056
msgid "Read / Reread log file"
msgstr ""
msgid "Really switch service?"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:30
msgid "Registered IP"
msgstr ""
msgid "Restart DDns"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1046
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1044
msgid "Retry Unit"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:229
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1113
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1111
msgid "Running"
msgstr "चालू आहे"
msgid "State"
msgstr "स्थिती"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1107
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1105
msgid "Status"
msgstr "स्थिती"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1029
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1039
-msgid "The default setting of '0' will retry infinite."
+msgid "The default setting of '0' will retry infinitely."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
+msgid "The interval between which each succesive retry will commence."
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:505
msgid "There is no service configured."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1074
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1072
msgid "This is the current content of the log file in %h for this service."
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:217
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:38
msgid "Unknown"
msgstr "अज्ञात"
msgid "Warning"
msgstr ""
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1045
+msgid "Which time units to use for retry counters."
+msgstr ""
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:959
msgid ""
"Writes detailed messages to log file. File will be truncated automatically."
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:986
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1021
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1052
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1050
msgid "minutes"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:985
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1051
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1049
msgid "seconds"
msgstr ""
msgstr "Konfigurasi"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:214
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1128
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1126
msgid "Configuration Error"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:614
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1136
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1134
msgid "Enabled"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1017
-msgid "Interval unit to force updates send to DDNS Provider"
+msgid "Interval unit to force updates sent to DDNS Provider."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
msgid "Last Update"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:623
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:29
msgid "Lookup Hostname"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:499
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1118
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1116
msgid "Name"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:216
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
msgid "Never"
msgstr ""
msgid "New DDns Service…"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:28
msgid "Next Update"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:215
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1129
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1127
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:40
msgid "No Data"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:218
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1110
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1108
msgid "Not Running"
msgstr ""
msgid "OPTIONAL: Use non-default DNS-Server to detect 'Registered IP'."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1047
-msgid "On Error the script will retry the failed action after given time"
-msgstr ""
-
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1027
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
-msgid "On Error the script will stop execution after given number of retrys"
+msgid "On Error the script will stop execution after given number of retrys."
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:758
"Please follow the instructions on OpenWrt's homepage to enable IPv6 support"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1075
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1073
msgid "Please press [Read] button"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1058
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1056
msgid "Read / Reread log file"
msgstr ""
msgid "Really switch service?"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:30
msgid "Registered IP"
msgstr ""
msgid "Restart DDns"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1046
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1044
msgid "Retry Unit"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:229
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1113
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1111
msgid "Running"
msgstr ""
msgid "State"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1107
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1105
msgid "Status"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1029
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1039
-msgid "The default setting of '0' will retry infinite."
+msgid "The default setting of '0' will retry infinitely."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
+msgid "The interval between which each succesive retry will commence."
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:505
msgid "There is no service configured."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1074
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1072
msgid "This is the current content of the log file in %h for this service."
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:217
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:38
msgid "Unknown"
msgstr ""
msgid "Warning"
msgstr ""
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1045
+msgid "Which time units to use for retry counters."
+msgstr ""
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:959
msgid ""
"Writes detailed messages to log file. File will be truncated automatically."
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:986
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1021
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1052
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1050
msgid "minutes"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:985
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1051
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1049
msgid "seconds"
msgstr ""
msgstr "Oppsett"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:214
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1128
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1126
msgid "Configuration Error"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:614
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1136
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1134
msgid "Enabled"
msgstr "Påskrudd"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1017
-msgid "Interval unit to force updates send to DDNS Provider"
+msgid "Interval unit to force updates sent to DDNS Provider."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
msgid "Last Update"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:623
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:29
msgid "Lookup Hostname"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:499
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1118
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1116
msgid "Name"
msgstr "Navn"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:216
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
msgid "Never"
msgstr ""
msgid "New DDns Service…"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:28
msgid "Next Update"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:215
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1129
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1127
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:40
msgid "No Data"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:218
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1110
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1108
msgid "Not Running"
msgstr ""
msgid "OPTIONAL: Use non-default DNS-Server to detect 'Registered IP'."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1047
-msgid "On Error the script will retry the failed action after given time"
-msgstr ""
-
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1027
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
-msgid "On Error the script will stop execution after given number of retrys"
+msgid "On Error the script will stop execution after given number of retrys."
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:758
"Please follow the instructions on OpenWrt's homepage to enable IPv6 support"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1075
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1073
msgid "Please press [Read] button"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1058
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1056
msgid "Read / Reread log file"
msgstr ""
msgid "Really switch service?"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:30
msgid "Registered IP"
msgstr ""
msgid "Restart DDns"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1046
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1044
msgid "Retry Unit"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:229
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1113
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1111
msgid "Running"
msgstr "Kjører"
msgid "State"
msgstr "Tilstand"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1107
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1105
msgid "Status"
msgstr "Status"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1029
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1039
-msgid "The default setting of '0' will retry infinite."
+msgid "The default setting of '0' will retry infinitely."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
+msgid "The interval between which each succesive retry will commence."
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:505
msgid "There is no service configured."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1074
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1072
msgid "This is the current content of the log file in %h for this service."
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:217
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:38
msgid "Unknown"
msgstr ""
msgid "Warning"
msgstr "Advarsel"
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1045
+msgid "Which time units to use for retry counters."
+msgstr ""
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:959
msgid ""
"Writes detailed messages to log file. File will be truncated automatically."
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:986
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1021
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1052
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1050
msgid "minutes"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:985
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1051
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1049
msgid "seconds"
msgstr ""
msgstr "Konfiguracja"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:214
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1128
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1126
msgid "Configuration Error"
msgstr "Błąd konfiguracji"
msgstr "Włączenie zabezpieczonej komunikacji z dostawcą DDNS"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:614
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1136
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1134
msgid "Enabled"
msgstr "Włączone"
msgstr "Jednostka interwału sprawdzająca zmianę IP"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1017
-msgid "Interval unit to force updates send to DDNS Provider"
+msgid "Interval unit to force updates sent to DDNS Provider."
msgstr ""
"Jednostka interwału wymuszająca przesyłanie aktualizacji do dostawcy DDNS"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
msgid "Last Update"
msgstr "Ostatnia aktualizacja"
msgstr "Rejestrowanie do dziennika systemowego"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:623
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:29
msgid "Lookup Hostname"
msgstr "Nazwa hosta wyszukiwania"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:499
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1118
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1116
msgid "Name"
msgstr "Nazwa"
msgstr "Sieć, w której uruchomione zostaną skrypty ddns-updater"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:216
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
msgid "Never"
msgstr "Nigdy"
msgid "New DDns Service…"
msgstr "Nowa usługa DDNS…"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:28
msgid "Next Update"
msgstr "Następna aktualizacja"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:215
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1129
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1127
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:40
msgid "No Data"
msgstr "Brak danych"
msgstr "Niepubliczne i domyślnie zablokowane IP"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:218
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1110
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1108
msgid "Not Running"
msgstr "Nie działa"
"OPCJONALNIE: Użyj serwera DNS innego niż domyślny, aby wykryć "
"„Zarejestrowany adres IP”."
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1047
-msgid "On Error the script will retry the failed action after given time"
-msgstr ""
-"W przypadku błędu skrypt ponownie spróbuje wykonać nieudaną akcję po "
-"określonym czasie"
-
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1027
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
-msgid "On Error the script will stop execution after given number of retrys"
-msgstr "W przypadku błędu skrypt przestanie działać po określonej liczbie prób"
+msgid "On Error the script will stop execution after given number of retrys."
+msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:758
msgid "Optional Encoded Parameter"
"Postępuj zgodnie z instrukcjami na stronie głównej OpenWrt, aby włączyć "
"obsługę IPv6"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1075
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1073
msgid "Please press [Read] button"
msgstr "Proszę nacisnąć przycisk [Czytaj]"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1058
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1056
msgid "Read / Reread log file"
msgstr "Odczytaj/Ponownie odczytaj plik dziennika"
msgid "Really switch service?"
msgstr "Naprawdę zmienić usługę?"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:30
msgid "Registered IP"
msgstr "Zarejestrowane IP"
msgid "Restart DDns"
msgstr "Resetuj DDNS"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1046
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1044
msgid "Retry Unit"
msgstr "Ponów jednostkę"
msgstr "Uruchom raz"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:229
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1113
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1111
msgid "Running"
msgstr "Działa"
msgid "State"
msgstr "Stan"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1107
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1105
msgid "Status"
msgstr "Status"
msgstr "Przełącz usługę"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1029
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1039
-msgid "The default setting of '0' will retry infinite."
+msgid "The default setting of '0' will retry infinitely."
msgstr "Domyślne ustawienie „0” będzie ponowić próbę nieskończoności."
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
+msgid "The interval between which each succesive retry will commence."
+msgstr "W przypadku błędu skrypt przestanie działać po określonej liczbie prób"
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:505
msgid "The service name is already used"
msgstr "Nazwa usługi jest już używana"
msgid "There is no service configured."
msgstr "Nie ma skonfigurowanej usługi."
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1074
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1072
msgid "This is the current content of the log file in %h for this service."
msgstr "Jest to bieżąca zawartość pliku dziennika w %h dla tej usługi."
msgstr "URL do wykrycia"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:217
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:38
msgid "Unknown"
msgstr "Nieznany"
msgid "Warning"
msgstr "Ostrzeżenie"
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1045
+msgid "Which time units to use for retry counters."
+msgstr ""
+"W przypadku błędu skrypt ponownie spróbuje wykonać nieudaną akcję po "
+"określonym czasie"
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:959
msgid ""
"Writes detailed messages to log file. File will be truncated automatically."
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:986
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1021
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1052
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1050
msgid "minutes"
msgstr "minuty"
msgstr "lub zaktualizuj system do najnowszej wersji OpenWrt"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:985
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1051
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1049
msgid "seconds"
msgstr "sekundy"
msgstr "Configuração"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:214
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1128
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1126
msgid "Configuration Error"
msgstr "Erro de configuração"
msgstr "Ativar a comunicação segura com o provedor de DDNS"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:614
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1136
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1134
msgid "Enabled"
msgstr "Ativado"
msgstr "Unidade de intervalo para verificar se o IP foi alterado"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1017
-msgid "Interval unit to force updates send to DDNS Provider"
+msgid "Interval unit to force updates sent to DDNS Provider."
msgstr ""
"Unidade de intervalo para forçar o envio de atualizações para o Provedor de "
"DDNS"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
msgid "Last Update"
msgstr "Última atualização"
msgstr "Registar para o syslog"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:623
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:29
msgid "Lookup Hostname"
msgstr "Verificar nome de host"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:499
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1118
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1116
msgid "Name"
msgstr "Nome"
msgstr "Rede na qual os scripts de atualização DDNS serão iniciados"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:216
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
msgid "Never"
msgstr "Nunca"
msgid "New DDns Service…"
msgstr "Novo Serviço de DDns…"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:28
msgid "Next Update"
msgstr "Próxima atualização"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:215
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1129
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1127
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:40
msgid "No Data"
msgstr "Sem dados"
msgstr "IPs não públicos e bloqueados por padrão"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:218
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1110
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1108
msgid "Not Running"
msgstr "Não em Execução"
msgid "OPTIONAL: Use non-default DNS-Server to detect 'Registered IP'."
msgstr "OPCIONAL: Use servidor DNS não padrão para detetar 'Registered IP'."
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1047
-msgid "On Error the script will retry the failed action after given time"
-msgstr "Em Erro, o script irá tentar a ação que falhou após um tempo definido"
-
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1027
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
-msgid "On Error the script will stop execution after given number of retrys"
+msgid "On Error the script will stop execution after given number of retrys."
msgstr ""
-"Em Erro, o script irá para a execução após um número definido de tentativas"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:758
msgid "Optional Encoded Parameter"
"Por favor, siga as instruções na página inicial do OpenWrt para ativar o "
"suporte de IPv6"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1075
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1073
msgid "Please press [Read] button"
msgstr "Por favor pressione o botão [Ler]"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1058
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1056
msgid "Read / Reread log file"
msgstr "Ler / Ler novamente o ficheiro de log"
msgid "Really switch service?"
msgstr "Realmente mudar o serviço?"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:30
msgid "Registered IP"
msgstr "IP registrado"
msgid "Restart DDns"
msgstr "Reiniciar DDns"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1046
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1044
msgid "Retry Unit"
msgstr "Tentar a unidade novamente"
msgstr "Executar apenas uma vez"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:229
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1113
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1111
msgid "Running"
msgstr "Executando"
msgid "State"
msgstr "Estado"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1107
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1105
msgid "Status"
msgstr "Estado"
msgstr "Trocar serviço"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1029
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1039
-msgid "The default setting of '0' will retry infinite."
+msgid "The default setting of '0' will retry infinitely."
msgstr "A configuração padrão de '0' terá tentativas infinitas."
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
+msgid "The interval between which each succesive retry will commence."
+msgstr ""
+"Em Erro, o script irá para a execução após um número definido de tentativas"
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:505
msgid "The service name is already used"
msgstr "O nome do serviço já está usado"
msgid "There is no service configured."
msgstr "Não há serviço configurado."
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1074
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1072
msgid "This is the current content of the log file in %h for this service."
msgstr "Este é o conteúdo atual do ficheiro de registo %h para este serviço."
msgstr "Detectada pela URL"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:217
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:38
msgid "Unknown"
msgstr "Desconhecido"
msgid "Warning"
msgstr "Aviso"
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1045
+msgid "Which time units to use for retry counters."
+msgstr "Em Erro, o script irá tentar a ação que falhou após um tempo definido"
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:959
msgid ""
"Writes detailed messages to log file. File will be truncated automatically."
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:986
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1021
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1052
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1050
msgid "minutes"
msgstr "minutos"
msgstr "ou atualize o seu sistema para a versão mais recente do OpenWrt"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:985
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1051
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1049
msgid "seconds"
msgstr "segundos"
msgstr ""
"Project-Id-Version: luci-app-ddns 2.4.0-1\n"
"POT-Creation-Date: 2016-01-30 11:07+0100\n"
-"PO-Revision-Date: 2022-07-13 06:47+0000\n"
+"PO-Revision-Date: 2022-10-22 13:47+0000\n"
"Last-Translator: Wellington Terumi Uemura <wellingtonuemura@gmail.com>\n"
"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
"openwrt/luciapplicationsddns/pt_BR/>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.14-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:432
msgid "\"../\" not allowed in path for Security Reason."
msgstr "Configuração"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:214
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1128
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1126
msgid "Configuration Error"
msgstr "Erro de configuração"
msgstr "Habilitar comunicação segura com o provedor DDNS"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:614
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1136
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1134
msgid "Enabled"
msgstr "Ativado"
msgstr "Unidade intervalada para verificar a alteração do PI"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1017
-msgid "Interval unit to force updates send to DDNS Provider"
+msgid "Interval unit to force updates sent to DDNS Provider."
msgstr ""
-"Unidade de intervalo para forçar atualizações enviados ao provedor DDNS"
+"Unidade de intervalo para impor as atualizações enviados ao provedor DDNS."
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
msgid "Last Update"
msgstr "Última atualização"
msgstr "Registrar no syslog"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:623
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:29
msgid "Lookup Hostname"
msgstr "Verificar nome de host"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:499
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1118
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1116
msgid "Name"
msgstr "Nome"
msgstr "Rede na qual os scripts de atualização DDNS serão iniciados"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:216
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
msgid "Never"
msgstr "Nunca"
msgid "New DDns Service…"
msgstr "Novo Serviço DDNS…"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:28
msgid "Next Update"
msgstr "Próxima atualização"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:215
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1129
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1127
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:40
msgid "No Data"
msgstr "Sem dados"
msgstr "IPs não públicos e bloqueados por padrão"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:218
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1110
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1108
msgid "Not Running"
msgstr "Não está em execução"
msgid "OPTIONAL: Use non-default DNS-Server to detect 'Registered IP'."
msgstr "OPCIONAL: Use servidor DNS não-padrão para detectar \"IP Registrado\"."
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1047
-msgid "On Error the script will retry the failed action after given time"
-msgstr "Em Erro, o script irá tentar a ação que falhou após um tempo definido"
-
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1027
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
-msgid "On Error the script will stop execution after given number of retrys"
+msgid "On Error the script will stop execution after given number of retrys."
msgstr ""
-"Em Erro, o script irá para a execução após um número definido de tentativas"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:758
msgid "Optional Encoded Parameter"
"Por favor, siga as instruções na página inicial do OpenWrt para habilitar o "
"suporte do IPv6"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1075
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1073
msgid "Please press [Read] button"
msgstr "Por favor, pressione o botão [Ler]"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1058
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1056
msgid "Read / Reread log file"
msgstr "Ler / Ler novamente o arquivo do registro log"
msgid "Really switch service?"
msgstr "Deseja realmente trocar o serviço?"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:30
msgid "Registered IP"
msgstr "IP registrado"
msgid "Restart DDns"
msgstr "Reiniciar DDNS"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1046
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1044
msgid "Retry Unit"
msgstr "Tentar a Unidade Novamente"
msgstr "Rodar apenas uma vez"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:229
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1113
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1111
msgid "Running"
msgstr "Em execução"
msgid "State"
msgstr "Estado"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1107
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1105
msgid "Status"
msgstr "Condição Geral"
msgstr "Trocar o serviço"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1029
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1039
-msgid "The default setting of '0' will retry infinite."
+msgid "The default setting of '0' will retry infinitely."
msgstr "A configuração padrão de '0' terá infinitas tentativas."
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
+msgid "The interval between which each succesive retry will commence."
+msgstr ""
+"O intervalo entre o qual cada nova tentativa com sucesso será iniciada."
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:505
msgid "The service name is already used"
msgstr "O nome do serviço já é usado"
msgid "There is no service configured."
msgstr "Não há serviço configurado."
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1074
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1072
msgid "This is the current content of the log file in %h for this service."
msgstr ""
"Este é o conteúdo atual do arquivo de registro em %h para este serviço."
msgstr "Detectada pela URL"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:217
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:38
msgid "Unknown"
msgstr "Desconhecido"
msgid "Warning"
msgstr "Alerta"
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1045
+msgid "Which time units to use for retry counters."
+msgstr "Quais unidades de tempo usar para a contagem das novas tentativas."
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:959
msgid ""
"Writes detailed messages to log file. File will be truncated automatically."
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:986
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1021
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1052
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1050
msgid "minutes"
msgstr "minutos"
msgstr "ou atualize seu sistema para o mais recente lançamento do OpenWrt"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:985
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1051
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1049
msgid "seconds"
msgstr "segundos"
msgstr "Configurație"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:214
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1128
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1126
msgid "Configuration Error"
msgstr "Eroare de configurație"
msgstr "Activează comunicarea securizată cu furnizorul DDNS"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:614
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1136
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1134
msgid "Enabled"
msgstr "Activat"
msgstr "Intervalul de verificare pentru IP schimbat"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1017
-msgid "Interval unit to force updates send to DDNS Provider"
+msgid "Interval unit to force updates sent to DDNS Provider."
msgstr ""
"Unitatea de interval pentru a forța trimiterea de actualizări către "
"furnizorul DDNS"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
msgid "Last Update"
msgstr "Ultima actualizare"
msgstr "Înregistrare în syslog"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:623
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:29
msgid "Lookup Hostname"
msgstr "Căutarea numelui de gazdă"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:499
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1118
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1116
msgid "Name"
msgstr "Nume"
msgstr "Rețeaua pe care vor fi pornite scripturile ddns-updater"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:216
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
msgid "Never"
msgstr "Niciodată"
msgid "New DDns Service…"
msgstr "Noul serviciu DDns…"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:28
msgid "Next Update"
msgstr "Următoarea actualizare"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:215
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1129
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1127
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:40
msgid "No Data"
msgstr "Nu există date"
msgstr "IP-uri nepublice și implicit blocate"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:218
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1110
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1108
msgid "Not Running"
msgstr "Nu funcționează"
"OPȚIONAL: Utilizați un server DNS care nu este prestabilit pentru a detecta "
"\"Registered IP\"."
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1047
-msgid "On Error the script will retry the failed action after given time"
-msgstr ""
-"La Eroare, scriptul va încerca din nou acțiunea eșuată după un anumit "
-"interval de timp"
-
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1027
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
-msgid "On Error the script will stop execution after given number of retrys"
-msgstr "La eroare, scriptul va opri execuția după un anumit număr de încercări"
+msgid "On Error the script will stop execution after given number of retrys."
+msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:758
msgid "Optional Encoded Parameter"
"Vă rugăm să urmați instrucțiunile de pe pagina de start a OpenWrt pentru a "
"activa suportul IPv6"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1075
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1073
msgid "Please press [Read] button"
msgstr "Vă rugăm să apăsați butonul [Read]"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1058
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1056
msgid "Read / Reread log file"
msgstr "Citiți / Recitiți fișierul jurnal"
msgid "Really switch service?"
msgstr "Chiar schimbați serviciul?"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:30
msgid "Registered IP"
msgstr "IP înregistrat"
msgid "Restart DDns"
msgstr "Reporniți DDns"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1046
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1044
msgid "Retry Unit"
msgstr "Unitate de reluare"
msgstr "Rulați o dată"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:229
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1113
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1111
msgid "Running"
msgstr "Rulare"
msgid "State"
msgstr "Stat"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1107
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1105
msgid "Status"
msgstr "Stare"
msgstr "Comutați serviciul"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1029
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1039
-msgid "The default setting of '0' will retry infinite."
+msgid "The default setting of '0' will retry infinitely."
msgstr "Setarea implicită de \"0\" va reîncerca la infinit."
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
+msgid "The interval between which each succesive retry will commence."
+msgstr "La eroare, scriptul va opri execuția după un anumit număr de încercări"
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:505
msgid "The service name is already used"
msgstr "Numele serviciului este deja utilizat"
msgid "There is no service configured."
msgstr "Nu este configurat niciun serviciu."
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1074
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1072
msgid "This is the current content of the log file in %h for this service."
msgstr ""
"Acesta este conținutul actual al fișierului jurnal în %h pentru acest "
msgstr "URL de detectat"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:217
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:38
msgid "Unknown"
msgstr "Necunoscut"
msgid "Warning"
msgstr "Avertisment"
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1045
+msgid "Which time units to use for retry counters."
+msgstr ""
+"La Eroare, scriptul va încerca din nou acțiunea eșuată după un anumit "
+"interval de timp"
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:959
msgid ""
"Writes detailed messages to log file. File will be truncated automatically."
"You should install 'bind-host' or 'knot-host' or 'drill' or 'hostip' "
"package, if you need to specify a DNS server to detect your registered IP."
msgstr ""
-"Ar trebui să instalați pachetul \"bind-host\" sau \"knot-host\" sau "
-"\"drill\" sau \"hostip\", dacă aveți nevoie să specificați un server DNS "
-"pentru a vă detecta IP-ul înregistrat."
+"Ar trebui să instalați pachetul \"bind-host\" sau \"knot-host\" sau \"drill"
+"\" sau \"hostip\", dacă aveți nevoie să specificați un server DNS pentru a "
+"vă detecta IP-ul înregistrat."
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:373
msgid ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:986
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1021
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1052
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1050
msgid "minutes"
msgstr "minute"
msgstr "sau actualizați-vă sistemul la cea mai recentă versiune OpenWrt"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:985
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1051
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1049
msgid "seconds"
msgstr "secunde"
msgstr "Конфигурация"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:214
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1128
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1126
msgid "Configuration Error"
msgstr "Ошибка конфигурации"
msgstr "Включить безопасное соединение с провайдером DDNS"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:614
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1136
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1134
msgid "Enabled"
msgstr "Включено"
msgstr "Размерность интервала проверки изменений IP-адреса"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1017
-msgid "Interval unit to force updates send to DDNS Provider"
+msgid "Interval unit to force updates sent to DDNS Provider."
msgstr "Размерность интервала отправки обновления DDNS провайдеру"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
msgid "Last Update"
msgstr "Последнее обновление"
msgstr "Запись в журнал"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:623
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:29
msgid "Lookup Hostname"
msgstr "Поиск имени хоста"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:499
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1118
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1116
msgid "Name"
msgstr "Название"
msgstr "Сеть, в которой будут запущены скрипты DDNS-updater"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:216
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
msgid "Never"
msgstr "Никогда"
msgid "New DDns Service…"
msgstr "Новая DDNS служба…"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:28
msgid "Next Update"
msgstr "Следующее обновление"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:215
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1129
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1127
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:40
msgid "No Data"
msgstr "Нет данных"
msgstr "Непубличные и заблокированные по умолчанию IP-адреса"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:218
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1110
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1108
msgid "Not Running"
msgstr "Не работает"
"Необязательно: использовать DNS сервер не используемый по умолчанию, для "
"обнаружения 'Зарегистрированного IP-адреса'."
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1047
-msgid "On Error the script will retry the failed action after given time"
-msgstr ""
-"В случае ошибки, скрипт повторит требуемые действия по истечении заданного "
-"времени"
-
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1027
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
-msgid "On Error the script will stop execution after given number of retrys"
+msgid "On Error the script will stop execution after given number of retrys."
msgstr ""
-"В случае ошибки, скрипт прекратит выполнение после заданного количества "
-"повторных попыток"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:758
msgid "Optional Encoded Parameter"
"Следуйте инструкциям на домашней странице OpenWrt, чтобы включить поддержку "
"IPv6"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1075
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1073
msgid "Please press [Read] button"
msgstr "Нажмите кнопку [Читать / Перечитывать системный журнал]"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1058
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1056
msgid "Read / Reread log file"
msgstr "Читать / Перечитывать системный журнал"
msgid "Really switch service?"
msgstr "Действительно переключить службу?"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:30
msgid "Registered IP"
msgstr "Зарегистрированный IP-адрес"
msgid "Restart DDns"
msgstr "Перезапустить DDNS"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1046
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1044
msgid "Retry Unit"
msgstr "Размерность интервалов повтора"
msgstr "Запустить один раз"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:229
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1113
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1111
msgid "Running"
msgstr "Запущенные"
msgid "State"
msgstr "Указывать"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1107
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1105
msgid "Status"
msgstr "Состояние"
msgstr "Переключить службу"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1029
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1039
-msgid "The default setting of '0' will retry infinite."
+msgid "The default setting of '0' will retry infinitely."
msgstr "Значение по умолчанию '0' используется для бесконечного повтора."
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
+msgid "The interval between which each succesive retry will commence."
+msgstr ""
+"В случае ошибки, скрипт прекратит выполнение после заданного количества "
+"повторных попыток"
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:505
msgid "The service name is already used"
msgstr "Имя службы уже используется"
msgid "There is no service configured."
msgstr "Служба не настроена."
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1074
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1072
msgid "This is the current content of the log file in %h for this service."
msgstr ""
msgstr "URL для обнаружения"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:217
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:38
msgid "Unknown"
msgstr "Неизвестно"
msgid "Warning"
msgstr "Внимание"
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1045
+msgid "Which time units to use for retry counters."
+msgstr ""
+"В случае ошибки, скрипт повторит требуемые действия по истечении заданного "
+"времени"
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:959
msgid ""
"Writes detailed messages to log file. File will be truncated automatically."
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:986
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1021
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1052
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1050
msgid "minutes"
msgstr "минут(ы)"
msgstr "или обновить вашу систему до последнего релиза OpenWrt"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:985
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1051
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1049
msgid "seconds"
msgstr "секунд(ы)"
msgstr "Konfigurácia"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:214
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1128
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1126
msgid "Configuration Error"
msgstr "Chyba konfigurácie"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:614
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1136
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1134
msgid "Enabled"
msgstr "Zapnuté"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1017
-msgid "Interval unit to force updates send to DDNS Provider"
+msgid "Interval unit to force updates sent to DDNS Provider."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
msgid "Last Update"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:623
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:29
msgid "Lookup Hostname"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:499
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1118
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1116
msgid "Name"
msgstr "Názov"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:216
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
msgid "Never"
msgstr ""
msgid "New DDns Service…"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:28
msgid "Next Update"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:215
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1129
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1127
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:40
msgid "No Data"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:218
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1110
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1108
msgid "Not Running"
msgstr ""
msgid "OPTIONAL: Use non-default DNS-Server to detect 'Registered IP'."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1047
-msgid "On Error the script will retry the failed action after given time"
-msgstr ""
-
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1027
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
-msgid "On Error the script will stop execution after given number of retrys"
+msgid "On Error the script will stop execution after given number of retrys."
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:758
"Please follow the instructions on OpenWrt's homepage to enable IPv6 support"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1075
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1073
msgid "Please press [Read] button"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1058
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1056
msgid "Read / Reread log file"
msgstr ""
msgid "Really switch service?"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:30
msgid "Registered IP"
msgstr ""
msgid "Restart DDns"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1046
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1044
msgid "Retry Unit"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:229
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1113
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1111
msgid "Running"
msgstr ""
msgid "State"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1107
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1105
msgid "Status"
msgstr "Stav"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1029
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1039
-msgid "The default setting of '0' will retry infinite."
+msgid "The default setting of '0' will retry infinitely."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
+msgid "The interval between which each succesive retry will commence."
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:505
msgid "There is no service configured."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1074
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1072
msgid "This is the current content of the log file in %h for this service."
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:217
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:38
msgid "Unknown"
msgstr "Neznáme"
msgid "Warning"
msgstr "Upozornenie"
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1045
+msgid "Which time units to use for retry counters."
+msgstr ""
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:959
msgid ""
"Writes detailed messages to log file. File will be truncated automatically."
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:986
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1021
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1052
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1050
msgid "minutes"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:985
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1051
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1049
msgid "seconds"
msgstr ""
msgstr "Konfiguration"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:214
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1128
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1126
msgid "Configuration Error"
msgstr "Konfigurationsfel"
msgstr "Aktivera säker kommunikation med DDNS-leverantör"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:614
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1136
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1134
msgid "Enabled"
msgstr "Aktiverad"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1017
-msgid "Interval unit to force updates send to DDNS Provider"
+msgid "Interval unit to force updates sent to DDNS Provider."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
msgid "Last Update"
msgstr "Senaste uppdateringen"
msgstr "Logga till syslog"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:623
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:29
msgid "Lookup Hostname"
msgstr "Kolla upp värdnamn"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:499
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1118
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1116
msgid "Name"
msgstr "Namn"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:216
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
msgid "Never"
msgstr "Aldrig"
msgid "New DDns Service…"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:28
msgid "Next Update"
msgstr "Nästa uppdatering"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:215
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1129
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1127
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:40
msgid "No Data"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:218
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1110
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1108
msgid "Not Running"
msgstr ""
msgid "OPTIONAL: Use non-default DNS-Server to detect 'Registered IP'."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1047
-msgid "On Error the script will retry the failed action after given time"
-msgstr ""
-
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1027
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
-msgid "On Error the script will stop execution after given number of retrys"
+msgid "On Error the script will stop execution after given number of retrys."
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:758
"Please follow the instructions on OpenWrt's homepage to enable IPv6 support"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1075
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1073
msgid "Please press [Read] button"
msgstr "Vänligen tryck på [Läs]-knappen"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1058
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1056
msgid "Read / Reread log file"
msgstr "Läs / Läs om loggfilen"
msgid "Really switch service?"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:30
msgid "Registered IP"
msgstr "Registrerad IP"
msgid "Restart DDns"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1046
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1044
msgid "Retry Unit"
msgstr ""
msgstr "Kör en gång"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:229
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1113
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1111
msgid "Running"
msgstr "Igång"
msgid "State"
msgstr "Skick"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1107
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1105
msgid "Status"
msgstr "Status"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1029
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1039
-msgid "The default setting of '0' will retry infinite."
+msgid "The default setting of '0' will retry infinitely."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
+msgid "The interval between which each succesive retry will commence."
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:505
msgid "There is no service configured."
msgstr "Det finns ingen tjänst inställd."
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1074
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1072
msgid "This is the current content of the log file in %h for this service."
msgstr ""
msgstr "Webbadress att upptäcka"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:217
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:38
msgid "Unknown"
msgstr "Okänd"
msgid "Warning"
msgstr "Varning"
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1045
+msgid "Which time units to use for retry counters."
+msgstr ""
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:959
msgid ""
"Writes detailed messages to log file. File will be truncated automatically."
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:986
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1021
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1052
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1050
msgid "minutes"
msgstr "minuter"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:985
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1051
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1049
msgid "seconds"
msgstr "sekunder"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:214
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1128
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1126
msgid "Configuration Error"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:614
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1136
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1134
msgid "Enabled"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1017
-msgid "Interval unit to force updates send to DDNS Provider"
+msgid "Interval unit to force updates sent to DDNS Provider."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
msgid "Last Update"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:623
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:29
msgid "Lookup Hostname"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:499
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1118
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1116
msgid "Name"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:216
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
msgid "Never"
msgstr ""
msgid "New DDns Service…"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:28
msgid "Next Update"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:215
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1129
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1127
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:40
msgid "No Data"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:218
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1110
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1108
msgid "Not Running"
msgstr ""
msgid "OPTIONAL: Use non-default DNS-Server to detect 'Registered IP'."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1047
-msgid "On Error the script will retry the failed action after given time"
-msgstr ""
-
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1027
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
-msgid "On Error the script will stop execution after given number of retrys"
+msgid "On Error the script will stop execution after given number of retrys."
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:758
"Please follow the instructions on OpenWrt's homepage to enable IPv6 support"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1075
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1073
msgid "Please press [Read] button"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1058
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1056
msgid "Read / Reread log file"
msgstr ""
msgid "Really switch service?"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:30
msgid "Registered IP"
msgstr ""
msgid "Restart DDns"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1046
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1044
msgid "Retry Unit"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:229
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1113
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1111
msgid "Running"
msgstr ""
msgid "State"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1107
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1105
msgid "Status"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1029
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1039
-msgid "The default setting of '0' will retry infinite."
+msgid "The default setting of '0' will retry infinitely."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
+msgid "The interval between which each succesive retry will commence."
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:505
msgid "There is no service configured."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1074
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1072
msgid "This is the current content of the log file in %h for this service."
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:217
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:38
msgid "Unknown"
msgstr ""
msgid "Warning"
msgstr ""
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1045
+msgid "Which time units to use for retry counters."
+msgstr ""
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:959
msgid ""
"Writes detailed messages to log file. File will be truncated automatically."
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:986
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1021
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1052
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1050
msgid "minutes"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:985
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1051
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1049
msgid "seconds"
msgstr ""
msgstr ""
"Project-Id-Version: luci-app-ddns 2.4.0-1\n"
"POT-Creation-Date: 2016-01-30 11:07+0100\n"
-"PO-Revision-Date: 2022-09-25 14:22+0000\n"
+"PO-Revision-Date: 2022-10-23 19:52+0000\n"
"Last-Translator: semih <semiht@gmail.com>\n"
"Language-Team: Turkish <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsddns/tr/>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.14.1\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:432
msgid "\"../\" not allowed in path for Security Reason."
msgstr "Yapılandırma"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:214
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1128
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1126
msgid "Configuration Error"
msgstr "Yapılandırma hatası"
msgstr "DDNS sağlayıcısı ile güvenli iletişimi etkinleştirin"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:614
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1136
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1134
msgid "Enabled"
msgstr "Etkin"
msgstr "Değiştirilen IP'yi kontrol etmek için aralık birimi"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1017
-msgid "Interval unit to force updates send to DDNS Provider"
+msgid "Interval unit to force updates sent to DDNS Provider."
msgstr ""
-"Güncellemelerin DDNS Sağlayıcısına zorla gönderilmesini sağlayan aralık "
-"birimi"
+"DDNS Sağlayıcısına gönderilen güncellemeleri zorlamak için aralık birimi."
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
msgid "Last Update"
msgstr "Son Güncelleme"
msgstr "Günlüğü syslog'a yaz"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:623
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:29
msgid "Lookup Hostname"
msgstr "Ana Makine Adı Ara"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:499
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1118
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1116
msgid "Name"
msgstr "Ad"
msgstr "DDns güncelleyici komut dosyalarının başlatılacağı ağ"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:216
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
msgid "Never"
msgstr "Asla"
msgid "New DDns Service…"
msgstr "Yeni DDns Hizmeti…"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:28
msgid "Next Update"
msgstr "Sonraki Güncelleme"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:215
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1129
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1127
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:40
msgid "No Data"
msgstr "Veri Yok"
msgstr "Herkese açık olmayan ve varsayılan olarak engellenen IP'ler"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:218
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1110
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1108
msgid "Not Running"
msgstr "Çalışmıyor"
"İSTEĞE BAĞLI: 'Kayıtlı IP'yi algılamak için varsayılan olmayan DNS "
"Sunucusunu kullanın."
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1047
-msgid "On Error the script will retry the failed action after given time"
-msgstr ""
-"Hata durumunda komut dosyası, belirli bir süre sonra başarısız olan eylemi "
-"yeniden deneyecektir"
-
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1027
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
-msgid "On Error the script will stop execution after given number of retrys"
+msgid "On Error the script will stop execution after given number of retrys."
msgstr ""
-"Hata durumunda komut dosyası, verilen sayıda yeniden denemeden sonra "
-"yürütmeyi durduracaktır"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:758
msgid "Optional Encoded Parameter"
"IPv6 desteğini etkinleştirmek için lütfen OpenWrt ana sayfasındaki "
"talimatları izleyin"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1075
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1073
msgid "Please press [Read] button"
msgstr "Lütfen [Oku] düğmesine basın"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1058
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1056
msgid "Read / Reread log file"
msgstr "Günlük dosyasını oku / yeniden oku"
msgid "Really switch service?"
msgstr "Gerçekten hizmet değiştirilsin mi?"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:30
msgid "Registered IP"
msgstr "Kayıtlı IP"
msgid "Restart DDns"
msgstr "DDns'yi yeniden başlatın"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1046
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1044
msgid "Retry Unit"
msgstr "Yeniden Deneme Birimi"
msgstr "Bir kere çalıştır"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:229
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1113
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1111
msgid "Running"
msgstr "Çalışıyor"
msgid "State"
msgstr "Bölge"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1107
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1105
msgid "Status"
msgstr "Durum"
msgstr "Hizmeti değiştir"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1029
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1039
-msgid "The default setting of '0' will retry infinite."
+msgid "The default setting of '0' will retry infinitely."
msgstr "Varsayılan '0' ayarı sonsuz olarak yeniden deneyecektir."
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
+msgid "The interval between which each succesive retry will commence."
+msgstr "Her ardışık yeniden denemenin başlayacağı aralık."
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:505
msgid "The service name is already used"
msgstr "Hizmet adı zaten kullanılıyor"
msgid "There is no service configured."
msgstr "Yapılandırılmış hizmet yok."
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1074
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1072
msgid "This is the current content of the log file in %h for this service."
msgstr "Bu, bu hizmet için günlük dosyasının %h içindeki geçerli içeriğidir."
msgstr "Algılanacak URL"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:217
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:38
msgid "Unknown"
msgstr "Bilinmiyor"
msgid "Warning"
msgstr "Uyarı"
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1045
+msgid "Which time units to use for retry counters."
+msgstr "Yeniden deneme sayaçları için hangi zaman birimlerinin kullanılacağı."
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:959
msgid ""
"Writes detailed messages to log file. File will be truncated automatically."
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:986
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1021
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1052
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1050
msgid "minutes"
msgstr "dakika"
msgstr "veya sisteminizi en son OpenWrt Sürümüne güncelleyin"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:985
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1051
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1049
msgid "seconds"
msgstr "saniye"
msgstr "Конфігурація"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:214
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1128
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1126
msgid "Configuration Error"
msgstr "Помилка конфігурації"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:614
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1136
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1134
msgid "Enabled"
msgstr "Увімкнено"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1017
-msgid "Interval unit to force updates send to DDNS Provider"
+msgid "Interval unit to force updates sent to DDNS Provider."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
msgid "Last Update"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:623
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:29
msgid "Lookup Hostname"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:499
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1118
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1116
msgid "Name"
msgstr "Назва"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:216
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
msgid "Never"
msgstr "Ніколи"
msgid "New DDns Service…"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:28
msgid "Next Update"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:215
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1129
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1127
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:40
msgid "No Data"
msgstr "Немає даних"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:218
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1110
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1108
msgid "Not Running"
msgstr ""
msgid "OPTIONAL: Use non-default DNS-Server to detect 'Registered IP'."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1047
-msgid "On Error the script will retry the failed action after given time"
-msgstr ""
-
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1027
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
-msgid "On Error the script will stop execution after given number of retrys"
+msgid "On Error the script will stop execution after given number of retrys."
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:758
"Please follow the instructions on OpenWrt's homepage to enable IPv6 support"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1075
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1073
msgid "Please press [Read] button"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1058
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1056
msgid "Read / Reread log file"
msgstr ""
msgid "Really switch service?"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:30
msgid "Registered IP"
msgstr ""
msgid "Restart DDns"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1046
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1044
msgid "Retry Unit"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:229
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1113
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1111
msgid "Running"
msgstr ""
msgid "State"
msgstr "Штат"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1107
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1105
msgid "Status"
msgstr "Стан"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1029
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1039
-msgid "The default setting of '0' will retry infinite."
+msgid "The default setting of '0' will retry infinitely."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
+msgid "The interval between which each succesive retry will commence."
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:505
msgid "There is no service configured."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1074
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1072
msgid "This is the current content of the log file in %h for this service."
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:217
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:38
msgid "Unknown"
msgstr "Невідомо"
msgid "Warning"
msgstr "Застереження"
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1045
+msgid "Which time units to use for retry counters."
+msgstr ""
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:959
msgid ""
"Writes detailed messages to log file. File will be truncated automatically."
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:986
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1021
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1052
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1050
msgid "minutes"
msgstr "хв."
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:985
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1051
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1049
msgid "seconds"
msgstr "секунди"
msgstr "Cấu hình"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:214
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1128
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1126
msgid "Configuration Error"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:614
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1136
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1134
msgid "Enabled"
msgstr "Bật"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1017
-msgid "Interval unit to force updates send to DDNS Provider"
+msgid "Interval unit to force updates sent to DDNS Provider."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
msgid "Last Update"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:623
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:29
msgid "Lookup Hostname"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:499
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1118
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1116
msgid "Name"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:216
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
msgid "Never"
msgstr ""
msgid "New DDns Service…"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:28
msgid "Next Update"
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:215
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1129
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1127
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:40
msgid "No Data"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:218
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1110
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1108
msgid "Not Running"
msgstr ""
msgid "OPTIONAL: Use non-default DNS-Server to detect 'Registered IP'."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1047
-msgid "On Error the script will retry the failed action after given time"
-msgstr ""
-
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1027
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
-msgid "On Error the script will stop execution after given number of retrys"
+msgid "On Error the script will stop execution after given number of retrys."
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:758
"Please follow the instructions on OpenWrt's homepage to enable IPv6 support"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1075
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1073
msgid "Please press [Read] button"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1058
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1056
msgid "Read / Reread log file"
msgstr ""
msgid "Really switch service?"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:30
msgid "Registered IP"
msgstr ""
msgid "Restart DDns"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1046
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1044
msgid "Retry Unit"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:229
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1113
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1111
msgid "Running"
msgstr ""
msgid "State"
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1107
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1105
msgid "Status"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1029
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1039
-msgid "The default setting of '0' will retry infinite."
+msgid "The default setting of '0' will retry infinitely."
+msgstr ""
+
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
+msgid "The interval between which each succesive retry will commence."
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:505
msgid "There is no service configured."
msgstr ""
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1074
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1072
msgid "This is the current content of the log file in %h for this service."
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:217
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:38
msgid "Unknown"
msgstr ""
msgid "Warning"
msgstr ""
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1045
+msgid "Which time units to use for retry counters."
+msgstr ""
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:959
msgid ""
"Writes detailed messages to log file. File will be truncated automatically."
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:986
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1021
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1052
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1050
msgid "minutes"
msgstr ""
msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:985
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1051
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1049
msgid "seconds"
msgstr ""
msgstr ""
"Project-Id-Version: luci-app-ddns 2.4.0-1\n"
"POT-Creation-Date: 2016-01-30 11:07+0100\n"
-"PO-Revision-Date: 2022-07-12 14:21+0000\n"
-"Last-Translator: Eric <alchemillatruth@purelymail.com>\n"
+"PO-Revision-Date: 2022-10-20 05:45+0000\n"
+"Last-Translator: Eric <hamburger1024@mailbox.org>\n"
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
"openwrt/luciapplicationsddns/zh_Hans/>\n"
"Language: zh_Hans\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.14-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:432
msgid "\"../\" not allowed in path for Security Reason."
msgstr "配置"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:214
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1128
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1126
msgid "Configuration Error"
msgstr "配置错误"
msgstr "启用安全连接与 DDNS 提供商联系"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:614
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1136
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1134
msgid "Enabled"
msgstr "已启用"
msgstr "检查 IP 变更间隔的单位"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1017
-msgid "Interval unit to force updates send to DDNS Provider"
-msgstr "强制更新到 DDNS 提供商的间隔的单位"
+msgid "Interval unit to force updates sent to DDNS Provider."
+msgstr "强制发送更新到 DDNS 提供商的间隔单位。"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
msgid "Last Update"
msgstr "上次更新"
msgstr "记录日志到 syslog"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:623
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:29
msgid "Lookup Hostname"
msgstr "查询主机名"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:499
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1118
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1116
msgid "Name"
msgstr "名称"
msgstr "DDNS 更新脚本将会运行于该网络"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:216
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
msgid "Never"
msgstr "永不"
msgid "New DDns Service…"
msgstr "新建 DDNS 服务项…"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:28
msgid "Next Update"
msgstr "下次更新"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:215
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1129
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1127
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:40
msgid "No Data"
msgstr "无数据"
msgstr "非公网 IP 以及默认被屏蔽的 IP"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:218
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1110
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1108
msgid "Not Running"
msgstr "未运行"
msgid "OPTIONAL: Use non-default DNS-Server to detect 'Registered IP'."
msgstr "可选:使用非默认 DNS 服务器检测\"已注册的 IP 地址\"。"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1047
-msgid "On Error the script will retry the failed action after given time"
-msgstr "当出错时,脚本将会重试失败操作的次数"
-
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1027
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
-msgid "On Error the script will stop execution after given number of retrys"
-msgstr "当出错时,脚本将会重试该次数之后退出"
+msgid "On Error the script will stop execution after given number of retrys."
+msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:758
msgid "Optional Encoded Parameter"
"Please follow the instructions on OpenWrt's homepage to enable IPv6 support"
msgstr "请按照OpenWrt主页上的说明启用IPv6支持"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1075
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1073
msgid "Please press [Read] button"
msgstr "请按下 [读取] 按钮"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1058
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1056
msgid "Read / Reread log file"
msgstr "读取/重新读取 日志文件"
msgid "Really switch service?"
msgstr "确认切换服务?"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:30
msgid "Registered IP"
msgstr "已注册的 IP 地址"
msgid "Restart DDns"
msgstr "重启 DDNS"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1046
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1044
msgid "Retry Unit"
msgstr "重试时间单位"
msgstr "运行一次"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:229
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1113
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1111
msgid "Running"
msgstr "运行中"
msgid "State"
msgstr "状态"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1107
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1105
msgid "Status"
msgstr "状态"
msgstr "切换服务"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1029
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1039
-msgid "The default setting of '0' will retry infinite."
+msgid "The default setting of '0' will retry infinitely."
msgstr "默认设置“0”将无限重试。"
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
+msgid "The interval between which each succesive retry will commence."
+msgstr "发起连续重试之间相隔的时长。"
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:505
msgid "The service name is already used"
msgstr "这个服务项名称已经被使用"
msgid "There is no service configured."
msgstr "没有已经配置好的服务项。"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1074
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1072
msgid "This is the current content of the log file in %h for this service."
msgstr "这是此服务 %h 中日志文件的当前内容。"
msgstr "用于检测的 URL"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:217
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:38
msgid "Unknown"
msgstr "未知"
msgid "Warning"
msgstr "警告"
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1045
+msgid "Which time units to use for retry counters."
+msgstr "重试计数器使用的时间单位。"
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:959
msgid ""
"Writes detailed messages to log file. File will be truncated automatically."
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:986
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1021
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1052
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1050
msgid "minutes"
msgstr "分钟"
msgstr "或将系统更新到最新的 OpenWrt 版本"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:985
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1051
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1049
msgid "seconds"
msgstr "秒"
"X-Generator: Weblate 4.14-dev\n"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:432
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:430
msgid "\"../\" not allowed in path for Security Reason."
msgstr "基於安全原因,不容許在路徑中含有 \"../\"。"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:464
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:535
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:462
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:531
msgid "Add new services..."
msgstr "加入新服務…"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:609
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:605
msgid "Advanced Settings"
msgstr "進階設定"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:401
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:399
msgid "Allow non-public IP's"
msgstr "容許非公共 IP"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:608
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:604
msgid "Basic Settings"
msgstr "基本設定"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:888
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:884
msgid "Bind Network"
msgstr "繫結網路"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:332
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:330
msgid "Binding to a specific network not supported"
msgstr "不支援繫結到特定的網路"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:359
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:357
msgid ""
"BusyBox's nslookup and Wget do not support to specify the IP version to use "
"for communication with DDNS Provider!"
"BusyBox 的 nslookup 和 Wget 不支援使用特定的 IP 版本與 DDNS 提供者通信!"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:370
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:368
msgid ""
"BusyBox's nslookup and hostip do not support to specify to use TCP instead "
"of default UDP when requesting DNS server!"
"法規定使用 TCP !"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:381
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:379
msgid ""
"BusyBox's nslookup in the current compiled version does not handle given DNS "
"Servers correctly!"
msgstr "現行編譯版本中 BusyBox 的 nslookup 無法正確處理給定的 DNS 伺服器!"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:452
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:450
msgid "Ca Certs path"
msgstr "CA 憑證路徑"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:453
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:451
msgid ""
"Ca Certs path that will be used to download services data. Set IGNORE to "
"skip certificate validation."
msgstr "下載服務資料使用的 CA 憑證路徑;設定 IGNORE 來略過憑證驗證。"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:541
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:537
msgid "Cancel"
msgstr "取消"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:966
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:962
msgid "Check Interval"
msgstr "檢查間隔時間"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:981
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:977
msgid "Check Unit"
msgstr "檢查時間單位"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:526
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:660
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:522
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:656
msgid "Checking the service support..."
msgstr "檢查服務支援中…"
msgstr "組態"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:214
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1128
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:212
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1126
msgid "Configuration Error"
msgstr "組態錯誤"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:545
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:541
msgid "Create service"
msgstr "建立服務"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:414
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:412
msgid "Current setting:"
msgstr "現行設定:"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:198
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:276
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:196
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:274
msgid "Currently DDNS updates are not started at boot or on interface events."
msgstr "當系統啟動或觸發介面事件時,現行 DDNS 更新不會被啟動。"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:723
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:719
msgid "Custom update script to be used for updating your DDNS Provider."
msgstr "使用自訂更新指令碼來更新您的 DDNS 提供者。"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:703
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:699
msgid "Custom update-URL"
msgstr "自訂更新 URL"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:722
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:718
msgid "Custom update-script"
msgstr "自訂更新指令碼"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:196
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:279
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:194
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:277
msgid "DDNS Autostart disabled"
msgstr "DDNS 自動啟動已停用"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:195
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:279
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:193
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:277
msgid "DDNS Autostart enabled"
msgstr "DDNS 自動啟動已啟用"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:520
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:642
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:516
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:638
msgid "DDNS Service provider"
msgstr "DDNS 服務提供者"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:284
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:282
msgid "DDns"
msgstr "DDNS"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:586
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:582
msgid "DDns Service"
msgstr "DDNS 服務"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:369
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:367
msgid "DNS requests via TCP not supported"
msgstr "不支援透過 TCP 處理 DNS 請求"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:909
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:905
msgid "DNS-Server"
msgstr "DNS 伺服器"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:410
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:408
msgid "Date format"
msgstr "日期格式"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:838
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:834
msgid "Defines the Web page to read systems IP-Address from."
msgstr "定義要從中讀取系統 IP 地址的網頁。"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:848
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:844
msgid "Defines the interface to read systems IP-Address from"
msgstr "定義介面來讀取系統 IP 位址"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:830
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:826
msgid "Defines the network to read systems IP-Address from"
msgstr "定義網路來讀取系統 IP 位址"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:792
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:788
msgid ""
"Defines the source to read systems IP-Address from, that will be send to the "
"DDNS provider"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:512
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:632
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:508
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:628
msgid "Defines which IP address 'IPv4/IPv6' is send to the DDNS provider"
msgstr "定義要被送至 DDNS 提供者的 \"IPv4/IPv6\" 位址"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:426
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:424
msgid "Directory contains Log files for each running section."
msgstr "包含每個運行部分的日誌檔目錄。"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:420
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:418
msgid ""
"Directory contains PID and other status information for each running section."
msgstr "包含每個運行區段的 PID 和其他狀態資訊目錄。"
msgstr "已停用"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:739
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:735
msgid "Domain"
msgstr "網域名稱"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:260
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:7
#: applications/luci-app-ddns/root/usr/share/luci/menu.d/luci-app-ddns.json:3
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:258
msgid "Dynamic DNS"
msgstr "動態 DNS"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:267
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:265
msgid "Dynamic DNS Version"
msgstr "動態 DNS 版本"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:554
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:550
msgid "Edit"
msgstr "編輯"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:772
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:768
msgid "Enable secure communication with DDNS provider"
msgstr "啟用與 DDNS 提供者的安全通訊"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:614
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1136
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:610
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1132
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1134
msgid "Enabled"
msgstr "啟用"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:951
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:947
msgid "Error"
msgstr "錯誤"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1026
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1022
msgid "Error Retry Counter"
msgstr "錯誤重試次數"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1036
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1032
msgid "Error Retry Interval"
msgstr "錯誤重試間隔"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:862
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:871
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:858
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:867
msgid "Event Network"
msgstr "事件網路"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:840
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:836
msgid "Example for IPv4"
msgstr "IPv4 實例"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:842
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:838
msgid "Example for IPv6"
msgstr "IPv6 實例"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:960
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:956
msgid "File"
msgstr "檔案"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:706
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:702
msgid "Follow instructions you will find on their WEB page."
msgstr "請跟隨您在網頁上找到的說明進行操作。"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:412
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:410
msgid "For supported codes look here"
msgstr "要獲取支援的代碼,請檢視這裡"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:900
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:896
msgid "Force IP Version"
msgstr "強制設定 IP 版本"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:358
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:356
msgid "Force IP Version not supported"
msgstr "不支援強制設定 IP 版本"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:990
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:986
msgid "Force Interval"
msgstr "強制更新間隔"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:921
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:917
msgid "Force TCP on DNS"
msgstr "強制使用 TCP 進行 DNS 查詢"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1016
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1012
msgid "Force Unit"
msgstr "強制時間單位"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:933
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:929
msgid "Format"
msgstr "格式"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:912
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:908
msgid "Format: IP or FQDN"
msgstr "格式:IP 或 FQDN"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:337
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:335
msgid ""
"GNU Wget will use the IP of given network, cURL will use the physical "
"interface."
msgstr "GNU Wget 將使用給定網路的 IP,cURL 則會使用實體介面。"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:265
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:263
msgid "Global Settings"
msgstr "全域設定"
msgstr "給予存取 DDNS 程序的權限"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:320
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:318
msgid "HTTPS not supported"
msgstr "不支援 HTTPS"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:624
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:620
msgid "Hostname/FQDN to validate, if IP update happen or necessary"
msgstr "使用「主機名稱/FQDN」驗證(如果發生 IP 更新或有必要時)"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:791
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:787
msgid "IP address source"
msgstr "IP 位址來源"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:511
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:631
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:507
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:627
msgid "IP address version"
msgstr "IP 位址版本"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:514
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:636
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:510
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:632
msgid "IPv4-Address"
msgstr "IPv4 位址"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:935
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:931
msgid "IPv6 address must be given in square brackets"
msgstr "IPv6 位址必須被中括號包圍起來"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:311
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:309
msgid "IPv6 is currently not (fully) supported by this system"
msgstr "該系統目前尚不(完全)支援 IPv6"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:310
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:308
msgid "IPv6 not supported"
msgstr "不支援 IPv6"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:516
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:638
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:512
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:634
msgid "IPv6-Address"
msgstr "IPv6 位址"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:445
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:443
msgid ""
"If Wget and cURL package are installed, Wget is used for communication by "
"default."
msgstr "如果同時安裝了 Wget 和 cURL 套件,則預設使用 Wget 來通信。"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:615
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:611
msgid "If this service section is disabled it could not be started."
msgstr "如果設定為停用,該服務部分將不會啟動。"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:393
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:391
msgid "If using secure communication you should verify server certificates!"
msgstr "如果使用安全通訊,您應該驗證伺服器憑證!"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:325
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:339
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:351
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:323
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:337
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:349
msgid ""
"In some versions cURL/libcurl in OpenWrt is compiled without proxy support."
msgstr "OpenWrt 中的某些 \"cURL/libcurl\" 編譯版本不支援代理伺服器。"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:948
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:944
msgid "Info"
msgstr "資訊"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:264
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:262
msgid "Information"
msgstr "資訊"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:715
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:732
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:711
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:728
msgid "Insert a Update Script OR a Update URL"
msgstr "插入更新指令碼或更新 URL"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:395
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:393
msgid ""
"Install 'ca-certificates' package or needed certificates by hand into /etc/"
"ssl/certs default directory"
"手動安裝 \"ca-certificates\" 套件或所需憑證到預設目錄 \"/etc/ssl/certs\""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:673
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:669
msgid "Install Service"
msgstr "安裝服務"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:797
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:847
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:793
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:843
msgid "Interface"
msgstr "介面"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:991
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:987
msgid "Interval to force updates send to DDNS Provider"
msgstr "強制將更新發送至 DDNS 提供者的間隔時間"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:982
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:978
msgid "Interval unit to check for changed IP"
msgstr "檢查 IP 變更的間隔時間單位"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1017
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1013
-msgid "Interval unit to force updates send to DDNS Provider"
+msgid "Interval unit to force updates sent to DDNS Provider."
msgstr "強制將更新發送至 DDNS 提供者的間隔時間單位"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1137
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
msgid "Last Update"
msgstr "最後更新"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:611
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:607
msgid "Log File Viewer"
msgstr "日誌檔檢視器"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:425
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:423
msgid "Log directory"
msgstr "日誌目錄"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:437
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:435
msgid "Log length"
msgstr "日誌長度"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:954
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:950
msgid "Log to file"
msgstr "將日誌寫入檔案"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:942
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:938
msgid "Log to syslog"
msgstr "將日誌寫入 syslog"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:623
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:29
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:619
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1120
msgid "Lookup Hostname"
msgstr "查詢主機名稱"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:499
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1118
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:495
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1114
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1116
msgid "Name"
msgstr "名稱"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:333
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:331
msgid ""
"Neither GNU Wget with SSL nor cURL installed to select a network to use for "
"communication."
msgstr "包含 SSL 支援的 GNU Wget 或者 cURL 均未安裝,無法選擇網路用於通訊。"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:321
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:319
msgid ""
"Neither GNU Wget with SSL nor cURL installed to support secure updates via "
"HTTPS protocol."
"新。"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:617
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:613
msgid "Neither from LuCI interface nor from console."
msgstr "無論是從 LuCI 介面抑或從主控台。"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:795
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:829
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:31
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:791
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:825
msgid "Network"
msgstr "網路"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:863
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:872
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:891
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:859
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:868
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:887
msgid "Network on which the ddns-updater scripts will be started"
msgstr "DDNS 更新指令碼將會運行於該網路"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:216
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:214
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
msgid "Never"
msgstr "永不"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:502
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:498
msgid "New DDns Service…"
msgstr "新增 DDNS 服務…"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1139
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:28
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1137
msgid "Next Update"
msgstr "下次更新"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:215
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1129
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1127
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:40
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:213
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1125
msgid "No Data"
msgstr "無資料"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:392
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:390
msgid "No certificates found"
msgstr "找不到憑證"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:947
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:943
msgid "No logging"
msgstr "無日誌"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:402
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:400
msgid "Non-public and by default blocked IP's"
msgstr "非公共和預設受阻的 IP"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:218
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1110
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:216
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1106
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1108
msgid "Not Running"
msgstr "未運行"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:949
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:945
msgid "Notice"
msgstr "注意"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:438
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:436
msgid "Number of last lines stored in log files"
msgstr "日誌檔中儲存的最後行數"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:901
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:897
msgid "OPTIONAL: Force the usage of pure IPv4/IPv6 only communication."
msgstr "可選:強制僅使用純 IPv4/IPv6 通訊。"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:922
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:918
msgid "OPTIONAL: Force the use of TCP instead of default UDP on DNS requests."
msgstr "可選:強制使用 TCP 而非 UDP 處理 DNS 請求。"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:889
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:885
msgid "OPTIONAL: Network to use for communication"
msgstr "可選:用於通訊的網路"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:931
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:927
msgid "OPTIONAL: Proxy-Server for detection and updates."
msgstr "可選:用於檢測和更新的代理伺服器。"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:910
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:906
msgid "OPTIONAL: Use non-default DNS-Server to detect 'Registered IP'."
msgstr "可選:使用非預設 DNS 伺服器來對「已註冊的 IP」檢測。"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1047
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1043
-msgid "On Error the script will retry the failed action after given time"
-msgstr "當出錯時,指令碼將在給定時間後重試失敗的操作"
-
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1027
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1023
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1033
-msgid "On Error the script will stop execution after given number of retrys"
-msgstr "當出錯時,指令碼將在給定的重試次數執行完成後退出"
+msgid "On Error the script will stop execution after given number of retrys."
+msgstr ""
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:758
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:754
msgid "Optional Encoded Parameter"
msgstr "可選編碼參數"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:764
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:760
msgid "Optional Parameter"
msgstr "可選參數"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:759
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:755
msgid "Optional: Replaces [PARAMENC] in Update-URL (URL-encoded)"
msgstr "可選:在更新 URL(已編碼 URL)中替換 [PARAMENC]"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:765
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:761
msgid "Optional: Replaces [PARAMOPT] in Update-URL (NOT URL-encoded)"
msgstr "可選:在更新 URL(未編碼 URL)中替換 [PARAMENC]"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:930
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:926
msgid "PROXY-Server"
msgstr "代理伺服器"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:751
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:747
msgid "Password"
msgstr "密碼"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:777
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:773
msgid "Path to CA-Certificate"
msgstr "CA 憑證路徑"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:312
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:310
msgid ""
"Please follow the instructions on OpenWrt's homepage to enable IPv6 support"
msgstr "請跟隨 OpenWrt 首頁上的說明來啟用 IPv6 支援"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1075
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1071
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1073
msgid "Please press [Read] button"
msgstr "請點按[讀取]按鈕"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1058
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1054
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1056
msgid "Read / Reread log file"
msgstr "讀取/重讀日誌檔"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:688
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:684
msgid "Really switch service?"
msgstr "真的要更換服務嗎?"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1124
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1122
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:30
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1120
msgid "Registered IP"
msgstr "已註冊 IP"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:576
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:572
msgid "Reload"
msgstr "重新載入"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:559
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:555
msgid "Reload this service"
msgstr "重新載入此服務"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:740
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:736
msgid "Replaces [DOMAIN] in Update-URL (URL-encoded)"
msgstr "取代 Update-URL 中的 [DOMAIN] (URL-encoded)"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:752
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:748
msgid "Replaces [PASSWORD] in Update-URL (URL-encoded)"
msgstr "替換更新 URL(已編碼 URL)中的 [PASSWORD]"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:746
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:742
msgid "Replaces [USERNAME] in Update-URL (URL-encoded)"
msgstr "替換更新 URL(已編碼 URL)中的 [USERNAME]"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:290
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:288
msgid "Restart DDns"
msgstr "重新啟動 DDNS"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1046
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1042
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1044
msgid "Retry Unit"
msgstr "重試時間單位"
msgstr "運行一次"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:229
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1113
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:227
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1109
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1111
msgid "Running"
msgstr "執行中"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:798
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:855
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:794
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:851
msgid "Script"
msgstr "指令碼"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:525
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:659
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:521
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:655
msgid "Select a service"
msgstr "選擇一項服務"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:527
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:662
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:682
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:523
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:658
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:678
msgid "Service doesn't support this ip type"
msgstr "服務不支援此 IP 類型"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:661
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:672
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:657
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:668
msgid "Service not installed"
msgstr "未安裝服務"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:461
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:459
msgid "Services"
msgstr "服務"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:456
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:454
msgid "Services URL Download"
msgstr "服務 URL 下載"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:294
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:292
msgid "Services list last update"
msgstr "服務列表最後更新"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:993
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:989
msgid "Setting this parameter to 0 will force the script to only run once"
msgstr "設定此參數為「0」,將強制指令碼只執行一次"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:190
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:188
msgid "Start DDNS"
msgstr "啟動 DDNS"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:272
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:270
msgid "State"
msgstr "狀態"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1107
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1103
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1105
msgid "Status"
msgstr "狀態"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:419
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:417
msgid "Status directory"
msgstr "狀態目錄"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:575
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:571
msgid "Stop"
msgstr "停止"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:190
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:188
msgid "Stop DDNS"
msgstr "停止 DDNS"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:564
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:560
msgid "Stop this service"
msgstr "停止此服務"
msgstr "已停止"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:689
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:685
msgid "Switch service"
msgstr "切換服務"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1029
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1039
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1025
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1035
-msgid "The default setting of '0' will retry infinite."
+msgid "The default setting of '0' will retry infinitely."
msgstr "如果設定為預設值「0」,將無限重試。"
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1037
+msgid "The interval between which each succesive retry will commence."
+msgstr "當出錯時,指令碼將在給定的重試次數執行完成後退出"
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:505
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:501
msgid "The service name is already used"
msgstr "服務名稱已被使用"
msgid "There is no service configured."
msgstr "尚未配置任何服務。"
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1074
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1070
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1072
msgid "This is the current content of the log file in %h for this service."
msgstr "這是此服務 %h 中日誌檔案的目前內容。"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:199
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:277
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:197
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:275
msgid ""
"This is the default if you run DDNS scripts by yourself (i.e. via cron with "
"force_interval set to '0')"
"如果您要透過 Cron 執行 DDNS 指令碼,請設定 force_interval 為預設值「0」"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:878
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:874
msgid "This will be autoset to the selected interface"
msgstr "這將自動設定到被選介面"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:610
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:606
msgid "Timer Settings"
msgstr "計時器設定"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:796
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:792
msgid "URL"
msgstr "URL"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:837
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:833
msgid "URL to detect"
msgstr "用於檢測的 URL"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:217
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1145
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1143
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:38
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:215
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1141
msgid "Unknown"
msgstr "未知"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:301
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:299
msgid "Update DDns Services List"
msgstr "更新 DDNS 服務列表"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:704
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:700
msgid "Update URL to be used for updating your DDNS Provider."
msgstr "使用更新 URL 來更新您的 DDNS 提供者。"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:457
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:455
msgid ""
"Url used to download services file. By default is the master openwrt ddns "
"package repo."
"下載服務檔使用的 URL,預設為 OpenWrt 儲存庫中 master 分支下的 DDNS 套件。"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:771
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:767
msgid "Use HTTP Secure"
msgstr "使用 HTTPS"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:444
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:442
msgid "Use cURL"
msgstr "使用 cURL"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:856
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:852
msgid "User defined script to read systems IP-Address"
msgstr "使用自定指令碼來讀取系統 IP 位址"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:745
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:741
msgid "Username"
msgstr "用戶名稱"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:380
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:378
msgid "Using specific DNS Server not supported"
msgstr "不支援使用特定的 DNS 伺服器"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:975
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:971
msgid "Values below 5 minutes == 300 seconds are not supported"
msgstr "不支援 5分鐘(300秒)以下的值"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1010
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1006
msgid "Values lower 'Check Interval' except '0' are not supported"
msgstr "除「0」之外,不支援比「檢查間隔時間」低的值"
msgstr "驗證"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:950
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:946
msgid "Warning"
msgstr "警告"
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1045
+msgid "Which time units to use for retry counters."
+msgstr "當出錯時,指令碼將在給定時間後重試失敗的操作"
+
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:959
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:955
msgid ""
"Writes detailed messages to log file. File will be truncated automatically."
msgstr "將詳細訊息寫入日誌檔;檔案會自動被截斷。"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:943
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:939
msgid ""
"Writes log messages to syslog. Critical Errors will always be written to "
"syslog."
"將日誌訊息寫入 syslog(系統日誌);無論您選擇與否,關鍵錯誤都會寫入 syslog。"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:384
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:382
msgid ""
"You should install 'bind-host' or 'knot-host' or 'drill' or 'hostip' "
"package, if you need to specify a DNS server to detect your registered IP."
"drill/hostip\" 套件中的任意一個。"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:373
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:371
msgid ""
"You should install 'bind-host' or 'knot-host' or 'drill' package for DNS "
"requests."
"個。"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:361
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:359
msgid "You should install 'wget' or 'curl' or 'uclient-fetch' package."
msgstr "您應該安裝 \"Wget/cURL/uclient-fetch\" 套件中的任意一個。"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:323
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:321
msgid ""
"You should install 'wget' or 'curl' or 'uclient-fetch' with 'libustream-"
"*ssl' package."
"*ssl\" 套件。"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:335
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:333
msgid "You should install 'wget' or 'curl' package."
msgstr "您應該安裝 \"Wget/cURL\" 套件中的任意一個。"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:349
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:347
msgid ""
"You should install 'wget' or 'uclient-fetch' package or replace libcurl."
msgstr "您應該安裝 \"Wget/uclient-fetch\" 套件中的任意一個,或者替換 libcurl。"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:347
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:345
msgid "cURL is installed, but libcurl was compiled without proxy support."
msgstr "cURL 已經安裝,但編譯的 libcurl 不支援代理伺服器。"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:346
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:344
msgid "cURL without Proxy Support"
msgstr "cURL 不支援代理伺服器"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:521
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:644
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:517
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:640
msgid "custom"
msgstr "自訂"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1023
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1019
msgid "days"
msgstr "天"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:778
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:774
msgid "directory or path/file"
msgstr "目錄抑或檔案路徑"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:987
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1022
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:983
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1018
msgid "hours"
msgstr "小時"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:986
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1021
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1052
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:982
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1017
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1048
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1050
msgid "minutes"
msgstr "分鐘"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:780
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:776
msgid "or"
msgstr "或"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:313
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:311
msgid "or update your system to the latest OpenWrt Release"
msgstr "或將您的系統更新到 OpenWrt 最新版本"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:985
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1051
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:981
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1047
+#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:1049
msgid "seconds"
msgstr "秒"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:782
-#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:778
msgid "to run HTTPS without verification of server certificates (insecure)"
msgstr "使用 HTTPS 但不檢查伺服器憑證 (不安全)"
},
get_ddns_state = {
call = function()
- local ipkg = require "luci.model.ipkg"
local uci = UCI.cursor()
local dateformat = uci:get("ddns", "global", "ddns_dateformat") or "%F %R"
local services_mtime = fs.stat(ddns_package_path .. "/list", 'mtime')
uci:unload("ddns")
- local ver, srv_ver_cmd
local res = {}
+ local ver
- if ipkg then
- ver = ipkg.info(srv_name)[srv_name].Version
- else
- srv_ver_cmd = luci_helper .. " -V | awk {'print $2'} "
- ver = util.exec(srv_ver_cmd)
+ local ok, ctrl = pcall(io.lines, "/usr/lib/opkg/info/%s.control" % srv_name)
+ if ok then
+ for line in ctrl do
+ ver = line:match("^Version: (.+)$")
+
+ if ver then
+ break
+ end
+ end
end
+ ver = ver or util.trim(util.exec("%s -V | awk {'print $2'}" % luci_helper))
+
res['_version'] = ver and #ver > 0 and ver or nil
res['_enabled'] = sys.init.enabled("ddns")
res['_curr_dateformat'] = os.date(dateformat)
msgid ""
msgstr ""
-"PO-Revision-Date: 2021-03-04 13:50+0000\n"
-"Last-Translator: Said Zakaria <said.zakaria@gmail.com>\n"
+"PO-Revision-Date: 2022-10-22 18:07+0000\n"
+"Last-Translator: Abdullah AlShaikh <abdullah@alshai5.com>\n"
"Language-Team: Arabic <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsdnscrypt-proxy/ar/>\n"
"Language: ar\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
-"X-Generator: Weblate 4.5.1-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:139
#: applications/luci-app-dnscrypt-proxy/luasrc/model/cbi/dnscrypt-proxy/overview_tab.lua:161
msgid "-------"
-msgstr ""
+msgstr "-------"
#: applications/luci-app-dnscrypt-proxy/luasrc/controller/dnscrypt-proxy.lua:21
msgid "Advanced"
msgid ""
msgstr ""
-"PO-Revision-Date: 2022-07-06 15:20+0000\n"
-"Last-Translator: Christian Sch. <pr0byt3@web.de>\n"
+"PO-Revision-Date: 2022-10-23 17:26+0000\n"
+"Last-Translator: Zeik0s <zeik0s@zeik0s.at>\n"
"Language-Team: German <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsdockerman/de/>\n"
"Language: de\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.13.1-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: applications/luci-app-dockerman/luasrc/model/cbi/dockerman/newcontainer.lua:604
msgid "A list of kernel capabilities to add to the container"
msgstr "Grundgerät"
#: applications/luci-app-dockerman/luasrc/model/cbi/dockerman/newcontainer.lua:538
-#, fuzzy
msgid "Bind Mount(-v)"
-msgstr "Bind Mount(-v)"
+msgstr "verbindendes Einhängen(-v)"
#: applications/luci-app-dockerman/luasrc/model/cbi/dockerman/newcontainer.lua:539
msgid "Bind mount a volume"
-msgstr ""
+msgstr "Ein Volume mit Bindung einhängen"
#: applications/luci-app-dockerman/luasrc/model/cbi/dockerman/container.lua:588
#: applications/luci-app-dockerman/luasrc/model/cbi/dockerman/newcontainer.lua:637
msgid ""
msgstr ""
-"PO-Revision-Date: 2021-09-17 06:52+0000\n"
-"Last-Translator: Mark MA <daomeideshu@gmail.com>\n"
+"PO-Revision-Date: 2022-10-22 18:07+0000\n"
+"Last-Translator: Abdullah AlShaikh <abdullah@alshai5.com>\n"
"Language-Team: Arabic <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsdynapoint/ar/>\n"
"Language: ar\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
-"X-Generator: Weblate 4.9-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: applications/luci-app-dynapoint/luasrc/model/cbi/dynapoint.lua:90
msgid "Activate this wVIF if status is:"
-msgstr ""
+msgstr "فعّل wVIF اذا كان حالته:"
#: applications/luci-app-dynapoint/luasrc/model/cbi/dynapoint.lua:31
msgid "Append hostname to ssid"
#
msgid ""
msgstr ""
-"PO-Revision-Date: 2021-10-26 12:53+0000\n"
-"Last-Translator: Paul Spooren <mail@aparcar.org>\n"
+"PO-Revision-Date: 2022-10-22 18:07+0000\n"
+"Last-Translator: ssantos <ssantos@web.de>\n"
"Language-Team: German <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsexample/de/>\n"
"Language: de\n"
"Content-Type: text/plain; charset=UTF-8\n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.9-dev\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: applications/luci-app-example/htdocs/luci-static/resources/view/example/form.js:22
msgid "A boolean option"
#: applications/luci-app-example/root/usr/share/rpcd/acl.d/luci-app-example.json:3
msgid "Grant UCI access to LuCI app example"
-msgstr ""
+msgstr "Zugang zur LuCI-Anwendung example gewähren"
#: applications/luci-app-example/root/usr/share/luci/menu.d/luci-app-example.json:23
msgid "HTML Page"
msgid ""
msgstr ""
-"PO-Revision-Date: 2021-10-27 18:57+0000\n"
+"PO-Revision-Date: 2022-10-26 20:02+0000\n"
"Last-Translator: Franco Castillo <castillofrancodamian@gmail.com>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsexample/es/>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.9-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: applications/luci-app-example/htdocs/luci-static/resources/view/example/form.js:22
msgid "A boolean option"
#: applications/luci-app-example/root/usr/share/rpcd/acl.d/luci-app-example.json:3
msgid "Grant UCI access to LuCI app example"
-msgstr ""
+msgstr "Conceder acceso UCI a LuCI app example"
#: applications/luci-app-example/root/usr/share/luci/menu.d/luci-app-example.json:23
msgid "HTML Page"
msgid ""
msgstr ""
-"PO-Revision-Date: 2021-10-26 12:53+0000\n"
-"Last-Translator: Eric <spice2wolf@gmail.com>\n"
+"PO-Revision-Date: 2022-10-18 04:10+0000\n"
+"Last-Translator: Eric <hamburger1024@mailbox.org>\n"
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
"openwrt/luciapplicationsexample/zh_Hans/>\n"
"Language: zh-Hans\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.9-dev\n"
+"X-Generator: Weblate 4.15-dev\n"
#: applications/luci-app-example/htdocs/luci-static/resources/view/example/form.js:22
msgid "A boolean option"
#: applications/luci-app-example/root/usr/share/rpcd/acl.d/luci-app-example.json:3
msgid "Grant UCI access to LuCI app example"
-msgstr ""
+msgstr "授权 LuCI 应用样例访问 UCI"
#: applications/luci-app-example/root/usr/share/luci/menu.d/luci-app-example.json:23
msgid "HTML Page"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
msgid ""
"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?<var>IPv4</var> and "
-"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protocol "
-"%{proto#%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item."
-"name}<span class=\"cbi-tooltip\">ICMP with types %{item.types#%{next?, }"
-"<var>%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark "
-"<var%{mark.inv? data-tooltip=\"Match fwmarks except %{mark.num}%{mark.mask? "
-"with mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mask fwmark value "
-"with %{mark.mask} before compare.\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp."
-"inv?<var data-tooltip=\"Match DSCP classifications except %{dscp.num?:%{dscp."
+"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protocol %{proto#"
+"%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item.name}"
+"<span class=\"cbi-tooltip\">ICMP with types %{item.types#%{next?, }<var>"
+"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var"
+"%{mark.inv? data-tooltip=\"Match fwmarks except %{mark.num}%{mark.mask? with "
+"mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mask fwmark value with "
+"%{mark.mask} before compare.\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?"
+"<var data-tooltip=\"Match DSCP classifications except %{dscp.num?:%{dscp."
"name}}\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper "
"%{helper.inv?<var data-tooltip=\"Match any helper except "%{helper.name}"
""\">%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper."
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
msgid ""
-"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP "
-"<var>%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
+"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
msgid ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper "
-"<var%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
+"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130
msgid ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark "
-"<var>%{set_mark?:%{set_xmark}}</var>"
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
+"%{set_mark?:%{set_xmark}}</var>"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
msgid ""
"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }<var>%{item.name}</"
"var>}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks except "
-"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
-"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
-"</var>}"
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-tooltip="
+"\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}</var>}"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:451
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
msgid ""
-"From %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-"
-"tooltip=\"Match IP addresses except %{item.val}.\"}>%{item.ival}</"
-"var>}}%{src_port?, port %{src_port#%{next?, }<var%{item.inv? data-"
-"tooltip=\"Match ports except %{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, "
-"MAC %{src_mac#%{next?, }<var%{item.inv? data-tooltip=\"Match MACs except "
-"%{item.val}%{item.hint.name? a.k.a. %{item.hint.name}}.\":%{item.hint.name? "
-"data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}</var>}}"
+"From %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, "
+"port %{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var"
+"%{item.inv? data-tooltip=\"Match MACs except %{item.val}%{item.hint.name? a."
+"k.a. %{item.hint.name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint."
+"name}\"}}>%{item.ival}</var>}}"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:38
msgid ""
-"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?<var "
-"class=\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP "
-"with types %{item.types#%{next?, }<var>%{item}</var>}</span></var>:"
-"<var>%{item.name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match "
-"fwmarks except %{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark."
-"mask? data-tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}"
-">%{mark.val}</var>}%{helper?, helper %{helper.inv?<var data-tooltip=\"Match "
-"any helper except "%{helper.name}"\">%{helper.val}</var>:<var data-"
-"tooltip=\"%{helper.name}\">%{helper.val}</var>}}"
+"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?<var class="
+"\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP with "
+"types %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item."
+"name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks "
+"except %{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}%{helper?, helper %{helper.inv?<var data-tooltip=\"Match any helper "
+"except "%{helper.name}"\">%{helper.val}</var>:<var data-tooltip="
+"\"%{helper.name}\">%{helper.val}</var>}}"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57
msgid ""
-"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-"
-"tooltip=\"Match IP addresses except %{item.val}.\"}>%{item.ival}</"
-"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-"
-"tooltip=\"Match ports except %{item.val}.\"}>%{item.ival}</var>}}"
+"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match ports except %{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:405
msgid ""
msgstr ""
-"PO-Revision-Date: 2021-03-04 13:50+0000\n"
-"Last-Translator: Said Zakaria <said.zakaria@gmail.com>\n"
+"PO-Revision-Date: 2022-10-22 18:07+0000\n"
+"Last-Translator: Abdullah AlShaikh <abdullah@alshai5.com>\n"
"Language-Team: Arabic <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsfrpc/ar/>\n"
"Language: ar\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
-"X-Generator: Weblate 4.5.1-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:214
msgid "Add new proxy..."
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:16
msgid "Additional configs"
-msgstr ""
+msgstr "الاعدادات الإضافية"
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:40
msgid "Additional settings"
msgid ""
msgstr ""
-"PO-Revision-Date: 2022-07-24 16:11+0000\n"
-"Last-Translator: Hannu Nyman <hannu.nyman@iki.fi>\n"
+"PO-Revision-Date: 2022-10-22 18:07+0000\n"
+"Last-Translator: ssantos <ssantos@web.de>\n"
"Language-Team: German <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsfrpc/de/>\n"
"Language: de\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.14-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:214
msgid "Add new proxy..."
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:76
msgid "Plugin"
-msgstr ""
+msgstr "Plugin"
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:220
msgid "Plugin Settings"
-msgstr ""
+msgstr "Plugin-Einstellungen"
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
msgid "Protocol"
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:80
msgid "SOCKS5 password"
-msgstr ""
+msgstr "SOCKS5-Passwort"
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:79
msgid "SOCKS5 user"
-msgstr ""
+msgstr "SOCKS5-Benutzer"
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
msgid "Server address"
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:81
msgid "Unix domain socket path"
-msgstr ""
+msgstr "Unix-Domänensocketpfad"
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:47
msgid ""
msgid ""
msgstr ""
-"PO-Revision-Date: 2022-07-24 16:04+0000\n"
-"Last-Translator: Christophe Blancon <christophe.blancon@gmail.com>\n"
+"PO-Revision-Date: 2022-10-23 17:26+0000\n"
+"Last-Translator: Amaury <y0da@live.fr>\n"
"Language-Team: French <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsfrpc/fr/>\n"
"Language: fr\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.14-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:214
msgid "Add new proxy..."
-msgstr ""
+msgstr "Ajouter un proxy..."
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:16
msgid "Additional configs"
msgid ""
msgstr ""
-"PO-Revision-Date: 2022-06-27 00:17+0000\n"
+"PO-Revision-Date: 2022-10-18 04:10+0000\n"
"Last-Translator: Wellington Terumi Uemura <wellingtonuemura@gmail.com>\n"
"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
"openwrt/luciapplicationsfrpc/pt_BR/>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.13.1-dev\n"
+"X-Generator: Weblate 4.15-dev\n"
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:214
msgid "Add new proxy..."
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:76
msgid "Plugin"
-msgstr ""
+msgstr "Plug-in"
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:220
msgid "Plugin Settings"
-msgstr ""
+msgstr "Configurações do plug-in"
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
msgid "Protocol"
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:80
msgid "SOCKS5 password"
-msgstr ""
+msgstr "Senha SOCKS5"
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:79
msgid "SOCKS5 user"
-msgstr ""
+msgstr "usuário SOCKS5"
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
msgid "Server address"
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:81
msgid "Unix domain socket path"
-msgstr ""
+msgstr "Caminho do soquete do domínio Unix"
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:47
msgid ""
msgid ""
msgstr ""
-"PO-Revision-Date: 2022-08-05 01:21+0000\n"
-"Last-Translator: Simona Iacob <s@zp1.net>\n"
+"PO-Revision-Date: 2022-10-18 04:10+0000\n"
+"Last-Translator: CRISTIAN ANDREI <cristianvdr@gmail.com>\n"
"Language-Team: Romanian <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsfrpc/ro/>\n"
"Language: ro\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
"20)) ? 1 : 2;\n"
-"X-Generator: Weblate 4.14-dev\n"
+"X-Generator: Weblate 4.15-dev\n"
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:214
msgid "Add new proxy..."
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:220
msgid "Plugin Settings"
-msgstr ""
+msgstr "Setările plugin-ului"
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
msgid "Protocol"
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:80
msgid "SOCKS5 password"
-msgstr ""
+msgstr "Parola SOCKS5"
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:79
msgid "SOCKS5 user"
-msgstr ""
+msgstr "Utilizator SOCKS5"
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
msgid "Server address"
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:24
msgid ""
-"LogLevel specifies the minimum log level. Valid values are \"trace\", "
-"\"debug\", \"info\", \"warn\", and \"error\".<br />By default, this value is "
-"\"info\"."
+"LogLevel specifies the minimum log level. Valid values are \"trace\", \"debug"
+"\", \"info\", \"warn\", and \"error\".<br />By default, this value is \"info"
+"\"."
msgstr ""
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:25
msgid ""
msgstr ""
-"PO-Revision-Date: 2022-09-25 14:22+0000\n"
-"Last-Translator: semih <semiht@gmail.com>\n"
+"PO-Revision-Date: 2022-10-18 21:23+0000\n"
+"Last-Translator: Oğuz Ersen <oguz@ersen.moe>\n"
"Language-Team: Turkish <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsfrpc/tr/>\n"
"Language: tr\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.14.1\n"
+"X-Generator: Weblate 4.15-dev\n"
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:214
msgid "Add new proxy..."
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:76
msgid "Plugin"
-msgstr ""
+msgstr "Eklenti"
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:220
msgid "Plugin Settings"
-msgstr ""
+msgstr "Eklenti Ayarları"
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:36
msgid "Protocol"
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:80
msgid "SOCKS5 password"
-msgstr ""
+msgstr "SOCKS5 parolası"
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:79
msgid "SOCKS5 user"
-msgstr ""
+msgstr "SOCKS5 kullanıcısı"
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:20
msgid "Server address"
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:81
msgid "Unix domain socket path"
-msgstr ""
+msgstr "Unix etki alanı soketi yolu"
#: applications/luci-app-frpc/htdocs/luci-static/resources/view/frpc.js:47
msgid ""
msgid ""
msgstr ""
-"PO-Revision-Date: 2021-03-10 04:35+0000\n"
-"Last-Translator: Said Zakaria <said.zakaria@gmail.com>\n"
+"PO-Revision-Date: 2022-10-22 18:07+0000\n"
+"Last-Translator: Abdullah AlShaikh <abdullah@alshai5.com>\n"
"Language-Team: Arabic <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsfrps/ar/>\n"
"Language: ar\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
-"X-Generator: Weblate 4.5.2-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:15
msgid "Additional configs"
-msgstr ""
+msgstr "الاعدادات الإضافية"
#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:43
msgid "Additional settings"
#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:33
msgid ""
-"LogLevel specifies the minimum log level. Valid values are \"trace\", "
-"\"debug\", \"info\", \"warn\", and \"error\".<br />By default, this value is "
-"\"info\"."
+"LogLevel specifies the minimum log level. Valid values are \"trace\", \"debug"
+"\", \"info\", \"warn\", and \"error\".<br />By default, this value is \"info"
+"\"."
msgstr ""
#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:34
msgid ""
"SubDomainHost specifies the domain that will be attached to sub-domains "
"requested by the client when using Vhost proxying. For example, if this "
-"value is set to \"frps.com\" and the client requested the subdomain "
-"\"test\", the resulting URL would be \"test.frps.com\".<br />By default, "
-"this value is \"\"."
+"value is set to \"frps.com\" and the client requested the subdomain \"test"
+"\", the resulting URL would be \"test.frps.com\".<br />By default, this "
+"value is \"\"."
msgstr ""
#: applications/luci-app-frps/htdocs/luci-static/resources/view/frps.js:37
msgid ""
msgstr ""
-"PO-Revision-Date: 2022-04-30 19:07+0000\n"
+"PO-Revision-Date: 2022-10-18 21:23+0000\n"
"Last-Translator: drax red <drax@outlook.dk>\n"
"Language-Team: Danish <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationshttps-dns-proxy/da/>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.12.1\n"
+"X-Generator: Weblate 4.15-dev\n"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:92
msgid "%s DoH at %s:%s"
"Blocks access to Mozilla resolvers, forcing local devices to use router for "
"DNS resolution (%smore information%s)."
msgstr ""
+"Blokerer adgangen til Mozilla-resolvere og tvinger lokale enheder til at "
+"bruge routeren til DNS-opløsning (%flere oplysninger%s)."
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:136
msgid ""
"Blocks access to iCloud Private Relay resolvers, forcing local devices to "
"use router for DNS resolution (%smore information%s)."
msgstr ""
+"Blokerer adgangen til iCloud Private Relay-resolvere og tvinger lokale "
+"enheder til at bruge routeren til DNS-opløsning (%flere oplysninger%s)."
#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.cfiec.dns.lua:3
msgid "CFIEC Public DNS (IPv6 Only)"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:141
msgid "Canary Domains Mozilla"
-msgstr ""
+msgstr "Canary Domæner Mozilla"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:136
msgid "Canary Domains iCloud"
-msgstr ""
+msgstr "Canary Domæner iCloud"
#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua:3
msgid "CleanBrowsing (Adult Filter)"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:142
msgid "Let local devices use Mozilla resolvers"
-msgstr ""
+msgstr "Lad lokale enheder bruge Mozilla-resolvere"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:137
msgid "Let local devices use iCloud Private Relay"
-msgstr ""
+msgstr "Lad lokale enheder bruge iCloud Private Relay"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:133
msgid "Let local devices use their own DNS servers if set"
msgid ""
msgstr ""
-"PO-Revision-Date: 2022-07-06 15:20+0000\n"
-"Last-Translator: Christian Sch. <pr0byt3@web.de>\n"
+"PO-Revision-Date: 2022-10-23 17:26+0000\n"
+"Last-Translator: Zeik0s <zeik0s@zeik0s.at>\n"
"Language-Team: German <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationshttps-dns-proxy/de/>\n"
"Language: de\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.13.1-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:92
msgid "%s DoH at %s:%s"
#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.no.doh.lua:3
msgid "AhaDNS - NO (Block Malware + Ads)"
-msgstr ""
+msgstr "AhaDNS - NO (Blockiere Schadsoftware + Werbung)"
#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.pl.doh.lua:3
msgid "AhaDNS - PL (Block Malware + Ads)"
-msgstr ""
+msgstr "AhaDNS - PL (Sperre Schadsoftware + Werbung)"
#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.chi.doh.lua:3
msgid "AhaDNS - US/Chicago (Block Malware + Ads)"
-msgstr ""
+msgstr "AhaDNS - US/Chicago (Sperre Schadsoftware + Werbung)"
#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.la.doh.lua:3
msgid "AhaDNS - US/Los Angeles (Block Malware + Ads)"
-msgstr ""
+msgstr "AhaDNS - US/Los Angeles (Sperre Schadsoftware + Werbung)"
#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.ahadns.ny.doh.lua:3
msgid "AhaDNS - US/New York (Block Malware + Ads)"
-msgstr ""
+msgstr "AhaDNS - US/New York (Sperre Schadsoftware + Werbung)"
#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.ahadns.blitz.lua:3
msgid "AhaDNS Blitz (Configurable)"
msgstr "DNSlify DNS"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:205
-#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:195
msgid "DSCP Codepoint"
msgstr "Punkt kodowy DSCP"
"DoH (%swięcej informacji%s)."
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:148
-#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:138
msgid "Instances"
msgstr "Instancje"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:137
msgid "Let local devices use iCloud Private Relay"
-msgstr "Pozwól urządzeniom lokalnym korzystać z resolwerów iCloud Private Relay"
+msgstr ""
+"Pozwól urządzeniom lokalnym korzystać z resolwerów iCloud Private Relay"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:133
msgid "Let local devices use their own DNS servers if set"
msgstr "LibreDNS - GR (bez reklam)"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:188
-#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:178
msgid "Listen Address"
msgstr "Adres nasłuchiwania"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:201
-#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:191
msgid "Listen Port"
msgstr "Port nasłuchiwania"
msgstr "OpenDNS (filtr rodzinny)"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:209
-#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:199
msgid "Proxy Server"
msgstr "Serwer proxy"
msgstr "Przeładuj"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:155
-#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:145
msgid "Resolver"
msgstr "Dostawca"
msgid ""
msgstr ""
-"PO-Revision-Date: 2022-01-11 05:19+0000\n"
+"PO-Revision-Date: 2022-10-18 04:10+0000\n"
"Last-Translator: Wellington Terumi Uemura <wellingtonuemura@gmail.com>\n"
"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
"openwrt/luciapplicationshttps-dns-proxy/pt_BR/>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.10.1\n"
+"X-Generator: Weblate 4.15-dev\n"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:92
msgid "%s DoH at %s:%s"
"Blocks access to Mozilla resolvers, forcing local devices to use router for "
"DNS resolution (%smore information%s)."
msgstr ""
+"Bloqueia o acesso aos resolvedores do Mozilla, forçando os dispositivos "
+"locais a usar o roteador para a resolução do DNS (%smais informações%s)."
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:136
msgid ""
"Blocks access to iCloud Private Relay resolvers, forcing local devices to "
"use router for DNS resolution (%smore information%s)."
msgstr ""
+"Bloqueia o acesso aos resolvedores de retransmissão privada do iCloud, "
+"forçando os dispositivos locais a usar o roteador para a resolução do DNS ("
+"%smore information%s)."
#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.cfiec.dns.lua:3
msgid "CFIEC Public DNS (IPv6 Only)"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:141
msgid "Canary Domains Mozilla"
-msgstr ""
+msgstr "Domínios Canary Mozilla"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:136
msgid "Canary Domains iCloud"
-msgstr ""
+msgstr "Domínios Canary iCloud"
#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua:3
msgid "CleanBrowsing (Adult Filter)"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:142
msgid "Let local devices use Mozilla resolvers"
-msgstr ""
+msgstr "Permitir que os dispositivos locais usem resolvedores Mozilla"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:137
msgid "Let local devices use iCloud Private Relay"
-msgstr ""
+msgstr "Permitir que os dispositivos locais usem o iCloud Private Relay"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:133
msgid "Let local devices use their own DNS servers if set"
msgid ""
msgstr ""
-"PO-Revision-Date: 2022-10-09 16:44+0000\n"
-"Last-Translator: Anton Kikin <a.a.kikin@gmail.com>\n"
+"PO-Revision-Date: 2022-10-19 10:29+0000\n"
+"Last-Translator: sergio <sergio+it@outerface.net>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationshttps-dns-proxy/ru/>\n"
"Language: ru\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.14.1\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:92
msgid "%s DoH at %s:%s"
#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cn.360.doh.lua:3
msgid "360 Secure DNS - CN"
-msgstr ""
+msgstr "360 Secure DNS - Китай"
#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns-family.lua:3
msgid "AdGuard (Family Protection)"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:123
msgid ""
-"If update option is selected, the 'DNS forwardings' section of %sDHCP and "
-"DNS%s will be automatically updated to use selected DoH providers (%smore "
+"If update option is selected, the 'DNS forwardings' section of %sDHCP and DNS"
+"%s will be automatically updated to use selected DoH providers (%smore "
"information%s)."
msgstr ""
msgid ""
msgstr ""
-"PO-Revision-Date: 2022-02-20 15:55+0000\n"
-"Last-Translator: ToldYouThat <itoldyouthat@protonmail.com>\n"
+"PO-Revision-Date: 2022-10-23 19:52+0000\n"
+"Last-Translator: semih <semiht@gmail.com>\n"
"Language-Team: Turkish <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationshttps-dns-proxy/tr/>\n"
"Language: tr\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.11-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:92
msgid "%s DoH at %s:%s"
"Blocks access to Mozilla resolvers, forcing local devices to use router for "
"DNS resolution (%smore information%s)."
msgstr ""
+"Mozilla çözümleyicilerine erişimi engeller, yerel cihazları DNS çözümlemesi "
+"için yönlendiriciyi kullanmaya zorlar (%sdaha fazla bilgi%s)."
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:136
msgid ""
"Blocks access to iCloud Private Relay resolvers, forcing local devices to "
"use router for DNS resolution (%smore information%s)."
msgstr ""
+"iCloud Özel Geçiş çözümleyicilerine erişimi engelleyerek yerel aygıtları DNS "
+"çözümlemesi için yönlendiriciyi kullanmaya zorlar (%sdaha fazla bilgi%s)."
#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.cfiec.dns.lua:3
msgid "CFIEC Public DNS (IPv6 Only)"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:141
msgid "Canary Domains Mozilla"
-msgstr ""
+msgstr "Mozilla Canary Etki Alanları"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:136
msgid "Canary Domains iCloud"
-msgstr ""
+msgstr "iCloud Canary Etki Alanları"
#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua:3
msgid "CleanBrowsing (Adult Filter)"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:142
msgid "Let local devices use Mozilla resolvers"
-msgstr ""
+msgstr "Yerel cihazların Mozilla çözümleyicilerini kullanmasına izin ver"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:137
msgid "Let local devices use iCloud Private Relay"
-msgstr ""
+msgstr "Yerel cihazların iCloud Private Relay'i kullanmasına izin ver"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:133
msgid "Let local devices use their own DNS servers if set"
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-04-17 15:06+0000\n"
-"Last-Translator: 王攀 <41330784@qq.com>\n"
+"PO-Revision-Date: 2022-10-18 04:10+0000\n"
+"Last-Translator: Eric <hamburger1024@mailbox.org>\n"
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
"openwrt/luciapplicationshttps-dns-proxy/zh_Hans/>\n"
"Language: zh_Hans\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.12-dev\n"
+"X-Generator: Weblate 4.15-dev\n"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:92
msgid "%s DoH at %s:%s"
msgid ""
"Blocks access to Mozilla resolvers, forcing local devices to use router for "
"DNS resolution (%smore information%s)."
-msgstr ""
+msgstr "阻止访问 Mozilla 解析器,强迫本地设备使用路由器进行 DNS解析 "
+"(%s更多信息%s)。"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:136
msgid ""
"Blocks access to iCloud Private Relay resolvers, forcing local devices to "
"use router for DNS resolution (%smore information%s)."
-msgstr ""
+msgstr "阻止访问 iCloud 私人中继,强迫本地设备使用路由器进行 DNS 解析 "
+"(%s更多信息%s)。"
#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.cfiec.dns.lua:3
msgid "CFIEC Public DNS (IPv6 Only)"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:141
msgid "Canary Domains Mozilla"
-msgstr ""
+msgstr "Mozilla 金丝雀域"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:136
msgid "Canary Domains iCloud"
-msgstr ""
+msgstr "iCloud 金丝雀域"
#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua:3
msgid "CleanBrowsing (Adult Filter)"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:142
msgid "Let local devices use Mozilla resolvers"
-msgstr ""
+msgstr "让本地设备使用 Mozilla 解析器"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:137
msgid "Let local devices use iCloud Private Relay"
-msgstr ""
+msgstr "让本地设备使用 iCloud 私人中继"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:133
msgid "Let local devices use their own DNS servers if set"
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-04-15 15:09+0000\n"
-"Last-Translator: 王攀 <41330784@qq.com>\n"
+"PO-Revision-Date: 2022-10-18 16:08+0000\n"
+"Last-Translator: Hulen <shift0106@gmail.com>\n"
"Language-Team: Chinese (Traditional) <https://hosted.weblate.org/projects/"
"openwrt/luciapplicationshttps-dns-proxy/zh_Hant/>\n"
"Language: zh_Hant\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.12-dev\n"
+"X-Generator: Weblate 4.15-dev\n"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:92
msgid "%s DoH at %s:%s"
"Blocks access to Mozilla resolvers, forcing local devices to use router for "
"DNS resolution (%smore information%s)."
msgstr ""
+"阻止存取 Mozilla 解析器,強迫本地裝置使用路由器進行 DNS 解析 (%s更多資訊%s)。"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:136
msgid ""
"Blocks access to iCloud Private Relay resolvers, forcing local devices to "
"use router for DNS resolution (%smore information%s)."
msgstr ""
+"阻止存取 iCloud 私人轉送,強迫本地裝置使用路由器進行 DNS 解析 (%s更多資"
+"訊%s)。"
#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.cfiec.dns.lua:3
msgid "CFIEC Public DNS (IPv6 Only)"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:141
msgid "Canary Domains Mozilla"
-msgstr ""
+msgstr "Mozilla Canary 網域"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:136
msgid "Canary Domains iCloud"
-msgstr ""
+msgstr "iCloud Canary 網域"
#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua:3
msgid "CleanBrowsing (Adult Filter)"
msgstr "DNSlify 域名解析"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:205
-#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:195
msgid "DSCP Codepoint"
msgstr "DSCP 代碼點"
"選取的 DoH 提供者 (%s更多資訊%s)。"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:148
-#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:138
msgid "Instances"
msgstr "例項"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:142
msgid "Let local devices use Mozilla resolvers"
-msgstr ""
+msgstr "讓本地裝置使用 Mozilla 解析器"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:137
msgid "Let local devices use iCloud Private Relay"
-msgstr ""
+msgstr "讓本地裝置使用 iCloud 私人轉送"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:133
msgid "Let local devices use their own DNS servers if set"
msgstr "LibreDNS - GR (無廣告)"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:188
-#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:178
msgid "Listen Address"
msgstr "監聽位址"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:201
-#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:191
msgid "Listen Port"
msgstr "監聽連接埠"
msgstr "OpenDNS (家庭護盾)"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:209
-#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:199
msgid "Proxy Server"
msgstr "代理伺服器"
msgstr "重新載入"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:155
-#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:145
msgid "Resolver"
msgstr "解析程式"
#: applications/luci-app-nextdns/htdocs/luci-static/resources/view/nextdns/overview.js:12
msgid ""
-"For further information, go to <a href=\"https://nextdns.io\" "
-"target=\"_blank\">nextdns.io</a>."
+"For further information, go to <a href=\"https://nextdns.io\" target=\"_blank"
+"\">nextdns.io</a>."
msgstr ""
#: applications/luci-app-nextdns/htdocs/luci-static/resources/view/nextdns/overview.js:15
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-05-19 19:35+0200\n"
-"PO-Revision-Date: 2022-02-21 14:06+0000\n"
+"PO-Revision-Date: 2022-10-23 17:26+0000\n"
"Last-Translator: drax red <drax@outlook.dk>\n"
"Language-Team: Danish <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsolsr/da/>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.11-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: applications/luci-app-olsr/luasrc/view/status-olsr/mid.htm:13
msgid "Active MID announcements"
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:60
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface6.lua:60
msgid "Weight"
-msgstr ""
+msgstr "Vægt"
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:236
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:230
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"PO-Revision-Date: 2021-06-26 18:17+0000\n"
-"Last-Translator: Adam Stańczyk <a.stanczyk@onet.pl>\n"
+"PO-Revision-Date: 2022-10-21 05:07+0000\n"
+"Last-Translator: Matthaiks <kitynska@gmail.com>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsolsr/pl/>\n"
"Language: pl\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.7.1-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: applications/luci-app-olsr/luasrc/view/status-olsr/mid.htm:13
msgid "Active MID announcements"
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface.lua:60
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrdiface6.lua:60
msgid "Weight"
-msgstr "Rozmiar"
+msgstr "Ważność"
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:236
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd6.lua:230
"tls_crypt",
"/etc/openvpn/tlscrypt.key",
translate("Encrypt and authenticate all control channel packets with the key") },
+ { Value,
+ "tls_crypt_v2",
+ "/etc/openvpn/servertlscryptv2.key",
+ translate("Encrypt and authenticate all control channel packets with the key, version 2.") },
-- { Value,
-- "askpass",
-- "[file]",
msgid "Change to directory before initialization"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
msgid "Check peer certificate against a CRL"
msgstr ""
msgid "Don't add routes automatically"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:760
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
msgid "Don't cache --askpass or --auth-user-pass passwords"
msgstr ""
msgid "Encrypt and authenticate all control channel packets with the key"
msgstr ""
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:756
+msgid ""
+"Encrypt and authenticate all control channel packets with the key, version 2."
+msgstr ""
+
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:622
msgid "Encryption cipher for packets"
msgstr ""
msgid "OVPN configuration file upload"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
msgid "Only accept connections from given X509 name"
msgstr ""
msgid "Replay protection sliding window size"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
msgid "Require explicit designation on certificate"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
msgid "Require explicit key usage on certificate"
msgstr ""
msgid "Restart after remote ping timeout"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:800
msgid "Restrict the allowed ciphers to be negotiated"
msgstr ""
"configuration."
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
msgid "The highest supported TLS version"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:69
msgid "The key direction for 'tls-auth' and 'secret' options"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
msgid "The lowest supported TLS version"
msgstr ""
"LuCI (≥ 100 KB)."
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
msgid "This completely disables cipher negotiation"
msgstr ""
msgid "Change to directory before initialization"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
msgid "Check peer certificate against a CRL"
msgstr ""
msgid "Don't add routes automatically"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:760
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
msgid "Don't cache --askpass or --auth-user-pass passwords"
msgstr ""
msgid "Encrypt and authenticate all control channel packets with the key"
msgstr ""
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:756
+msgid ""
+"Encrypt and authenticate all control channel packets with the key, version 2."
+msgstr ""
+
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:622
msgid "Encryption cipher for packets"
msgstr ""
msgid "OVPN configuration file upload"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
msgid "Only accept connections from given X509 name"
msgstr ""
msgid "Replay protection sliding window size"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
msgid "Require explicit designation on certificate"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
msgid "Require explicit key usage on certificate"
msgstr ""
msgid "Restart after remote ping timeout"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:800
msgid "Restrict the allowed ciphers to be negotiated"
msgstr ""
"configuration."
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
msgid "The highest supported TLS version"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:69
msgid "The key direction for 'tls-auth' and 'secret' options"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
msgid "The lowest supported TLS version"
msgstr ""
"LuCI (≥ 100 KB)."
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
msgid "This completely disables cipher negotiation"
msgstr ""
msgid "Change to directory before initialization"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
msgid "Check peer certificate against a CRL"
msgstr ""
msgid "Don't add routes automatically"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:760
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
msgid "Don't cache --askpass or --auth-user-pass passwords"
msgstr ""
msgid "Encrypt and authenticate all control channel packets with the key"
msgstr ""
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:756
+msgid ""
+"Encrypt and authenticate all control channel packets with the key, version 2."
+msgstr ""
+
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:622
msgid "Encryption cipher for packets"
msgstr ""
msgid "OVPN configuration file upload"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
msgid "Only accept connections from given X509 name"
msgstr ""
msgid "Replay protection sliding window size"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
msgid "Require explicit designation on certificate"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
msgid "Require explicit key usage on certificate"
msgstr ""
msgid "Restart after remote ping timeout"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:800
msgid "Restrict the allowed ciphers to be negotiated"
msgstr ""
"configuration."
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
msgid "The highest supported TLS version"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:69
msgid "The key direction for 'tls-auth' and 'secret' options"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
msgid "The lowest supported TLS version"
msgstr ""
"LuCI (≥ 100 KB)."
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
msgid "This completely disables cipher negotiation"
msgstr ""
msgid "Change to directory before initialization"
msgstr "Canvia el directori abans de la inicialització"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
msgid "Check peer certificate against a CRL"
msgstr "Comprova el certificat de peer contra un CRL"
msgid "Don't add routes automatically"
msgstr "No afegeixis rutes automàticament"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:760
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
msgid "Don't cache --askpass or --auth-user-pass passwords"
msgstr "No desis a la memòria cau contrasenyes --askpass o --auth-user-pass"
msgid "Encrypt and authenticate all control channel packets with the key"
msgstr ""
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:756
+msgid ""
+"Encrypt and authenticate all control channel packets with the key, version 2."
+msgstr ""
+
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:622
msgid "Encryption cipher for packets"
msgstr "Xifra d'encriptació per paquets"
msgid "OVPN configuration file upload"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
msgid "Only accept connections from given X509 name"
msgstr "Accepta connexions només d'un cert nom X509"
msgid "Replay protection sliding window size"
msgstr "Mida de la finestra lliscant de protecció de reproducció"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
msgid "Require explicit designation on certificate"
msgstr "Requereix una designació explícita al certificat"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
msgid "Require explicit key usage on certificate"
msgstr "Requereix ús de clau explícit al certificat"
msgid "Restart after remote ping timeout"
msgstr "Reinicia després d'excedir el temps d'espera de ping remot"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:800
msgid "Restrict the allowed ciphers to be negotiated"
msgstr ""
"configuration."
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
msgid "The highest supported TLS version"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:69
msgid "The key direction for 'tls-auth' and 'secret' options"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
msgid "The lowest supported TLS version"
msgstr ""
"LuCI (≥ 100 KB)."
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
msgid "This completely disables cipher negotiation"
msgstr ""
msgid "Change to directory before initialization"
msgstr "Změnit na adresář před inicializací"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
msgid "Check peer certificate against a CRL"
msgstr ""
"Zkontrolovat certifikát druhé strany proti revokačnímu seznamu certifikátů "
msgid "Don't add routes automatically"
msgstr "Nepřidávat trasy automaticky"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:760
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
msgid "Don't cache --askpass or --auth-user-pass passwords"
msgstr "Neukládat --askpass nebo --auth-user-pass passwords do mezipaměti"
msgid "Encrypt and authenticate all control channel packets with the key"
msgstr "Šifrovat a autentizovat všechny pakety řídícího kanálu pomocí klíče"
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:756
+msgid ""
+"Encrypt and authenticate all control channel packets with the key, version 2."
+msgstr ""
+
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:622
msgid "Encryption cipher for packets"
msgstr "Použitá šifra pro pakety"
msgid "OVPN configuration file upload"
msgstr "Nahrání konfiguračního souboru OVPN"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
msgid "Only accept connections from given X509 name"
msgstr "Přijmout pouze spojení z daného X.509 názvu"
msgid "Replay protection sliding window size"
msgstr "Velikost posuvného okna ochrany proti přehrání"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
msgid "Require explicit designation on certificate"
msgstr "Vyžadovat explicitní označení na certifikátu (zastaralé)"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
msgid "Require explicit key usage on certificate"
msgstr "Vyžadovat explicitní označení klíče u certifikátu"
msgid "Restart after remote ping timeout"
msgstr "Vyvolat SIGUSR1 restart pro vypršení časového limitu ping protistrany"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:800
msgid "Restrict the allowed ciphers to be negotiated"
msgstr "Omezit povolené šifry pro vyjednání"
"configuration."
msgstr "Konfigurační soubor OVPN (%s) nebyl nalezen, zkontrolujte konfiguraci."
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
msgid "The highest supported TLS version"
msgstr "Nejvyšší podporovaná verze TLS"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:69
msgid "The key direction for 'tls-auth' and 'secret' options"
msgstr "Směr klíče pro možnosti 'tls-auth' a 'secret'"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
msgid "The lowest supported TLS version"
msgstr "Nejnižší podporovaná verze TLS"
"Konfigurační soubor OVPN (%s) je příliš velký pro online úpravy v LuCI (≥ "
"100 KB)."
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
msgid "This completely disables cipher negotiation"
msgstr "Zcela zakázat vyjednání šifry"
msgid "Change to directory before initialization"
msgstr "Skift til mappe før initialisering"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
msgid "Check peer certificate against a CRL"
msgstr "Tjek peer-certifikat mod en CRL"
msgid "Don't add routes automatically"
msgstr "Tilføj ikke ruter automatisk"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:760
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
msgid "Don't cache --askpass or --auth-user-pass passwords"
msgstr "Gem ikke adgangskoderne --askpass eller --auth-user-pass i cache"
msgid "Encrypt and authenticate all control channel packets with the key"
msgstr "Krypterer og autentificerer alle kontrolkanalpakker med nøglen"
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:756
+msgid ""
+"Encrypt and authenticate all control channel packets with the key, version 2."
+msgstr ""
+
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:622
msgid "Encryption cipher for packets"
msgstr "Krypteringscifre for pakker"
msgid "OVPN configuration file upload"
msgstr "OVPN-konfigurationsfil upload"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
msgid "Only accept connections from given X509 name"
msgstr "Accepter kun forbindelser fra det givne X509-navn"
msgid "Replay protection sliding window size"
msgstr "Størrelsen af det glidende vindue til beskyttelse mod gentagelse"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
msgid "Require explicit designation on certificate"
msgstr "Krav om explicit betegnelse på certifikatet"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
msgid "Require explicit key usage on certificate"
msgstr "Kræv eksplicit brug af nøgle på certifikatet"
msgid "Restart after remote ping timeout"
msgstr "Genstart efter timeout for fjern-ping"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:800
msgid "Restrict the allowed ciphers to be negotiated"
msgstr "Begrænser de tilladte cifre, der kan forhandles"
"OVPN-konfigurationsfilen (%s) kunne ikke findes, tjek venligst din "
"konfiguration."
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
msgid "The highest supported TLS version"
msgstr "Den højeste understøttede TLS-version"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:69
msgid "The key direction for 'tls-auth' and 'secret' options"
msgstr "Den vigtigste retning for 'tls-auth' og 'hemmelige' indstillinger"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
msgid "The lowest supported TLS version"
msgstr "Den lavest understøttede TLS-version"
"Størrelsen af OVPN-konfigurationsfilen (%s) er for stor til online "
"redigering i LuCI (≥ 100 KB)."
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
msgid "This completely disables cipher negotiation"
msgstr "Dette deaktiverer fuldstændig krypteringsforhandling"
msgid "Change to directory before initialization"
msgstr "<em>Vor</em> der Initialisierung in Verzeichnis wechseln"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
msgid "Check peer certificate against a CRL"
msgstr "Teilnehmerzertifikat mit Sperrliste abgleichen"
msgid "Don't add routes automatically"
msgstr "Netzwerkrouten nicht automatisch einrichten"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:760
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
msgid "Don't cache --askpass or --auth-user-pass passwords"
msgstr "Authentifikationsdaten nicht zwischenspeichern"
"Verschlüsseln und authentifizieren aller Kontrollkanalpakete mit dem "
"Schlüssel"
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:756
+msgid ""
+"Encrypt and authenticate all control channel packets with the key, version 2."
+msgstr ""
+
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:622
msgid "Encryption cipher for packets"
msgstr "Verschlüsselungsalgorithmus für Pakete"
msgid "OVPN configuration file upload"
msgstr "OVPN-Konfigurationsdatei hochladen"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
msgid "Only accept connections from given X509 name"
msgstr "Nur Verbindungen vom angegebenem X.509 Name zulassen"
msgid "Replay protection sliding window size"
msgstr "Fenstergröße für \"Replay\"-Schutz"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
msgid "Require explicit designation on certificate"
msgstr "Verwendungszweck von Zertifikaten überprüfen"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
msgid "Require explicit key usage on certificate"
msgstr "Zertifikat explizit auf einfachen Verwendungszweck prüfen"
msgid "Restart after remote ping timeout"
msgstr "Neu Starten nach Ping-Timeout an Gegenstellen"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:800
msgid "Restrict the allowed ciphers to be negotiated"
msgstr "Einschränkung der zulässigen zu verhandelnden Verschlüsselungen"
"Die OVPN-Konfigurationsdatei (%s) konnte nicht gefunden werden, bitte "
"überprüfen Sie Ihre Konfiguration."
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
msgid "The highest supported TLS version"
msgstr "Die höchste unterstützte TLS-Version"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:69
msgid "The key direction for 'tls-auth' and 'secret' options"
msgstr "Schlüssel-Richtung für die Optionen 'tls-auth' und 'secret'"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
msgid "The lowest supported TLS version"
msgstr "Die niedrigste unterstützte TLS-Version"
"Die Größe der OVPN-Konfigurationsdatei (%s) ist zu groß für die Online-"
"Bearbeitung in der LuCI (≥ 100KB)."
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
msgid "This completely disables cipher negotiation"
msgstr "Vollständig Deaktivierung der Chiffren-Verhandlung"
msgid "Change to directory before initialization"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
msgid "Check peer certificate against a CRL"
msgstr ""
msgid "Don't add routes automatically"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:760
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
msgid "Don't cache --askpass or --auth-user-pass passwords"
msgstr ""
msgid "Encrypt and authenticate all control channel packets with the key"
msgstr ""
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:756
+msgid ""
+"Encrypt and authenticate all control channel packets with the key, version 2."
+msgstr ""
+
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:622
msgid "Encryption cipher for packets"
msgstr ""
msgid "OVPN configuration file upload"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
msgid "Only accept connections from given X509 name"
msgstr ""
msgid "Replay protection sliding window size"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
msgid "Require explicit designation on certificate"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
msgid "Require explicit key usage on certificate"
msgstr ""
msgid "Restart after remote ping timeout"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:800
msgid "Restrict the allowed ciphers to be negotiated"
msgstr ""
"configuration."
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
msgid "The highest supported TLS version"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:69
msgid "The key direction for 'tls-auth' and 'secret' options"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
msgid "The lowest supported TLS version"
msgstr ""
"LuCI (≥ 100 KB)."
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
msgid "This completely disables cipher negotiation"
msgstr ""
msgid "Change to directory before initialization"
msgstr "Change to directory before initialization"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
msgid "Check peer certificate against a CRL"
msgstr "Check peer certificate against a CRL"
msgid "Don't add routes automatically"
msgstr "Don't add routes automatically"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:760
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
msgid "Don't cache --askpass or --auth-user-pass passwords"
msgstr "Don't cache --askpass or --auth-user-pass passwords"
msgid "Encrypt and authenticate all control channel packets with the key"
msgstr "Encrypt and authenticate all control channel packets with the key"
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:756
+msgid ""
+"Encrypt and authenticate all control channel packets with the key, version 2."
+msgstr ""
+
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:622
msgid "Encryption cipher for packets"
msgstr "Encryption cipher for packets"
msgid "OVPN configuration file upload"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
msgid "Only accept connections from given X509 name"
msgstr "Only accept connections from given X509 name"
msgid "Replay protection sliding window size"
msgstr "Replay protection sliding window size"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
msgid "Require explicit designation on certificate"
msgstr "Require explicit designation on certificate"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
msgid "Require explicit key usage on certificate"
msgstr "Require explicit key usage on certificate"
msgid "Restart after remote ping timeout"
msgstr "Restart after remote ping timeout"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:800
msgid "Restrict the allowed ciphers to be negotiated"
msgstr ""
"configuration."
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
msgid "The highest supported TLS version"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:69
msgid "The key direction for 'tls-auth' and 'secret' options"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
msgid "The lowest supported TLS version"
msgstr ""
"LuCI (≥ 100 KB)."
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
msgid "This completely disables cipher negotiation"
msgstr ""
msgid "Change to directory before initialization"
msgstr "Cambiar a este directorio antes de inicializar"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
msgid "Check peer certificate against a CRL"
msgstr "Comprobar certificados contra un CRL"
msgid "Don't add routes automatically"
msgstr "No añadir rutas automáticamente"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:760
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
msgid "Don't cache --askpass or --auth-user-pass passwords"
msgstr "No guardar las contraseñas --askpass o --auth-user-pass"
msgstr ""
"Cifre y autentique todos los paquetes del canal de control con la clave"
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:756
+msgid ""
+"Encrypt and authenticate all control channel packets with the key, version 2."
+msgstr ""
+
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:622
msgid "Encryption cipher for packets"
msgstr "Cifra de encriptación de paquetes"
msgid "OVPN configuration file upload"
msgstr "Carga del archivo de configuración OVPN"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
msgid "Only accept connections from given X509 name"
msgstr "Aceptar solo conexiones desde este nombre X509"
msgid "Replay protection sliding window size"
msgstr "Tamaño de la ventana deslizante de la protección de reproducción"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
msgid "Require explicit designation on certificate"
msgstr "Designación explícita de certificado"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
msgid "Require explicit key usage on certificate"
msgstr "Clave de uso explícita de certificado"
msgid "Restart after remote ping timeout"
msgstr "Reiniciar después de tiempo de espera de ping remoto"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:800
msgid "Restrict the allowed ciphers to be negotiated"
msgstr "Restringir los cifrados permitidos para ser negociados"
"No se pudo encontrar el archivo de configuración OVPN (%s), verifique su "
"configuración."
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
msgid "The highest supported TLS version"
msgstr "La versión TLS más alta soportada"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:69
msgid "The key direction for 'tls-auth' and 'secret' options"
msgstr "La dirección clave para las opciones 'tls-auth' y 'secret'"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
msgid "The lowest supported TLS version"
msgstr "La versión TLS más baja soportada"
"El tamaño del archivo de configuración OVPN (%s) es demasiado grande para la "
"edición en línea en LuCI (≥ 100 KB)."
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
msgid "This completely disables cipher negotiation"
msgstr "Esto desactiva completamente la negociación de cifrado"
msgid "Change to directory before initialization"
msgstr "قبل از مقدار دهی اولیه، به دایرکتوری تغییر دهید"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
msgid "Check peer certificate against a CRL"
msgstr "گواهی همتا را در برابر یک CRL بررسی کنید"
msgid "Don't add routes automatically"
msgstr "مسیریابی را به صورت خودکار اضافه نکن"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:760
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
msgid "Don't cache --askpass or --auth-user-pass passwords"
msgstr "رمزهای عبور --askpass یا --auth-user-pass را به صورت cache ذخیره نکن"
msgid "Encrypt and authenticate all control channel packets with the key"
msgstr "تمام بسته های کانال کنترل را با کلید مربوطه رمزگذاری و تصدیق کن"
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:756
+msgid ""
+"Encrypt and authenticate all control channel packets with the key, version 2."
+msgstr ""
+
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:622
msgid "Encryption cipher for packets"
msgstr "متد رمزگذاری برای بسته ها"
msgid "OVPN configuration file upload"
msgstr "آپلود فایل پیکربندی OVPN"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
msgid "Only accept connections from given X509 name"
msgstr "فقط اتصالات از نام X509 تعیین شده را بپذیر"
msgid "Replay protection sliding window size"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
msgid "Require explicit designation on certificate"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
msgid "Require explicit key usage on certificate"
msgstr ""
msgid "Restart after remote ping timeout"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:800
msgid "Restrict the allowed ciphers to be negotiated"
msgstr ""
"configuration."
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
msgid "The highest supported TLS version"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:69
msgid "The key direction for 'tls-auth' and 'secret' options"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
msgid "The lowest supported TLS version"
msgstr ""
"LuCI (≥ 100 KB)."
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
msgid "This completely disables cipher negotiation"
msgstr ""
msgid "Change to directory before initialization"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
msgid "Check peer certificate against a CRL"
msgstr ""
msgid "Don't add routes automatically"
msgstr "Älä lisää reittejä automaattisesti"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:760
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
msgid "Don't cache --askpass or --auth-user-pass passwords"
msgstr ""
msgid "Encrypt and authenticate all control channel packets with the key"
msgstr ""
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:756
+msgid ""
+"Encrypt and authenticate all control channel packets with the key, version 2."
+msgstr ""
+
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:622
msgid "Encryption cipher for packets"
msgstr ""
msgid "OVPN configuration file upload"
msgstr "OVPN-määritystiedoston lähetys"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
msgid "Only accept connections from given X509 name"
msgstr ""
msgid "Replay protection sliding window size"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
msgid "Require explicit designation on certificate"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
msgid "Require explicit key usage on certificate"
msgstr ""
msgid "Restart after remote ping timeout"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:800
msgid "Restrict the allowed ciphers to be negotiated"
msgstr ""
"configuration."
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
msgid "The highest supported TLS version"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:69
msgid "The key direction for 'tls-auth' and 'secret' options"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
msgid "The lowest supported TLS version"
msgstr ""
"LuCI (≥ 100 KB)."
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
msgid "This completely disables cipher negotiation"
msgstr ""
msgid "Change to directory before initialization"
msgstr "Aller dans ce répertorie avant l'initialisation"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
msgid "Check peer certificate against a CRL"
msgstr ""
"Confronter le certificat du distant à une liste des certificats révoqués "
msgid "Don't add routes automatically"
msgstr "Ne pas ajouter de routes automatiquement"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:760
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
msgid "Don't cache --askpass or --auth-user-pass passwords"
msgstr ""
"Ne pas copier en cache les mots de passe des options --askpass ou --auth-"
msgstr ""
"Chiffrer et authentifier tous les paquets de canaux de contrôle avec la clé"
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:756
+msgid ""
+"Encrypt and authenticate all control channel packets with the key, version 2."
+msgstr ""
+
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:622
msgid "Encryption cipher for packets"
msgstr "Méthode de chiffrement des paquets"
msgid "OVPN configuration file upload"
msgstr "Téléchargement de fichier de configuration OVPN"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
msgid "Only accept connections from given X509 name"
msgstr "Accepte seulement des connexions du nom X509 donné"
msgid "Replay protection sliding window size"
msgstr "Taille de la fenêtre glissante pour la protection anti-rejeu"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
msgid "Require explicit designation on certificate"
msgstr "Exiger l'appellation explicite sur le certificat"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
msgid "Require explicit key usage on certificate"
msgstr "Exiger l'utilisation explicite de la clé sur le certificat"
msgid "Restart after remote ping timeout"
msgstr "Redémarrer aprés le dépassement du délai de ping du distant"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:800
msgid "Restrict the allowed ciphers to be negotiated"
msgstr "Restreindre les chiffres autorisés à négocier"
"Le fichier de configuration OVPN (%s) n'a pas pu être trouvé, veuillez "
"vérifier votre configuration."
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
msgid "The highest supported TLS version"
msgstr "La version TLS la plus haute supportée"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:69
msgid "The key direction for 'tls-auth' and 'secret' options"
msgstr "La direction clé pour les options 'tls-auth' et 'secret'"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
msgid "The lowest supported TLS version"
msgstr "La version TLS la plus basse supportée"
"La taille du fichier de configuration OVPN (%s) est trop importante pour une "
"édition en ligne dans LuCI (&ge ; 100 KB)."
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
msgid "This completely disables cipher negotiation"
msgstr "Cela désactive complètement la négociation du chiffrement"
msgid "Change to directory before initialization"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
msgid "Check peer certificate against a CRL"
msgstr ""
msgid "Don't add routes automatically"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:760
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
msgid "Don't cache --askpass or --auth-user-pass passwords"
msgstr ""
msgid "Encrypt and authenticate all control channel packets with the key"
msgstr ""
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:756
+msgid ""
+"Encrypt and authenticate all control channel packets with the key, version 2."
+msgstr ""
+
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:622
msgid "Encryption cipher for packets"
msgstr ""
msgid "OVPN configuration file upload"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
msgid "Only accept connections from given X509 name"
msgstr ""
msgid "Replay protection sliding window size"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
msgid "Require explicit designation on certificate"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
msgid "Require explicit key usage on certificate"
msgstr ""
msgid "Restart after remote ping timeout"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:800
msgid "Restrict the allowed ciphers to be negotiated"
msgstr ""
"configuration."
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
msgid "The highest supported TLS version"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:69
msgid "The key direction for 'tls-auth' and 'secret' options"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
msgid "The lowest supported TLS version"
msgstr ""
"LuCI (≥ 100 KB)."
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
msgid "This completely disables cipher negotiation"
msgstr ""
msgid "Change to directory before initialization"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
msgid "Check peer certificate against a CRL"
msgstr ""
msgid "Don't add routes automatically"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:760
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
msgid "Don't cache --askpass or --auth-user-pass passwords"
msgstr ""
msgid "Encrypt and authenticate all control channel packets with the key"
msgstr ""
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:756
+msgid ""
+"Encrypt and authenticate all control channel packets with the key, version 2."
+msgstr ""
+
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:622
msgid "Encryption cipher for packets"
msgstr ""
msgid "OVPN configuration file upload"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
msgid "Only accept connections from given X509 name"
msgstr ""
msgid "Replay protection sliding window size"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
msgid "Require explicit designation on certificate"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
msgid "Require explicit key usage on certificate"
msgstr ""
msgid "Restart after remote ping timeout"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:800
msgid "Restrict the allowed ciphers to be negotiated"
msgstr ""
"configuration."
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
msgid "The highest supported TLS version"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:69
msgid "The key direction for 'tls-auth' and 'secret' options"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
msgid "The lowest supported TLS version"
msgstr ""
"LuCI (≥ 100 KB)."
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
msgid "This completely disables cipher negotiation"
msgstr ""
msgid "Change to directory before initialization"
msgstr "Váltás könyvtárra az előkészítés előtt"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
msgid "Check peer certificate against a CRL"
msgstr "Partnertanúsítvány összevetése egy tanúsítvány-visszavonási listával"
msgid "Don't add routes automatically"
msgstr "Ne adjon hozzá útvonalakat automatikusan"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:760
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
msgid "Don't cache --askpass or --auth-user-pass passwords"
msgstr "Ne gyorsítótárazza az --askpass vagy --auth-user-pass jelszavakat"
msgstr ""
"Az összes vezérlőcsatorna csomagjainak titkosítása és hitelesítése a kulccsal"
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:756
+msgid ""
+"Encrypt and authenticate all control channel packets with the key, version 2."
+msgstr ""
+
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:622
msgid "Encryption cipher for packets"
msgstr "Titkosítás a csomagoknál"
msgid "OVPN configuration file upload"
msgstr "OVPN beállítófájl feltöltése"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
msgid "Only accept connections from given X509 name"
msgstr "Kapcsolatok elfogadása csak a megadott X509 névtől"
msgid "Replay protection sliding window size"
msgstr "Visszajátszási védelem csúszóablakának mérete"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
msgid "Require explicit designation on certificate"
msgstr "Kifejezett megnevezés szükséges a tanúsítványon"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
msgid "Require explicit key usage on certificate"
msgstr "Kifejezett kulcshasználat szükséges a tanúsítványon"
msgid "Restart after remote ping timeout"
msgstr "Újraindítás a távoli ping időkorlátja után"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:800
msgid "Restrict the allowed ciphers to be negotiated"
msgstr "Az engedélyezett titkosítók egyeztetésének korlátozása"
"configuration."
msgstr "Az OVPN beállítófájl (%s) nem található, ellenőrizze a beállításait."
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
msgid "The highest supported TLS version"
msgstr "A legmagasabb támogatott TLS verzió"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:69
msgid "The key direction for 'tls-auth' and 'secret' options"
msgstr "A kulcsirány a „tls-auth” és „secret” beállításoknál"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
msgid "The lowest supported TLS version"
msgstr "A legalacsonyabb támogatott TLS verzió"
"Az OVPN beállítófájl (%s) mérete túl nagy a LuCI-ban történő internetes "
"szerkesztéshez (nagyobb mint 100 KB)."
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
msgid "This completely disables cipher negotiation"
msgstr "Ez teljesen letiltja a titkosító egyeztetését"
msgid "Change to directory before initialization"
msgstr "Cambia cartella prima dell'inizializzazione"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
msgid "Check peer certificate against a CRL"
msgstr "Verifica il certificato del nodo su una CRL"
msgid "Don't add routes automatically"
msgstr "Non aggiungere rotte automaticamente"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:760
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
msgid "Don't cache --askpass or --auth-user-pass passwords"
msgstr "Non tenere in memoria le password di --askpass o di --auth-user-pass"
"Crittografa e autentica tutti i pacchetti del canale di controllo con la "
"chiave"
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:756
+msgid ""
+"Encrypt and authenticate all control channel packets with the key, version 2."
+msgstr ""
+
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:622
msgid "Encryption cipher for packets"
msgstr "Cifratura di criptazione dei pacchetti"
msgid "OVPN configuration file upload"
msgstr "Caricamento del file di configurazione OVPN"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
msgid "Only accept connections from given X509 name"
msgstr ""
msgid "Replay protection sliding window size"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
msgid "Require explicit designation on certificate"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
msgid "Require explicit key usage on certificate"
msgstr ""
msgid "Restart after remote ping timeout"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:800
msgid "Restrict the allowed ciphers to be negotiated"
msgstr ""
"Impossibile trovare il file di configurazione OVPN (%s), controlla la tua "
"configurazione."
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
msgid "The highest supported TLS version"
msgstr "La versione TLS più alta supportata"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:69
msgid "The key direction for 'tls-auth' and 'secret' options"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
msgid "The lowest supported TLS version"
msgstr "La versione TLS più bassa supportata"
"La dimensione del file di configurazione OVPN (%s) è troppo grande per la "
"modifica in LuCI (≥ 100 KB)."
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
msgid "This completely disables cipher negotiation"
msgstr ""
msgid "Change to directory before initialization"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
msgid "Check peer certificate against a CRL"
msgstr ""
msgid "Don't add routes automatically"
msgstr "ルートを自動で追加しない"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:760
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
msgid "Don't cache --askpass or --auth-user-pass passwords"
msgstr ""
msgid "Encrypt and authenticate all control channel packets with the key"
msgstr ""
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:756
+msgid ""
+"Encrypt and authenticate all control channel packets with the key, version 2."
+msgstr ""
+
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:622
msgid "Encryption cipher for packets"
msgstr ""
msgid "OVPN configuration file upload"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
msgid "Only accept connections from given X509 name"
msgstr ""
msgid "Replay protection sliding window size"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
msgid "Require explicit designation on certificate"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
msgid "Require explicit key usage on certificate"
msgstr ""
msgid "Restart after remote ping timeout"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:800
msgid "Restrict the allowed ciphers to be negotiated"
msgstr ""
"configuration."
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
msgid "The highest supported TLS version"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:69
msgid "The key direction for 'tls-auth' and 'secret' options"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
msgid "The lowest supported TLS version"
msgstr ""
"LuCI (≥ 100 KB)."
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
msgid "This completely disables cipher negotiation"
msgstr ""
msgid "Change to directory before initialization"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
msgid "Check peer certificate against a CRL"
msgstr ""
msgid "Don't add routes automatically"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:760
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
msgid "Don't cache --askpass or --auth-user-pass passwords"
msgstr ""
msgid "Encrypt and authenticate all control channel packets with the key"
msgstr ""
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:756
+msgid ""
+"Encrypt and authenticate all control channel packets with the key, version 2."
+msgstr ""
+
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:622
msgid "Encryption cipher for packets"
msgstr ""
msgid "OVPN configuration file upload"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
msgid "Only accept connections from given X509 name"
msgstr ""
msgid "Replay protection sliding window size"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
msgid "Require explicit designation on certificate"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
msgid "Require explicit key usage on certificate"
msgstr ""
msgid "Restart after remote ping timeout"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:800
msgid "Restrict the allowed ciphers to be negotiated"
msgstr ""
"configuration."
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
msgid "The highest supported TLS version"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:69
msgid "The key direction for 'tls-auth' and 'secret' options"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
msgid "The lowest supported TLS version"
msgstr ""
"LuCI (≥ 100 KB)."
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
msgid "This completely disables cipher negotiation"
msgstr ""
msgid "Change to directory before initialization"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
msgid "Check peer certificate against a CRL"
msgstr ""
msgid "Don't add routes automatically"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:760
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
msgid "Don't cache --askpass or --auth-user-pass passwords"
msgstr ""
msgid "Encrypt and authenticate all control channel packets with the key"
msgstr ""
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:756
+msgid ""
+"Encrypt and authenticate all control channel packets with the key, version 2."
+msgstr ""
+
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:622
msgid "Encryption cipher for packets"
msgstr ""
msgid "OVPN configuration file upload"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
msgid "Only accept connections from given X509 name"
msgstr ""
msgid "Replay protection sliding window size"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
msgid "Require explicit designation on certificate"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
msgid "Require explicit key usage on certificate"
msgstr ""
msgid "Restart after remote ping timeout"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:800
msgid "Restrict the allowed ciphers to be negotiated"
msgstr ""
"configuration."
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
msgid "The highest supported TLS version"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:69
msgid "The key direction for 'tls-auth' and 'secret' options"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
msgid "The lowest supported TLS version"
msgstr ""
"LuCI (≥ 100 KB)."
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
msgid "This completely disables cipher negotiation"
msgstr ""
msgid "Change to directory before initialization"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
msgid "Check peer certificate against a CRL"
msgstr ""
msgid "Don't add routes automatically"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:760
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
msgid "Don't cache --askpass or --auth-user-pass passwords"
msgstr ""
msgid "Encrypt and authenticate all control channel packets with the key"
msgstr ""
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:756
+msgid ""
+"Encrypt and authenticate all control channel packets with the key, version 2."
+msgstr ""
+
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:622
msgid "Encryption cipher for packets"
msgstr ""
msgid "OVPN configuration file upload"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
msgid "Only accept connections from given X509 name"
msgstr ""
msgid "Replay protection sliding window size"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
msgid "Require explicit designation on certificate"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
msgid "Require explicit key usage on certificate"
msgstr ""
msgid "Restart after remote ping timeout"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:800
msgid "Restrict the allowed ciphers to be negotiated"
msgstr ""
"configuration."
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
msgid "The highest supported TLS version"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:69
msgid "The key direction for 'tls-auth' and 'secret' options"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
msgid "The lowest supported TLS version"
msgstr ""
"LuCI (≥ 100 KB)."
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
msgid "This completely disables cipher negotiation"
msgstr ""
msgid "Change to directory before initialization"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
msgid "Check peer certificate against a CRL"
msgstr ""
msgid "Don't add routes automatically"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:760
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
msgid "Don't cache --askpass or --auth-user-pass passwords"
msgstr ""
msgid "Encrypt and authenticate all control channel packets with the key"
msgstr ""
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:756
+msgid ""
+"Encrypt and authenticate all control channel packets with the key, version 2."
+msgstr ""
+
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:622
msgid "Encryption cipher for packets"
msgstr ""
msgid "OVPN configuration file upload"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
msgid "Only accept connections from given X509 name"
msgstr ""
msgid "Replay protection sliding window size"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
msgid "Require explicit designation on certificate"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
msgid "Require explicit key usage on certificate"
msgstr ""
msgid "Restart after remote ping timeout"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:800
msgid "Restrict the allowed ciphers to be negotiated"
msgstr ""
"configuration."
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
msgid "The highest supported TLS version"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:69
msgid "The key direction for 'tls-auth' and 'secret' options"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
msgid "The lowest supported TLS version"
msgstr ""
"LuCI (≥ 100 KB)."
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
msgid "This completely disables cipher negotiation"
msgstr ""
msgid "Change to directory before initialization"
msgstr "Przejdź do katalogu przed inicjalizacją"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
msgid "Check peer certificate against a CRL"
msgstr "Sprawdź certyfikat peera na obecność w CRL"
msgid "Don't add routes automatically"
msgstr "Nie dodawaj tras automatycznie"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:760
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
msgid "Don't cache --askpass or --auth-user-pass passwords"
msgstr "Nie buforuj haseł --askpass lub --auth-user-pass"
msgstr ""
"Szyfruj i uwierzytelnij wszystkie pakiety kanału kontrolnego za pomocą klucza"
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:756
+msgid ""
+"Encrypt and authenticate all control channel packets with the key, version 2."
+msgstr ""
+
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:622
msgid "Encryption cipher for packets"
msgstr "Szyfrowanie dla pakietów"
msgid "OVPN configuration file upload"
msgstr "Przesyłanie pliku konfiguracyjnego OVPN"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
msgid "Only accept connections from given X509 name"
msgstr "Akceptuj tylko połączenia z podanej nazwy X509"
msgid "Replay protection sliding window size"
msgstr "Powtórzenie osłony okna rozmiaru"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
msgid "Require explicit designation on certificate"
msgstr "Potrzebna Podpis na Certyfikacie"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
msgid "Require explicit key usage on certificate"
msgstr "Potrzebna klucza używanego w certyfikacie"
msgid "Restart after remote ping timeout"
msgstr "Restartuj po upływie limitu zdalnego pingowania"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:800
msgid "Restrict the allowed ciphers to be negotiated"
msgstr "Ograniczenie dozwolonych szyfrów, które mają być negocjowane"
"Plik konfiguracyjny OVPN (%s) nie mógł zostać znaleziony, sprawdź swoją "
"konfigurację."
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
msgid "The highest supported TLS version"
msgstr "Najwyższa obsługiwana wersja protokołu TLS"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:69
msgid "The key direction for 'tls-auth' and 'secret' options"
msgstr "Kluczowy kierunek dla opcji \"tls-auth\" i \"secret\""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
msgid "The lowest supported TLS version"
msgstr "Najniższa obsługiwana wersja protokołu TLS"
"Rozmiar pliku konfiguracyjnego OVPN (%s) jest zbyt duży do edycji online w "
"LuCI (≥ 100 KB)."
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
msgid "This completely disables cipher negotiation"
msgstr "Spowoduje to całkowite wyłączenie negocjacji szyfrowania"
msgid "Change to directory before initialization"
msgstr "Mudar para o directório antes da inicialização"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
msgid "Check peer certificate against a CRL"
msgstr "Verificar certificado do remoto conta uma CRL"
msgid "Don't add routes automatically"
msgstr "Não adicionar rotas automaticamente"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:760
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
msgid "Don't cache --askpass or --auth-user-pass passwords"
msgstr "Não pôr as palavras-passe em cache --askpass ou --auth-user-pass"
msgstr ""
"Criptografar e autenticar todos os pacotes de canais de controle com a chave"
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:756
+msgid ""
+"Encrypt and authenticate all control channel packets with the key, version 2."
+msgstr ""
+
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:622
msgid "Encryption cipher for packets"
msgstr "Cifra de encriptação para pacotes"
msgid "OVPN configuration file upload"
msgstr "Envio do ficheiro de configuração OVPN"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
msgid "Only accept connections from given X509 name"
msgstr "Aceitar ligações apenas de um dado nome X509"
msgid "Replay protection sliding window size"
msgstr "Tamanho da janela de protecção conta replay"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
msgid "Require explicit designation on certificate"
msgstr "Requerer designação específica no certificado"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
msgid "Require explicit key usage on certificate"
msgstr "Requerer utilização explicita de utilização de chave no certificado"
msgid "Restart after remote ping timeout"
msgstr "Reiniciar após timeout do ping remoto"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:800
msgid "Restrict the allowed ciphers to be negotiated"
msgstr "Restringir as cifras permitidas a serem negociadas"
"O ficheiro de configuração OVPN (%s) não pôde ser encontrado, por favor "
"verifique a sua configuração."
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
msgid "The highest supported TLS version"
msgstr "A versão TLS mais alta suportada"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:69
msgid "The key direction for 'tls-auth' and 'secret' options"
msgstr "A direção chave para as opções 'tls-auth' e 'secret'"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
msgid "The lowest supported TLS version"
msgstr "A versão TLS suportada mais baixa"
"O tamanho do ficheiro de configuração OVPN (%s) é demasiado grande para "
"editá-lo online em LuCI (≥ 100 KB)."
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
msgid "This completely disables cipher negotiation"
msgstr "Isso desativa completamente a negociação de cifras"
msgid "Change to directory before initialization"
msgstr "Mudar para o diretório antes da iniciação"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
msgid "Check peer certificate against a CRL"
msgstr "Verificar certificado do parceiro conta uma CRL"
msgid "Don't add routes automatically"
msgstr "Não adicionar rotas automaticamente"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:760
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
msgid "Don't cache --askpass or --auth-user-pass passwords"
msgstr "Não colocar em cache as senhas do --askpass ou --auth-user-pass"
msgid "Encrypt and authenticate all control channel packets with the key"
msgstr "Cifre e autentique todos os pacotes do canal de controle com a chave"
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:756
+msgid ""
+"Encrypt and authenticate all control channel packets with the key, version 2."
+msgstr ""
+
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:622
msgid "Encryption cipher for packets"
msgstr "Cifra de encriptação para pacotes"
msgid "OVPN configuration file upload"
msgstr "Enviar um arquivo de configuração OVPN"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
msgid "Only accept connections from given X509 name"
msgstr "Aceitar conexões apenas de um dado nome X509"
msgid "Replay protection sliding window size"
msgstr "Tamanho da janela de proteção conta replay"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
msgid "Require explicit designation on certificate"
msgstr "Requerer designação específica no certificado"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
msgid "Require explicit key usage on certificate"
msgstr "Requerer que o uso da chave seja explicitado no certificado"
msgid "Restart after remote ping timeout"
msgstr "Reiniciar após estouro do tempo do ping remoto"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:800
msgid "Restrict the allowed ciphers to be negotiated"
msgstr "Restringir as cifras permitidas para a negociação"
"O arquivo de configuração OVPN (%s) não pôde ser encontrado, por favor "
"verifique a sua configuração."
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
msgid "The highest supported TLS version"
msgstr "A mais alta versão suporta do TLS"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:69
msgid "The key direction for 'tls-auth' and 'secret' options"
msgstr "A direção da chave para as opções 'tls-auth' e 'secret'"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
msgid "The lowest supported TLS version"
msgstr "A mais baixa versão suporta do TLS"
"O tamanho do arquivo de configuração OVPN (%s) é grande demais para ser "
"editado através do LuCI (≥ 100 KB)."
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
msgid "This completely disables cipher negotiation"
msgstr "Isso desabilita completamente a negociação de cifras"
msgid "Change to directory before initialization"
msgstr "Schimbarea în director înainte de inițializare"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
msgid "Check peer certificate against a CRL"
msgstr "Verificarea certificatului omolog cu o CRL"
msgid "Don't add routes automatically"
msgstr "Nu adăugați automat rute"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:760
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
msgid "Don't cache --askpass or --auth-user-pass passwords"
msgstr "Nu stocați în memoria cache parolele --askpass sau --auth-user-pass"
msgid "Encrypt and authenticate all control channel packets with the key"
msgstr "Criptează și autentifică toate pachetele canalului de control cu cheia"
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:756
+msgid ""
+"Encrypt and authenticate all control channel packets with the key, version 2."
+msgstr ""
+
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:622
msgid "Encryption cipher for packets"
msgstr "Cifru de criptare pentru pachete"
msgid "OVPN configuration file upload"
msgstr "Încărcarea fișierului de configurare OVPN"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
msgid "Only accept connections from given X509 name"
msgstr "Acceptă doar conexiuni de la numele X509 dat"
msgid "Replay protection sliding window size"
msgstr "Dimensiunea ferestrei glisante de protecție a reluării"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
msgid "Require explicit designation on certificate"
msgstr "Solicită o denumire explicită pe certificat"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
msgid "Require explicit key usage on certificate"
msgstr "Cereți utilizarea explicită a cheii pe certificat"
msgid "Restart after remote ping timeout"
msgstr "Repornire după expirarea timpului de ping la distanță"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:800
msgid "Restrict the allowed ciphers to be negotiated"
msgstr "Limitarea cifrului permis pentru a fi negociat"
"Fișierul de configurare OVPN (%s) nu a putut fi găsit, vă rugăm să vă "
"verificați configurația."
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
msgid "The highest supported TLS version"
msgstr "Cea mai înaltă versiune TLS acceptată"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:69
msgid "The key direction for 'tls-auth' and 'secret' options"
msgstr "Direcția cheie pentru opțiunile \"tls-auth\" și \"secret"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
msgid "The lowest supported TLS version"
msgstr "Cea mai mică versiune TLS acceptată"
"Dimensiunea fișierului de configurare OVPN (%s) este prea mare pentru "
"editarea online în LuCI (≥ 100 KB)."
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
msgid "This completely disables cipher negotiation"
msgstr "Acest lucru dezactivează complet negocierea cifrului"
msgid "Change to directory before initialization"
msgstr "Перейти в указанную папку перед инициализацией"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
msgid "Check peer certificate against a CRL"
msgstr "Проверить сертификат узла на соответствие файлу CRL в формате PEM"
"Не добавлять маршруты автоматически. Вместо этого передавать маршруты в '-"
"route-up' скрипт используя переменные окружения"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:760
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
msgid "Don't cache --askpass or --auth-user-pass passwords"
msgstr ""
"Не кэшировать пароли '-askpass' или '-auth-user-pass' в виртуальной памяти"
"Шифрование и проверка подлинности всех пакетов каналов управления с помощью "
"ключа"
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:756
+msgid ""
+"Encrypt and authenticate all control channel packets with the key, version 2."
+msgstr ""
+
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:622
msgid "Encryption cipher for packets"
msgstr "Алгоритм шифрования для пакетов"
msgid "OVPN configuration file upload"
msgstr "Загрузка конфигурационного файла OVPN"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
msgid "Only accept connections from given X509 name"
msgstr "Принимать только соединения от имени указанного сертификата X509"
"Использовать защиту от повтора - скользящее окно размером 'n' с интервалом "
"времени 't' секунд"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
msgid "Require explicit designation on certificate"
msgstr "Требовать явного указания в сертификате"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
msgid "Require explicit key usage on certificate"
msgstr "Требовать явного использования ключа в сертификате"
msgid "Restart after remote ping timeout"
msgstr "Перезапуск после таймаута ожидания удаленного пинг-запроса"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:800
msgid "Restrict the allowed ciphers to be negotiated"
msgstr "Ограничить разрешенные шифры согласования"
"configuration."
msgstr "OPVN файл (%s) не найден, проверьте вашу конфигурацию."
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
msgid "The highest supported TLS version"
msgstr "Самая высокая поддерживаемая версия протокола TLS"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:69
msgid "The key direction for 'tls-auth' and 'secret' options"
msgstr "Указать ключ для параметров 'tls-auth' и 'secret'"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
msgid "The lowest supported TLS version"
msgstr "Самая низкая поддерживаемая версия протокола TLS"
"Размер OPVN файла (%s) слишком большой для онлайн редактирования в LuCI (&ge "
"100 Кб)."
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
msgid "This completely disables cipher negotiation"
msgstr "Отключение механизма согласования шифров"
msgid "Change to directory before initialization"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
msgid "Check peer certificate against a CRL"
msgstr ""
msgid "Don't add routes automatically"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:760
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
msgid "Don't cache --askpass or --auth-user-pass passwords"
msgstr ""
msgid "Encrypt and authenticate all control channel packets with the key"
msgstr ""
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:756
+msgid ""
+"Encrypt and authenticate all control channel packets with the key, version 2."
+msgstr ""
+
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:622
msgid "Encryption cipher for packets"
msgstr ""
msgid "OVPN configuration file upload"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
msgid "Only accept connections from given X509 name"
msgstr ""
msgid "Replay protection sliding window size"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
msgid "Require explicit designation on certificate"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
msgid "Require explicit key usage on certificate"
msgstr ""
msgid "Restart after remote ping timeout"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:800
msgid "Restrict the allowed ciphers to be negotiated"
msgstr ""
"configuration."
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
msgid "The highest supported TLS version"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:69
msgid "The key direction for 'tls-auth' and 'secret' options"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
msgid "The lowest supported TLS version"
msgstr ""
"LuCI (≥ 100 KB)."
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
msgid "This completely disables cipher negotiation"
msgstr ""
msgid "Change to directory before initialization"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
msgid "Check peer certificate against a CRL"
msgstr ""
msgid "Don't add routes automatically"
msgstr "Lägg inte till rutter automatiskt"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:760
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
msgid "Don't cache --askpass or --auth-user-pass passwords"
msgstr ""
msgid "Encrypt and authenticate all control channel packets with the key"
msgstr ""
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:756
+msgid ""
+"Encrypt and authenticate all control channel packets with the key, version 2."
+msgstr ""
+
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:622
msgid "Encryption cipher for packets"
msgstr ""
msgid "OVPN configuration file upload"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
msgid "Only accept connections from given X509 name"
msgstr ""
msgid "Replay protection sliding window size"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
msgid "Require explicit designation on certificate"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
msgid "Require explicit key usage on certificate"
msgstr ""
msgid "Restart after remote ping timeout"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:800
msgid "Restrict the allowed ciphers to be negotiated"
msgstr ""
"configuration."
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
msgid "The highest supported TLS version"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:69
msgid "The key direction for 'tls-auth' and 'secret' options"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
msgid "The lowest supported TLS version"
msgstr ""
"LuCI (≥ 100 KB)."
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
msgid "This completely disables cipher negotiation"
msgstr ""
msgid "Change to directory before initialization"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
msgid "Check peer certificate against a CRL"
msgstr ""
msgid "Don't add routes automatically"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:760
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
msgid "Don't cache --askpass or --auth-user-pass passwords"
msgstr ""
msgid "Encrypt and authenticate all control channel packets with the key"
msgstr ""
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:756
+msgid ""
+"Encrypt and authenticate all control channel packets with the key, version 2."
+msgstr ""
+
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:622
msgid "Encryption cipher for packets"
msgstr ""
msgid "OVPN configuration file upload"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
msgid "Only accept connections from given X509 name"
msgstr ""
msgid "Replay protection sliding window size"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
msgid "Require explicit designation on certificate"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
msgid "Require explicit key usage on certificate"
msgstr ""
msgid "Restart after remote ping timeout"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:800
msgid "Restrict the allowed ciphers to be negotiated"
msgstr ""
"configuration."
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
msgid "The highest supported TLS version"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:69
msgid "The key direction for 'tls-auth' and 'secret' options"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
msgid "The lowest supported TLS version"
msgstr ""
"LuCI (≥ 100 KB)."
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
msgid "This completely disables cipher negotiation"
msgstr ""
msgid "Change to directory before initialization"
msgstr "Başlatma öncesinde dizine geç"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
msgid "Check peer certificate against a CRL"
msgstr "Eş sertifikayı bir CRL'ye göre kontrol edin"
msgid "Don't add routes automatically"
msgstr "Rotaları otomatik olarak ekleme"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:760
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
msgid "Don't cache --askpass or --auth-user-pass passwords"
msgstr "--askpass veya --auth-user-pass parolalarını önbelleğe almayın"
msgid "Encrypt and authenticate all control channel packets with the key"
msgstr "Anahtarla tüm kontrol kanalı paketlerini şifreleyin ve doğrulayın"
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:756
+msgid ""
+"Encrypt and authenticate all control channel packets with the key, version 2."
+msgstr ""
+
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:622
msgid "Encryption cipher for packets"
msgstr "Paketler için şifreleme şifresi"
msgid "OVPN configuration file upload"
msgstr "OVPN yapılandırma dosyası yükleme"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
msgid "Only accept connections from given X509 name"
msgstr "Yalnızca verilen X509 adından gelen bağlantıları kabul edin"
msgid "Replay protection sliding window size"
msgstr "Tekrar koruma sürgülü pencere boyutu"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
msgid "Require explicit designation on certificate"
msgstr "Sertifikada açık atama gerektir"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
msgid "Require explicit key usage on certificate"
msgstr "Sertifikada açık anahtar kullanımını zorunlu kılın"
msgid "Restart after remote ping timeout"
msgstr "Uzak ping zaman aşımından sonra yeniden başlat"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:800
msgid "Restrict the allowed ciphers to be negotiated"
msgstr "Müzakere edilmesine izin verilen şifreleri kısıtlayın"
"OVPN yapılandırma dosyası (%s) bulunamadı, lütfen yapılandırmanızı kontrol "
"edin."
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
msgid "The highest supported TLS version"
msgstr "Desteklenen en yüksek TLS sürümü"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:69
msgid "The key direction for 'tls-auth' and 'secret' options"
msgstr "'tls-auth' ve 'secret' seçeneklerinin temel yönü"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
msgid "The lowest supported TLS version"
msgstr "Desteklenen en düşük TLS sürümü"
"OVPN yapılandırma dosyasının (%s) boyutu, LuCI'de çevrimiçi düzenleme için "
"çok büyük (≥ 100 KB)."
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
msgid "This completely disables cipher negotiation"
msgstr "Bu, şifre pazarlığını tamamen devre dışı bırakır"
msgid "Change to directory before initialization"
msgstr "Перейти до каталогу перед ініціалізацією"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
msgid "Check peer certificate against a CRL"
msgstr "Перевірити peer-сертифікат у CRL"
msgid "Don't add routes automatically"
msgstr "Не додавати маршрути автоматично"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:760
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
msgid "Don't cache --askpass or --auth-user-pass passwords"
msgstr "Не кешувати --askpass або --auth-user-pass паролі"
msgid "Encrypt and authenticate all control channel packets with the key"
msgstr ""
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:756
+msgid ""
+"Encrypt and authenticate all control channel packets with the key, version 2."
+msgstr ""
+
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:622
msgid "Encryption cipher for packets"
msgstr ""
msgid "OVPN configuration file upload"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
msgid "Only accept connections from given X509 name"
msgstr ""
msgid "Replay protection sliding window size"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
msgid "Require explicit designation on certificate"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
msgid "Require explicit key usage on certificate"
msgstr ""
msgid "Restart after remote ping timeout"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:800
msgid "Restrict the allowed ciphers to be negotiated"
msgstr ""
"configuration."
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
msgid "The highest supported TLS version"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:69
msgid "The key direction for 'tls-auth' and 'secret' options"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
msgid "The lowest supported TLS version"
msgstr ""
"LuCI (≥ 100 KB)."
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
msgid "This completely disables cipher negotiation"
msgstr ""
msgid "Change to directory before initialization"
msgstr "Chuyển qua thư mục trước khi khởi tạo"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
msgid "Check peer certificate against a CRL"
msgstr "Kiểm tra chứng chỉ đối tác với một CRL"
msgid "Don't add routes automatically"
msgstr "Đừng tự động thêm vào đường dẫn"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:760
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
msgid "Don't cache --askpass or --auth-user-pass passwords"
msgstr "Don't cache --askpass or --auth-user-pass passwords"
msgid "Encrypt and authenticate all control channel packets with the key"
msgstr ""
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:756
+msgid ""
+"Encrypt and authenticate all control channel packets with the key, version 2."
+msgstr ""
+
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:622
msgid "Encryption cipher for packets"
msgstr "Encryption cipher cho các gói"
msgid "OVPN configuration file upload"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
msgid "Only accept connections from given X509 name"
msgstr "Chỉ chấp nhận kết nối từ những tên X509 cho sẵn"
msgid "Replay protection sliding window size"
msgstr "Replay chế độ bảo vệ kích thước window trượt"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
msgid "Require explicit designation on certificate"
msgstr "Yêu cầu rõ ràng về giấy chứng nhận "
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
msgid "Require explicit key usage on certificate"
msgstr "Yêu cầu key dùng rõ rãng trên chứng nhận"
msgid "Restart after remote ping timeout"
msgstr "Khởi động lại sau khi remote ping timeout"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:800
msgid "Restrict the allowed ciphers to be negotiated"
msgstr ""
"configuration."
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
msgid "The highest supported TLS version"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:69
msgid "The key direction for 'tls-auth' and 'secret' options"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
msgid "The lowest supported TLS version"
msgstr ""
"LuCI (≥ 100 KB)."
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
msgid "This completely disables cipher negotiation"
msgstr ""
msgid "Change to directory before initialization"
msgstr "初始化前改变根目录"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
msgid "Check peer certificate against a CRL"
msgstr "验证客户端证书以确保其是否过期"
msgid "Don't add routes automatically"
msgstr "不自动添加路由"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:760
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
msgid "Don't cache --askpass or --auth-user-pass passwords"
msgstr "不缓存 --askpass 或 --auth-user-pass passwords"
msgid "Encrypt and authenticate all control channel packets with the key"
msgstr "使用密钥加密及认证所有的控制通道数据包"
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:756
+msgid ""
+"Encrypt and authenticate all control channel packets with the key, version 2."
+msgstr ""
+
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:622
msgid "Encryption cipher for packets"
msgstr "加密数据包"
msgid "OVPN configuration file upload"
msgstr "OVPN 配置文件上传"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
msgid "Only accept connections from given X509 name"
msgstr "只接收已给定的 X509 名称的连接"
msgid "Replay protection sliding window size"
msgstr "重播保护的滑动窗口大小"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
msgid "Require explicit designation on certificate"
msgstr "证书需要显式指定"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
msgid "Require explicit key usage on certificate"
msgstr "证书需要明确的密钥"
msgid "Restart after remote ping timeout"
msgstr "远程 ping 超时后重启"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:800
msgid "Restrict the allowed ciphers to be negotiated"
msgstr "限定协商时允许的密码算法"
"configuration."
msgstr "无法找到 OVPN 配置文件(%s),请检查您的配置。"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
msgid "The highest supported TLS version"
msgstr "最高支持的 TLS 版本"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:69
msgid "The key direction for 'tls-auth' and 'secret' options"
msgstr "“tls-auth”和“secret”选项的密钥类型"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
msgid "The lowest supported TLS version"
msgstr "最低支持的 TLS 版本"
"LuCI (≥ 100 KB)."
msgstr "OVPN 配置文件(%s)过大,无法使用 LuCI 在线编辑(≥ 100 KB)。"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
msgid "This completely disables cipher negotiation"
msgstr "这将完全禁用密码协商"
msgid "Change to directory before initialization"
msgstr "初始化前改變根目錄"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
msgid "Check peer certificate against a CRL"
msgstr "驗證客戶端證書以確保其是否過期"
msgid "Don't add routes automatically"
msgstr "不自動新增路由"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:760
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
msgid "Don't cache --askpass or --auth-user-pass passwords"
msgstr "不快取 --askpass 或 --auth-user-pass passwords"
msgid "Encrypt and authenticate all control channel packets with the key"
msgstr "使用金鑰加密及認證所有的控制通道資料包"
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:756
+msgid ""
+"Encrypt and authenticate all control channel packets with the key, version 2."
+msgstr ""
+
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:622
msgid "Encryption cipher for packets"
msgstr "加密資料包"
msgid "OVPN configuration file upload"
msgstr "OVPN組態文件上傳"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:764
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
msgid "Only accept connections from given X509 name"
msgstr "只接收已給定的 X509 名稱的連線"
msgid "Replay protection sliding window size"
msgstr "重播保護的滑動視窗大小"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:768
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
msgid "Require explicit designation on certificate"
msgstr "證書需要顯式指定"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:772
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:776
msgid "Require explicit key usage on certificate"
msgstr "證書需要明確的金鑰"
msgid "Restart after remote ping timeout"
msgstr "遠端 ping 超時後重啟"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:800
msgid "Restrict the allowed ciphers to be negotiated"
msgstr "限制要協商的允許密碼"
"configuration."
msgstr "找不到OVPN設置文件(%s),請檢查您的組態。"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
msgid "The highest supported TLS version"
msgstr "最高支援的 TLS 版本"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:788
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:69
msgid "The key direction for 'tls-auth' and 'secret' options"
msgstr "“tls-auth”和“secret”選項的金鑰型別"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:780
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:784
msgid "The lowest supported TLS version"
msgstr "最低支援的 TLS 版本"
msgstr ""
"OVPN設置文件(%s)的尺寸太大,無法在LuCI中進行在線編輯(&ge; 100 KB)。"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:792
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:796
msgid "This completely disables cipher negotiation"
msgstr "這會完全禁用密碼協商"
msgid ""
msgstr ""
-"PO-Revision-Date: 2022-03-26 23:10+0000\n"
+"PO-Revision-Date: 2022-10-18 04:10+0000\n"
"Last-Translator: Wellington Terumi Uemura <wellingtonuemura@gmail.com>\n"
"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
"openwrt/luciapplicationsshadowsocks-libev/pt_BR/>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.12-dev\n"
+"X-Generator: Weblate 4.15-dev\n"
#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/instances.js:45
msgid "-- instance type --"
#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/shadowsocks-libev.js:175
msgid "Plugin"
-msgstr "Plugin"
+msgstr "Plug-in"
#: applications/luci-app-shadowsocks-libev/htdocs/luci-static/resources/shadowsocks-libev.js:177
msgid "Plugin Options"
PKG_LICENSE:=GPL-3.0-or-later
PKG_MAINTAINER:=Stan Grishin <stangri@melmac.ca>
-PKG_VERSION:=1.9.0-1
+PKG_VERSION:=1.9.2-3
LUCI_TITLE:=Simple Adblock Web UI
LUCI_DESCRIPTION:=Provides Web UI for simple-adblock service.
end
function checkNftset()
- if sys.call("command -v nft") == 0 then
+ if sys.call("command -v nft >/dev/null 2>&1") == 0 then
return true
else
return false
dns:value("dnsmasq.addnhosts", translate("DNSMASQ Additional Hosts"))
dns:value("dnsmasq.conf", translate("DNSMASQ Config"))
if checkDnsmasqIpset() then
- dns:value("dnsmasq.ipset", translate("DNSMASQ IP Set"))
+ dns:value("dnsmasq.ipset", translate("DNSMASQ Ipset"))
end
if checkDnsmasqNftset() then
- dns:value("dnsmasq.nftset", translate("DNSMASQ NFT Set"))
+ dns:value("dnsmasq.nftset", translate("DNSMASQ Nft Set"))
end
dns:value("dnsmasq.servers", translate("DNSMASQ Servers File"))
end
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:322
-msgid "DNSMASQ IP Set"
+msgid "DNSMASQ Ipset"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:325
-msgid "DNSMASQ NFT Set"
+msgid "DNSMASQ Nft Set"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:327
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:322
-msgid "DNSMASQ IP Set"
+msgid "DNSMASQ Ipset"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:325
-msgid "DNSMASQ NFT Set"
+msgid "DNSMASQ Nft Set"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:327
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:322
-msgid "DNSMASQ IP Set"
+msgid "DNSMASQ Ipset"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:325
-msgid "DNSMASQ NFT Set"
+msgid "DNSMASQ Nft Set"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:327
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:322
-msgid "DNSMASQ IP Set"
+msgid "DNSMASQ Ipset"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:325
-msgid "DNSMASQ NFT Set"
+msgid "DNSMASQ Nft Set"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:327
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:322
-msgid "DNSMASQ IP Set"
+msgid "DNSMASQ Ipset"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:325
-msgid "DNSMASQ NFT Set"
+msgid "DNSMASQ Nft Set"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:327
msgstr "DNSMASQ Konfig"
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:322
-msgid "DNSMASQ IP Set"
-msgstr "DNSMASQ IP-sæt"
+msgid "DNSMASQ Ipset"
+msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:325
-msgid "DNSMASQ NFT Set"
-msgstr "DNSMASQ NFT-sæt"
+msgid "DNSMASQ Nft Set"
+msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:327
msgid "DNSMASQ Servers File"
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:290
msgid "none"
msgstr "ingen"
+
+#~ msgid "DNSMASQ IP Set"
+#~ msgstr "DNSMASQ IP-sæt"
+
+#~ msgid "DNSMASQ NFT Set"
+#~ msgstr "DNSMASQ NFT-sæt"
msgid ""
msgstr ""
-"PO-Revision-Date: 2022-08-30 18:53+0000\n"
+"PO-Revision-Date: 2022-10-23 17:26+0000\n"
"Last-Translator: ssantos <ssantos@web.de>\n"
"Language-Team: German <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationssimple-adblock/de/>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.14.1-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:250
msgid "%s Error: %s"
msgstr "DNSMASQ-Konfiguration"
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:322
-msgid "DNSMASQ IP Set"
-msgstr "DNSMASQ IP Set"
+msgid "DNSMASQ Ipset"
+msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:325
-msgid "DNSMASQ NFT Set"
+msgid "DNSMASQ Nft Set"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:327
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:371
msgid "Individual domains to be allowed."
-msgstr "Einzelne erlaubte Domains"
+msgstr "Einzelne zuzulassende Domänen."
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:379
msgid "Individual domains to be blocked."
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:265
msgid "Perform config update before downloading the block/allow-lists."
-msgstr "Konfigurationsupdate vor Laden der Block/Allowlists durchführen"
+msgstr ""
+"Konfigurationsaktualisierung vor dem Herunterladen der Block/Allow-Listen "
+"durchführen."
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:298
msgid ""
#: applications/luci-app-simple-adblock/luasrc/controller/simple-adblock.lua:4
#: applications/luci-app-simple-adblock/root/usr/share/luci/menu.d/luci-app-simple-adblock.json:3
msgid "Simple AdBlock"
-msgstr "Simple AdBlock"
+msgstr "Einfacher AdBlock"
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:193
msgid "Simple AdBlock Settings"
msgid "none"
msgstr "kein"
+#~ msgid "DNSMASQ IP Set"
+#~ msgstr "DNSMASQ IP Set"
+
+#~ msgid "DNSMASQ NFT Set"
+#~ msgstr "DNSMASQ NFT-Set"
+
#~ msgid "%s is blocking %s domains (with %s)."
#~ msgstr "%s blockiert %s Domains (mit %s)."
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:322
-msgid "DNSMASQ IP Set"
+msgid "DNSMASQ Ipset"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:325
-msgid "DNSMASQ NFT Set"
+msgid "DNSMASQ Nft Set"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:327
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:322
-msgid "DNSMASQ IP Set"
+msgid "DNSMASQ Ipset"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:325
-msgid "DNSMASQ NFT Set"
+msgid "DNSMASQ Nft Set"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:327
msgstr "Config de DNSMASQ"
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:322
-msgid "DNSMASQ IP Set"
-msgstr "Conjunto de IPs de DNSMASQ"
+msgid "DNSMASQ Ipset"
+msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:325
-#, fuzzy
-msgid "DNSMASQ NFT Set"
-msgstr "Conjunto DNSMASQ NFT"
+msgid "DNSMASQ Nft Set"
+msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:327
msgid "DNSMASQ Servers File"
msgid "none"
msgstr "ninguno"
+#~ msgid "DNSMASQ IP Set"
+#~ msgstr "Conjunto de IPs de DNSMASQ"
+
+#, fuzzy
+#~ msgid "DNSMASQ NFT Set"
+#~ msgstr "Conjunto DNSMASQ NFT"
+
#~ msgid "%s is blocking %s domains (with %s)."
#~ msgstr "%s está bloqueando %s dominios (con %s)."
#~ "details."
#~ msgstr ""
#~ "Elija la opción de resolución DNS para crear la lista de bloqueos de "
-#~ "anuncios, consulte <a href=\"%s#dns-resolution-option\" "
-#~ "target=\"_blank\">LÉEME</a> para obtener más información."
+#~ "anuncios, consulte <a href=\"%s#dns-resolution-option\" target=\"_blank"
+#~ "\">LÉEME</a> para obtener más información."
#~ msgid "Blacklisted Domain URLs"
#~ msgstr "URLs de dominio en lista negra"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:322
-msgid "DNSMASQ IP Set"
+msgid "DNSMASQ Ipset"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:325
-msgid "DNSMASQ NFT Set"
+msgid "DNSMASQ Nft Set"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:327
msgstr "Configuration DNSMASQ"
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:322
-msgid "DNSMASQ IP Set"
-msgstr "Ensemble d’adresses IP DNSMASQ"
+msgid "DNSMASQ Ipset"
+msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:325
-msgid "DNSMASQ NFT Set"
+msgid "DNSMASQ Nft Set"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:327
msgid "none"
msgstr "aucun"
+#~ msgid "DNSMASQ IP Set"
+#~ msgstr "Ensemble d’adresses IP DNSMASQ"
+
#~ msgid "%s is blocking %s domains (with %s)."
#~ msgstr "%s bloque %s domaines (avec %s)."
#~ "details."
#~ msgstr ""
#~ "Choisissez l'option de résolution DNS pour laquelle vous souhaitez créer "
-#~ "la liste adblock, voir la <a href=\"%s#dns-resolution-option\" "
-#~ "target=\"_blank\">README</a> pour plus de détails."
+#~ "la liste adblock, voir la <a href=\"%s#dns-resolution-option\" target="
+#~ "\"_blank\">README</a> pour plus de détails."
#~ msgid "Blacklisted Domain URLs"
#~ msgstr "URLs des Domaines blacklistés"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:322
-msgid "DNSMASQ IP Set"
+msgid "DNSMASQ Ipset"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:325
-msgid "DNSMASQ NFT Set"
+msgid "DNSMASQ Nft Set"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:327
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:322
-msgid "DNSMASQ IP Set"
+msgid "DNSMASQ Ipset"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:325
-msgid "DNSMASQ NFT Set"
+msgid "DNSMASQ Nft Set"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:327
msgstr "DNSMASQ beállításai"
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:322
-msgid "DNSMASQ IP Set"
-msgstr "DNSMASQ IP beállítás"
+msgid "DNSMASQ Ipset"
+msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:325
-msgid "DNSMASQ NFT Set"
+msgid "DNSMASQ Nft Set"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:327
msgid "none"
msgstr "nincs"
+#~ msgid "DNSMASQ IP Set"
+#~ msgstr "DNSMASQ IP beállítás"
+
#~ msgid "Blacklisted Domain URLs"
#~ msgstr "Feketelistázott tartomány URL-jei"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:322
-msgid "DNSMASQ IP Set"
+msgid "DNSMASQ Ipset"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:325
-msgid "DNSMASQ NFT Set"
+msgid "DNSMASQ Nft Set"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:327
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:322
-msgid "DNSMASQ IP Set"
+msgid "DNSMASQ Ipset"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:325
-msgid "DNSMASQ NFT Set"
+msgid "DNSMASQ Nft Set"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:327
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:322
-msgid "DNSMASQ IP Set"
+msgid "DNSMASQ Ipset"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:325
-msgid "DNSMASQ NFT Set"
+msgid "DNSMASQ Nft Set"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:327
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:322
-msgid "DNSMASQ IP Set"
+msgid "DNSMASQ Ipset"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:325
-msgid "DNSMASQ NFT Set"
+msgid "DNSMASQ Nft Set"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:327
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:322
-msgid "DNSMASQ IP Set"
+msgid "DNSMASQ Ipset"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:325
-msgid "DNSMASQ NFT Set"
+msgid "DNSMASQ Nft Set"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:327
msgstr "Dnsmasq-oppsett"
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:322
-msgid "DNSMASQ IP Set"
+msgid "DNSMASQ Ipset"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:325
-msgid "DNSMASQ NFT Set"
+msgid "DNSMASQ Nft Set"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:327
msgstr "Konfiguracja DNSMASQ"
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:322
-msgid "DNSMASQ IP Set"
-msgstr "Zestaw IP DNSMASQ"
+msgid "DNSMASQ Ipset"
+msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:325
-msgid "DNSMASQ NFT Set"
-msgstr "Zestaw NFT DNSMASQ"
+msgid "DNSMASQ Nft Set"
+msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:327
msgid "DNSMASQ Servers File"
msgid "none"
msgstr "brak"
+#~ msgid "DNSMASQ IP Set"
+#~ msgstr "Zestaw IP DNSMASQ"
+
+#~ msgid "DNSMASQ NFT Set"
+#~ msgstr "Zestaw NFT DNSMASQ"
+
#~ msgid "%s is blocking %s domains (with %s)."
#~ msgstr "%s zablokowane %s domen (z %s)."
msgstr "Configuração do DNSMASQ"
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:322
-msgid "DNSMASQ IP Set"
-msgstr "Conjunto IP do DNSMASQ"
+msgid "DNSMASQ Ipset"
+msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:325
-msgid "DNSMASQ NFT Set"
-msgstr "Conjunto DNSMASQ NFT"
+msgid "DNSMASQ Nft Set"
+msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:327
msgid "DNSMASQ Servers File"
msgid "none"
msgstr "nenhum"
+#~ msgid "DNSMASQ IP Set"
+#~ msgstr "Conjunto IP do DNSMASQ"
+
+#~ msgid "DNSMASQ NFT Set"
+#~ msgstr "Conjunto DNSMASQ NFT"
+
#~ msgid "%s is blocking %s domains (with %s)."
#~ msgstr "%s está a bloquear %s domínios (com %s)."
msgstr "Configuração DNSMASQ"
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:322
-msgid "DNSMASQ IP Set"
-msgstr "Conjunto de IP do DNSMASQ"
+msgid "DNSMASQ Ipset"
+msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:325
-msgid "DNSMASQ NFT Set"
-msgstr "Conjunto DNSMASQ NFT"
+msgid "DNSMASQ Nft Set"
+msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:327
msgid "DNSMASQ Servers File"
msgid "none"
msgstr "nenhum"
+#~ msgid "DNSMASQ IP Set"
+#~ msgstr "Conjunto de IP do DNSMASQ"
+
+#~ msgid "DNSMASQ NFT Set"
+#~ msgstr "Conjunto DNSMASQ NFT"
+
#~ msgid "%s is blocking %s domains (with %s)."
#~ msgstr "%s está bloqueando os domínios %s (com %s)."
msgstr "DNSMASQ Configurație"
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:322
-msgid "DNSMASQ IP Set"
-msgstr "DNSMASQ Setați IP"
+msgid "DNSMASQ Ipset"
+msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:325
-msgid "DNSMASQ NFT Set"
-msgstr "Setați DNSMASQ NFT"
+msgid "DNSMASQ Nft Set"
+msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:327
msgid "DNSMASQ Servers File"
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:290
msgid "none"
msgstr "niciunul"
+
+#~ msgid "DNSMASQ IP Set"
+#~ msgstr "DNSMASQ Setați IP"
+
+#~ msgid "DNSMASQ NFT Set"
+#~ msgstr "Setați DNSMASQ NFT"
msgstr "Конфигурация DNSMASQ"
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:322
-msgid "DNSMASQ IP Set"
-msgstr "Установка IP DNSMASQ"
+msgid "DNSMASQ Ipset"
+msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:325
-msgid "DNSMASQ NFT Set"
+msgid "DNSMASQ Nft Set"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:327
msgid "none"
msgstr "ничего"
+#~ msgid "DNSMASQ IP Set"
+#~ msgstr "Установка IP DNSMASQ"
+
#~ msgid "%s is blocking %s domains (with %s)."
#~ msgstr "%s блокирует %s домены (с %s)."
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:322
-msgid "DNSMASQ IP Set"
+msgid "DNSMASQ Ipset"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:325
-msgid "DNSMASQ NFT Set"
+msgid "DNSMASQ Nft Set"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:327
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:322
-msgid "DNSMASQ IP Set"
+msgid "DNSMASQ Ipset"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:325
-msgid "DNSMASQ NFT Set"
+msgid "DNSMASQ Nft Set"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:327
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:322
-msgid "DNSMASQ IP Set"
+msgid "DNSMASQ Ipset"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:325
-msgid "DNSMASQ NFT Set"
+msgid "DNSMASQ Nft Set"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:327
msgstr "DNSMASQ Yapılandırması"
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:322
-msgid "DNSMASQ IP Set"
-msgstr "DNSMASQ IP Seti"
+msgid "DNSMASQ Ipset"
+msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:325
-msgid "DNSMASQ NFT Set"
-msgstr "DNSMASQ NFT Seti"
+msgid "DNSMASQ Nft Set"
+msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:327
msgid "DNSMASQ Servers File"
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:290
msgid "none"
msgstr "hiçbiri"
+
+#~ msgid "DNSMASQ IP Set"
+#~ msgstr "DNSMASQ IP Seti"
+
+#~ msgid "DNSMASQ NFT Set"
+#~ msgstr "DNSMASQ NFT Seti"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:322
-msgid "DNSMASQ IP Set"
+msgid "DNSMASQ Ipset"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:325
-msgid "DNSMASQ NFT Set"
+msgid "DNSMASQ Nft Set"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:327
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:322
-msgid "DNSMASQ IP Set"
+msgid "DNSMASQ Ipset"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:325
-msgid "DNSMASQ NFT Set"
+msgid "DNSMASQ Nft Set"
msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:327
msgstr "DNSMASQ 配置"
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:322
-msgid "DNSMASQ IP Set"
-msgstr "DNSMASQ IP 组"
+msgid "DNSMASQ Ipset"
+msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:325
-msgid "DNSMASQ NFT Set"
-msgstr "DNSMASQ NFT 集合"
+msgid "DNSMASQ Nft Set"
+msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:327
msgid "DNSMASQ Servers File"
msgid "none"
msgstr "无"
+#~ msgid "DNSMASQ IP Set"
+#~ msgstr "DNSMASQ IP 组"
+
+#~ msgid "DNSMASQ NFT Set"
+#~ msgstr "DNSMASQ NFT 集合"
+
#~ msgid "%s is blocking %s domains (with %s)."
#~ msgstr "%s正在阻止%s域(包含%s)。"
msgstr "Dnsmasq 組態"
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:322
-msgid "DNSMASQ IP Set"
-msgstr "DNSMASQ IP設定"
+msgid "DNSMASQ Ipset"
+msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:325
-msgid "DNSMASQ NFT Set"
-msgstr "DNSMASQ NFT 集合"
+msgid "DNSMASQ Nft Set"
+msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:327
msgid "DNSMASQ Servers File"
msgid "none"
msgstr "無"
+#~ msgid "DNSMASQ IP Set"
+#~ msgstr "DNSMASQ IP設定"
+
+#~ msgid "DNSMASQ NFT Set"
+#~ msgstr "DNSMASQ NFT 集合"
+
#~ msgid "%s is blocking %s domains (with %s)."
#~ msgstr "%s 正在封鎖 %s 網域(具有 %s)。"
msgid ""
msgstr ""
-"PO-Revision-Date: 2022-10-10 21:04+0000\n"
-"Last-Translator: Steffen Möller <steffen_moeller@gmx.de>\n"
+"PO-Revision-Date: 2022-10-23 17:26+0000\n"
+"Last-Translator: Zeik0s <zeik0s@zeik0s.at>\n"
"Language-Team: German <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationssmartdns/de/>\n"
"Language: de\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.14.1\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:426
msgid "Additional Args for upstream dns servers"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:187
msgid "Automatically set as upstream of dnsmasq when port changes."
-msgstr ""
+msgstr "Setze automatisch als Upstream von dnsmasq when sich der Port ändert."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:178
msgid "Cache Size"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:360
msgid ""
"DNS Server group belongs to, used with nameserver, such as office, home."
-msgstr "DNS-Server-Gruppe, zu der der Nameserver gehört, z. B. Büro, Zuhause."
+msgstr "DNS-Server-Gruppe, zu jener der Nameserver gehört, z. B. Büro, Zuhause."
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:335
msgid "DNS Server ip"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202
msgid "Domain TTL"
-msgstr "Domain TTL"
+msgstr "Domäne TTL"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:214
msgid "Domain TTL Max"
-msgstr "Domain TTL Max"
+msgstr "Domäne TTL Max"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:206
msgid "Domain TTL Min"
-msgstr "Domain TTL Min"
+msgstr "Domäne TTL Min"
#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:166
msgid "Domain prefetch"
include $(TOPDIR)/rules.mk
LUCI_TITLE:=Freifunk DHCP-Splash application
-LUCI_DEPENDS:=+luci-compat +luci-lib-nixio +luci-lib-iptparser +tc +kmod-sched +iptables-mod-nat-extra +iptables-mod-ipopt
+LUCI_DEPENDS:=+luci-compat +luci-lib-nixio +luci-lib-iptparser +luci-lua-runtime +tc +kmod-sched +iptables-mod-nat-extra +iptables-mod-ipopt
define Package/luci-app-splash/conffiles
/etc/config/luci_splash
LUCI_TITLE:=LuCI Statistics Application
LUCI_DEPENDS:= \
+luci-base \
- +luci-lib-jsonc \
+collectd \
+rrdtool1 \
+collectd-mod-rrdtool \
fi
### create config
- /usr/bin/stat-genconfig > /var/etc/collectd.conf
+ /usr/libexec/stat-genconfig > /var/etc/collectd.conf
### workaround broken permissions on /tmp
chmod 1777 /tmp
+++ /dev/null
-#!/usr/bin/lua
-
---[[
-
-Luci statistics - collectd configuration generator
-(c) 2008 Freifunk Leipzig / Jo-Philipp Wich <jow@openwrt.org>
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-$Id$
-
-]]--
-
-
-require("luci.model.uci")
-require("luci.util")
-require("luci.i18n")
-require("luci.jsonc")
-require("nixio.fs")
-
-local uci = luci.model.uci.cursor()
-local sections = uci:get_all( "luci_statistics" )
-
-
-function print(...)
- nixio.stdout:write(...)
- nixio.stdout:write("\n")
-end
-
-function section( plugin )
-
- local config = sections[ "collectd_" .. plugin ] or sections["collectd"]
-
- if type(config) == "table" and ( plugin == "collectd" or config.enable == "1" ) then
-
- local params = ""
-
- if type( plugins[plugin] ) == "function" then
- params = plugins[plugin]( config )
- else
- params = config_generic( config, plugins[plugin][1], plugins[plugin][2], plugins[plugin][3], plugin == "collectd" )
- end
-
-
- if plugin ~= "collectd" then
- print( "LoadPlugin " .. plugin )
-
- if params:len() > 0 then
- print( "<Plugin " .. plugin .. ">\n" .. params .. "</Plugin>\n" )
- else
- print( "" )
- end
- else
- print( params .. "\n" )
- end
- end
-end
-
-function config_generic( c, singles, bools, lists, nopad )
- local str = ""
-
- if type(c) == "table" then
-
- if type(singles) == "table" then
- for i, key in ipairs( singles ) do
- if preprocess[key] then
- c[key] = preprocess[key](c[key])
- end
-
- str = str .. _string( c[key], key, nopad )
- end
- end
-
- if type(bools) == "table" then
- for i, key in ipairs( bools ) do
- if preprocess[key] then
- c[key] = preprocess[key](c[key])
- end
-
- str = str .. _bool( c[key], key, nopad )
- end
- end
-
- if type(lists) == "table" then
- str = str .. _list_expand( c, lists, nopad )
- end
- end
-
- return str
-end
-
-function config_exec( c )
- local str = ""
-
- for s in pairs(sections) do
- for key, type in pairs({ Exec="collectd_exec_input", NotificationExec="collectd_exec_notify" }) do
- if sections[s][".type"] == type then
-
- cmd = sections[s].cmdline
-
- if cmd then
- cmd = cmd:gsub("^%s+", ""):gsub("%s+$", "")
- user = sections[s].cmduser or "nobody"
- group = sections[s].cmdgroup
-
- str = str .. "\t" .. key .. ' "' ..
- user .. ( group and ":" .. group or "" ) .. '" "' ..
- cmd:gsub('%s+', '" "') .. '"\n'
- end
- end
- end
- end
-
- return str
-end
-
-function config_curl( c )
- local str = ""
-
- for s in pairs(sections) do
- if sections[s][".type"] == "collectd_curl_page" then
- str = str .. "\t<Page \"" .. sections[s].name .. "\">\n" ..
- "\t\tURL \"" .. sections[s].url .. "\"\n" ..
- "\t\tMeasureResponseTime true\n" ..
- "\t</Page>\n"
- end
- end
-
- return str
-end
-
-function config_iptables( c )
- local str = ""
-
- for id, s in pairs(sections) do
- if s[".type"] == "collectd_iptables_match" or s[".type"] == "collectd_iptables_match6" then
- local tname = s.table and tostring(s.table)
- local chain = s.chain and tostring(s.chain)
-
- if tname and tname:match("^%S+$") and chain and chain:match("^%S+$") then
- local line = { #s[".type"] > 23 and "\tChain6" or "\tChain", tname, chain }
- local rule = s.rule and tostring(s.rule)
-
- if rule and rule:match("^%S+$") then
- line[#line+1] = rule
-
- local name = s.name and tostring(s.name)
- if name and name:match("^%S+$") then
- line[#line+1] = name
- end
- end
-
- str = str .. table.concat(line, " ") .. "\n"
- end
- end
- end
-
- return str
-end
-
-function config_network( c )
- local str = ""
-
- for s in pairs(sections) do
- for key, type in pairs({ Listen="collectd_network_listen", Server="collectd_network_server" }) do
- if sections[s][".type"] == type then
-
- host = sections[s].host
- port = sections[s].port
-
- if host then
- if port then
- str = str .. "\t" .. key .. " \"" .. host .. "\" \"" .. port .. "\"\n"
- else
- str = str .. "\t" .. key .. " \"" .. host .. "\"\n"
- end
- end
- end
- end
- end
-
- return str ..
- _string(c["MaxPacketSize"], "MaxPacketSize") ..
- _string(c["TimeToLive"], "TimeToLive") ..
- _bool(c["Forward"], "Forward") ..
- _bool(c["ReportStats"], "ReportStats")
-end
-
-
-function _list_expand( c, l, nopad )
- local str = ""
-
- for i, n in ipairs(l) do
- if c[n] then
- if preprocess[n] then
- c[n] = preprocess[n](c[n])
- end
-
- if n:find("(%w+)ses") then
- k = n:gsub("(%w+)ses$", "%1s")
- else
- k = n:gsub("(%w+)s$", "%1")
- end
-
- str = str .. _expand( c[n], k, nopad )
- end
- end
-
- return str
-end
-
-function _expand( s, n, nopad )
- local str = ""
-
- if type(s) == "string" then
- for i, v in ipairs( luci.util.split( s, "%s+", nil, true ) ) do
- str = str .. _string( v, n, nopad )
- end
- elseif type(s) == "table" then
- for i, v in ipairs(s) do
- str = str .. _string( v, n, nopad )
- end
- end
-
- return str
-end
-
-function _bool( s, n, nopad )
-
- local str = ""
- local pad = ""
- if not nopad then pad = "\t" end
-
- if s == "1" then
- str = pad .. n .. " true\n"
- elseif s == "0" then
- str = pad .. n .. " false\n"
- end
-
- return str
-end
-
-function _string( s, n, nopad )
-
- local str = ""
- local pad = ""
- if not nopad then pad = "\t" end
-
- if s then
- if s:find("[^%d]") or n == "Port" or n == "Irq" then
- if not s:find("[^%w]") and n ~= "Port" and n ~= "Irq" then
- str = pad .. n .. " " .. luci.util.trim(s)
- else
- str = pad .. n .. ' "' .. luci.util.trim(s) .. '"'
- end
- else
- str = pad .. n .. " " .. luci.util.trim(s)
- end
-
- str = str .. "\n"
- end
-
- return str
-end
-
-
-plugins = {
- collectd = {
- { "BaseDir", "Include", "PIDFile", "PluginDir", "TypesDB", "Interval", "ReadThreads", "Hostname" },
- { },
- { }
- },
- logfile = {
- { "LogLevel", "File" },
- { "Timestamp" },
- { }
- },
-}
-
-local plugin_dir = "/usr/share/luci/statistics/plugins/"
-for filename in nixio.fs.dir(plugin_dir) do
- local name = filename:gsub("%.json", "")
- if (name == "exec") then
- plugins[name] = config_exec
- elseif (name == "iptables") then
- plugins[name] = config_iptables
- elseif (name == "curl") then
- plugins[name] = config_curl
- elseif (name == "network") then
- plugins[name] = config_network
- else
- local plugin_def = luci.jsonc.parse(nixio.fs.readfile(plugin_dir .. filename))
- if type(plugin_def) == "table" then
- plugins[name] = plugin_def.legend
- end
- end
-end
-
-
-preprocess = {
- RRATimespans = function(val)
- local rv = { }
- for time in luci.util.imatch(val) do
- table.insert( rv, luci.util.parse_units(time) )
- end
- return table.concat(rv, " ")
- end
-}
-
-
-section("collectd")
-
-section("logfile")
-
-for plugin in pairs(plugins) do
- if (plugin ~= "collectd") and (plugin ~= "logfile") then
- section( plugin )
- end
-end
--- /dev/null
+#!/usr/bin/env ucode
+/*
+Luci statistics - collectd configuration generator
+(c) 2008-2022 Jo-Philipp Wich <jo@mein.io>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+*/
+
+'use strict';
+
+import { lsdir, open } from 'fs';
+import { cursor } from 'uci';
+
+const uci = cursor();
+const sections = uci.get_all('luci_statistics');
+
+const plugins = {
+ collectd: [
+ [ 'BaseDir', 'Include', 'PIDFile', 'PluginDir', 'TypesDB', 'Interval', 'ReadThreads', 'Hostname' ],
+ [],
+ []
+ ],
+ logfile: [
+ [ 'LogLevel', 'File' ],
+ [ 'Timestamp' ],
+ []
+ ],
+};
+
+function parse_units(ustr) {
+ let val = 0;
+
+ // unit map
+ const map = {
+ y : 60 * 60 * 24 * 366,
+ m : 60 * 60 * 24 * 31,
+ w : 60 * 60 * 24 * 7,
+ d : 60 * 60 * 24,
+ h : 60 * 60,
+ min: 60
+ };
+
+ // parse input string
+ for (let spec in match(lc(ustr), /([0-9.]+)([a-z]*)/g)) {
+ let num = +spec[1];
+ let mul = map[spec[2]] ?? map[substr(spec[2], 0, 1)] ?? 1;
+
+ val += num * mul;
+ }
+
+ return int(val);
+}
+
+const preprocess = {
+ RRATimespans: function(val) {
+ return join(' ', map(split(val, /\s+/), parse_units));
+ }
+};
+
+
+function _bool(s, n, nopad) {
+ if (s == '1')
+ return `${nopad ? '' : '\t'}${n} true\n`;
+
+ if (s == '0')
+ return `${nopad ? '' : '\t'}${n} false\n`;
+
+ return '';
+}
+
+function _string(s, n, nopad) {
+ if (s) {
+ if (n == 'Port' || n == 'Irq' || match(s, /[^0-9]/)) {
+ if (!match(s, /[^\w]/) && n != 'Port' && n != 'Irq')
+ return `${nopad ? '' : '\t'}${n} ${trim(s)}\n`;
+ else
+ return `${nopad ? '' : '\t'}${n} "${trim(s)}"\n`;
+ }
+ else {
+ return `${nopad ? '' : '\t'}${n} ${trim(s)}\n`;
+ }
+ }
+
+ return '';
+}
+
+function _expand(s, n, nopad) {
+ let str = "";
+
+ if (type(s) == 'string') {
+ for (let v in split(s, /\s+/))
+ str += _string(v, n, nopad);
+ }
+ else if (type(s) == 'array') {
+ for (let v in s)
+ str += _string(v, n, nopad);
+ }
+
+ return str;
+}
+
+function _list_expand(c, l, nopad) {
+ let str = '';
+
+ for (let n in l) {
+ if (c[n]) {
+ if (preprocess[n])
+ c[n] = preprocess[n](c[n]);
+
+ let m = match(n, /^(\w+)ses$/);
+ let k;
+
+ if (m)
+ k = `${m[1]}s`;
+ else
+ k = replace(n, /^(\w+)s$/, '$1');
+
+ str += _expand(c[n], k, nopad);
+ }
+ }
+
+ return str;
+}
+
+
+function config_generic(c, singles, bools, lists, nopad) {
+ let str = '';
+
+ if (c) {
+ for (let key in singles) {
+ if (preprocess[key])
+ c[key] = preprocess[key](c[key]);
+
+ str += _string(c[key], key, nopad);
+ }
+
+ for (let key in bools) {
+ if (preprocess[key])
+ c[key] = preprocess[key](c[key]);
+
+ str += _bool(c[key], key, nopad);
+ }
+
+ if (lists)
+ str += _list_expand(c, lists, nopad);
+ }
+
+ return str;
+}
+
+function config_exec(c) {
+ let str = "";
+
+ for (let k, s in sections) {
+ for (let key, type in { Exec: 'collectd_exec_input', NotificationExec: 'collectd_exec_notify' }) {
+ if (s['.type'] == type) {
+ let cmd = replace(trim(s.cmdline), /\s+/g, '" "');
+ let user = s.cmduser ?? 'nobody';
+ let group = s.cmdgroup;
+
+ if (cmd)
+ str += `\t${key} "${user}${group ? `:${group}` : ''}" "${cmd}"\n`;
+ }
+ }
+ }
+
+ return str;
+}
+
+function config_curl(c) {
+ let str = "";
+
+ for (let k, s in sections) {
+ if (s['.type'] == 'collectd_curl_page') {
+ str += `\t<Page "${s.name}">\n`
+ + `\t\tURL "${s.url}"\n`
+ + `\t\tMeasureResponseTime true\n`
+ + `\t</Page>\n`;
+ }
+ }
+
+ return str;
+}
+
+function config_iptables(c) {
+ let str = "";
+
+ for (let k, s in sections) {
+ for (let type, verb in { collectd_iptables_match: 'Chain', collectd_iptables_match6: 'Chain6' }) {
+ if (s['.type'] == type) {
+ let tname = `${s.table}`;
+ let chain = `${s.chain}`;
+
+ if (match(tname, /^\S+$/) && match(chain, /^\S+$/) && match(rule, /^\S+$/) && match(name, /^\S+$/)) {
+ str += `\t${verb} "${tname}" "${chain}"`;
+
+ let rule = `${s.rule}`;
+
+ if (match(rule, /^\S+$/)) {
+ str += ` "${rule}"`;
+
+ let name = `${s.name}`;
+
+ if (match(name, /^\S+$/))
+ str += ` "${name}"`;
+ }
+
+ str += '\n';
+ }
+ }
+ }
+ }
+
+ return str;
+}
+
+function config_network(c) {
+ let str = '';
+
+ for (let k, s in sections) {
+ for (let key, type in { Listen: 'collectd_network_listen', Server: 'collectd_network_server' }) {
+ if (s['.type'] == type && s.host) {
+ if (s.port)
+ str += `\t${key} "${s.host}" "${s.port}"\n`;
+ else
+ str += `\t${key} "${s.host}"\n`;
+ }
+ }
+ }
+
+ return str
+ + _string(c.MaxPacketSize, 'MaxPacketSize')
+ + _string(c.TimeToLive, 'TimeToLive')
+ + _bool(c.Forward, 'Forward')
+ + _bool(c.ReportStats, 'ReportStats')
+ ;
+}
+
+function section(plugin) {
+ let config = sections[`collectd_${plugin}`] ?? sections.collectd;
+
+ if (config && (plugin == 'collectd' || config.enable == '1')) {
+ let params;
+
+ if (type(plugins[plugin]) == 'function')
+ params = plugins[plugin](config);
+ else
+ params = config_generic(config, ...plugins[plugin], plugin == 'collectd');
+
+ if (plugin != 'collectd')
+ print(`LoadPlugin ${plugin}\n${length(params) ? `<Plugin ${plugin}>\n${params}</Plugin>\n` : ''}\n`);
+ else
+ print(`${params ?? ''}\n`);
+ }
+}
+
+
+let plugin_dir = '/usr/share/luci/statistics/plugins';
+
+for (let filename in lsdir(plugin_dir)) {
+ let name = replace(filename, /\.json$/, '');
+
+ switch (name) {
+ case 'exec': plugins[name] = config_exec; break;
+ case 'iptables': plugins[name] = config_iptables; break;
+ case 'curl': plugins[name] = config_curl; break;
+ case 'network': plugins[name] = config_network; break;
+ default:
+ plugins[name] = json(open(`${plugin_dir}/${filename}`))?.legend;
+ }
+}
+
+
+section('collectd');
+section('logfile');
+
+for (let plugin in plugins)
+ if (plugin != 'collectd' && plugin != 'logfile')
+ section(plugin);
#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:179
msgid ""
"This is documented on <a href=\"https://www.irif.fr/~jch/software/bittorrent/"
-"tcp-congestion-control.html\" target=\"_blank\" rel=\"noreferrer "
-"noopener\">tcp-congestion-control</a>."
+"tcp-congestion-control.html\" target=\"_blank\" rel=\"noreferrer noopener"
+"\">tcp-congestion-control</a>."
msgstr ""
#: applications/luci-app-transmission/root/usr/share/luci/menu.d/luci-app-transmission.json:3
msgid ""
msgstr ""
-"PO-Revision-Date: 2022-07-06 15:20+0000\n"
-"Last-Translator: Christian Sch. <pr0byt3@web.de>\n"
+"PO-Revision-Date: 2022-10-23 17:26+0000\n"
+"Last-Translator: Zeik0s <zeik0s@zeik0s.at>\n"
"Language-Team: German <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationstravelmate/de/>\n"
"Language: de\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.13.1-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: applications/luci-app-travelmate/htdocs/luci-static/resources/view/travelmate/overview.js:76
msgid "-- AP Selection --"
msgstr "Authentifizierung"
#: applications/luci-app-travelmate/htdocs/luci-static/resources/view/travelmate/stations.js:530
-#, fuzzy
msgid "Auto Added Open Uplink"
msgstr "Automatisch hinzugefügter offener Uplink"
msgid ""
"Configuration of the travelmate package to enable travel router "
"functionality. For further information <a href=\"https://github.com/openwrt/"
-"packages/blob/master/net/travelmate/files/README.md\" target=\"_blank\" "
-"rel=\"noreferrer noopener\" >check the online documentation</a>. <br /> "
+"packages/blob/master/net/travelmate/files/README.md\" target=\"_blank\" rel="
+"\"noreferrer noopener\" >check the online documentation</a>. <br /> "
"<em>Please note:</em> On first start please call the 'Interface Wizard' "
"once, to make the necessary network- and firewall settings."
msgstr ""
msgid ""
msgstr ""
-"PO-Revision-Date: 2021-03-04 13:50+0000\n"
-"Last-Translator: Said Zakaria <said.zakaria@gmail.com>\n"
+"PO-Revision-Date: 2022-10-22 18:07+0000\n"
+"Last-Translator: Abdullah AlShaikh <abdullah@alshai5.com>\n"
"Language-Team: Arabic <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsttyd/ar/>\n"
"Language: ar\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
-"X-Generator: Weblate 4.5.1-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:56
msgid "Accept only one client and exit on disconnection"
-msgstr ""
+msgstr "فعّل wVIF اذا كانت حالته:"
#: applications/luci-app-ttyd/htdocs/luci-static/resources/view/ttyd/config.js:15
msgid "Add instance"
include $(TOPDIR)/rules.mk
LUCI_TITLE:=Universal Plug & Play configuration module
-LUCI_DEPENDS:=+miniupnpd
+LUCI_DEPENDS:=+miniupnpd +rpcd-mod-ucode
include ../../luci.mk
+++ /dev/null
-#!/usr/bin/env lua
-
-local json = require "luci.jsonc"
-local UCI = require "luci.model.uci"
-local fs = require "nixio.fs"
-local sys = require "luci.sys"
-
-local methods = {
- get_status = {
- call = function()
- local uci = UCI.cursor()
- local lease_file = uci:get("upnpd", "config", "upnp_lease_file")
-
- local ipv4_hints = sys.net.ipv4_hints()
- local rule = { }
-
- local ipt = io.popen("iptables --line-numbers -t nat -xnvL MINIUPNPD 2>/dev/null")
- if ipt then
- local upnpf = lease_file and io.open(lease_file, "r")
- while true do
- local ln = ipt:read("*l")
- if not ln then
- break
- elseif ln:match("^%d+") then
- local num, proto, extport, intaddr, intport =
- ln:match("^(%d+).-([a-z]+).-dpt:(%d+) to:(%S-):(%d+)")
- local descr = ""
-
- if num and proto and extport and intaddr and intport then
- extport = tonumber(extport)
- intport = tonumber(intport)
-
- if upnpf then
- local uln = upnpf:read("*l")
- if uln then descr = uln:match(string.format("^%s:%d:%s:%d:%%d*:(.*)$", proto:upper(), extport, intaddr, intport)) end
- if not descr then descr = "" end
- end
-
- local host_hint, _, e
-
- for _,e in pairs(ipv4_hints) do
- if e[1] == intaddr then
- host_hint = e[2]
- break
- end
- end
-
- rule[#rule+1] = {
- num = num,
- proto = proto:upper(),
- extport = extport,
- intaddr = intaddr,
- host_hint = host_hint,
- intport = intport,
- descr = descr
- }
- end
- end
- end
-
- if upnpf then upnpf:close() end
- ipt:close()
- end
-
- local nft = io.popen("nft --handle list chain inet fw4 upnp_prerouting")
- if nft then
- local num = 1
- local upnpf = lease_file and io.open(lease_file, "r")
- while true do
- local ln = nft:read("*l")
- if not ln then
- break
- elseif ln:match("iif ") then
- local proto, extport, intaddr, intport =
- ln:match('^\t\tiif ".-" @nh,72,8 (0x[0-9a-f]+) th dport ([0-9]+) dnat ip to ([0-9%.]+):([0-9]+)')
- local descr = ""
-
- if (proto == "0x6" or proto == "0x11") and extport and intaddr and intport then
- proto = (proto == "0x6") and "TCP" or "UDP"
- extport = tonumber(extport)
- intport = tonumber(intport)
-
- if upnpf then
- local uln = upnpf:read("*l")
- if uln then descr = uln:match(string.format("^%s:%d:%s:%d:%%d*:(.*)$", proto, extport, intaddr, intport)) end
- if not descr then descr = "" end
- end
-
- local host_hint, _, e
-
- for _,e in pairs(ipv4_hints) do
- if e[1] == intaddr then
- host_hint = e[2]
- break
- end
- end
-
- rule[#rule+1] = {
- num = tostring(num),
- proto = proto,
- extport = extport,
- intaddr = intaddr,
- host_hint = host_hint,
- intport = intport,
- descr = descr
- }
-
- num = num + 1
- end
- end
- end
-
- if upnpf then upnpf:close() end
- nft:close()
- end
-
- return { rules = rule }
- end
- },
- delete_rule = {
- args = { token = "token" },
- call = function(args)
- local util = require "luci.util"
- local idx = args and tonumber(args.token)
- local res = {}
-
- if idx and idx > 0 then
- local uci = UCI.cursor()
-
- local lease_file = uci:get("upnpd", "config", "upnp_lease_file")
- if lease_file and fs.access(lease_file) then
- sys.call("sed -i -e '%dd' %s" %{ idx, util.shellquote(lease_file) })
- sys.call("/etc/init.d/miniupnpd restart")
- end
-
- uci.unload()
-
- return { result = "OK" }
- end
-
- return { result = "Bad request" }
- end
- }
-}
-
-local function parseInput()
- local parse = json.new()
- local done, err
-
- while true do
- local chunk = io.read(4096)
- if not chunk then
- break
- elseif not done and not err then
- done, err = parse:parse(chunk)
- end
- end
-
- if not done then
- print(json.stringify({ error = err or "Incomplete input" }))
- os.exit(1)
- end
-
- return parse:get()
-end
-
-local function validateArgs(func, uargs)
- local method = methods[func]
- if not method then
- print(json.stringify({ error = "Method not found" }))
- os.exit(1)
- end
-
- if type(uargs) ~= "table" then
- print(json.stringify({ error = "Invalid arguments" }))
- os.exit(1)
- end
-
- uargs.ubus_rpc_session = nil
-
- local k, v
- local margs = method.args or {}
- for k, v in pairs(uargs) do
- if margs[k] == nil or
- (v ~= nil and type(v) ~= type(margs[k]))
- then
- print(json.stringify({ error = "Invalid arguments" }))
- os.exit(1)
- end
- end
-
- return method
-end
-
-if arg[1] == "list" then
- local _, method, rv = nil, nil, {}
- for _, method in pairs(methods) do rv[_] = method.args or {} end
- print((json.stringify(rv):gsub(":%[%]", ":{}")))
-elseif arg[1] == "call" then
- local args = parseInput()
- local method = validateArgs(arg[2], args)
- local result, code = method.call(args)
- print((json.stringify(result):gsub("^%[%]$", "{}")))
- os.exit(code or 0)
-end
--- /dev/null
+// Copyright 2022 Jo-Philipp Wich <jo@mein.io>
+// Licensed to the public under the Apache License 2.0.
+
+'use strict';
+
+import { access, open, popen } from 'fs';
+import { connect } from 'ubus';
+import { cursor } from 'uci';
+
+// Establish ubus connection persistently outside of the call handler scope to
+// prevent premature GC'ing. Can be moved into `get_status` callback once
+// https://github.com/jow-/ucode/commit/a58fe4709f661b5f28e26701ea8638efccf5aeb6
+// is merged.
+const ubus = connect();
+
+const methods = {
+ get_status: {
+ call: function(req) {
+ const uci = cursor();
+
+ const rules = [];
+ const leases = [];
+
+ const leasefile = open(uci.get('upnpd', 'config', 'upnp_lease_file'), 'r');
+
+ if (leasefile) {
+ for (let line = leasefile.read('line'); length(line); line = leasefile.read('line')) {
+ const record = split(line, ':', 6);
+
+ if (length(record) == 6) {
+ push(leases, {
+ proto: uc(record[0]),
+ extport: +record[1],
+ intaddr: arrtoip(iptoarr(record[2])),
+ intport: +record[3],
+ expiry: +record[4],
+ description: trim(record[5])
+ });
+ }
+ }
+
+ leasefile.close();
+ }
+
+ const ipt = popen('iptables --line-numbers -t nat -xnvL MINIUPNPD 2>/dev/null');
+
+ if (ipt) {
+ for (let line = ipt.read('line'); length(line); line = ipt.read('line')) {
+ let m = match(line, /^([0-9]+)\s+([a-z]+).+dpt:([0-9]+) to:(\S+):([0-9]+)/);
+
+ if (m) {
+ push(rules, {
+ num: m[1],
+ proto: uc(m[2]),
+ extport: +m[3],
+ intaddr: arrtoip(iptoarr(m[4])),
+ intport: +m[5],
+ descr: ''
+ });
+ }
+ }
+
+ ipt.close();
+ }
+
+ const nft = popen('nft --handle list chain inet fw4 upnp_prerouting 2>/dev/null');
+
+ if (nft) {
+ for (let line = nft.read('line'), num = 1; length(line); line = nft.read('line')) {
+ let m = match(line, /^\t\tiif ".+" @nh,72,8 (0x6|0x11) th dport ([0-9]+) dnat ip to ([0-9.]+):([0-9]+)/);
+
+ if (m) {
+ push(rules, {
+ num: `${num}`,
+ proto: (m[1] == '0x6') ? 'TCP' : 'UDP',
+ extport: +m[2],
+ intaddr: arrtoip(iptoarr(m[3])),
+ intport: +m[4],
+ descr: ''
+ });
+
+ num++;
+ }
+ }
+
+ nft.close();
+ }
+
+ return ubus.defer('luci-rpc', 'getHostHints', {}, function(rc, host_hints) {
+ for (let rule in rules) {
+ for (let lease in leases) {
+ if (lease.proto == rule.proto &&
+ lease.intaddr == rule.intaddr &&
+ lease.intport == rule.intport &&
+ lease.extport == rule.extport)
+ {
+ rule.descr = lease.description;
+ break;
+ }
+ }
+
+ for (let mac, hint in host_hints) {
+ if (rule.intaddr in hint.ipaddrs) {
+ rule.host_hint = hint.name;
+ break;
+ }
+ }
+ }
+
+ req.reply({ rules });
+ });
+ }
+ },
+
+ delete_rule: {
+ args: { token: 'token' },
+ call: function(req) {
+ const idx = +req.args?.token;
+
+ if (idx > 0) {
+ const uci = cursor();
+ const leasefile = uci.get('upnpd', 'config', 'upnp_lease_file');
+
+ if (access(leasefile)) {
+ system(['sed', '-i', '-e', `${idx}d`, leasefile]);
+ system(['/etc/init.d/miniupnpd', 'restart']);
+ }
+
+ return { result: 'OK' };
+ }
+
+ return { result: 'Bad request' };
+ }
+ }
+};
+
+return { 'luci.upnp': methods };
+
+
msgid ""
msgstr ""
-"PO-Revision-Date: 2021-09-17 06:52+0000\n"
-"Last-Translator: Mark MA <daomeideshu@gmail.com>\n"
+"PO-Revision-Date: 2022-10-22 18:07+0000\n"
+"Last-Translator: Abdullah AlShaikh <abdullah@alshai5.com>\n"
"Language-Team: Arabic <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsvpn-policy-routing/ar/>\n"
"Language: ar\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
-"X-Generator: Weblate 4.9-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:61
msgid "%s (disabled)"
-msgstr ""
+msgstr "%s (غير مفعّل)"
#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:56
msgid "%s (strict mode)"
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"PO-Revision-Date: 2022-07-20 17:18+0000\n"
-"Last-Translator: ssantos <ssantos@web.de>\n"
+"PO-Revision-Date: 2022-10-23 17:26+0000\n"
+"Last-Translator: Zeik0s <zeik0s@zeik0s.at>\n"
"Language-Team: German <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationswatchcat/de/>\n"
"Language: de\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.14-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: applications/luci-app-watchcat/htdocs/luci-static/resources/view/watchcat.js:104
msgid ""
"<i>Applies to Ping Reboot, Restart Interface, and Run Script modes</i> <br /"
"> Specify the interface to monitor and react if a ping over it fails."
msgstr ""
+"<i>Trifft auf Ping Neustart, Reaktivieren der Schnittstelle und Skript "
+"ausführende Modi zu</i><br /> Nenne die zu überwachende Schnittstelle und "
+"reagiere, falls ein Ping darauf fehlschlägt."
#: applications/luci-app-watchcat/htdocs/luci-static/resources/view/watchcat.js:60
msgid "Address family for pinging the host"
-msgstr ""
+msgstr "Adressfamilie für pingen des Hosts"
#: applications/luci-app-watchcat/htdocs/luci-static/resources/view/watchcat.js:94
msgid ""
msgstr "Host zu überprüfen"
#: applications/luci-app-watchcat/htdocs/luci-static/resources/view/watchcat.js:71
-#, fuzzy
msgid ""
"How often to ping the host specified above. <br /><br />The default unit is "
"seconds, without a suffix, but you can use the suffix <b>m</b> for minutes, "
"b></li><li>1 hour would be: <b>1h</b></li><li>1 week would be: <b>7d</b></"
"li><ul>"
msgstr ""
-"Wie oft der oben angegebene Host angepingt werden soll. Der Standardwert ist "
-"in Sekunden, ohne suffix. Verwendbare suffice m für Minute h für Stunden "
-"oder d für Tage. Beispiel: zehn Sekunden wären: 10 oder 10s, fünf Minuten "
-"wären: 5m, eine Stunde wäre: 1h, eine Woche wäre: 7d"
+"Wie oft der oben angegebene Host angepingt werden soll. <br /><br />Der "
+"Standardwert ist in Sekunden, ohne suffix, aber du kannst Suffix <b>m</b> "
+"für Minuten, <b>h</b> für Stunden oder <b>d</b> für Tage. <br /><br "
+"/>Beispiele: <ul><li>zehn Sekunden wären: <b>10</b> oder <b>10s</b></"
+"li><li>fünf Minuten wären: <b>5m</b></li><li>eine Stunde wäre: <b>1h</b></"
+"li><li>eine Woche wäre: <b>7d</b></li><ul>"
#: applications/luci-app-watchcat/htdocs/luci-static/resources/view/watchcat.js:85
msgid "Huge: 1492 bytes"
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"PO-Revision-Date: 2022-07-31 13:17+0000\n"
-"Last-Translator: Christophe Blancon <christophe.blancon@gmail.com>\n"
+"PO-Revision-Date: 2022-10-23 17:26+0000\n"
+"Last-Translator: Amaury <y0da@live.fr>\n"
"Language-Team: French <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationswatchcat/fr/>\n"
"Language: fr\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.14-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: applications/luci-app-watchcat/htdocs/luci-static/resources/view/watchcat.js:104
msgid ""
"<i>Applies to Ping Reboot, Restart Interface, and Run Script modes</i> <br /"
"> Specify the interface to monitor and react if a ping over it fails."
msgstr ""
+"<i>S'applique aux modes de redémarrage par ping et de redémarrage "
+"périodique</i> <br/>Indiquer l'interface à monitorer et corriger en cas "
+"d'échec de ping."
#: applications/luci-app-watchcat/htdocs/luci-static/resources/view/watchcat.js:60
msgid "Address family for pinging the host"
msgstr ""
"Project-Id-Version: LuCI: watchcat\n"
"POT-Creation-Date: 2013-10-06 11:15+0300\n"
-"PO-Revision-Date: 2021-10-30 16:38+0000\n"
-"Last-Translator: masta0f1eave <lomskoff.dima@gmail.com>\n"
+"PO-Revision-Date: 2022-10-19 10:29+0000\n"
+"Last-Translator: sergio <sergio+it@outerface.net>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationswatchcat/ru/>\n"
"Language: ru\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.9-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
"Project-Info: Это технический перевод, не дословный. Главное-удобный русский "
"интерфейс, все проверялось в графическом режиме, совместим с другими apps\n"
"<i>Applies to Ping Reboot, Restart Interface, and Run Script modes</i> <br /"
"> Specify the interface to monitor and react if a ping over it fails."
msgstr ""
+"<i>Используется для Ping Reboot, перезапуска интерфейса, и запуска скриптов</"
+"i> <br /> Укажите интерфейс для мониторинга и реакции на отсуствие пинга."
#: applications/luci-app-watchcat/htdocs/luci-static/resources/view/watchcat.js:60
msgid "Address family for pinging the host"
-msgstr ""
+msgstr "Семейство адресов что бы пинговать хост"
#: applications/luci-app-watchcat/htdocs/luci-static/resources/view/watchcat.js:94
msgid ""
#: applications/luci-app-xfrpc/htdocs/luci-static/resources/view/xfrpc.js:95
msgid ""
-"LogLevel specifies the minimum log level. Valid values are \"Debug\", "
-"\"Info\", \"Notice\", \"Warning\", \"Error\", \"Critical\", \"Alert\" and "
+"LogLevel specifies the minimum log level. Valid values are \"Debug\", \"Info"
+"\", \"Notice\", \"Warning\", \"Error\", \"Critical\", \"Alert\" and "
"\"Emergency\"."
msgstr ""
msgid ""
msgstr ""
-"PO-Revision-Date: 2022-07-06 15:20+0000\n"
-"Last-Translator: Christian Sch. <pr0byt3@web.de>\n"
+"PO-Revision-Date: 2022-10-23 17:26+0000\n"
+"Last-Translator: Zeik0s <zeik0s@zeik0s.at>\n"
"Language-Team: German <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsyggdrasil/de/>\n"
"Language: de\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.13.1-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/status.js:33
msgid "Active peers"
#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/keys.js:16
msgid "Keep this private. When compromised, generate a new keypair and IPv6."
msgstr ""
+"Halte dies geheim. Wenn kompromittiert, generiere ein neues Schlüsselpaar "
+"und IPv6."
#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/settings.js:52
msgid "Link-local port"
-msgstr ""
+msgstr "Verbindungs-lokaler Port"
#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/peers.js:21
msgid ""
use warnings;
use IPC::Open2;
use POSIX;
+use Text::Balanced qw(gen_extract_tagged);
$ENV{'LC_ALL'} = 'C';
POSIX::setlocale(POSIX::LC_ALL, 'C');
my %keywords = (
'.js' => [ '_:1', '_:1,2c', 'N_:2,3', 'N_:2,3,4c' ],
+ '.ut' => [ '_:1', '_:1,2c', 'N_:2,3', 'N_:2,3,4c' ],
+ '.uc' => [ '_:1', '_:1,2c', 'translate:1', 'translate:1,2c', 'N_:2,3', 'N_:2,3,4c', 'ntranslate:2,3', 'ntranslate:2,3,4c' ],
'.lua' => [ '_:1', '_:1,2c', 'translate:1', 'translate:1,2c', 'translatef:1', 'N_:2,3', 'N_:2,3,4c', 'ntranslate:2,3', 'ntranslate:2,3,4c' ],
'.htm' => [ '_:1', '_:1,2c', 'translate:1', 'translate:1,2c', 'translatef:1', 'N_:2,3', 'N_:2,3,4c', 'ntranslate:2,3', 'ntranslate:2,3,4c' ],
'.json' => [ '_:1', '_:1,2c' ]
if ($ext eq '.htm' || $ext eq '.lua') {
push @cmd, '--language=Lua';
}
- elsif ($ext eq '.js' || $ext eq '.json') {
+ elsif ($ext eq '.ut' || $ext eq '.uc' || $ext eq '.js' || $ext eq '.json') {
push @cmd, '--language=JavaScript';
}
return ("[==[$source]==]", @extra_function_keywords);
}
+sub preprocess_ut($$) {
+ my ($path, $source) = @_;
+
+ # Translate the .ut source into valid JavaScript code by enclosing template text
+ # in multiline comments and extracting blocks as plain code.
+ my $comt = gen_extract_tagged('{#', '#}', '(?s).*?(?=\{[#{%])');
+ my $expr = gen_extract_tagged('{{', '}}', '(?s).*?(?=\{[#{%])');
+ my $stmt = gen_extract_tagged('{%', '%}', '(?s).*?(?=\{[#{%])');
+
+ my $res = '';
+
+ while (length($source)) {
+ my ($block, $remain, $prefix);
+
+ ($block, $remain, $prefix) = $comt->($source);
+ ($block, $remain, $prefix) = $expr->($source) unless defined $block;
+ ($block, $remain, $prefix) = $stmt->($source) unless defined $block;
+
+ last unless defined $block;
+
+ $source = $remain;
+
+ $prefix =~ s!\*/!*\\/!g;
+ $res .= '/*' . $prefix . '*/';
+
+ if ($block =~ s!^\{#(.*)#}$!$1!s) {
+ $block =~ s!\*/!*\\/!g;
+ $res .= '/*' . $block . '*/';
+ }
+ elsif ($block =~ s!^\{\{(.*)}}$!$1!s) {
+ $block =~ s!^[+-]!!;
+ $block =~ s![+-]$!!;
+ $res .= '(' . $block . ')';
+ }
+ elsif ($block =~ s!^\{%(.*)%}$!$1!s) {
+ $block =~ s!^[+-]!!;
+ $block =~ s![+-]$!!;
+ $res .= '{' . $block . '}';
+ }
+ }
+
+ if ($source =~ m!^(.*)\{%[+-]?(.*)$!s) {
+ my $prefix = $1;
+ my $block = $2;
+
+ $prefix =~ s!\*/!*\\/!g;
+ $res .= '/*' . $prefix . '*/';
+ $res .= '{' . $block . '}';
+ }
+
+ return ($res);
+}
+
sub preprocess_lua($$) {
my ($path, $source) = @_;
print $msguniq_in "msgid \"\"\nmsgstr \"Content-Type: text/plain; charset=UTF-8\"\n";
-if (open F, "find @ARGV -type f '(' -name '*.htm' -o -name '*.lua' -o -name '*.js' -o -path '*/menu.d/*.json' -o -path '*/acl.d/*.json' -o -path '*/statistics/plugins/*.json' ')' |")
+if (open F, "find @ARGV -type f '(' -name '*.htm' -o -name '*.lua' -o -name '*.js' -o -name '*.uc' -o -name '*.ut' -o -path '*/menu.d/*.json' -o -path '*/acl.d/*.json' -o -path '*/statistics/plugins/*.json' ')' |")
{
while (defined( my $file = readline F))
{
{
($source, @extra_function_keywords) = preprocess_htm($file, $source);
}
+ elsif ($file =~ m!\.ut$!)
+ {
+ ($source, @extra_function_keywords) = preprocess_ut($file, $source);
+ }
elsif ($file =~ m!\.lua$!)
{
($source, @extra_function_keywords) = preprocess_lua($file, $source);
echo -n "Updating modules/luci-base/po/templates/base.pot ... "
./build/i18n-scan.pl \
- modules/luci-base/ modules/luci-compat/ modules/luci-mod-admin-full/ \
+ modules/luci-base/ modules/luci-compat/ modules/luci-lua-runtime/ \
modules/luci-mod-network modules/luci-mod-status modules/luci-mod-system/ \
protocols/ themes/ \
> modules/luci-base/po/templates/base.pot
--- /dev/null
+#!/usr/bin/perl
+# zoneinfo2ucode.pl - Make ucode module from /usr/share/zoneinfo
+# Execute from within root of Luci feed, usually feeds/luci
+
+use strict;
+
+my %TZ;
+
+my $tzdin = $ARGV[0] || "/usr/share/zoneinfo";
+my $tzdout = $ARGV[1] || "./modules/luci-base/ucode/zoneinfo.uc";
+
+local $/ = "\012";
+open( ZTAB, "< $tzdin/zone.tab" ) || die "open($tzdin/zone.tab): $!";
+
+while( ! eof ZTAB ) {
+ chomp( my $line = readline ZTAB );
+ next if $line =~ /^#/ || $line =~ /^\s+$/;
+
+ my ( undef, undef, $zone, @comment ) = split /\s+/, $line;
+
+ printf STDERR "%-40s", $zone;
+
+ if( open ZONE, "< $tzdin/$zone" ) {
+ seek ZONE, -2, 2;
+
+ while( tell(ZONE) > 0 ) {
+ read ZONE, my $char, 1;
+ ( $char eq "\012" ) ? last : seek ZONE, -2, 1;
+ }
+
+ chomp( my $tz = readline ZONE );
+ print STDERR ( $tz || "(no tzinfo found)" ), "\n";
+ close ZONE;
+
+ if( $tz ) {
+ $zone =~ s/_/ /g;
+ $TZ{$zone} = $tz;
+ }
+ }
+ else
+ {
+ print STDERR "open($tzdin/$zone): $!\n";
+ }
+}
+
+close ZTAB;
+
+# Add Etc/GMT zones from manually as they are not in zone.tab
+$TZ{"Etc/GMT"} = "GMT0";
+$TZ{"Etc/GMT-1"} = "<+01>-1";
+$TZ{"Etc/GMT-2"} = "<+02>-2";
+$TZ{"Etc/GMT-3"} = "<+03>-3";
+$TZ{"Etc/GMT-4"} = "<+04>-4";
+$TZ{"Etc/GMT-5"} = "<+05>-5";
+$TZ{"Etc/GMT-6"} = "<+06>-6";
+$TZ{"Etc/GMT-7"} = "<+07>-7";
+$TZ{"Etc/GMT-8"} = "<+08>-8";
+$TZ{"Etc/GMT-9"} = "<+09>-9";
+$TZ{"Etc/GMT-10"} = "<+10>-10";
+$TZ{"Etc/GMT-11"} = "<+11>-11";
+$TZ{"Etc/GMT-12"} = "<+12>-12";
+$TZ{"Etc/GMT-13"} = "<+13>-13";
+$TZ{"Etc/GMT-14"} = "<+14>-14";
+$TZ{"Etc/GMT+1"} = "<-01>1";
+$TZ{"Etc/GMT+2"} = "<-02>2";
+$TZ{"Etc/GMT+3"} = "<-03>3";
+$TZ{"Etc/GMT+4"} = "<-04>4";
+$TZ{"Etc/GMT+5"} = "<-05>5";
+$TZ{"Etc/GMT+6"} = "<-06>6";
+$TZ{"Etc/GMT+7"} = "<-07>7";
+$TZ{"Etc/GMT+8"} = "<-08>8";
+$TZ{"Etc/GMT+9"} = "<-09>9";
+$TZ{"Etc/GMT+10"} = "<-10>10";
+$TZ{"Etc/GMT+11"} = "<-11>11";
+$TZ{"Etc/GMT+12"} = "<-12>12";
+
+open(O, "> $tzdout") || die "open($tzdout): $!\n";
+
+print STDERR "Writing time zones to $tzdout ... ";
+print O <<HEAD;
+// Autogenerated by zoneinfo2ucode.pl
+
+export default {
+HEAD
+
+foreach my $zone ( sort keys %TZ ) {
+ printf O "\t'%s': '%s',\n", $zone, $TZ{$zone}
+}
+
+print O "};\n";
+close O;
+
+print STDERR "done\n";
LUCI_DESCRIPTION:=Standard OpenWrt set including full admin with ppp support and the default Bootstrap theme
LUCI_DEPENDS:= \
+nginx +nginx-mod-luci +luci-mod-admin-full +luci-theme-bootstrap \
- +luci-app-firewall +luci-app-opkg +luci-proto-ppp +libiwinfo-lua +IPV6:luci-proto-ipv6 \
+ +luci-app-firewall +luci-app-opkg +luci-proto-ppp +IPV6:luci-proto-ipv6 \
+rpcd-mod-rrdns
PKG_LICENSE:=Apache-2.0
LUCI_DEPENDS:= \
+nginx-ssl +nginx-mod-luci-ssl +luci-mod-admin-full +luci-theme-bootstrap \
- +luci-app-firewall +luci-app-opkg +luci-proto-ppp +libiwinfo-lua +IPV6:luci-proto-ipv6 \
+ +luci-app-firewall +luci-app-opkg +luci-proto-ppp +IPV6:luci-proto-ipv6 \
+rpcd-mod-rrdns +openssl-util
PKG_LICENSE:=Apache-2.0
LUCI_DESCRIPTION:=Standard OpenWrt set including full admin with ppp support and the default Bootstrap theme
LUCI_DEPENDS:= \
+IPV6:luci-proto-ipv6 \
- +libiwinfo-lua \
+luci-app-attendedsysupgrade \
+luci-app-firewall \
+luci-app-opkg \
--- /dev/null
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=ucode-mod-html
+PKG_RELEASE:=1
+PKG_LICENSE:=ISC
+PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/ucode-mod-html
+ SECTION:=utils
+ CATEGORY:=Utilities
+ TITLE:=ucode HTML utility library
+ DEPENDS:=+libucode
+endef
+
+define Package/ucode-mod-html/install
+ $(INSTALL_DIR) $(1)/usr/lib/ucode
+ $(CP) $(PKG_BUILD_DIR)/html.so $(1)/usr/lib/ucode/
+endef
+
+define Build/Configure
+endef
+
+define Build/Compile
+ $(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS) $(FPIC) \
+ -Wall -ffunction-sections -Wl,--gc-sections -shared \
+ -o $(PKG_BUILD_DIR)/html.so $(PKG_BUILD_DIR)/html.c
+endef
+
+$(eval $(call BuildPackage,ucode-mod-html))
--- /dev/null
+/*
+ * Copyright (C) 2022 Jo-Philipp Wich <jo@mein.io>
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#define _GNU_SOURCE
+#include <stdlib.h>
+#include <stdbool.h>
+#include <stdint.h>
+#include <string.h>
+#include <limits.h>
+#include <unistd.h>
+#include <ctype.h>
+
+#include "ucode/module.h"
+
+
+typedef enum {
+ T_TEXT,
+ T_RAW,
+ T_OPEN,
+ T_ATTR,
+ T_CLOSE,
+ T_COMMENT,
+ T_CDATA,
+ T_PROCINST,
+ T_EOF
+} html_token_type_t;
+
+typedef bool (*html_token_callback_t)(html_token_type_t, const char *, size_t, void *);
+
+
+/* The array below encodes all named character entities as specified in
+ * https://html.spec.whatwg.org/multipage/named-characters.html#named-character-references
+ *
+ * Format of value is:
+ * bit 0 - 20: value of second unicode codepoint
+ * bit 21 - 31: unused
+ * bit 32 - 53: value of first unicode codepoint
+ * bit 54 - 62: unused
+ * bit 63: flag indicating whether semicolon is mandatory
+ *
+ * The array is pre-ordered to allow for efficient binary search.
+ */
+static const struct { const char *name; uint64_t value; } named_char_refs[] = {
+ { "AElig", 0x000000c600000000ULL },
+ { "AMP", 0x0000002600000000ULL },
+ { "Aacute", 0x000000c100000000ULL },
+ { "Abreve", 0x8000010200000000ULL },
+ { "Acirc", 0x000000c200000000ULL },
+ { "Acy", 0x8000041000000000ULL },
+ { "Afr", 0x8001d50400000000ULL },
+ { "Agrave", 0x000000c000000000ULL },
+ { "Alpha", 0x8000039100000000ULL },
+ { "Amacr", 0x8000010000000000ULL },
+ { "And", 0x80002a5300000000ULL },
+ { "Aogon", 0x8000010400000000ULL },
+ { "Aopf", 0x8001d53800000000ULL },
+ { "ApplyFunction", 0x8000206100000000ULL },
+ { "Aring", 0x000000c500000000ULL },
+ { "Ascr", 0x8001d49c00000000ULL },
+ { "Assign", 0x8000225400000000ULL },
+ { "Atilde", 0x000000c300000000ULL },
+ { "Auml", 0x000000c400000000ULL },
+ { "Backslash", 0x8000221600000000ULL },
+ { "Barv", 0x80002ae700000000ULL },
+ { "Barwed", 0x8000230600000000ULL },
+ { "Bcy", 0x8000041100000000ULL },
+ { "Because", 0x8000223500000000ULL },
+ { "Bernoullis", 0x8000212c00000000ULL },
+ { "Beta", 0x8000039200000000ULL },
+ { "Bfr", 0x8001d50500000000ULL },
+ { "Bopf", 0x8001d53900000000ULL },
+ { "Breve", 0x800002d800000000ULL },
+ { "Bscr", 0x8000212c00000000ULL },
+ { "Bumpeq", 0x8000224e00000000ULL },
+ { "CHcy", 0x8000042700000000ULL },
+ { "COPY", 0x000000a900000000ULL },
+ { "Cacute", 0x8000010600000000ULL },
+ { "Cap", 0x800022d200000000ULL },
+ { "CapitalDifferentialD", 0x8000214500000000ULL },
+ { "Cayleys", 0x8000212d00000000ULL },
+ { "Ccaron", 0x8000010c00000000ULL },
+ { "Ccedil", 0x000000c700000000ULL },
+ { "Ccirc", 0x8000010800000000ULL },
+ { "Cconint", 0x8000223000000000ULL },
+ { "Cdot", 0x8000010a00000000ULL },
+ { "Cedilla", 0x800000b800000000ULL },
+ { "CenterDot", 0x800000b700000000ULL },
+ { "Cfr", 0x8000212d00000000ULL },
+ { "Chi", 0x800003a700000000ULL },
+ { "CircleDot", 0x8000229900000000ULL },
+ { "CircleMinus", 0x8000229600000000ULL },
+ { "CirclePlus", 0x8000229500000000ULL },
+ { "CircleTimes", 0x8000229700000000ULL },
+ { "ClockwiseContourIntegral", 0x8000223200000000ULL },
+ { "CloseCurlyDoubleQuote", 0x8000201d00000000ULL },
+ { "CloseCurlyQuote", 0x8000201900000000ULL },
+ { "Colon", 0x8000223700000000ULL },
+ { "Colone", 0x80002a7400000000ULL },
+ { "Congruent", 0x8000226100000000ULL },
+ { "Conint", 0x8000222f00000000ULL },
+ { "ContourIntegral", 0x8000222e00000000ULL },
+ { "Copf", 0x8000210200000000ULL },
+ { "Coproduct", 0x8000221000000000ULL },
+ { "CounterClockwiseContourIntegral", 0x8000223300000000ULL },
+ { "Cross", 0x80002a2f00000000ULL },
+ { "Cscr", 0x8001d49e00000000ULL },
+ { "Cup", 0x800022d300000000ULL },
+ { "CupCap", 0x8000224d00000000ULL },
+ { "DD", 0x8000214500000000ULL },
+ { "DDotrahd", 0x8000291100000000ULL },
+ { "DJcy", 0x8000040200000000ULL },
+ { "DScy", 0x8000040500000000ULL },
+ { "DZcy", 0x8000040f00000000ULL },
+ { "Dagger", 0x8000202100000000ULL },
+ { "Darr", 0x800021a100000000ULL },
+ { "Dashv", 0x80002ae400000000ULL },
+ { "Dcaron", 0x8000010e00000000ULL },
+ { "Dcy", 0x8000041400000000ULL },
+ { "Del", 0x8000220700000000ULL },
+ { "Delta", 0x8000039400000000ULL },
+ { "Dfr", 0x8001d50700000000ULL },
+ { "DiacriticalAcute", 0x800000b400000000ULL },
+ { "DiacriticalDot", 0x800002d900000000ULL },
+ { "DiacriticalDoubleAcute", 0x800002dd00000000ULL },
+ { "DiacriticalGrave", 0x8000006000000000ULL },
+ { "DiacriticalTilde", 0x800002dc00000000ULL },
+ { "Diamond", 0x800022c400000000ULL },
+ { "DifferentialD", 0x8000214600000000ULL },
+ { "Dopf", 0x8001d53b00000000ULL },
+ { "Dot", 0x800000a800000000ULL },
+ { "DotDot", 0x800020dc00000000ULL },
+ { "DotEqual", 0x8000225000000000ULL },
+ { "DoubleContourIntegral", 0x8000222f00000000ULL },
+ { "DoubleDot", 0x800000a800000000ULL },
+ { "DoubleDownArrow", 0x800021d300000000ULL },
+ { "DoubleLeftArrow", 0x800021d000000000ULL },
+ { "DoubleLeftRightArrow", 0x800021d400000000ULL },
+ { "DoubleLeftTee", 0x80002ae400000000ULL },
+ { "DoubleLongLeftArrow", 0x800027f800000000ULL },
+ { "DoubleLongLeftRightArrow", 0x800027fa00000000ULL },
+ { "DoubleLongRightArrow", 0x800027f900000000ULL },
+ { "DoubleRightArrow", 0x800021d200000000ULL },
+ { "DoubleRightTee", 0x800022a800000000ULL },
+ { "DoubleUpArrow", 0x800021d100000000ULL },
+ { "DoubleUpDownArrow", 0x800021d500000000ULL },
+ { "DoubleVerticalBar", 0x8000222500000000ULL },
+ { "DownArrow", 0x8000219300000000ULL },
+ { "DownArrowBar", 0x8000291300000000ULL },
+ { "DownArrowUpArrow", 0x800021f500000000ULL },
+ { "DownBreve", 0x8000031100000000ULL },
+ { "DownLeftRightVector", 0x8000295000000000ULL },
+ { "DownLeftTeeVector", 0x8000295e00000000ULL },
+ { "DownLeftVector", 0x800021bd00000000ULL },
+ { "DownLeftVectorBar", 0x8000295600000000ULL },
+ { "DownRightTeeVector", 0x8000295f00000000ULL },
+ { "DownRightVector", 0x800021c100000000ULL },
+ { "DownRightVectorBar", 0x8000295700000000ULL },
+ { "DownTee", 0x800022a400000000ULL },
+ { "DownTeeArrow", 0x800021a700000000ULL },
+ { "Downarrow", 0x800021d300000000ULL },
+ { "Dscr", 0x8001d49f00000000ULL },
+ { "Dstrok", 0x8000011000000000ULL },
+ { "ENG", 0x8000014a00000000ULL },
+ { "ETH", 0x000000d000000000ULL },
+ { "Eacute", 0x000000c900000000ULL },
+ { "Ecaron", 0x8000011a00000000ULL },
+ { "Ecirc", 0x000000ca00000000ULL },
+ { "Ecy", 0x8000042d00000000ULL },
+ { "Edot", 0x8000011600000000ULL },
+ { "Efr", 0x8001d50800000000ULL },
+ { "Egrave", 0x000000c800000000ULL },
+ { "Element", 0x8000220800000000ULL },
+ { "Emacr", 0x8000011200000000ULL },
+ { "EmptySmallSquare", 0x800025fb00000000ULL },
+ { "EmptyVerySmallSquare", 0x800025ab00000000ULL },
+ { "Eogon", 0x8000011800000000ULL },
+ { "Eopf", 0x8001d53c00000000ULL },
+ { "Epsilon", 0x8000039500000000ULL },
+ { "Equal", 0x80002a7500000000ULL },
+ { "EqualTilde", 0x8000224200000000ULL },
+ { "Equilibrium", 0x800021cc00000000ULL },
+ { "Escr", 0x8000213000000000ULL },
+ { "Esim", 0x80002a7300000000ULL },
+ { "Eta", 0x8000039700000000ULL },
+ { "Euml", 0x000000cb00000000ULL },
+ { "Exists", 0x8000220300000000ULL },
+ { "ExponentialE", 0x8000214700000000ULL },
+ { "Fcy", 0x8000042400000000ULL },
+ { "Ffr", 0x8001d50900000000ULL },
+ { "FilledSmallSquare", 0x800025fc00000000ULL },
+ { "FilledVerySmallSquare", 0x800025aa00000000ULL },
+ { "Fopf", 0x8001d53d00000000ULL },
+ { "ForAll", 0x8000220000000000ULL },
+ { "Fouriertrf", 0x8000213100000000ULL },
+ { "Fscr", 0x8000213100000000ULL },
+ { "GJcy", 0x8000040300000000ULL },
+ { "GT", 0x0000003e00000000ULL },
+ { "Gamma", 0x8000039300000000ULL },
+ { "Gammad", 0x800003dc00000000ULL },
+ { "Gbreve", 0x8000011e00000000ULL },
+ { "Gcedil", 0x8000012200000000ULL },
+ { "Gcirc", 0x8000011c00000000ULL },
+ { "Gcy", 0x8000041300000000ULL },
+ { "Gdot", 0x8000012000000000ULL },
+ { "Gfr", 0x8001d50a00000000ULL },
+ { "Gg", 0x800022d900000000ULL },
+ { "Gopf", 0x8001d53e00000000ULL },
+ { "GreaterEqual", 0x8000226500000000ULL },
+ { "GreaterEqualLess", 0x800022db00000000ULL },
+ { "GreaterFullEqual", 0x8000226700000000ULL },
+ { "GreaterGreater", 0x80002aa200000000ULL },
+ { "GreaterLess", 0x8000227700000000ULL },
+ { "GreaterSlantEqual", 0x80002a7e00000000ULL },
+ { "GreaterTilde", 0x8000227300000000ULL },
+ { "Gscr", 0x8001d4a200000000ULL },
+ { "Gt", 0x8000226b00000000ULL },
+ { "HARDcy", 0x8000042a00000000ULL },
+ { "Hacek", 0x800002c700000000ULL },
+ { "Hat", 0x8000005e00000000ULL },
+ { "Hcirc", 0x8000012400000000ULL },
+ { "Hfr", 0x8000210c00000000ULL },
+ { "HilbertSpace", 0x8000210b00000000ULL },
+ { "Hopf", 0x8000210d00000000ULL },
+ { "HorizontalLine", 0x8000250000000000ULL },
+ { "Hscr", 0x8000210b00000000ULL },
+ { "Hstrok", 0x8000012600000000ULL },
+ { "HumpDownHump", 0x8000224e00000000ULL },
+ { "HumpEqual", 0x8000224f00000000ULL },
+ { "IEcy", 0x8000041500000000ULL },
+ { "IJlig", 0x8000013200000000ULL },
+ { "IOcy", 0x8000040100000000ULL },
+ { "Iacute", 0x000000cd00000000ULL },
+ { "Icirc", 0x000000ce00000000ULL },
+ { "Icy", 0x8000041800000000ULL },
+ { "Idot", 0x8000013000000000ULL },
+ { "Ifr", 0x8000211100000000ULL },
+ { "Igrave", 0x000000cc00000000ULL },
+ { "Im", 0x8000211100000000ULL },
+ { "Imacr", 0x8000012a00000000ULL },
+ { "ImaginaryI", 0x8000214800000000ULL },
+ { "Implies", 0x800021d200000000ULL },
+ { "Int", 0x8000222c00000000ULL },
+ { "Integral", 0x8000222b00000000ULL },
+ { "Intersection", 0x800022c200000000ULL },
+ { "InvisibleComma", 0x8000206300000000ULL },
+ { "InvisibleTimes", 0x8000206200000000ULL },
+ { "Iogon", 0x8000012e00000000ULL },
+ { "Iopf", 0x8001d54000000000ULL },
+ { "Iota", 0x8000039900000000ULL },
+ { "Iscr", 0x8000211000000000ULL },
+ { "Itilde", 0x8000012800000000ULL },
+ { "Iukcy", 0x8000040600000000ULL },
+ { "Iuml", 0x000000cf00000000ULL },
+ { "Jcirc", 0x8000013400000000ULL },
+ { "Jcy", 0x8000041900000000ULL },
+ { "Jfr", 0x8001d50d00000000ULL },
+ { "Jopf", 0x8001d54100000000ULL },
+ { "Jscr", 0x8001d4a500000000ULL },
+ { "Jsercy", 0x8000040800000000ULL },
+ { "Jukcy", 0x8000040400000000ULL },
+ { "KHcy", 0x8000042500000000ULL },
+ { "KJcy", 0x8000040c00000000ULL },
+ { "Kappa", 0x8000039a00000000ULL },
+ { "Kcedil", 0x8000013600000000ULL },
+ { "Kcy", 0x8000041a00000000ULL },
+ { "Kfr", 0x8001d50e00000000ULL },
+ { "Kopf", 0x8001d54200000000ULL },
+ { "Kscr", 0x8001d4a600000000ULL },
+ { "LJcy", 0x8000040900000000ULL },
+ { "LT", 0x0000003c00000000ULL },
+ { "Lacute", 0x8000013900000000ULL },
+ { "Lambda", 0x8000039b00000000ULL },
+ { "Lang", 0x800027ea00000000ULL },
+ { "Laplacetrf", 0x8000211200000000ULL },
+ { "Larr", 0x8000219e00000000ULL },
+ { "Lcaron", 0x8000013d00000000ULL },
+ { "Lcedil", 0x8000013b00000000ULL },
+ { "Lcy", 0x8000041b00000000ULL },
+ { "LeftAngleBracket", 0x800027e800000000ULL },
+ { "LeftArrow", 0x8000219000000000ULL },
+ { "LeftArrowBar", 0x800021e400000000ULL },
+ { "LeftArrowRightArrow", 0x800021c600000000ULL },
+ { "LeftCeiling", 0x8000230800000000ULL },
+ { "LeftDoubleBracket", 0x800027e600000000ULL },
+ { "LeftDownTeeVector", 0x8000296100000000ULL },
+ { "LeftDownVector", 0x800021c300000000ULL },
+ { "LeftDownVectorBar", 0x8000295900000000ULL },
+ { "LeftFloor", 0x8000230a00000000ULL },
+ { "LeftRightArrow", 0x8000219400000000ULL },
+ { "LeftRightVector", 0x8000294e00000000ULL },
+ { "LeftTee", 0x800022a300000000ULL },
+ { "LeftTeeArrow", 0x800021a400000000ULL },
+ { "LeftTeeVector", 0x8000295a00000000ULL },
+ { "LeftTriangle", 0x800022b200000000ULL },
+ { "LeftTriangleBar", 0x800029cf00000000ULL },
+ { "LeftTriangleEqual", 0x800022b400000000ULL },
+ { "LeftUpDownVector", 0x8000295100000000ULL },
+ { "LeftUpTeeVector", 0x8000296000000000ULL },
+ { "LeftUpVector", 0x800021bf00000000ULL },
+ { "LeftUpVectorBar", 0x8000295800000000ULL },
+ { "LeftVector", 0x800021bc00000000ULL },
+ { "LeftVectorBar", 0x8000295200000000ULL },
+ { "Leftarrow", 0x800021d000000000ULL },
+ { "Leftrightarrow", 0x800021d400000000ULL },
+ { "LessEqualGreater", 0x800022da00000000ULL },
+ { "LessFullEqual", 0x8000226600000000ULL },
+ { "LessGreater", 0x8000227600000000ULL },
+ { "LessLess", 0x80002aa100000000ULL },
+ { "LessSlantEqual", 0x80002a7d00000000ULL },
+ { "LessTilde", 0x8000227200000000ULL },
+ { "Lfr", 0x8001d50f00000000ULL },
+ { "Ll", 0x800022d800000000ULL },
+ { "Lleftarrow", 0x800021da00000000ULL },
+ { "Lmidot", 0x8000013f00000000ULL },
+ { "LongLeftArrow", 0x800027f500000000ULL },
+ { "LongLeftRightArrow", 0x800027f700000000ULL },
+ { "LongRightArrow", 0x800027f600000000ULL },
+ { "Longleftarrow", 0x800027f800000000ULL },
+ { "Longleftrightarrow", 0x800027fa00000000ULL },
+ { "Longrightarrow", 0x800027f900000000ULL },
+ { "Lopf", 0x8001d54300000000ULL },
+ { "LowerLeftArrow", 0x8000219900000000ULL },
+ { "LowerRightArrow", 0x8000219800000000ULL },
+ { "Lscr", 0x8000211200000000ULL },
+ { "Lsh", 0x800021b000000000ULL },
+ { "Lstrok", 0x8000014100000000ULL },
+ { "Lt", 0x8000226a00000000ULL },
+ { "Map", 0x8000290500000000ULL },
+ { "Mcy", 0x8000041c00000000ULL },
+ { "MediumSpace", 0x8000205f00000000ULL },
+ { "Mellintrf", 0x8000213300000000ULL },
+ { "Mfr", 0x8001d51000000000ULL },
+ { "MinusPlus", 0x8000221300000000ULL },
+ { "Mopf", 0x8001d54400000000ULL },
+ { "Mscr", 0x8000213300000000ULL },
+ { "Mu", 0x8000039c00000000ULL },
+ { "NJcy", 0x8000040a00000000ULL },
+ { "Nacute", 0x8000014300000000ULL },
+ { "Ncaron", 0x8000014700000000ULL },
+ { "Ncedil", 0x8000014500000000ULL },
+ { "Ncy", 0x8000041d00000000ULL },
+ { "NegativeMediumSpace", 0x8000200b00000000ULL },
+ { "NegativeThickSpace", 0x8000200b00000000ULL },
+ { "NegativeThinSpace", 0x8000200b00000000ULL },
+ { "NegativeVeryThinSpace", 0x8000200b00000000ULL },
+ { "NestedGreaterGreater", 0x8000226b00000000ULL },
+ { "NestedLessLess", 0x8000226a00000000ULL },
+ { "NewLine", 0x8000000a00000000ULL },
+ { "Nfr", 0x8001d51100000000ULL },
+ { "NoBreak", 0x8000206000000000ULL },
+ { "NonBreakingSpace", 0x800000a000000000ULL },
+ { "Nopf", 0x8000211500000000ULL },
+ { "Not", 0x80002aec00000000ULL },
+ { "NotCongruent", 0x8000226200000000ULL },
+ { "NotCupCap", 0x8000226d00000000ULL },
+ { "NotDoubleVerticalBar", 0x8000222600000000ULL },
+ { "NotElement", 0x8000220900000000ULL },
+ { "NotEqual", 0x8000226000000000ULL },
+ { "NotEqualTilde", 0x8000224200000338ULL },
+ { "NotExists", 0x8000220400000000ULL },
+ { "NotGreater", 0x8000226f00000000ULL },
+ { "NotGreaterEqual", 0x8000227100000000ULL },
+ { "NotGreaterFullEqual", 0x8000226700000338ULL },
+ { "NotGreaterGreater", 0x8000226b00000338ULL },
+ { "NotGreaterLess", 0x8000227900000000ULL },
+ { "NotGreaterSlantEqual", 0x80002a7e00000338ULL },
+ { "NotGreaterTilde", 0x8000227500000000ULL },
+ { "NotHumpDownHump", 0x8000224e00000338ULL },
+ { "NotHumpEqual", 0x8000224f00000338ULL },
+ { "NotLeftTriangle", 0x800022ea00000000ULL },
+ { "NotLeftTriangleBar", 0x800029cf00000338ULL },
+ { "NotLeftTriangleEqual", 0x800022ec00000000ULL },
+ { "NotLess", 0x8000226e00000000ULL },
+ { "NotLessEqual", 0x8000227000000000ULL },
+ { "NotLessGreater", 0x8000227800000000ULL },
+ { "NotLessLess", 0x8000226a00000338ULL },
+ { "NotLessSlantEqual", 0x80002a7d00000338ULL },
+ { "NotLessTilde", 0x8000227400000000ULL },
+ { "NotNestedGreaterGreater", 0x80002aa200000338ULL },
+ { "NotNestedLessLess", 0x80002aa100000338ULL },
+ { "NotPrecedes", 0x8000228000000000ULL },
+ { "NotPrecedesEqual", 0x80002aaf00000338ULL },
+ { "NotPrecedesSlantEqual", 0x800022e000000000ULL },
+ { "NotReverseElement", 0x8000220c00000000ULL },
+ { "NotRightTriangle", 0x800022eb00000000ULL },
+ { "NotRightTriangleBar", 0x800029d000000338ULL },
+ { "NotRightTriangleEqual", 0x800022ed00000000ULL },
+ { "NotSquareSubset", 0x8000228f00000338ULL },
+ { "NotSquareSubsetEqual", 0x800022e200000000ULL },
+ { "NotSquareSuperset", 0x8000229000000338ULL },
+ { "NotSquareSupersetEqual", 0x800022e300000000ULL },
+ { "NotSubset", 0x80002282000020d2ULL },
+ { "NotSubsetEqual", 0x8000228800000000ULL },
+ { "NotSucceeds", 0x8000228100000000ULL },
+ { "NotSucceedsEqual", 0x80002ab000000338ULL },
+ { "NotSucceedsSlantEqual", 0x800022e100000000ULL },
+ { "NotSucceedsTilde", 0x8000227f00000338ULL },
+ { "NotSuperset", 0x80002283000020d2ULL },
+ { "NotSupersetEqual", 0x8000228900000000ULL },
+ { "NotTilde", 0x8000224100000000ULL },
+ { "NotTildeEqual", 0x8000224400000000ULL },
+ { "NotTildeFullEqual", 0x8000224700000000ULL },
+ { "NotTildeTilde", 0x8000224900000000ULL },
+ { "NotVerticalBar", 0x8000222400000000ULL },
+ { "Nscr", 0x8001d4a900000000ULL },
+ { "Ntilde", 0x000000d100000000ULL },
+ { "Nu", 0x8000039d00000000ULL },
+ { "OElig", 0x8000015200000000ULL },
+ { "Oacute", 0x000000d300000000ULL },
+ { "Ocirc", 0x000000d400000000ULL },
+ { "Ocy", 0x8000041e00000000ULL },
+ { "Odblac", 0x8000015000000000ULL },
+ { "Ofr", 0x8001d51200000000ULL },
+ { "Ograve", 0x000000d200000000ULL },
+ { "Omacr", 0x8000014c00000000ULL },
+ { "Omega", 0x800003a900000000ULL },
+ { "Omicron", 0x8000039f00000000ULL },
+ { "Oopf", 0x8001d54600000000ULL },
+ { "OpenCurlyDoubleQuote", 0x8000201c00000000ULL },
+ { "OpenCurlyQuote", 0x8000201800000000ULL },
+ { "Or", 0x80002a5400000000ULL },
+ { "Oscr", 0x8001d4aa00000000ULL },
+ { "Oslash", 0x000000d800000000ULL },
+ { "Otilde", 0x000000d500000000ULL },
+ { "Otimes", 0x80002a3700000000ULL },
+ { "Ouml", 0x000000d600000000ULL },
+ { "OverBar", 0x8000203e00000000ULL },
+ { "OverBrace", 0x800023de00000000ULL },
+ { "OverBracket", 0x800023b400000000ULL },
+ { "OverParenthesis", 0x800023dc00000000ULL },
+ { "PartialD", 0x8000220200000000ULL },
+ { "Pcy", 0x8000041f00000000ULL },
+ { "Pfr", 0x8001d51300000000ULL },
+ { "Phi", 0x800003a600000000ULL },
+ { "Pi", 0x800003a000000000ULL },
+ { "PlusMinus", 0x800000b100000000ULL },
+ { "Poincareplane", 0x8000210c00000000ULL },
+ { "Popf", 0x8000211900000000ULL },
+ { "Pr", 0x80002abb00000000ULL },
+ { "Precedes", 0x8000227a00000000ULL },
+ { "PrecedesEqual", 0x80002aaf00000000ULL },
+ { "PrecedesSlantEqual", 0x8000227c00000000ULL },
+ { "PrecedesTilde", 0x8000227e00000000ULL },
+ { "Prime", 0x8000203300000000ULL },
+ { "Product", 0x8000220f00000000ULL },
+ { "Proportion", 0x8000223700000000ULL },
+ { "Proportional", 0x8000221d00000000ULL },
+ { "Pscr", 0x8001d4ab00000000ULL },
+ { "Psi", 0x800003a800000000ULL },
+ { "QUOT", 0x0000002200000000ULL },
+ { "Qfr", 0x8001d51400000000ULL },
+ { "Qopf", 0x8000211a00000000ULL },
+ { "Qscr", 0x8001d4ac00000000ULL },
+ { "RBarr", 0x8000291000000000ULL },
+ { "REG", 0x000000ae00000000ULL },
+ { "Racute", 0x8000015400000000ULL },
+ { "Rang", 0x800027eb00000000ULL },
+ { "Rarr", 0x800021a000000000ULL },
+ { "Rarrtl", 0x8000291600000000ULL },
+ { "Rcaron", 0x8000015800000000ULL },
+ { "Rcedil", 0x8000015600000000ULL },
+ { "Rcy", 0x8000042000000000ULL },
+ { "Re", 0x8000211c00000000ULL },
+ { "ReverseElement", 0x8000220b00000000ULL },
+ { "ReverseEquilibrium", 0x800021cb00000000ULL },
+ { "ReverseUpEquilibrium", 0x8000296f00000000ULL },
+ { "Rfr", 0x8000211c00000000ULL },
+ { "Rho", 0x800003a100000000ULL },
+ { "RightAngleBracket", 0x800027e900000000ULL },
+ { "RightArrow", 0x8000219200000000ULL },
+ { "RightArrowBar", 0x800021e500000000ULL },
+ { "RightArrowLeftArrow", 0x800021c400000000ULL },
+ { "RightCeiling", 0x8000230900000000ULL },
+ { "RightDoubleBracket", 0x800027e700000000ULL },
+ { "RightDownTeeVector", 0x8000295d00000000ULL },
+ { "RightDownVector", 0x800021c200000000ULL },
+ { "RightDownVectorBar", 0x8000295500000000ULL },
+ { "RightFloor", 0x8000230b00000000ULL },
+ { "RightTee", 0x800022a200000000ULL },
+ { "RightTeeArrow", 0x800021a600000000ULL },
+ { "RightTeeVector", 0x8000295b00000000ULL },
+ { "RightTriangle", 0x800022b300000000ULL },
+ { "RightTriangleBar", 0x800029d000000000ULL },
+ { "RightTriangleEqual", 0x800022b500000000ULL },
+ { "RightUpDownVector", 0x8000294f00000000ULL },
+ { "RightUpTeeVector", 0x8000295c00000000ULL },
+ { "RightUpVector", 0x800021be00000000ULL },
+ { "RightUpVectorBar", 0x8000295400000000ULL },
+ { "RightVector", 0x800021c000000000ULL },
+ { "RightVectorBar", 0x8000295300000000ULL },
+ { "Rightarrow", 0x800021d200000000ULL },
+ { "Ropf", 0x8000211d00000000ULL },
+ { "RoundImplies", 0x8000297000000000ULL },
+ { "Rrightarrow", 0x800021db00000000ULL },
+ { "Rscr", 0x8000211b00000000ULL },
+ { "Rsh", 0x800021b100000000ULL },
+ { "RuleDelayed", 0x800029f400000000ULL },
+ { "SHCHcy", 0x8000042900000000ULL },
+ { "SHcy", 0x8000042800000000ULL },
+ { "SOFTcy", 0x8000042c00000000ULL },
+ { "Sacute", 0x8000015a00000000ULL },
+ { "Sc", 0x80002abc00000000ULL },
+ { "Scaron", 0x8000016000000000ULL },
+ { "Scedil", 0x8000015e00000000ULL },
+ { "Scirc", 0x8000015c00000000ULL },
+ { "Scy", 0x8000042100000000ULL },
+ { "Sfr", 0x8001d51600000000ULL },
+ { "ShortDownArrow", 0x8000219300000000ULL },
+ { "ShortLeftArrow", 0x8000219000000000ULL },
+ { "ShortRightArrow", 0x8000219200000000ULL },
+ { "ShortUpArrow", 0x8000219100000000ULL },
+ { "Sigma", 0x800003a300000000ULL },
+ { "SmallCircle", 0x8000221800000000ULL },
+ { "Sopf", 0x8001d54a00000000ULL },
+ { "Sqrt", 0x8000221a00000000ULL },
+ { "Square", 0x800025a100000000ULL },
+ { "SquareIntersection", 0x8000229300000000ULL },
+ { "SquareSubset", 0x8000228f00000000ULL },
+ { "SquareSubsetEqual", 0x8000229100000000ULL },
+ { "SquareSuperset", 0x8000229000000000ULL },
+ { "SquareSupersetEqual", 0x8000229200000000ULL },
+ { "SquareUnion", 0x8000229400000000ULL },
+ { "Sscr", 0x8001d4ae00000000ULL },
+ { "Star", 0x800022c600000000ULL },
+ { "Sub", 0x800022d000000000ULL },
+ { "Subset", 0x800022d000000000ULL },
+ { "SubsetEqual", 0x8000228600000000ULL },
+ { "Succeeds", 0x8000227b00000000ULL },
+ { "SucceedsEqual", 0x80002ab000000000ULL },
+ { "SucceedsSlantEqual", 0x8000227d00000000ULL },
+ { "SucceedsTilde", 0x8000227f00000000ULL },
+ { "SuchThat", 0x8000220b00000000ULL },
+ { "Sum", 0x8000221100000000ULL },
+ { "Sup", 0x800022d100000000ULL },
+ { "Superset", 0x8000228300000000ULL },
+ { "SupersetEqual", 0x8000228700000000ULL },
+ { "Supset", 0x800022d100000000ULL },
+ { "THORN", 0x000000de00000000ULL },
+ { "TRADE", 0x8000212200000000ULL },
+ { "TSHcy", 0x8000040b00000000ULL },
+ { "TScy", 0x8000042600000000ULL },
+ { "Tab", 0x8000000900000000ULL },
+ { "Tau", 0x800003a400000000ULL },
+ { "Tcaron", 0x8000016400000000ULL },
+ { "Tcedil", 0x8000016200000000ULL },
+ { "Tcy", 0x8000042200000000ULL },
+ { "Tfr", 0x8001d51700000000ULL },
+ { "Therefore", 0x8000223400000000ULL },
+ { "Theta", 0x8000039800000000ULL },
+ { "ThickSpace", 0x8000205f0000200aULL },
+ { "ThinSpace", 0x8000200900000000ULL },
+ { "Tilde", 0x8000223c00000000ULL },
+ { "TildeEqual", 0x8000224300000000ULL },
+ { "TildeFullEqual", 0x8000224500000000ULL },
+ { "TildeTilde", 0x8000224800000000ULL },
+ { "Topf", 0x8001d54b00000000ULL },
+ { "TripleDot", 0x800020db00000000ULL },
+ { "Tscr", 0x8001d4af00000000ULL },
+ { "Tstrok", 0x8000016600000000ULL },
+ { "Uacute", 0x000000da00000000ULL },
+ { "Uarr", 0x8000219f00000000ULL },
+ { "Uarrocir", 0x8000294900000000ULL },
+ { "Ubrcy", 0x8000040e00000000ULL },
+ { "Ubreve", 0x8000016c00000000ULL },
+ { "Ucirc", 0x000000db00000000ULL },
+ { "Ucy", 0x8000042300000000ULL },
+ { "Udblac", 0x8000017000000000ULL },
+ { "Ufr", 0x8001d51800000000ULL },
+ { "Ugrave", 0x000000d900000000ULL },
+ { "Umacr", 0x8000016a00000000ULL },
+ { "UnderBar", 0x8000005f00000000ULL },
+ { "UnderBrace", 0x800023df00000000ULL },
+ { "UnderBracket", 0x800023b500000000ULL },
+ { "UnderParenthesis", 0x800023dd00000000ULL },
+ { "Union", 0x800022c300000000ULL },
+ { "UnionPlus", 0x8000228e00000000ULL },
+ { "Uogon", 0x8000017200000000ULL },
+ { "Uopf", 0x8001d54c00000000ULL },
+ { "UpArrow", 0x8000219100000000ULL },
+ { "UpArrowBar", 0x8000291200000000ULL },
+ { "UpArrowDownArrow", 0x800021c500000000ULL },
+ { "UpDownArrow", 0x8000219500000000ULL },
+ { "UpEquilibrium", 0x8000296e00000000ULL },
+ { "UpTee", 0x800022a500000000ULL },
+ { "UpTeeArrow", 0x800021a500000000ULL },
+ { "Uparrow", 0x800021d100000000ULL },
+ { "Updownarrow", 0x800021d500000000ULL },
+ { "UpperLeftArrow", 0x8000219600000000ULL },
+ { "UpperRightArrow", 0x8000219700000000ULL },
+ { "Upsi", 0x800003d200000000ULL },
+ { "Upsilon", 0x800003a500000000ULL },
+ { "Uring", 0x8000016e00000000ULL },
+ { "Uscr", 0x8001d4b000000000ULL },
+ { "Utilde", 0x8000016800000000ULL },
+ { "Uuml", 0x000000dc00000000ULL },
+ { "VDash", 0x800022ab00000000ULL },
+ { "Vbar", 0x80002aeb00000000ULL },
+ { "Vcy", 0x8000041200000000ULL },
+ { "Vdash", 0x800022a900000000ULL },
+ { "Vdashl", 0x80002ae600000000ULL },
+ { "Vee", 0x800022c100000000ULL },
+ { "Verbar", 0x8000201600000000ULL },
+ { "Vert", 0x8000201600000000ULL },
+ { "VerticalBar", 0x8000222300000000ULL },
+ { "VerticalLine", 0x8000007c00000000ULL },
+ { "VerticalSeparator", 0x8000275800000000ULL },
+ { "VerticalTilde", 0x8000224000000000ULL },
+ { "VeryThinSpace", 0x8000200a00000000ULL },
+ { "Vfr", 0x8001d51900000000ULL },
+ { "Vopf", 0x8001d54d00000000ULL },
+ { "Vscr", 0x8001d4b100000000ULL },
+ { "Vvdash", 0x800022aa00000000ULL },
+ { "Wcirc", 0x8000017400000000ULL },
+ { "Wedge", 0x800022c000000000ULL },
+ { "Wfr", 0x8001d51a00000000ULL },
+ { "Wopf", 0x8001d54e00000000ULL },
+ { "Wscr", 0x8001d4b200000000ULL },
+ { "Xfr", 0x8001d51b00000000ULL },
+ { "Xi", 0x8000039e00000000ULL },
+ { "Xopf", 0x8001d54f00000000ULL },
+ { "Xscr", 0x8001d4b300000000ULL },
+ { "YAcy", 0x8000042f00000000ULL },
+ { "YIcy", 0x8000040700000000ULL },
+ { "YUcy", 0x8000042e00000000ULL },
+ { "Yacute", 0x000000dd00000000ULL },
+ { "Ycirc", 0x8000017600000000ULL },
+ { "Ycy", 0x8000042b00000000ULL },
+ { "Yfr", 0x8001d51c00000000ULL },
+ { "Yopf", 0x8001d55000000000ULL },
+ { "Yscr", 0x8001d4b400000000ULL },
+ { "Yuml", 0x8000017800000000ULL },
+ { "ZHcy", 0x8000041600000000ULL },
+ { "Zacute", 0x8000017900000000ULL },
+ { "Zcaron", 0x8000017d00000000ULL },
+ { "Zcy", 0x8000041700000000ULL },
+ { "Zdot", 0x8000017b00000000ULL },
+ { "ZeroWidthSpace", 0x8000200b00000000ULL },
+ { "Zeta", 0x8000039600000000ULL },
+ { "Zfr", 0x8000212800000000ULL },
+ { "Zopf", 0x8000212400000000ULL },
+ { "Zscr", 0x8001d4b500000000ULL },
+ { "aacute", 0x000000e100000000ULL },
+ { "abreve", 0x8000010300000000ULL },
+ { "ac", 0x8000223e00000000ULL },
+ { "acE", 0x8000223e00000333ULL },
+ { "acd", 0x8000223f00000000ULL },
+ { "acirc", 0x000000e200000000ULL },
+ { "acute", 0x000000b400000000ULL },
+ { "acy", 0x8000043000000000ULL },
+ { "aelig", 0x000000e600000000ULL },
+ { "af", 0x8000206100000000ULL },
+ { "afr", 0x8001d51e00000000ULL },
+ { "agrave", 0x000000e000000000ULL },
+ { "alefsym", 0x8000213500000000ULL },
+ { "aleph", 0x8000213500000000ULL },
+ { "alpha", 0x800003b100000000ULL },
+ { "amacr", 0x8000010100000000ULL },
+ { "amalg", 0x80002a3f00000000ULL },
+ { "amp", 0x0000002600000000ULL },
+ { "and", 0x8000222700000000ULL },
+ { "andand", 0x80002a5500000000ULL },
+ { "andd", 0x80002a5c00000000ULL },
+ { "andslope", 0x80002a5800000000ULL },
+ { "andv", 0x80002a5a00000000ULL },
+ { "ang", 0x8000222000000000ULL },
+ { "ange", 0x800029a400000000ULL },
+ { "angle", 0x8000222000000000ULL },
+ { "angmsd", 0x8000222100000000ULL },
+ { "angmsdaa", 0x800029a800000000ULL },
+ { "angmsdab", 0x800029a900000000ULL },
+ { "angmsdac", 0x800029aa00000000ULL },
+ { "angmsdad", 0x800029ab00000000ULL },
+ { "angmsdae", 0x800029ac00000000ULL },
+ { "angmsdaf", 0x800029ad00000000ULL },
+ { "angmsdag", 0x800029ae00000000ULL },
+ { "angmsdah", 0x800029af00000000ULL },
+ { "angrt", 0x8000221f00000000ULL },
+ { "angrtvb", 0x800022be00000000ULL },
+ { "angrtvbd", 0x8000299d00000000ULL },
+ { "angsph", 0x8000222200000000ULL },
+ { "angst", 0x800000c500000000ULL },
+ { "angzarr", 0x8000237c00000000ULL },
+ { "aogon", 0x8000010500000000ULL },
+ { "aopf", 0x8001d55200000000ULL },
+ { "ap", 0x8000224800000000ULL },
+ { "apE", 0x80002a7000000000ULL },
+ { "apacir", 0x80002a6f00000000ULL },
+ { "ape", 0x8000224a00000000ULL },
+ { "apid", 0x8000224b00000000ULL },
+ { "apos", 0x8000002700000000ULL },
+ { "approx", 0x8000224800000000ULL },
+ { "approxeq", 0x8000224a00000000ULL },
+ { "aring", 0x000000e500000000ULL },
+ { "ascr", 0x8001d4b600000000ULL },
+ { "ast", 0x8000002a00000000ULL },
+ { "asymp", 0x8000224800000000ULL },
+ { "asympeq", 0x8000224d00000000ULL },
+ { "atilde", 0x000000e300000000ULL },
+ { "auml", 0x000000e400000000ULL },
+ { "awconint", 0x8000223300000000ULL },
+ { "awint", 0x80002a1100000000ULL },
+ { "bNot", 0x80002aed00000000ULL },
+ { "backcong", 0x8000224c00000000ULL },
+ { "backepsilon", 0x800003f600000000ULL },
+ { "backprime", 0x8000203500000000ULL },
+ { "backsim", 0x8000223d00000000ULL },
+ { "backsimeq", 0x800022cd00000000ULL },
+ { "barvee", 0x800022bd00000000ULL },
+ { "barwed", 0x8000230500000000ULL },
+ { "barwedge", 0x8000230500000000ULL },
+ { "bbrk", 0x800023b500000000ULL },
+ { "bbrktbrk", 0x800023b600000000ULL },
+ { "bcong", 0x8000224c00000000ULL },
+ { "bcy", 0x8000043100000000ULL },
+ { "bdquo", 0x8000201e00000000ULL },
+ { "becaus", 0x8000223500000000ULL },
+ { "because", 0x8000223500000000ULL },
+ { "bemptyv", 0x800029b000000000ULL },
+ { "bepsi", 0x800003f600000000ULL },
+ { "bernou", 0x8000212c00000000ULL },
+ { "beta", 0x800003b200000000ULL },
+ { "beth", 0x8000213600000000ULL },
+ { "between", 0x8000226c00000000ULL },
+ { "bfr", 0x8001d51f00000000ULL },
+ { "bigcap", 0x800022c200000000ULL },
+ { "bigcirc", 0x800025ef00000000ULL },
+ { "bigcup", 0x800022c300000000ULL },
+ { "bigodot", 0x80002a0000000000ULL },
+ { "bigoplus", 0x80002a0100000000ULL },
+ { "bigotimes", 0x80002a0200000000ULL },
+ { "bigsqcup", 0x80002a0600000000ULL },
+ { "bigstar", 0x8000260500000000ULL },
+ { "bigtriangledown", 0x800025bd00000000ULL },
+ { "bigtriangleup", 0x800025b300000000ULL },
+ { "biguplus", 0x80002a0400000000ULL },
+ { "bigvee", 0x800022c100000000ULL },
+ { "bigwedge", 0x800022c000000000ULL },
+ { "bkarow", 0x8000290d00000000ULL },
+ { "blacklozenge", 0x800029eb00000000ULL },
+ { "blacksquare", 0x800025aa00000000ULL },
+ { "blacktriangle", 0x800025b400000000ULL },
+ { "blacktriangledown", 0x800025be00000000ULL },
+ { "blacktriangleleft", 0x800025c200000000ULL },
+ { "blacktriangleright", 0x800025b800000000ULL },
+ { "blank", 0x8000242300000000ULL },
+ { "blk12", 0x8000259200000000ULL },
+ { "blk14", 0x8000259100000000ULL },
+ { "blk34", 0x8000259300000000ULL },
+ { "block", 0x8000258800000000ULL },
+ { "bne", 0x8000003d000020e5ULL },
+ { "bnequiv", 0x80002261000020e5ULL },
+ { "bnot", 0x8000231000000000ULL },
+ { "bopf", 0x8001d55300000000ULL },
+ { "bot", 0x800022a500000000ULL },
+ { "bottom", 0x800022a500000000ULL },
+ { "bowtie", 0x800022c800000000ULL },
+ { "boxDL", 0x8000255700000000ULL },
+ { "boxDR", 0x8000255400000000ULL },
+ { "boxDl", 0x8000255600000000ULL },
+ { "boxDr", 0x8000255300000000ULL },
+ { "boxH", 0x8000255000000000ULL },
+ { "boxHD", 0x8000256600000000ULL },
+ { "boxHU", 0x8000256900000000ULL },
+ { "boxHd", 0x8000256400000000ULL },
+ { "boxHu", 0x8000256700000000ULL },
+ { "boxUL", 0x8000255d00000000ULL },
+ { "boxUR", 0x8000255a00000000ULL },
+ { "boxUl", 0x8000255c00000000ULL },
+ { "boxUr", 0x8000255900000000ULL },
+ { "boxV", 0x8000255100000000ULL },
+ { "boxVH", 0x8000256c00000000ULL },
+ { "boxVL", 0x8000256300000000ULL },
+ { "boxVR", 0x8000256000000000ULL },
+ { "boxVh", 0x8000256b00000000ULL },
+ { "boxVl", 0x8000256200000000ULL },
+ { "boxVr", 0x8000255f00000000ULL },
+ { "boxbox", 0x800029c900000000ULL },
+ { "boxdL", 0x8000255500000000ULL },
+ { "boxdR", 0x8000255200000000ULL },
+ { "boxdl", 0x8000251000000000ULL },
+ { "boxdr", 0x8000250c00000000ULL },
+ { "boxh", 0x8000250000000000ULL },
+ { "boxhD", 0x8000256500000000ULL },
+ { "boxhU", 0x8000256800000000ULL },
+ { "boxhd", 0x8000252c00000000ULL },
+ { "boxhu", 0x8000253400000000ULL },
+ { "boxminus", 0x8000229f00000000ULL },
+ { "boxplus", 0x8000229e00000000ULL },
+ { "boxtimes", 0x800022a000000000ULL },
+ { "boxuL", 0x8000255b00000000ULL },
+ { "boxuR", 0x8000255800000000ULL },
+ { "boxul", 0x8000251800000000ULL },
+ { "boxur", 0x8000251400000000ULL },
+ { "boxv", 0x8000250200000000ULL },
+ { "boxvH", 0x8000256a00000000ULL },
+ { "boxvL", 0x8000256100000000ULL },
+ { "boxvR", 0x8000255e00000000ULL },
+ { "boxvh", 0x8000253c00000000ULL },
+ { "boxvl", 0x8000252400000000ULL },
+ { "boxvr", 0x8000251c00000000ULL },
+ { "bprime", 0x8000203500000000ULL },
+ { "breve", 0x800002d800000000ULL },
+ { "brvbar", 0x000000a600000000ULL },
+ { "bscr", 0x8001d4b700000000ULL },
+ { "bsemi", 0x8000204f00000000ULL },
+ { "bsim", 0x8000223d00000000ULL },
+ { "bsime", 0x800022cd00000000ULL },
+ { "bsol", 0x8000005c00000000ULL },
+ { "bsolb", 0x800029c500000000ULL },
+ { "bsolhsub", 0x800027c800000000ULL },
+ { "bull", 0x8000202200000000ULL },
+ { "bullet", 0x8000202200000000ULL },
+ { "bump", 0x8000224e00000000ULL },
+ { "bumpE", 0x80002aae00000000ULL },
+ { "bumpe", 0x8000224f00000000ULL },
+ { "bumpeq", 0x8000224f00000000ULL },
+ { "cacute", 0x8000010700000000ULL },
+ { "cap", 0x8000222900000000ULL },
+ { "capand", 0x80002a4400000000ULL },
+ { "capbrcup", 0x80002a4900000000ULL },
+ { "capcap", 0x80002a4b00000000ULL },
+ { "capcup", 0x80002a4700000000ULL },
+ { "capdot", 0x80002a4000000000ULL },
+ { "caps", 0x800022290000fe00ULL },
+ { "caret", 0x8000204100000000ULL },
+ { "caron", 0x800002c700000000ULL },
+ { "ccaps", 0x80002a4d00000000ULL },
+ { "ccaron", 0x8000010d00000000ULL },
+ { "ccedil", 0x000000e700000000ULL },
+ { "ccirc", 0x8000010900000000ULL },
+ { "ccups", 0x80002a4c00000000ULL },
+ { "ccupssm", 0x80002a5000000000ULL },
+ { "cdot", 0x8000010b00000000ULL },
+ { "cedil", 0x000000b800000000ULL },
+ { "cemptyv", 0x800029b200000000ULL },
+ { "cent", 0x000000a200000000ULL },
+ { "centerdot", 0x800000b700000000ULL },
+ { "cfr", 0x8001d52000000000ULL },
+ { "chcy", 0x8000044700000000ULL },
+ { "check", 0x8000271300000000ULL },
+ { "checkmark", 0x8000271300000000ULL },
+ { "chi", 0x800003c700000000ULL },
+ { "cir", 0x800025cb00000000ULL },
+ { "cirE", 0x800029c300000000ULL },
+ { "circ", 0x800002c600000000ULL },
+ { "circeq", 0x8000225700000000ULL },
+ { "circlearrowleft", 0x800021ba00000000ULL },
+ { "circlearrowright", 0x800021bb00000000ULL },
+ { "circledR", 0x800000ae00000000ULL },
+ { "circledS", 0x800024c800000000ULL },
+ { "circledast", 0x8000229b00000000ULL },
+ { "circledcirc", 0x8000229a00000000ULL },
+ { "circleddash", 0x8000229d00000000ULL },
+ { "cire", 0x8000225700000000ULL },
+ { "cirfnint", 0x80002a1000000000ULL },
+ { "cirmid", 0x80002aef00000000ULL },
+ { "cirscir", 0x800029c200000000ULL },
+ { "clubs", 0x8000266300000000ULL },
+ { "clubsuit", 0x8000266300000000ULL },
+ { "colon", 0x8000003a00000000ULL },
+ { "colone", 0x8000225400000000ULL },
+ { "coloneq", 0x8000225400000000ULL },
+ { "comma", 0x8000002c00000000ULL },
+ { "commat", 0x8000004000000000ULL },
+ { "comp", 0x8000220100000000ULL },
+ { "compfn", 0x8000221800000000ULL },
+ { "complement", 0x8000220100000000ULL },
+ { "complexes", 0x8000210200000000ULL },
+ { "cong", 0x8000224500000000ULL },
+ { "congdot", 0x80002a6d00000000ULL },
+ { "conint", 0x8000222e00000000ULL },
+ { "copf", 0x8001d55400000000ULL },
+ { "coprod", 0x8000221000000000ULL },
+ { "copy", 0x000000a900000000ULL },
+ { "copysr", 0x8000211700000000ULL },
+ { "crarr", 0x800021b500000000ULL },
+ { "cross", 0x8000271700000000ULL },
+ { "cscr", 0x8001d4b800000000ULL },
+ { "csub", 0x80002acf00000000ULL },
+ { "csube", 0x80002ad100000000ULL },
+ { "csup", 0x80002ad000000000ULL },
+ { "csupe", 0x80002ad200000000ULL },
+ { "ctdot", 0x800022ef00000000ULL },
+ { "cudarrl", 0x8000293800000000ULL },
+ { "cudarrr", 0x8000293500000000ULL },
+ { "cuepr", 0x800022de00000000ULL },
+ { "cuesc", 0x800022df00000000ULL },
+ { "cularr", 0x800021b600000000ULL },
+ { "cularrp", 0x8000293d00000000ULL },
+ { "cup", 0x8000222a00000000ULL },
+ { "cupbrcap", 0x80002a4800000000ULL },
+ { "cupcap", 0x80002a4600000000ULL },
+ { "cupcup", 0x80002a4a00000000ULL },
+ { "cupdot", 0x8000228d00000000ULL },
+ { "cupor", 0x80002a4500000000ULL },
+ { "cups", 0x8000222a0000fe00ULL },
+ { "curarr", 0x800021b700000000ULL },
+ { "curarrm", 0x8000293c00000000ULL },
+ { "curlyeqprec", 0x800022de00000000ULL },
+ { "curlyeqsucc", 0x800022df00000000ULL },
+ { "curlyvee", 0x800022ce00000000ULL },
+ { "curlywedge", 0x800022cf00000000ULL },
+ { "curren", 0x000000a400000000ULL },
+ { "curvearrowleft", 0x800021b600000000ULL },
+ { "curvearrowright", 0x800021b700000000ULL },
+ { "cuvee", 0x800022ce00000000ULL },
+ { "cuwed", 0x800022cf00000000ULL },
+ { "cwconint", 0x8000223200000000ULL },
+ { "cwint", 0x8000223100000000ULL },
+ { "cylcty", 0x8000232d00000000ULL },
+ { "dArr", 0x800021d300000000ULL },
+ { "dHar", 0x8000296500000000ULL },
+ { "dagger", 0x8000202000000000ULL },
+ { "daleth", 0x8000213800000000ULL },
+ { "darr", 0x8000219300000000ULL },
+ { "dash", 0x8000201000000000ULL },
+ { "dashv", 0x800022a300000000ULL },
+ { "dbkarow", 0x8000290f00000000ULL },
+ { "dblac", 0x800002dd00000000ULL },
+ { "dcaron", 0x8000010f00000000ULL },
+ { "dcy", 0x8000043400000000ULL },
+ { "dd", 0x8000214600000000ULL },
+ { "ddagger", 0x8000202100000000ULL },
+ { "ddarr", 0x800021ca00000000ULL },
+ { "ddotseq", 0x80002a7700000000ULL },
+ { "deg", 0x000000b000000000ULL },
+ { "delta", 0x800003b400000000ULL },
+ { "demptyv", 0x800029b100000000ULL },
+ { "dfisht", 0x8000297f00000000ULL },
+ { "dfr", 0x8001d52100000000ULL },
+ { "dharl", 0x800021c300000000ULL },
+ { "dharr", 0x800021c200000000ULL },
+ { "diam", 0x800022c400000000ULL },
+ { "diamond", 0x800022c400000000ULL },
+ { "diamondsuit", 0x8000266600000000ULL },
+ { "diams", 0x8000266600000000ULL },
+ { "die", 0x800000a800000000ULL },
+ { "digamma", 0x800003dd00000000ULL },
+ { "disin", 0x800022f200000000ULL },
+ { "div", 0x800000f700000000ULL },
+ { "divide", 0x000000f700000000ULL },
+ { "divideontimes", 0x800022c700000000ULL },
+ { "divonx", 0x800022c700000000ULL },
+ { "djcy", 0x8000045200000000ULL },
+ { "dlcorn", 0x8000231e00000000ULL },
+ { "dlcrop", 0x8000230d00000000ULL },
+ { "dollar", 0x8000002400000000ULL },
+ { "dopf", 0x8001d55500000000ULL },
+ { "dot", 0x800002d900000000ULL },
+ { "doteq", 0x8000225000000000ULL },
+ { "doteqdot", 0x8000225100000000ULL },
+ { "dotminus", 0x8000223800000000ULL },
+ { "dotplus", 0x8000221400000000ULL },
+ { "dotsquare", 0x800022a100000000ULL },
+ { "doublebarwedge", 0x8000230600000000ULL },
+ { "downarrow", 0x8000219300000000ULL },
+ { "downdownarrows", 0x800021ca00000000ULL },
+ { "downharpoonleft", 0x800021c300000000ULL },
+ { "downharpoonright", 0x800021c200000000ULL },
+ { "drbkarow", 0x8000291000000000ULL },
+ { "drcorn", 0x8000231f00000000ULL },
+ { "drcrop", 0x8000230c00000000ULL },
+ { "dscr", 0x8001d4b900000000ULL },
+ { "dscy", 0x8000045500000000ULL },
+ { "dsol", 0x800029f600000000ULL },
+ { "dstrok", 0x8000011100000000ULL },
+ { "dtdot", 0x800022f100000000ULL },
+ { "dtri", 0x800025bf00000000ULL },
+ { "dtrif", 0x800025be00000000ULL },
+ { "duarr", 0x800021f500000000ULL },
+ { "duhar", 0x8000296f00000000ULL },
+ { "dwangle", 0x800029a600000000ULL },
+ { "dzcy", 0x8000045f00000000ULL },
+ { "dzigrarr", 0x800027ff00000000ULL },
+ { "eDDot", 0x80002a7700000000ULL },
+ { "eDot", 0x8000225100000000ULL },
+ { "eacute", 0x000000e900000000ULL },
+ { "easter", 0x80002a6e00000000ULL },
+ { "ecaron", 0x8000011b00000000ULL },
+ { "ecir", 0x8000225600000000ULL },
+ { "ecirc", 0x000000ea00000000ULL },
+ { "ecolon", 0x8000225500000000ULL },
+ { "ecy", 0x8000044d00000000ULL },
+ { "edot", 0x8000011700000000ULL },
+ { "ee", 0x8000214700000000ULL },
+ { "efDot", 0x8000225200000000ULL },
+ { "efr", 0x8001d52200000000ULL },
+ { "eg", 0x80002a9a00000000ULL },
+ { "egrave", 0x000000e800000000ULL },
+ { "egs", 0x80002a9600000000ULL },
+ { "egsdot", 0x80002a9800000000ULL },
+ { "el", 0x80002a9900000000ULL },
+ { "elinters", 0x800023e700000000ULL },
+ { "ell", 0x8000211300000000ULL },
+ { "els", 0x80002a9500000000ULL },
+ { "elsdot", 0x80002a9700000000ULL },
+ { "emacr", 0x8000011300000000ULL },
+ { "empty", 0x8000220500000000ULL },
+ { "emptyset", 0x8000220500000000ULL },
+ { "emptyv", 0x8000220500000000ULL },
+ { "emsp", 0x8000200300000000ULL },
+ { "emsp13", 0x8000200400000000ULL },
+ { "emsp14", 0x8000200500000000ULL },
+ { "eng", 0x8000014b00000000ULL },
+ { "ensp", 0x8000200200000000ULL },
+ { "eogon", 0x8000011900000000ULL },
+ { "eopf", 0x8001d55600000000ULL },
+ { "epar", 0x800022d500000000ULL },
+ { "eparsl", 0x800029e300000000ULL },
+ { "eplus", 0x80002a7100000000ULL },
+ { "epsi", 0x800003b500000000ULL },
+ { "epsilon", 0x800003b500000000ULL },
+ { "epsiv", 0x800003f500000000ULL },
+ { "eqcirc", 0x8000225600000000ULL },
+ { "eqcolon", 0x8000225500000000ULL },
+ { "eqsim", 0x8000224200000000ULL },
+ { "eqslantgtr", 0x80002a9600000000ULL },
+ { "eqslantless", 0x80002a9500000000ULL },
+ { "equals", 0x8000003d00000000ULL },
+ { "equest", 0x8000225f00000000ULL },
+ { "equiv", 0x8000226100000000ULL },
+ { "equivDD", 0x80002a7800000000ULL },
+ { "eqvparsl", 0x800029e500000000ULL },
+ { "erDot", 0x8000225300000000ULL },
+ { "erarr", 0x8000297100000000ULL },
+ { "escr", 0x8000212f00000000ULL },
+ { "esdot", 0x8000225000000000ULL },
+ { "esim", 0x8000224200000000ULL },
+ { "eta", 0x800003b700000000ULL },
+ { "eth", 0x000000f000000000ULL },
+ { "euml", 0x000000eb00000000ULL },
+ { "euro", 0x800020ac00000000ULL },
+ { "excl", 0x8000002100000000ULL },
+ { "exist", 0x8000220300000000ULL },
+ { "expectation", 0x8000213000000000ULL },
+ { "exponentiale", 0x8000214700000000ULL },
+ { "fallingdotseq", 0x8000225200000000ULL },
+ { "fcy", 0x8000044400000000ULL },
+ { "female", 0x8000264000000000ULL },
+ { "ffilig", 0x8000fb0300000000ULL },
+ { "fflig", 0x8000fb0000000000ULL },
+ { "ffllig", 0x8000fb0400000000ULL },
+ { "ffr", 0x8001d52300000000ULL },
+ { "filig", 0x8000fb0100000000ULL },
+ { "fjlig", 0x800000660000006aULL },
+ { "flat", 0x8000266d00000000ULL },
+ { "fllig", 0x8000fb0200000000ULL },
+ { "fltns", 0x800025b100000000ULL },
+ { "fnof", 0x8000019200000000ULL },
+ { "fopf", 0x8001d55700000000ULL },
+ { "forall", 0x8000220000000000ULL },
+ { "fork", 0x800022d400000000ULL },
+ { "forkv", 0x80002ad900000000ULL },
+ { "fpartint", 0x80002a0d00000000ULL },
+ { "frac12", 0x000000bd00000000ULL },
+ { "frac13", 0x8000215300000000ULL },
+ { "frac14", 0x000000bc00000000ULL },
+ { "frac15", 0x8000215500000000ULL },
+ { "frac16", 0x8000215900000000ULL },
+ { "frac18", 0x8000215b00000000ULL },
+ { "frac23", 0x8000215400000000ULL },
+ { "frac25", 0x8000215600000000ULL },
+ { "frac34", 0x000000be00000000ULL },
+ { "frac35", 0x8000215700000000ULL },
+ { "frac38", 0x8000215c00000000ULL },
+ { "frac45", 0x8000215800000000ULL },
+ { "frac56", 0x8000215a00000000ULL },
+ { "frac58", 0x8000215d00000000ULL },
+ { "frac78", 0x8000215e00000000ULL },
+ { "frasl", 0x8000204400000000ULL },
+ { "frown", 0x8000232200000000ULL },
+ { "fscr", 0x8001d4bb00000000ULL },
+ { "gE", 0x8000226700000000ULL },
+ { "gEl", 0x80002a8c00000000ULL },
+ { "gacute", 0x800001f500000000ULL },
+ { "gamma", 0x800003b300000000ULL },
+ { "gammad", 0x800003dd00000000ULL },
+ { "gap", 0x80002a8600000000ULL },
+ { "gbreve", 0x8000011f00000000ULL },
+ { "gcirc", 0x8000011d00000000ULL },
+ { "gcy", 0x8000043300000000ULL },
+ { "gdot", 0x8000012100000000ULL },
+ { "ge", 0x8000226500000000ULL },
+ { "gel", 0x800022db00000000ULL },
+ { "geq", 0x8000226500000000ULL },
+ { "geqq", 0x8000226700000000ULL },
+ { "geqslant", 0x80002a7e00000000ULL },
+ { "ges", 0x80002a7e00000000ULL },
+ { "gescc", 0x80002aa900000000ULL },
+ { "gesdot", 0x80002a8000000000ULL },
+ { "gesdoto", 0x80002a8200000000ULL },
+ { "gesdotol", 0x80002a8400000000ULL },
+ { "gesl", 0x800022db0000fe00ULL },
+ { "gesles", 0x80002a9400000000ULL },
+ { "gfr", 0x8001d52400000000ULL },
+ { "gg", 0x8000226b00000000ULL },
+ { "ggg", 0x800022d900000000ULL },
+ { "gimel", 0x8000213700000000ULL },
+ { "gjcy", 0x8000045300000000ULL },
+ { "gl", 0x8000227700000000ULL },
+ { "glE", 0x80002a9200000000ULL },
+ { "gla", 0x80002aa500000000ULL },
+ { "glj", 0x80002aa400000000ULL },
+ { "gnE", 0x8000226900000000ULL },
+ { "gnap", 0x80002a8a00000000ULL },
+ { "gnapprox", 0x80002a8a00000000ULL },
+ { "gne", 0x80002a8800000000ULL },
+ { "gneq", 0x80002a8800000000ULL },
+ { "gneqq", 0x8000226900000000ULL },
+ { "gnsim", 0x800022e700000000ULL },
+ { "gopf", 0x8001d55800000000ULL },
+ { "grave", 0x8000006000000000ULL },
+ { "gscr", 0x8000210a00000000ULL },
+ { "gsim", 0x8000227300000000ULL },
+ { "gsime", 0x80002a8e00000000ULL },
+ { "gsiml", 0x80002a9000000000ULL },
+ { "gt", 0x0000003e00000000ULL },
+ { "gtcc", 0x80002aa700000000ULL },
+ { "gtcir", 0x80002a7a00000000ULL },
+ { "gtdot", 0x800022d700000000ULL },
+ { "gtlPar", 0x8000299500000000ULL },
+ { "gtquest", 0x80002a7c00000000ULL },
+ { "gtrapprox", 0x80002a8600000000ULL },
+ { "gtrarr", 0x8000297800000000ULL },
+ { "gtrdot", 0x800022d700000000ULL },
+ { "gtreqless", 0x800022db00000000ULL },
+ { "gtreqqless", 0x80002a8c00000000ULL },
+ { "gtrless", 0x8000227700000000ULL },
+ { "gtrsim", 0x8000227300000000ULL },
+ { "gvertneqq", 0x800022690000fe00ULL },
+ { "gvnE", 0x800022690000fe00ULL },
+ { "hArr", 0x800021d400000000ULL },
+ { "hairsp", 0x8000200a00000000ULL },
+ { "half", 0x800000bd00000000ULL },
+ { "hamilt", 0x8000210b00000000ULL },
+ { "hardcy", 0x8000044a00000000ULL },
+ { "harr", 0x8000219400000000ULL },
+ { "harrcir", 0x8000294800000000ULL },
+ { "harrw", 0x800021ad00000000ULL },
+ { "hbar", 0x8000210f00000000ULL },
+ { "hcirc", 0x8000012500000000ULL },
+ { "hearts", 0x8000266500000000ULL },
+ { "heartsuit", 0x8000266500000000ULL },
+ { "hellip", 0x8000202600000000ULL },
+ { "hercon", 0x800022b900000000ULL },
+ { "hfr", 0x8001d52500000000ULL },
+ { "hksearow", 0x8000292500000000ULL },
+ { "hkswarow", 0x8000292600000000ULL },
+ { "hoarr", 0x800021ff00000000ULL },
+ { "homtht", 0x8000223b00000000ULL },
+ { "hookleftarrow", 0x800021a900000000ULL },
+ { "hookrightarrow", 0x800021aa00000000ULL },
+ { "hopf", 0x8001d55900000000ULL },
+ { "horbar", 0x8000201500000000ULL },
+ { "hscr", 0x8001d4bd00000000ULL },
+ { "hslash", 0x8000210f00000000ULL },
+ { "hstrok", 0x8000012700000000ULL },
+ { "hybull", 0x8000204300000000ULL },
+ { "hyphen", 0x8000201000000000ULL },
+ { "iacute", 0x000000ed00000000ULL },
+ { "ic", 0x8000206300000000ULL },
+ { "icirc", 0x000000ee00000000ULL },
+ { "icy", 0x8000043800000000ULL },
+ { "iecy", 0x8000043500000000ULL },
+ { "iexcl", 0x000000a100000000ULL },
+ { "iff", 0x800021d400000000ULL },
+ { "ifr", 0x8001d52600000000ULL },
+ { "igrave", 0x000000ec00000000ULL },
+ { "ii", 0x8000214800000000ULL },
+ { "iiiint", 0x80002a0c00000000ULL },
+ { "iiint", 0x8000222d00000000ULL },
+ { "iinfin", 0x800029dc00000000ULL },
+ { "iiota", 0x8000212900000000ULL },
+ { "ijlig", 0x8000013300000000ULL },
+ { "imacr", 0x8000012b00000000ULL },
+ { "image", 0x8000211100000000ULL },
+ { "imagline", 0x8000211000000000ULL },
+ { "imagpart", 0x8000211100000000ULL },
+ { "imath", 0x8000013100000000ULL },
+ { "imof", 0x800022b700000000ULL },
+ { "imped", 0x800001b500000000ULL },
+ { "in", 0x8000220800000000ULL },
+ { "incare", 0x8000210500000000ULL },
+ { "infin", 0x8000221e00000000ULL },
+ { "infintie", 0x800029dd00000000ULL },
+ { "inodot", 0x8000013100000000ULL },
+ { "int", 0x8000222b00000000ULL },
+ { "intcal", 0x800022ba00000000ULL },
+ { "integers", 0x8000212400000000ULL },
+ { "intercal", 0x800022ba00000000ULL },
+ { "intlarhk", 0x80002a1700000000ULL },
+ { "intprod", 0x80002a3c00000000ULL },
+ { "iocy", 0x8000045100000000ULL },
+ { "iogon", 0x8000012f00000000ULL },
+ { "iopf", 0x8001d55a00000000ULL },
+ { "iota", 0x800003b900000000ULL },
+ { "iprod", 0x80002a3c00000000ULL },
+ { "iquest", 0x000000bf00000000ULL },
+ { "iscr", 0x8001d4be00000000ULL },
+ { "isin", 0x8000220800000000ULL },
+ { "isinE", 0x800022f900000000ULL },
+ { "isindot", 0x800022f500000000ULL },
+ { "isins", 0x800022f400000000ULL },
+ { "isinsv", 0x800022f300000000ULL },
+ { "isinv", 0x8000220800000000ULL },
+ { "it", 0x8000206200000000ULL },
+ { "itilde", 0x8000012900000000ULL },
+ { "iukcy", 0x8000045600000000ULL },
+ { "iuml", 0x000000ef00000000ULL },
+ { "jcirc", 0x8000013500000000ULL },
+ { "jcy", 0x8000043900000000ULL },
+ { "jfr", 0x8001d52700000000ULL },
+ { "jmath", 0x8000023700000000ULL },
+ { "jopf", 0x8001d55b00000000ULL },
+ { "jscr", 0x8001d4bf00000000ULL },
+ { "jsercy", 0x8000045800000000ULL },
+ { "jukcy", 0x8000045400000000ULL },
+ { "kappa", 0x800003ba00000000ULL },
+ { "kappav", 0x800003f000000000ULL },
+ { "kcedil", 0x8000013700000000ULL },
+ { "kcy", 0x8000043a00000000ULL },
+ { "kfr", 0x8001d52800000000ULL },
+ { "kgreen", 0x8000013800000000ULL },
+ { "khcy", 0x8000044500000000ULL },
+ { "kjcy", 0x8000045c00000000ULL },
+ { "kopf", 0x8001d55c00000000ULL },
+ { "kscr", 0x8001d4c000000000ULL },
+ { "lAarr", 0x800021da00000000ULL },
+ { "lArr", 0x800021d000000000ULL },
+ { "lAtail", 0x8000291b00000000ULL },
+ { "lBarr", 0x8000290e00000000ULL },
+ { "lE", 0x8000226600000000ULL },
+ { "lEg", 0x80002a8b00000000ULL },
+ { "lHar", 0x8000296200000000ULL },
+ { "lacute", 0x8000013a00000000ULL },
+ { "laemptyv", 0x800029b400000000ULL },
+ { "lagran", 0x8000211200000000ULL },
+ { "lambda", 0x800003bb00000000ULL },
+ { "lang", 0x800027e800000000ULL },
+ { "langd", 0x8000299100000000ULL },
+ { "langle", 0x800027e800000000ULL },
+ { "lap", 0x80002a8500000000ULL },
+ { "laquo", 0x000000ab00000000ULL },
+ { "larr", 0x8000219000000000ULL },
+ { "larrb", 0x800021e400000000ULL },
+ { "larrbfs", 0x8000291f00000000ULL },
+ { "larrfs", 0x8000291d00000000ULL },
+ { "larrhk", 0x800021a900000000ULL },
+ { "larrlp", 0x800021ab00000000ULL },
+ { "larrpl", 0x8000293900000000ULL },
+ { "larrsim", 0x8000297300000000ULL },
+ { "larrtl", 0x800021a200000000ULL },
+ { "lat", 0x80002aab00000000ULL },
+ { "latail", 0x8000291900000000ULL },
+ { "late", 0x80002aad00000000ULL },
+ { "lates", 0x80002aad0000fe00ULL },
+ { "lbarr", 0x8000290c00000000ULL },
+ { "lbbrk", 0x8000277200000000ULL },
+ { "lbrace", 0x8000007b00000000ULL },
+ { "lbrack", 0x8000005b00000000ULL },
+ { "lbrke", 0x8000298b00000000ULL },
+ { "lbrksld", 0x8000298f00000000ULL },
+ { "lbrkslu", 0x8000298d00000000ULL },
+ { "lcaron", 0x8000013e00000000ULL },
+ { "lcedil", 0x8000013c00000000ULL },
+ { "lceil", 0x8000230800000000ULL },
+ { "lcub", 0x8000007b00000000ULL },
+ { "lcy", 0x8000043b00000000ULL },
+ { "ldca", 0x8000293600000000ULL },
+ { "ldquo", 0x8000201c00000000ULL },
+ { "ldquor", 0x8000201e00000000ULL },
+ { "ldrdhar", 0x8000296700000000ULL },
+ { "ldrushar", 0x8000294b00000000ULL },
+ { "ldsh", 0x800021b200000000ULL },
+ { "le", 0x8000226400000000ULL },
+ { "leftarrow", 0x8000219000000000ULL },
+ { "leftarrowtail", 0x800021a200000000ULL },
+ { "leftharpoondown", 0x800021bd00000000ULL },
+ { "leftharpoonup", 0x800021bc00000000ULL },
+ { "leftleftarrows", 0x800021c700000000ULL },
+ { "leftrightarrow", 0x8000219400000000ULL },
+ { "leftrightarrows", 0x800021c600000000ULL },
+ { "leftrightharpoons", 0x800021cb00000000ULL },
+ { "leftrightsquigarrow", 0x800021ad00000000ULL },
+ { "leftthreetimes", 0x800022cb00000000ULL },
+ { "leg", 0x800022da00000000ULL },
+ { "leq", 0x8000226400000000ULL },
+ { "leqq", 0x8000226600000000ULL },
+ { "leqslant", 0x80002a7d00000000ULL },
+ { "les", 0x80002a7d00000000ULL },
+ { "lescc", 0x80002aa800000000ULL },
+ { "lesdot", 0x80002a7f00000000ULL },
+ { "lesdoto", 0x80002a8100000000ULL },
+ { "lesdotor", 0x80002a8300000000ULL },
+ { "lesg", 0x800022da0000fe00ULL },
+ { "lesges", 0x80002a9300000000ULL },
+ { "lessapprox", 0x80002a8500000000ULL },
+ { "lessdot", 0x800022d600000000ULL },
+ { "lesseqgtr", 0x800022da00000000ULL },
+ { "lesseqqgtr", 0x80002a8b00000000ULL },
+ { "lessgtr", 0x8000227600000000ULL },
+ { "lesssim", 0x8000227200000000ULL },
+ { "lfisht", 0x8000297c00000000ULL },
+ { "lfloor", 0x8000230a00000000ULL },
+ { "lfr", 0x8001d52900000000ULL },
+ { "lg", 0x8000227600000000ULL },
+ { "lgE", 0x80002a9100000000ULL },
+ { "lhard", 0x800021bd00000000ULL },
+ { "lharu", 0x800021bc00000000ULL },
+ { "lharul", 0x8000296a00000000ULL },
+ { "lhblk", 0x8000258400000000ULL },
+ { "ljcy", 0x8000045900000000ULL },
+ { "ll", 0x8000226a00000000ULL },
+ { "llarr", 0x800021c700000000ULL },
+ { "llcorner", 0x8000231e00000000ULL },
+ { "llhard", 0x8000296b00000000ULL },
+ { "lltri", 0x800025fa00000000ULL },
+ { "lmidot", 0x8000014000000000ULL },
+ { "lmoust", 0x800023b000000000ULL },
+ { "lmoustache", 0x800023b000000000ULL },
+ { "lnE", 0x8000226800000000ULL },
+ { "lnap", 0x80002a8900000000ULL },
+ { "lnapprox", 0x80002a8900000000ULL },
+ { "lne", 0x80002a8700000000ULL },
+ { "lneq", 0x80002a8700000000ULL },
+ { "lneqq", 0x8000226800000000ULL },
+ { "lnsim", 0x800022e600000000ULL },
+ { "loang", 0x800027ec00000000ULL },
+ { "loarr", 0x800021fd00000000ULL },
+ { "lobrk", 0x800027e600000000ULL },
+ { "longleftarrow", 0x800027f500000000ULL },
+ { "longleftrightarrow", 0x800027f700000000ULL },
+ { "longmapsto", 0x800027fc00000000ULL },
+ { "longrightarrow", 0x800027f600000000ULL },
+ { "looparrowleft", 0x800021ab00000000ULL },
+ { "looparrowright", 0x800021ac00000000ULL },
+ { "lopar", 0x8000298500000000ULL },
+ { "lopf", 0x8001d55d00000000ULL },
+ { "loplus", 0x80002a2d00000000ULL },
+ { "lotimes", 0x80002a3400000000ULL },
+ { "lowast", 0x8000221700000000ULL },
+ { "lowbar", 0x8000005f00000000ULL },
+ { "loz", 0x800025ca00000000ULL },
+ { "lozenge", 0x800025ca00000000ULL },
+ { "lozf", 0x800029eb00000000ULL },
+ { "lpar", 0x8000002800000000ULL },
+ { "lparlt", 0x8000299300000000ULL },
+ { "lrarr", 0x800021c600000000ULL },
+ { "lrcorner", 0x8000231f00000000ULL },
+ { "lrhar", 0x800021cb00000000ULL },
+ { "lrhard", 0x8000296d00000000ULL },
+ { "lrm", 0x8000200e00000000ULL },
+ { "lrtri", 0x800022bf00000000ULL },
+ { "lsaquo", 0x8000203900000000ULL },
+ { "lscr", 0x8001d4c100000000ULL },
+ { "lsh", 0x800021b000000000ULL },
+ { "lsim", 0x8000227200000000ULL },
+ { "lsime", 0x80002a8d00000000ULL },
+ { "lsimg", 0x80002a8f00000000ULL },
+ { "lsqb", 0x8000005b00000000ULL },
+ { "lsquo", 0x8000201800000000ULL },
+ { "lsquor", 0x8000201a00000000ULL },
+ { "lstrok", 0x8000014200000000ULL },
+ { "lt", 0x0000003c00000000ULL },
+ { "ltcc", 0x80002aa600000000ULL },
+ { "ltcir", 0x80002a7900000000ULL },
+ { "ltdot", 0x800022d600000000ULL },
+ { "lthree", 0x800022cb00000000ULL },
+ { "ltimes", 0x800022c900000000ULL },
+ { "ltlarr", 0x8000297600000000ULL },
+ { "ltquest", 0x80002a7b00000000ULL },
+ { "ltrPar", 0x8000299600000000ULL },
+ { "ltri", 0x800025c300000000ULL },
+ { "ltrie", 0x800022b400000000ULL },
+ { "ltrif", 0x800025c200000000ULL },
+ { "lurdshar", 0x8000294a00000000ULL },
+ { "luruhar", 0x8000296600000000ULL },
+ { "lvertneqq", 0x800022680000fe00ULL },
+ { "lvnE", 0x800022680000fe00ULL },
+ { "mDDot", 0x8000223a00000000ULL },
+ { "macr", 0x000000af00000000ULL },
+ { "male", 0x8000264200000000ULL },
+ { "malt", 0x8000272000000000ULL },
+ { "maltese", 0x8000272000000000ULL },
+ { "map", 0x800021a600000000ULL },
+ { "mapsto", 0x800021a600000000ULL },
+ { "mapstodown", 0x800021a700000000ULL },
+ { "mapstoleft", 0x800021a400000000ULL },
+ { "mapstoup", 0x800021a500000000ULL },
+ { "marker", 0x800025ae00000000ULL },
+ { "mcomma", 0x80002a2900000000ULL },
+ { "mcy", 0x8000043c00000000ULL },
+ { "mdash", 0x8000201400000000ULL },
+ { "measuredangle", 0x8000222100000000ULL },
+ { "mfr", 0x8001d52a00000000ULL },
+ { "mho", 0x8000212700000000ULL },
+ { "micro", 0x000000b500000000ULL },
+ { "mid", 0x8000222300000000ULL },
+ { "midast", 0x8000002a00000000ULL },
+ { "midcir", 0x80002af000000000ULL },
+ { "middot", 0x000000b700000000ULL },
+ { "minus", 0x8000221200000000ULL },
+ { "minusb", 0x8000229f00000000ULL },
+ { "minusd", 0x8000223800000000ULL },
+ { "minusdu", 0x80002a2a00000000ULL },
+ { "mlcp", 0x80002adb00000000ULL },
+ { "mldr", 0x8000202600000000ULL },
+ { "mnplus", 0x8000221300000000ULL },
+ { "models", 0x800022a700000000ULL },
+ { "mopf", 0x8001d55e00000000ULL },
+ { "mp", 0x8000221300000000ULL },
+ { "mscr", 0x8001d4c200000000ULL },
+ { "mstpos", 0x8000223e00000000ULL },
+ { "mu", 0x800003bc00000000ULL },
+ { "multimap", 0x800022b800000000ULL },
+ { "mumap", 0x800022b800000000ULL },
+ { "nGg", 0x800022d900000338ULL },
+ { "nGt", 0x8000226b000020d2ULL },
+ { "nGtv", 0x8000226b00000338ULL },
+ { "nLeftarrow", 0x800021cd00000000ULL },
+ { "nLeftrightarrow", 0x800021ce00000000ULL },
+ { "nLl", 0x800022d800000338ULL },
+ { "nLt", 0x8000226a000020d2ULL },
+ { "nLtv", 0x8000226a00000338ULL },
+ { "nRightarrow", 0x800021cf00000000ULL },
+ { "nVDash", 0x800022af00000000ULL },
+ { "nVdash", 0x800022ae00000000ULL },
+ { "nabla", 0x8000220700000000ULL },
+ { "nacute", 0x8000014400000000ULL },
+ { "nang", 0x80002220000020d2ULL },
+ { "nap", 0x8000224900000000ULL },
+ { "napE", 0x80002a7000000338ULL },
+ { "napid", 0x8000224b00000338ULL },
+ { "napos", 0x8000014900000000ULL },
+ { "napprox", 0x8000224900000000ULL },
+ { "natur", 0x8000266e00000000ULL },
+ { "natural", 0x8000266e00000000ULL },
+ { "naturals", 0x8000211500000000ULL },
+ { "nbsp", 0x000000a000000000ULL },
+ { "nbump", 0x8000224e00000338ULL },
+ { "nbumpe", 0x8000224f00000338ULL },
+ { "ncap", 0x80002a4300000000ULL },
+ { "ncaron", 0x8000014800000000ULL },
+ { "ncedil", 0x8000014600000000ULL },
+ { "ncong", 0x8000224700000000ULL },
+ { "ncongdot", 0x80002a6d00000338ULL },
+ { "ncup", 0x80002a4200000000ULL },
+ { "ncy", 0x8000043d00000000ULL },
+ { "ndash", 0x8000201300000000ULL },
+ { "ne", 0x8000226000000000ULL },
+ { "neArr", 0x800021d700000000ULL },
+ { "nearhk", 0x8000292400000000ULL },
+ { "nearr", 0x8000219700000000ULL },
+ { "nearrow", 0x8000219700000000ULL },
+ { "nedot", 0x8000225000000338ULL },
+ { "nequiv", 0x8000226200000000ULL },
+ { "nesear", 0x8000292800000000ULL },
+ { "nesim", 0x8000224200000338ULL },
+ { "nexist", 0x8000220400000000ULL },
+ { "nexists", 0x8000220400000000ULL },
+ { "nfr", 0x8001d52b00000000ULL },
+ { "ngE", 0x8000226700000338ULL },
+ { "nge", 0x8000227100000000ULL },
+ { "ngeq", 0x8000227100000000ULL },
+ { "ngeqq", 0x8000226700000338ULL },
+ { "ngeqslant", 0x80002a7e00000338ULL },
+ { "nges", 0x80002a7e00000338ULL },
+ { "ngsim", 0x8000227500000000ULL },
+ { "ngt", 0x8000226f00000000ULL },
+ { "ngtr", 0x8000226f00000000ULL },
+ { "nhArr", 0x800021ce00000000ULL },
+ { "nharr", 0x800021ae00000000ULL },
+ { "nhpar", 0x80002af200000000ULL },
+ { "ni", 0x8000220b00000000ULL },
+ { "nis", 0x800022fc00000000ULL },
+ { "nisd", 0x800022fa00000000ULL },
+ { "niv", 0x8000220b00000000ULL },
+ { "njcy", 0x8000045a00000000ULL },
+ { "nlArr", 0x800021cd00000000ULL },
+ { "nlE", 0x8000226600000338ULL },
+ { "nlarr", 0x8000219a00000000ULL },
+ { "nldr", 0x8000202500000000ULL },
+ { "nle", 0x8000227000000000ULL },
+ { "nleftarrow", 0x8000219a00000000ULL },
+ { "nleftrightarrow", 0x800021ae00000000ULL },
+ { "nleq", 0x8000227000000000ULL },
+ { "nleqq", 0x8000226600000338ULL },
+ { "nleqslant", 0x80002a7d00000338ULL },
+ { "nles", 0x80002a7d00000338ULL },
+ { "nless", 0x8000226e00000000ULL },
+ { "nlsim", 0x8000227400000000ULL },
+ { "nlt", 0x8000226e00000000ULL },
+ { "nltri", 0x800022ea00000000ULL },
+ { "nltrie", 0x800022ec00000000ULL },
+ { "nmid", 0x8000222400000000ULL },
+ { "nopf", 0x8001d55f00000000ULL },
+ { "not", 0x000000ac00000000ULL },
+ { "notin", 0x8000220900000000ULL },
+ { "notinE", 0x800022f900000338ULL },
+ { "notindot", 0x800022f500000338ULL },
+ { "notinva", 0x8000220900000000ULL },
+ { "notinvb", 0x800022f700000000ULL },
+ { "notinvc", 0x800022f600000000ULL },
+ { "notni", 0x8000220c00000000ULL },
+ { "notniva", 0x8000220c00000000ULL },
+ { "notnivb", 0x800022fe00000000ULL },
+ { "notnivc", 0x800022fd00000000ULL },
+ { "npar", 0x8000222600000000ULL },
+ { "nparallel", 0x8000222600000000ULL },
+ { "nparsl", 0x80002afd000020e5ULL },
+ { "npart", 0x8000220200000338ULL },
+ { "npolint", 0x80002a1400000000ULL },
+ { "npr", 0x8000228000000000ULL },
+ { "nprcue", 0x800022e000000000ULL },
+ { "npre", 0x80002aaf00000338ULL },
+ { "nprec", 0x8000228000000000ULL },
+ { "npreceq", 0x80002aaf00000338ULL },
+ { "nrArr", 0x800021cf00000000ULL },
+ { "nrarr", 0x8000219b00000000ULL },
+ { "nrarrc", 0x8000293300000338ULL },
+ { "nrarrw", 0x8000219d00000338ULL },
+ { "nrightarrow", 0x8000219b00000000ULL },
+ { "nrtri", 0x800022eb00000000ULL },
+ { "nrtrie", 0x800022ed00000000ULL },
+ { "nsc", 0x8000228100000000ULL },
+ { "nsccue", 0x800022e100000000ULL },
+ { "nsce", 0x80002ab000000338ULL },
+ { "nscr", 0x8001d4c300000000ULL },
+ { "nshortmid", 0x8000222400000000ULL },
+ { "nshortparallel", 0x8000222600000000ULL },
+ { "nsim", 0x8000224100000000ULL },
+ { "nsime", 0x8000224400000000ULL },
+ { "nsimeq", 0x8000224400000000ULL },
+ { "nsmid", 0x8000222400000000ULL },
+ { "nspar", 0x8000222600000000ULL },
+ { "nsqsube", 0x800022e200000000ULL },
+ { "nsqsupe", 0x800022e300000000ULL },
+ { "nsub", 0x8000228400000000ULL },
+ { "nsubE", 0x80002ac500000338ULL },
+ { "nsube", 0x8000228800000000ULL },
+ { "nsubset", 0x80002282000020d2ULL },
+ { "nsubseteq", 0x8000228800000000ULL },
+ { "nsubseteqq", 0x80002ac500000338ULL },
+ { "nsucc", 0x8000228100000000ULL },
+ { "nsucceq", 0x80002ab000000338ULL },
+ { "nsup", 0x8000228500000000ULL },
+ { "nsupE", 0x80002ac600000338ULL },
+ { "nsupe", 0x8000228900000000ULL },
+ { "nsupset", 0x80002283000020d2ULL },
+ { "nsupseteq", 0x8000228900000000ULL },
+ { "nsupseteqq", 0x80002ac600000338ULL },
+ { "ntgl", 0x8000227900000000ULL },
+ { "ntilde", 0x000000f100000000ULL },
+ { "ntlg", 0x8000227800000000ULL },
+ { "ntriangleleft", 0x800022ea00000000ULL },
+ { "ntrianglelefteq", 0x800022ec00000000ULL },
+ { "ntriangleright", 0x800022eb00000000ULL },
+ { "ntrianglerighteq", 0x800022ed00000000ULL },
+ { "nu", 0x800003bd00000000ULL },
+ { "num", 0x8000002300000000ULL },
+ { "numero", 0x8000211600000000ULL },
+ { "numsp", 0x8000200700000000ULL },
+ { "nvDash", 0x800022ad00000000ULL },
+ { "nvHarr", 0x8000290400000000ULL },
+ { "nvap", 0x8000224d000020d2ULL },
+ { "nvdash", 0x800022ac00000000ULL },
+ { "nvge", 0x80002265000020d2ULL },
+ { "nvgt", 0x8000003e000020d2ULL },
+ { "nvinfin", 0x800029de00000000ULL },
+ { "nvlArr", 0x8000290200000000ULL },
+ { "nvle", 0x80002264000020d2ULL },
+ { "nvlt", 0x8000003c000020d2ULL },
+ { "nvltrie", 0x800022b4000020d2ULL },
+ { "nvrArr", 0x8000290300000000ULL },
+ { "nvrtrie", 0x800022b5000020d2ULL },
+ { "nvsim", 0x8000223c000020d2ULL },
+ { "nwArr", 0x800021d600000000ULL },
+ { "nwarhk", 0x8000292300000000ULL },
+ { "nwarr", 0x8000219600000000ULL },
+ { "nwarrow", 0x8000219600000000ULL },
+ { "nwnear", 0x8000292700000000ULL },
+ { "oS", 0x800024c800000000ULL },
+ { "oacute", 0x000000f300000000ULL },
+ { "oast", 0x8000229b00000000ULL },
+ { "ocir", 0x8000229a00000000ULL },
+ { "ocirc", 0x000000f400000000ULL },
+ { "ocy", 0x8000043e00000000ULL },
+ { "odash", 0x8000229d00000000ULL },
+ { "odblac", 0x8000015100000000ULL },
+ { "odiv", 0x80002a3800000000ULL },
+ { "odot", 0x8000229900000000ULL },
+ { "odsold", 0x800029bc00000000ULL },
+ { "oelig", 0x8000015300000000ULL },
+ { "ofcir", 0x800029bf00000000ULL },
+ { "ofr", 0x8001d52c00000000ULL },
+ { "ogon", 0x800002db00000000ULL },
+ { "ograve", 0x000000f200000000ULL },
+ { "ogt", 0x800029c100000000ULL },
+ { "ohbar", 0x800029b500000000ULL },
+ { "ohm", 0x800003a900000000ULL },
+ { "oint", 0x8000222e00000000ULL },
+ { "olarr", 0x800021ba00000000ULL },
+ { "olcir", 0x800029be00000000ULL },
+ { "olcross", 0x800029bb00000000ULL },
+ { "oline", 0x8000203e00000000ULL },
+ { "olt", 0x800029c000000000ULL },
+ { "omacr", 0x8000014d00000000ULL },
+ { "omega", 0x800003c900000000ULL },
+ { "omicron", 0x800003bf00000000ULL },
+ { "omid", 0x800029b600000000ULL },
+ { "ominus", 0x8000229600000000ULL },
+ { "oopf", 0x8001d56000000000ULL },
+ { "opar", 0x800029b700000000ULL },
+ { "operp", 0x800029b900000000ULL },
+ { "oplus", 0x8000229500000000ULL },
+ { "or", 0x8000222800000000ULL },
+ { "orarr", 0x800021bb00000000ULL },
+ { "ord", 0x80002a5d00000000ULL },
+ { "order", 0x8000213400000000ULL },
+ { "orderof", 0x8000213400000000ULL },
+ { "ordf", 0x000000aa00000000ULL },
+ { "ordm", 0x000000ba00000000ULL },
+ { "origof", 0x800022b600000000ULL },
+ { "oror", 0x80002a5600000000ULL },
+ { "orslope", 0x80002a5700000000ULL },
+ { "orv", 0x80002a5b00000000ULL },
+ { "oscr", 0x8000213400000000ULL },
+ { "oslash", 0x000000f800000000ULL },
+ { "osol", 0x8000229800000000ULL },
+ { "otilde", 0x000000f500000000ULL },
+ { "otimes", 0x8000229700000000ULL },
+ { "otimesas", 0x80002a3600000000ULL },
+ { "ouml", 0x000000f600000000ULL },
+ { "ovbar", 0x8000233d00000000ULL },
+ { "par", 0x8000222500000000ULL },
+ { "para", 0x000000b600000000ULL },
+ { "parallel", 0x8000222500000000ULL },
+ { "parsim", 0x80002af300000000ULL },
+ { "parsl", 0x80002afd00000000ULL },
+ { "part", 0x8000220200000000ULL },
+ { "pcy", 0x8000043f00000000ULL },
+ { "percnt", 0x8000002500000000ULL },
+ { "period", 0x8000002e00000000ULL },
+ { "permil", 0x8000203000000000ULL },
+ { "perp", 0x800022a500000000ULL },
+ { "pertenk", 0x8000203100000000ULL },
+ { "pfr", 0x8001d52d00000000ULL },
+ { "phi", 0x800003c600000000ULL },
+ { "phiv", 0x800003d500000000ULL },
+ { "phmmat", 0x8000213300000000ULL },
+ { "phone", 0x8000260e00000000ULL },
+ { "pi", 0x800003c000000000ULL },
+ { "pitchfork", 0x800022d400000000ULL },
+ { "piv", 0x800003d600000000ULL },
+ { "planck", 0x8000210f00000000ULL },
+ { "planckh", 0x8000210e00000000ULL },
+ { "plankv", 0x8000210f00000000ULL },
+ { "plus", 0x8000002b00000000ULL },
+ { "plusacir", 0x80002a2300000000ULL },
+ { "plusb", 0x8000229e00000000ULL },
+ { "pluscir", 0x80002a2200000000ULL },
+ { "plusdo", 0x8000221400000000ULL },
+ { "plusdu", 0x80002a2500000000ULL },
+ { "pluse", 0x80002a7200000000ULL },
+ { "plusmn", 0x000000b100000000ULL },
+ { "plussim", 0x80002a2600000000ULL },
+ { "plustwo", 0x80002a2700000000ULL },
+ { "pm", 0x800000b100000000ULL },
+ { "pointint", 0x80002a1500000000ULL },
+ { "popf", 0x8001d56100000000ULL },
+ { "pound", 0x000000a300000000ULL },
+ { "pr", 0x8000227a00000000ULL },
+ { "prE", 0x80002ab300000000ULL },
+ { "prap", 0x80002ab700000000ULL },
+ { "prcue", 0x8000227c00000000ULL },
+ { "pre", 0x80002aaf00000000ULL },
+ { "prec", 0x8000227a00000000ULL },
+ { "precapprox", 0x80002ab700000000ULL },
+ { "preccurlyeq", 0x8000227c00000000ULL },
+ { "preceq", 0x80002aaf00000000ULL },
+ { "precnapprox", 0x80002ab900000000ULL },
+ { "precneqq", 0x80002ab500000000ULL },
+ { "precnsim", 0x800022e800000000ULL },
+ { "precsim", 0x8000227e00000000ULL },
+ { "prime", 0x8000203200000000ULL },
+ { "primes", 0x8000211900000000ULL },
+ { "prnE", 0x80002ab500000000ULL },
+ { "prnap", 0x80002ab900000000ULL },
+ { "prnsim", 0x800022e800000000ULL },
+ { "prod", 0x8000220f00000000ULL },
+ { "profalar", 0x8000232e00000000ULL },
+ { "profline", 0x8000231200000000ULL },
+ { "profsurf", 0x8000231300000000ULL },
+ { "prop", 0x8000221d00000000ULL },
+ { "propto", 0x8000221d00000000ULL },
+ { "prsim", 0x8000227e00000000ULL },
+ { "prurel", 0x800022b000000000ULL },
+ { "pscr", 0x8001d4c500000000ULL },
+ { "psi", 0x800003c800000000ULL },
+ { "puncsp", 0x8000200800000000ULL },
+ { "qfr", 0x8001d52e00000000ULL },
+ { "qint", 0x80002a0c00000000ULL },
+ { "qopf", 0x8001d56200000000ULL },
+ { "qprime", 0x8000205700000000ULL },
+ { "qscr", 0x8001d4c600000000ULL },
+ { "quaternions", 0x8000210d00000000ULL },
+ { "quatint", 0x80002a1600000000ULL },
+ { "quest", 0x8000003f00000000ULL },
+ { "questeq", 0x8000225f00000000ULL },
+ { "quot", 0x0000002200000000ULL },
+ { "rAarr", 0x800021db00000000ULL },
+ { "rArr", 0x800021d200000000ULL },
+ { "rAtail", 0x8000291c00000000ULL },
+ { "rBarr", 0x8000290f00000000ULL },
+ { "rHar", 0x8000296400000000ULL },
+ { "race", 0x8000223d00000331ULL },
+ { "racute", 0x8000015500000000ULL },
+ { "radic", 0x8000221a00000000ULL },
+ { "raemptyv", 0x800029b300000000ULL },
+ { "rang", 0x800027e900000000ULL },
+ { "rangd", 0x8000299200000000ULL },
+ { "range", 0x800029a500000000ULL },
+ { "rangle", 0x800027e900000000ULL },
+ { "raquo", 0x000000bb00000000ULL },
+ { "rarr", 0x8000219200000000ULL },
+ { "rarrap", 0x8000297500000000ULL },
+ { "rarrb", 0x800021e500000000ULL },
+ { "rarrbfs", 0x8000292000000000ULL },
+ { "rarrc", 0x8000293300000000ULL },
+ { "rarrfs", 0x8000291e00000000ULL },
+ { "rarrhk", 0x800021aa00000000ULL },
+ { "rarrlp", 0x800021ac00000000ULL },
+ { "rarrpl", 0x8000294500000000ULL },
+ { "rarrsim", 0x8000297400000000ULL },
+ { "rarrtl", 0x800021a300000000ULL },
+ { "rarrw", 0x8000219d00000000ULL },
+ { "ratail", 0x8000291a00000000ULL },
+ { "ratio", 0x8000223600000000ULL },
+ { "rationals", 0x8000211a00000000ULL },
+ { "rbarr", 0x8000290d00000000ULL },
+ { "rbbrk", 0x8000277300000000ULL },
+ { "rbrace", 0x8000007d00000000ULL },
+ { "rbrack", 0x8000005d00000000ULL },
+ { "rbrke", 0x8000298c00000000ULL },
+ { "rbrksld", 0x8000298e00000000ULL },
+ { "rbrkslu", 0x8000299000000000ULL },
+ { "rcaron", 0x8000015900000000ULL },
+ { "rcedil", 0x8000015700000000ULL },
+ { "rceil", 0x8000230900000000ULL },
+ { "rcub", 0x8000007d00000000ULL },
+ { "rcy", 0x8000044000000000ULL },
+ { "rdca", 0x8000293700000000ULL },
+ { "rdldhar", 0x8000296900000000ULL },
+ { "rdquo", 0x8000201d00000000ULL },
+ { "rdquor", 0x8000201d00000000ULL },
+ { "rdsh", 0x800021b300000000ULL },
+ { "real", 0x8000211c00000000ULL },
+ { "realine", 0x8000211b00000000ULL },
+ { "realpart", 0x8000211c00000000ULL },
+ { "reals", 0x8000211d00000000ULL },
+ { "rect", 0x800025ad00000000ULL },
+ { "reg", 0x000000ae00000000ULL },
+ { "rfisht", 0x8000297d00000000ULL },
+ { "rfloor", 0x8000230b00000000ULL },
+ { "rfr", 0x8001d52f00000000ULL },
+ { "rhard", 0x800021c100000000ULL },
+ { "rharu", 0x800021c000000000ULL },
+ { "rharul", 0x8000296c00000000ULL },
+ { "rho", 0x800003c100000000ULL },
+ { "rhov", 0x800003f100000000ULL },
+ { "rightarrow", 0x8000219200000000ULL },
+ { "rightarrowtail", 0x800021a300000000ULL },
+ { "rightharpoondown", 0x800021c100000000ULL },
+ { "rightharpoonup", 0x800021c000000000ULL },
+ { "rightleftarrows", 0x800021c400000000ULL },
+ { "rightleftharpoons", 0x800021cc00000000ULL },
+ { "rightrightarrows", 0x800021c900000000ULL },
+ { "rightsquigarrow", 0x8000219d00000000ULL },
+ { "rightthreetimes", 0x800022cc00000000ULL },
+ { "ring", 0x800002da00000000ULL },
+ { "risingdotseq", 0x8000225300000000ULL },
+ { "rlarr", 0x800021c400000000ULL },
+ { "rlhar", 0x800021cc00000000ULL },
+ { "rlm", 0x8000200f00000000ULL },
+ { "rmoust", 0x800023b100000000ULL },
+ { "rmoustache", 0x800023b100000000ULL },
+ { "rnmid", 0x80002aee00000000ULL },
+ { "roang", 0x800027ed00000000ULL },
+ { "roarr", 0x800021fe00000000ULL },
+ { "robrk", 0x800027e700000000ULL },
+ { "ropar", 0x8000298600000000ULL },
+ { "ropf", 0x8001d56300000000ULL },
+ { "roplus", 0x80002a2e00000000ULL },
+ { "rotimes", 0x80002a3500000000ULL },
+ { "rpar", 0x8000002900000000ULL },
+ { "rpargt", 0x8000299400000000ULL },
+ { "rppolint", 0x80002a1200000000ULL },
+ { "rrarr", 0x800021c900000000ULL },
+ { "rsaquo", 0x8000203a00000000ULL },
+ { "rscr", 0x8001d4c700000000ULL },
+ { "rsh", 0x800021b100000000ULL },
+ { "rsqb", 0x8000005d00000000ULL },
+ { "rsquo", 0x8000201900000000ULL },
+ { "rsquor", 0x8000201900000000ULL },
+ { "rthree", 0x800022cc00000000ULL },
+ { "rtimes", 0x800022ca00000000ULL },
+ { "rtri", 0x800025b900000000ULL },
+ { "rtrie", 0x800022b500000000ULL },
+ { "rtrif", 0x800025b800000000ULL },
+ { "rtriltri", 0x800029ce00000000ULL },
+ { "ruluhar", 0x8000296800000000ULL },
+ { "rx", 0x8000211e00000000ULL },
+ { "sacute", 0x8000015b00000000ULL },
+ { "sbquo", 0x8000201a00000000ULL },
+ { "sc", 0x8000227b00000000ULL },
+ { "scE", 0x80002ab400000000ULL },
+ { "scap", 0x80002ab800000000ULL },
+ { "scaron", 0x8000016100000000ULL },
+ { "sccue", 0x8000227d00000000ULL },
+ { "sce", 0x80002ab000000000ULL },
+ { "scedil", 0x8000015f00000000ULL },
+ { "scirc", 0x8000015d00000000ULL },
+ { "scnE", 0x80002ab600000000ULL },
+ { "scnap", 0x80002aba00000000ULL },
+ { "scnsim", 0x800022e900000000ULL },
+ { "scpolint", 0x80002a1300000000ULL },
+ { "scsim", 0x8000227f00000000ULL },
+ { "scy", 0x8000044100000000ULL },
+ { "sdot", 0x800022c500000000ULL },
+ { "sdotb", 0x800022a100000000ULL },
+ { "sdote", 0x80002a6600000000ULL },
+ { "seArr", 0x800021d800000000ULL },
+ { "searhk", 0x8000292500000000ULL },
+ { "searr", 0x8000219800000000ULL },
+ { "searrow", 0x8000219800000000ULL },
+ { "sect", 0x000000a700000000ULL },
+ { "semi", 0x8000003b00000000ULL },
+ { "seswar", 0x8000292900000000ULL },
+ { "setminus", 0x8000221600000000ULL },
+ { "setmn", 0x8000221600000000ULL },
+ { "sext", 0x8000273600000000ULL },
+ { "sfr", 0x8001d53000000000ULL },
+ { "sfrown", 0x8000232200000000ULL },
+ { "sharp", 0x8000266f00000000ULL },
+ { "shchcy", 0x8000044900000000ULL },
+ { "shcy", 0x8000044800000000ULL },
+ { "shortmid", 0x8000222300000000ULL },
+ { "shortparallel", 0x8000222500000000ULL },
+ { "shy", 0x000000ad00000000ULL },
+ { "sigma", 0x800003c300000000ULL },
+ { "sigmaf", 0x800003c200000000ULL },
+ { "sigmav", 0x800003c200000000ULL },
+ { "sim", 0x8000223c00000000ULL },
+ { "simdot", 0x80002a6a00000000ULL },
+ { "sime", 0x8000224300000000ULL },
+ { "simeq", 0x8000224300000000ULL },
+ { "simg", 0x80002a9e00000000ULL },
+ { "simgE", 0x80002aa000000000ULL },
+ { "siml", 0x80002a9d00000000ULL },
+ { "simlE", 0x80002a9f00000000ULL },
+ { "simne", 0x8000224600000000ULL },
+ { "simplus", 0x80002a2400000000ULL },
+ { "simrarr", 0x8000297200000000ULL },
+ { "slarr", 0x8000219000000000ULL },
+ { "smallsetminus", 0x8000221600000000ULL },
+ { "smashp", 0x80002a3300000000ULL },
+ { "smeparsl", 0x800029e400000000ULL },
+ { "smid", 0x8000222300000000ULL },
+ { "smile", 0x8000232300000000ULL },
+ { "smt", 0x80002aaa00000000ULL },
+ { "smte", 0x80002aac00000000ULL },
+ { "smtes", 0x80002aac0000fe00ULL },
+ { "softcy", 0x8000044c00000000ULL },
+ { "sol", 0x8000002f00000000ULL },
+ { "solb", 0x800029c400000000ULL },
+ { "solbar", 0x8000233f00000000ULL },
+ { "sopf", 0x8001d56400000000ULL },
+ { "spades", 0x8000266000000000ULL },
+ { "spadesuit", 0x8000266000000000ULL },
+ { "spar", 0x8000222500000000ULL },
+ { "sqcap", 0x8000229300000000ULL },
+ { "sqcaps", 0x800022930000fe00ULL },
+ { "sqcup", 0x8000229400000000ULL },
+ { "sqcups", 0x800022940000fe00ULL },
+ { "sqsub", 0x8000228f00000000ULL },
+ { "sqsube", 0x8000229100000000ULL },
+ { "sqsubset", 0x8000228f00000000ULL },
+ { "sqsubseteq", 0x8000229100000000ULL },
+ { "sqsup", 0x8000229000000000ULL },
+ { "sqsupe", 0x8000229200000000ULL },
+ { "sqsupset", 0x8000229000000000ULL },
+ { "sqsupseteq", 0x8000229200000000ULL },
+ { "squ", 0x800025a100000000ULL },
+ { "square", 0x800025a100000000ULL },
+ { "squarf", 0x800025aa00000000ULL },
+ { "squf", 0x800025aa00000000ULL },
+ { "srarr", 0x8000219200000000ULL },
+ { "sscr", 0x8001d4c800000000ULL },
+ { "ssetmn", 0x8000221600000000ULL },
+ { "ssmile", 0x8000232300000000ULL },
+ { "sstarf", 0x800022c600000000ULL },
+ { "star", 0x8000260600000000ULL },
+ { "starf", 0x8000260500000000ULL },
+ { "straightepsilon", 0x800003f500000000ULL },
+ { "straightphi", 0x800003d500000000ULL },
+ { "strns", 0x800000af00000000ULL },
+ { "sub", 0x8000228200000000ULL },
+ { "subE", 0x80002ac500000000ULL },
+ { "subdot", 0x80002abd00000000ULL },
+ { "sube", 0x8000228600000000ULL },
+ { "subedot", 0x80002ac300000000ULL },
+ { "submult", 0x80002ac100000000ULL },
+ { "subnE", 0x80002acb00000000ULL },
+ { "subne", 0x8000228a00000000ULL },
+ { "subplus", 0x80002abf00000000ULL },
+ { "subrarr", 0x8000297900000000ULL },
+ { "subset", 0x8000228200000000ULL },
+ { "subseteq", 0x8000228600000000ULL },
+ { "subseteqq", 0x80002ac500000000ULL },
+ { "subsetneq", 0x8000228a00000000ULL },
+ { "subsetneqq", 0x80002acb00000000ULL },
+ { "subsim", 0x80002ac700000000ULL },
+ { "subsub", 0x80002ad500000000ULL },
+ { "subsup", 0x80002ad300000000ULL },
+ { "succ", 0x8000227b00000000ULL },
+ { "succapprox", 0x80002ab800000000ULL },
+ { "succcurlyeq", 0x8000227d00000000ULL },
+ { "succeq", 0x80002ab000000000ULL },
+ { "succnapprox", 0x80002aba00000000ULL },
+ { "succneqq", 0x80002ab600000000ULL },
+ { "succnsim", 0x800022e900000000ULL },
+ { "succsim", 0x8000227f00000000ULL },
+ { "sum", 0x8000221100000000ULL },
+ { "sung", 0x8000266a00000000ULL },
+ { "sup", 0x8000228300000000ULL },
+ { "sup1", 0x000000b900000000ULL },
+ { "sup2", 0x000000b200000000ULL },
+ { "sup3", 0x000000b300000000ULL },
+ { "supE", 0x80002ac600000000ULL },
+ { "supdot", 0x80002abe00000000ULL },
+ { "supdsub", 0x80002ad800000000ULL },
+ { "supe", 0x8000228700000000ULL },
+ { "supedot", 0x80002ac400000000ULL },
+ { "suphsol", 0x800027c900000000ULL },
+ { "suphsub", 0x80002ad700000000ULL },
+ { "suplarr", 0x8000297b00000000ULL },
+ { "supmult", 0x80002ac200000000ULL },
+ { "supnE", 0x80002acc00000000ULL },
+ { "supne", 0x8000228b00000000ULL },
+ { "supplus", 0x80002ac000000000ULL },
+ { "supset", 0x8000228300000000ULL },
+ { "supseteq", 0x8000228700000000ULL },
+ { "supseteqq", 0x80002ac600000000ULL },
+ { "supsetneq", 0x8000228b00000000ULL },
+ { "supsetneqq", 0x80002acc00000000ULL },
+ { "supsim", 0x80002ac800000000ULL },
+ { "supsub", 0x80002ad400000000ULL },
+ { "supsup", 0x80002ad600000000ULL },
+ { "swArr", 0x800021d900000000ULL },
+ { "swarhk", 0x8000292600000000ULL },
+ { "swarr", 0x8000219900000000ULL },
+ { "swarrow", 0x8000219900000000ULL },
+ { "swnwar", 0x8000292a00000000ULL },
+ { "szlig", 0x000000df00000000ULL },
+ { "target", 0x8000231600000000ULL },
+ { "tau", 0x800003c400000000ULL },
+ { "tbrk", 0x800023b400000000ULL },
+ { "tcaron", 0x8000016500000000ULL },
+ { "tcedil", 0x8000016300000000ULL },
+ { "tcy", 0x8000044200000000ULL },
+ { "tdot", 0x800020db00000000ULL },
+ { "telrec", 0x8000231500000000ULL },
+ { "tfr", 0x8001d53100000000ULL },
+ { "there4", 0x8000223400000000ULL },
+ { "therefore", 0x8000223400000000ULL },
+ { "theta", 0x800003b800000000ULL },
+ { "thetasym", 0x800003d100000000ULL },
+ { "thetav", 0x800003d100000000ULL },
+ { "thickapprox", 0x8000224800000000ULL },
+ { "thicksim", 0x8000223c00000000ULL },
+ { "thinsp", 0x8000200900000000ULL },
+ { "thkap", 0x8000224800000000ULL },
+ { "thksim", 0x8000223c00000000ULL },
+ { "thorn", 0x000000fe00000000ULL },
+ { "tilde", 0x800002dc00000000ULL },
+ { "times", 0x000000d700000000ULL },
+ { "timesb", 0x800022a000000000ULL },
+ { "timesbar", 0x80002a3100000000ULL },
+ { "timesd", 0x80002a3000000000ULL },
+ { "tint", 0x8000222d00000000ULL },
+ { "toea", 0x8000292800000000ULL },
+ { "top", 0x800022a400000000ULL },
+ { "topbot", 0x8000233600000000ULL },
+ { "topcir", 0x80002af100000000ULL },
+ { "topf", 0x8001d56500000000ULL },
+ { "topfork", 0x80002ada00000000ULL },
+ { "tosa", 0x8000292900000000ULL },
+ { "tprime", 0x8000203400000000ULL },
+ { "trade", 0x8000212200000000ULL },
+ { "triangle", 0x800025b500000000ULL },
+ { "triangledown", 0x800025bf00000000ULL },
+ { "triangleleft", 0x800025c300000000ULL },
+ { "trianglelefteq", 0x800022b400000000ULL },
+ { "triangleq", 0x8000225c00000000ULL },
+ { "triangleright", 0x800025b900000000ULL },
+ { "trianglerighteq", 0x800022b500000000ULL },
+ { "tridot", 0x800025ec00000000ULL },
+ { "trie", 0x8000225c00000000ULL },
+ { "triminus", 0x80002a3a00000000ULL },
+ { "triplus", 0x80002a3900000000ULL },
+ { "trisb", 0x800029cd00000000ULL },
+ { "tritime", 0x80002a3b00000000ULL },
+ { "trpezium", 0x800023e200000000ULL },
+ { "tscr", 0x8001d4c900000000ULL },
+ { "tscy", 0x8000044600000000ULL },
+ { "tshcy", 0x8000045b00000000ULL },
+ { "tstrok", 0x8000016700000000ULL },
+ { "twixt", 0x8000226c00000000ULL },
+ { "twoheadleftarrow", 0x8000219e00000000ULL },
+ { "twoheadrightarrow", 0x800021a000000000ULL },
+ { "uArr", 0x800021d100000000ULL },
+ { "uHar", 0x8000296300000000ULL },
+ { "uacute", 0x000000fa00000000ULL },
+ { "uarr", 0x8000219100000000ULL },
+ { "ubrcy", 0x8000045e00000000ULL },
+ { "ubreve", 0x8000016d00000000ULL },
+ { "ucirc", 0x000000fb00000000ULL },
+ { "ucy", 0x8000044300000000ULL },
+ { "udarr", 0x800021c500000000ULL },
+ { "udblac", 0x8000017100000000ULL },
+ { "udhar", 0x8000296e00000000ULL },
+ { "ufisht", 0x8000297e00000000ULL },
+ { "ufr", 0x8001d53200000000ULL },
+ { "ugrave", 0x000000f900000000ULL },
+ { "uharl", 0x800021bf00000000ULL },
+ { "uharr", 0x800021be00000000ULL },
+ { "uhblk", 0x8000258000000000ULL },
+ { "ulcorn", 0x8000231c00000000ULL },
+ { "ulcorner", 0x8000231c00000000ULL },
+ { "ulcrop", 0x8000230f00000000ULL },
+ { "ultri", 0x800025f800000000ULL },
+ { "umacr", 0x8000016b00000000ULL },
+ { "uml", 0x000000a800000000ULL },
+ { "uogon", 0x8000017300000000ULL },
+ { "uopf", 0x8001d56600000000ULL },
+ { "uparrow", 0x8000219100000000ULL },
+ { "updownarrow", 0x8000219500000000ULL },
+ { "upharpoonleft", 0x800021bf00000000ULL },
+ { "upharpoonright", 0x800021be00000000ULL },
+ { "uplus", 0x8000228e00000000ULL },
+ { "upsi", 0x800003c500000000ULL },
+ { "upsih", 0x800003d200000000ULL },
+ { "upsilon", 0x800003c500000000ULL },
+ { "upuparrows", 0x800021c800000000ULL },
+ { "urcorn", 0x8000231d00000000ULL },
+ { "urcorner", 0x8000231d00000000ULL },
+ { "urcrop", 0x8000230e00000000ULL },
+ { "uring", 0x8000016f00000000ULL },
+ { "urtri", 0x800025f900000000ULL },
+ { "uscr", 0x8001d4ca00000000ULL },
+ { "utdot", 0x800022f000000000ULL },
+ { "utilde", 0x8000016900000000ULL },
+ { "utri", 0x800025b500000000ULL },
+ { "utrif", 0x800025b400000000ULL },
+ { "uuarr", 0x800021c800000000ULL },
+ { "uuml", 0x000000fc00000000ULL },
+ { "uwangle", 0x800029a700000000ULL },
+ { "vArr", 0x800021d500000000ULL },
+ { "vBar", 0x80002ae800000000ULL },
+ { "vBarv", 0x80002ae900000000ULL },
+ { "vDash", 0x800022a800000000ULL },
+ { "vangrt", 0x8000299c00000000ULL },
+ { "varepsilon", 0x800003f500000000ULL },
+ { "varkappa", 0x800003f000000000ULL },
+ { "varnothing", 0x8000220500000000ULL },
+ { "varphi", 0x800003d500000000ULL },
+ { "varpi", 0x800003d600000000ULL },
+ { "varpropto", 0x8000221d00000000ULL },
+ { "varr", 0x8000219500000000ULL },
+ { "varrho", 0x800003f100000000ULL },
+ { "varsigma", 0x800003c200000000ULL },
+ { "varsubsetneq", 0x8000228a0000fe00ULL },
+ { "varsubsetneqq", 0x80002acb0000fe00ULL },
+ { "varsupsetneq", 0x8000228b0000fe00ULL },
+ { "varsupsetneqq", 0x80002acc0000fe00ULL },
+ { "vartheta", 0x800003d100000000ULL },
+ { "vartriangleleft", 0x800022b200000000ULL },
+ { "vartriangleright", 0x800022b300000000ULL },
+ { "vcy", 0x8000043200000000ULL },
+ { "vdash", 0x800022a200000000ULL },
+ { "vee", 0x8000222800000000ULL },
+ { "veebar", 0x800022bb00000000ULL },
+ { "veeeq", 0x8000225a00000000ULL },
+ { "vellip", 0x800022ee00000000ULL },
+ { "verbar", 0x8000007c00000000ULL },
+ { "vert", 0x8000007c00000000ULL },
+ { "vfr", 0x8001d53300000000ULL },
+ { "vltri", 0x800022b200000000ULL },
+ { "vnsub", 0x80002282000020d2ULL },
+ { "vnsup", 0x80002283000020d2ULL },
+ { "vopf", 0x8001d56700000000ULL },
+ { "vprop", 0x8000221d00000000ULL },
+ { "vrtri", 0x800022b300000000ULL },
+ { "vscr", 0x8001d4cb00000000ULL },
+ { "vsubnE", 0x80002acb0000fe00ULL },
+ { "vsubne", 0x8000228a0000fe00ULL },
+ { "vsupnE", 0x80002acc0000fe00ULL },
+ { "vsupne", 0x8000228b0000fe00ULL },
+ { "vzigzag", 0x8000299a00000000ULL },
+ { "wcirc", 0x8000017500000000ULL },
+ { "wedbar", 0x80002a5f00000000ULL },
+ { "wedge", 0x8000222700000000ULL },
+ { "wedgeq", 0x8000225900000000ULL },
+ { "weierp", 0x8000211800000000ULL },
+ { "wfr", 0x8001d53400000000ULL },
+ { "wopf", 0x8001d56800000000ULL },
+ { "wp", 0x8000211800000000ULL },
+ { "wr", 0x8000224000000000ULL },
+ { "wreath", 0x8000224000000000ULL },
+ { "wscr", 0x8001d4cc00000000ULL },
+ { "xcap", 0x800022c200000000ULL },
+ { "xcirc", 0x800025ef00000000ULL },
+ { "xcup", 0x800022c300000000ULL },
+ { "xdtri", 0x800025bd00000000ULL },
+ { "xfr", 0x8001d53500000000ULL },
+ { "xhArr", 0x800027fa00000000ULL },
+ { "xharr", 0x800027f700000000ULL },
+ { "xi", 0x800003be00000000ULL },
+ { "xlArr", 0x800027f800000000ULL },
+ { "xlarr", 0x800027f500000000ULL },
+ { "xmap", 0x800027fc00000000ULL },
+ { "xnis", 0x800022fb00000000ULL },
+ { "xodot", 0x80002a0000000000ULL },
+ { "xopf", 0x8001d56900000000ULL },
+ { "xoplus", 0x80002a0100000000ULL },
+ { "xotime", 0x80002a0200000000ULL },
+ { "xrArr", 0x800027f900000000ULL },
+ { "xrarr", 0x800027f600000000ULL },
+ { "xscr", 0x8001d4cd00000000ULL },
+ { "xsqcup", 0x80002a0600000000ULL },
+ { "xuplus", 0x80002a0400000000ULL },
+ { "xutri", 0x800025b300000000ULL },
+ { "xvee", 0x800022c100000000ULL },
+ { "xwedge", 0x800022c000000000ULL },
+ { "yacute", 0x000000fd00000000ULL },
+ { "yacy", 0x8000044f00000000ULL },
+ { "ycirc", 0x8000017700000000ULL },
+ { "ycy", 0x8000044b00000000ULL },
+ { "yen", 0x000000a500000000ULL },
+ { "yfr", 0x8001d53600000000ULL },
+ { "yicy", 0x8000045700000000ULL },
+ { "yopf", 0x8001d56a00000000ULL },
+ { "yscr", 0x8001d4ce00000000ULL },
+ { "yucy", 0x8000044e00000000ULL },
+ { "yuml", 0x000000ff00000000ULL },
+ { "zacute", 0x8000017a00000000ULL },
+ { "zcaron", 0x8000017e00000000ULL },
+ { "zcy", 0x8000043700000000ULL },
+ { "zdot", 0x8000017c00000000ULL },
+ { "zeetrf", 0x8000212800000000ULL },
+ { "zeta", 0x800003b600000000ULL },
+ { "zfr", 0x8001d53700000000ULL },
+ { "zhcy", 0x8000043600000000ULL },
+ { "zigrarr", 0x800021dd00000000ULL },
+ { "zopf", 0x8001d56b00000000ULL },
+ { "zscr", 0x8001d4cf00000000ULL },
+ { "zwj", 0x8000200d00000000ULL },
+ { "zwnj", 0x8000200c00000000ULL },
+};
+
+static void
+ucv_stringbuf_addutf8(uc_stringbuf_t *buf, unsigned int code)
+{
+ unsigned char seq[5];
+ size_t len = 0;
+
+ switch (code) {
+ // disallow CR (https://html.spec.whatwg.org/multipage/syntax.html#character-references)
+ case 0xD:
+
+ // disallow controls (https://infra.spec.whatwg.org/#control) except whitespace
+ case 0x0 ... 0x8:
+ case 0xB:
+ case 0xE ... 0x1F:
+ case 0x7F ... 0x9F:
+
+ // disallow noncharacter (https://infra.spec.whatwg.org/#noncharacter)
+ case 0xFDD0 ... 0xFDEF:
+ case 0xFFFE ... 0xFFFF:
+ case 0x1FFFE ... 0x1FFFF:
+ case 0x2FFFE ... 0x2FFFF:
+ case 0x3FFFE ... 0x3FFFF:
+ case 0x4FFFE ... 0x4FFFF:
+ case 0x5FFFE ... 0x5FFFF:
+ case 0x6FFFE ... 0x6FFFF:
+ case 0x7FFFE ... 0x7FFFF:
+ case 0x8FFFE ... 0x8FFFF:
+ case 0x9FFFE ... 0x9FFFF:
+ case 0xAFFFE ... 0xAFFFF:
+ case 0xBFFFE ... 0xBFFFF:
+ case 0xCFFFE ... 0xCFFFF:
+ case 0xDFFFE ... 0xDFFFF:
+ case 0xEFFFE ... 0xEFFFF:
+ case 0xFFFFE ... 0xFFFFF:
+ case 0x10FFFE ... 0x10FFFF:
+ return;
+ }
+
+ if (code <= 0x7F) {
+ seq[len++] = code;
+ }
+ else if (code <= 0x7FF) {
+ seq[len++] = ((code >> 6) & 0x1F) | 0xC0;
+ seq[len++] = ( code & 0x3F) | 0x80;
+ }
+ else if (code <= 0xFFFF) {
+ seq[len++] = ((code >> 12) & 0x0F) | 0xE0;
+ seq[len++] = ((code >> 6) & 0x3F) | 0x80;
+ seq[len++] = ( code & 0x3F) | 0x80;
+ }
+ else if (code <= 0x10FFFF) {
+ seq[len++] = ((code >> 18) & 0x07) | 0xF0;
+ seq[len++] = ((code >> 12) & 0x3F) | 0x80;
+ seq[len++] = ((code >> 6) & 0x3F) | 0x80;
+ seq[len++] = ( code & 0x3F) | 0x80;
+ }
+
+ ucv_stringbuf_addstr(buf, (char *)seq, len);
+}
+
+static void
+expand_named_char_ref(uc_stringbuf_t *buf, const char *name, size_t len, bool semicolon)
+{
+ ssize_t l = 0;
+ ssize_t r = sizeof(named_char_refs) / sizeof(named_char_refs[0]) - 1;
+ ssize_t m;
+ int c;
+
+ while (l <= r) {
+ m = (l + r) / 2;
+ c = strncmp(named_char_refs[m].name, name, len);
+
+ if (c < 0) {
+ l = m + 1;
+ continue;
+ }
+
+ if (c > 0 || named_char_refs[m].name[len] != 0) {
+ r = m - 1;
+ continue;
+ }
+
+ if (!(named_char_refs[m].value & (1ULL << 63)) || semicolon) {
+ ucv_stringbuf_addutf8(buf, (named_char_refs[m].value >> 32) & 0x7FFFFFFFULL);
+ ucv_stringbuf_addutf8(buf, named_char_refs[m].value & 0xFFFFFFFFULL);
+
+ return;
+ }
+
+ break;
+ }
+
+ ucv_stringbuf_append(buf, "&");
+ ucv_stringbuf_addstr(buf, name, len);
+
+ if (semicolon)
+ ucv_stringbuf_append(buf, ";");
+}
+
+static void
+expand_char_refs(uc_stringbuf_t *buf, const char *s, size_t len, bool loose)
+{
+ const char *end = s + len, *p;
+ unsigned int u;
+ size_t elen;
+ char *e;
+
+ while (s < end) {
+ p = memchr(s, '&', end - s);
+ elen = 1;
+
+ if (!p) {
+ ucv_stringbuf_addstr(buf, s, end - s);
+ break;
+ }
+
+ ucv_stringbuf_addstr(buf, s, p - s);
+
+ while (isalpha(p[elen]))
+ elen++;
+
+ if (elen > 1) {
+ if (p[elen] == ';') {
+ expand_named_char_ref(buf, p + 1, elen - 1, true);
+ s = p + elen + 1;
+ }
+ else if (loose) {
+ expand_named_char_ref(buf, p + 1, elen - 1, false);
+ s = p + elen;
+ }
+ else {
+ ucv_stringbuf_addstr(buf, p, elen);
+ s = p + elen;
+ }
+ }
+ else if (p[elen] == '#') {
+ if ((p[++elen] | 32) == 'x') {
+ u = strtoul(p + ++elen, &e, 16);
+
+ if (e > p + elen && *e == ';') {
+ ucv_stringbuf_addutf8(buf, u);
+ s = e + 1;
+ }
+ else {
+ ucv_stringbuf_addstr(buf, p, e - p);
+ s = e;
+ }
+ }
+ else {
+ u = strtoul(p + elen, &e, 10);
+
+ if (e > p + elen && *e == ';') {
+ ucv_stringbuf_addutf8(buf, u);
+ s = e + 1;
+ }
+ else {
+ ucv_stringbuf_addstr(buf, p, e - p);
+ s = e;
+ }
+ }
+ }
+ else {
+ ucv_stringbuf_addstr(buf, p, elen);
+ s = p + elen;
+ }
+ }
+}
+
+static void
+ucv_stringbuf_addtext(uc_stringbuf_t *buf, const char *s, size_t len)
+{
+ bool space = (buf->bpos && isspace(buf->buf[buf->bpos - 1]));
+
+ while (space && isspace(*s)) {
+ s++;
+ len--;
+ }
+
+ while (len > 1 && isspace(s[len - 1]))
+ len--;
+
+ expand_char_refs(buf, s, len, true);
+}
+
+static bool
+_invoke_cb(const char *s, size_t len, html_token_callback_t cb,
+ html_token_type_t type, void *ud)
+{
+ size_t chunksize;
+
+ while (len > 0) {
+ chunksize = (len > 1024) ? 1024 : len;
+
+ if (!cb(type, s, chunksize, ud))
+ return false;
+
+ len -= chunksize;
+ s += chunksize;
+ }
+
+ return true;
+}
+
+#define invoke_cb(s, len, cb, type, ud) \
+ do { \
+ if (!_invoke_cb(s, len, cb, type, ud)) \
+ return false; \
+ } while(0)
+
+static size_t
+_memspn(const char *s, size_t n, const char *set, size_t m, bool invert)
+{
+ uint64_t mask[(1 << CHAR_BIT) / (sizeof(uint64_t) * CHAR_BIT)] = { 0 };
+
+ #define mask_off(n) mask[((unsigned char)(n) / (sizeof(mask[0]) * CHAR_BIT))]
+ #define mask_bit(n) (1ULL << ((unsigned char)(n) % (sizeof(mask[0]) * CHAR_BIT)))
+
+ /* NB: Nudge clang & gcc to unroll the mask initialization loop below.
+ * Since we only invoke _memspn() with constant set string literals
+ * containing only characters up to '>' (62), the loop below should
+ * be optimized into a single constant load opcode for mask[0].
+ */
+ #ifdef __clang__
+ #pragma unroll 255
+ #elif __GNUC__
+ #pragma GCC unroll 255
+ #endif
+ for (; m > 0; m--, set++)
+ mask_off(*set) |= mask_bit(*set);
+
+ for (m = 0; m < n; m++)
+ if (!(mask_off(s[m]) & mask_bit(s[m])) == !invert)
+ break;
+
+ #undef mask_off
+ #undef mask_bit
+
+ return m;
+}
+
+#define memspn(s, n, set) _memspn(s, n, set, sizeof(set) - 1, false)
+#define memcspn(s, n, set) _memspn(s, n, set, sizeof(set) - 1, true)
+
+static bool
+tokenize_html(const char *s, size_t len, html_token_callback_t cb, void *ud)
+{
+ const char *end = s + len, *p;
+ char raw[16] = { 0 };
+
+ enum {
+ SEARCH,
+ IDENTIFY,
+ COMMENT,
+ ATTR,
+ END
+ } state = 0;
+
+ while (state != END) {
+ switch (state) {
+ case SEARCH:
+ p = memchr(s, '<', end - s);
+
+ if (p) {
+ if (p != s)
+ invoke_cb(s, p - s, cb, raw[0] ? T_RAW : T_TEXT, ud);
+
+ s = p + 1;
+ state = IDENTIFY;
+ }
+ else {
+ state = END;
+ }
+
+ break;
+
+ case IDENTIFY:
+ if (*s == '/') {
+ p = memchr(s, '>', end - s);
+
+ if (p) {
+ while (p != s && isspace(p[-1]))
+ p--;
+
+ if (!raw[0] || !strncasecmp(s + 1, raw, p - s - 1)) {
+ invoke_cb(s + 1, p - s - 1, cb, T_CLOSE, ud);
+ raw[0] = 0;
+ }
+ else {
+ invoke_cb(s - 1, p - s + 2, cb, T_RAW, ud);
+ }
+
+ s = p + 1;
+ state = SEARCH;
+ }
+ else {
+ state = END;
+ }
+ }
+ else if (raw[0]) {
+ invoke_cb("<", 1, cb, T_RAW, ud);
+ state = SEARCH;
+ }
+ else if (*s == '!') {
+ state = COMMENT;
+ s++;
+ }
+ else {
+ p = s + memcspn(s, end - s, "/'\"> \f\r\t\n\0");
+
+ if (p != s) {
+ invoke_cb(s, p - s, cb, T_OPEN, ud);
+
+ if (!strncasecmp(s, "script", p - s) ||
+ !strncasecmp(s, "style", p - s)) {
+ memset(raw, 0, sizeof(raw));
+ memcpy(raw, s, p - s);
+ }
+
+ s = p + memspn(p, end - p, " \f\r\t\n\0");
+ state = ATTR;
+ }
+ else {
+ invoke_cb("<", 1, cb, T_TEXT, ud);
+ state = SEARCH;
+ }
+ }
+
+ break;
+
+ case COMMENT:
+ if (!strncmp(s, "--", 2)) {
+ p = memmem(s + 2, end - s - 2, "-->", 3);
+
+ if (p) {
+ invoke_cb(s + 2, p - s - 2, cb, raw[0] ? T_RAW : T_COMMENT, ud);
+ s = p + 3;
+ state = SEARCH;
+ }
+ else {
+ // unterminated comment
+ invoke_cb(s + 2, end - s - 2, cb, raw[0] ? T_RAW : T_COMMENT, ud);
+ s = NULL;
+ state = END;
+ }
+ }
+ else if (!strncasecmp(s, "[CDATA[", 7)) {
+ p = memmem(s + 7, end - s - 7, "]]>", 3);
+
+ if (p) {
+ invoke_cb(s + 7, p - s - 7, cb, raw[0] ? T_RAW : T_CDATA, ud);
+ s = p + 3;
+ state = SEARCH;
+ }
+ else {
+ // unterminated comment
+ invoke_cb(s + 7, end - s - 7, cb, raw[0] ? T_RAW : T_CDATA, ud);
+ s = NULL;
+ state = END;
+ }
+ }
+ else {
+ p = memchr(s, '>', end - s);
+
+ if (p) {
+ invoke_cb(s, p - s, cb, raw[0] ? T_RAW : T_PROCINST, ud);
+ s = p + 1;
+ state = SEARCH;
+ }
+ else {
+ // unterminated comment
+ invoke_cb(s, end - s, cb, raw[0] ? T_RAW : T_PROCINST, ud);
+ s = NULL;
+ state = END;
+ }
+ }
+
+ break;
+
+ case ATTR:
+ p = s + memcspn(s, end - s, "'\"> \f\r\t\n\0");
+
+ if (*p == '>') {
+ if (p != s) {
+ if ((p - s) > 1 || *s != '/')
+ invoke_cb(s, p - s, cb, T_ATTR, ud);
+ }
+
+ s = p + 1;
+ state = SEARCH;
+ }
+ else if (*p == '"' || *p == '\'') {
+ p = memchr(p + 1, *p, end - p);
+
+ if (p) {
+ invoke_cb(s, p - s + 1, cb, T_ATTR, ud);
+ s = p + 1;
+ }
+ else {
+ // unterminated quoted string
+ s = NULL;
+ state = END;
+ }
+ }
+ else if (*p) {
+ if (p != s)
+ invoke_cb(s, p - s, cb, T_ATTR, ud);
+
+ s = p + memspn(p, end - p, " \f\r\t\n\0");
+ }
+ else {
+ // eof
+ state = END;
+ }
+
+ break;
+
+ case END:
+ /* not reached */
+ }
+ }
+
+ if (s && *s)
+ invoke_cb(s, end - s, cb, raw[0] ? T_RAW : T_TEXT, ud);
+
+ invoke_cb("", 0, cb, T_EOF, ud);
+
+ return true;
+}
+
+
+static bool
+uc_html_tokenize_cb(html_token_type_t type, const char *s, size_t len, void *ud)
+{
+ const char *end = s + len, *val;
+ uc_vm_t *vm = ud;
+
+ uc_vm_stack_push(vm, ucv_get(uc_vm_stack_peek(vm, 0)));
+ uc_vm_stack_push(vm, ucv_int64_new(type));
+
+ val = (type == T_ATTR && s != NULL) ? memchr(s, '=', len) : NULL;
+
+ if (val) {
+ uc_vm_stack_push(vm, ucv_string_new_length(s, val - s));
+
+ val++;
+
+ if ((end - val) >= 2 && (*val == '"' || *val == '\'')) {
+ val++;
+ end--;
+ }
+
+ uc_vm_stack_push(vm, ucv_string_new_length(val, end - val));
+ }
+ else if (type == T_TEXT && s) {
+ uc_vm_stack_push(vm, ucv_string_new_length(s, end - s));
+ }
+ else if (s) {
+ uc_vm_stack_push(vm, ucv_string_new_length(s, len));
+ }
+
+ if (uc_vm_call(vm, false, 1 + !!s + !!val) == EXCEPTION_NONE) {
+ ucv_put(uc_vm_stack_pop(vm));
+
+ return true;
+ }
+
+ return false;
+}
+
+static uc_value_t *
+uc_html_tokenize(uc_vm_t *vm, size_t nargs)
+{
+ uc_value_t *input = uc_fn_arg(0);
+ uc_value_t *callback = uc_fn_arg(1);
+ bool res;
+
+ if (ucv_type(input) != UC_STRING)
+ return NULL;
+
+ if (!ucv_is_callable(callback))
+ return NULL;
+
+ uc_vm_stack_push(vm, ucv_get(callback));
+
+ res = tokenize_html(
+ ucv_string_get(input), ucv_string_length(input),
+ uc_html_tokenize_cb, vm);
+
+ ucv_put(uc_vm_stack_pop(vm));
+
+ return ucv_boolean_new(res);
+}
+
+
+static bool
+uc_html_striptags_cb(html_token_type_t type, const char *s, size_t len, void *ud)
+{
+ uc_stringbuf_t *buf = ud;
+
+ if (type == T_TEXT)
+ ucv_stringbuf_addtext(buf, s, len);
+ else if (type == T_OPEN && (unsigned int)buf->bpos > sizeof(uc_string_t))
+ ucv_stringbuf_append(buf, " ");
+
+ return true;
+}
+
+static uc_value_t *
+uc_html_striptags(uc_vm_t *vm, size_t nargs)
+{
+ uc_value_t *input = uc_fn_arg(0);
+ uc_stringbuf_t *buf;
+
+ if (ucv_type(input) != UC_STRING)
+ return NULL;
+
+ buf = ucv_stringbuf_new();
+
+ tokenize_html(
+ ucv_string_get(input), ucv_string_length(input),
+ uc_html_striptags_cb, buf);
+
+ return ucv_stringbuf_finish(buf);
+}
+
+
+static uc_value_t *
+uc_html_entitydecode(uc_vm_t *vm, size_t nargs)
+{
+ uc_value_t *input = uc_fn_arg(0);
+ uc_value_t *loose = uc_fn_arg(1);
+ uc_stringbuf_t *buf;
+
+ if (ucv_type(input) != UC_STRING)
+ return NULL;
+
+ buf = ucv_stringbuf_new();
+
+ expand_char_refs(buf, ucv_string_get(input), ucv_string_length(input),
+ ucv_is_truish(loose));
+
+ return ucv_stringbuf_finish(buf);
+}
+
+static uc_value_t *
+uc_html_entityencode(uc_vm_t *vm, size_t nargs)
+{
+ uc_value_t *input = uc_fn_arg(0);
+ uc_value_t *quote = uc_fn_arg(1);
+ const char *s, *p, *end;
+ uc_stringbuf_t *buf;
+
+ if (ucv_type(input) != UC_STRING)
+ return NULL;
+
+ s = ucv_string_get(input);
+ end = s + ucv_string_length(input);
+ buf = ucv_stringbuf_new();
+
+ while (s < end) {
+ if (ucv_is_truish(quote))
+ p = s + memcspn(s, end - s, "<&'\">\0");
+ else
+ p = s + memcspn(s, end - s, "<&>\0");
+
+ if (p != s)
+ ucv_stringbuf_addstr(buf, s, p - s);
+
+ if (p < end) {
+ switch (*p) {
+ case '"': ucv_stringbuf_append(buf, """); break;
+ case '&': ucv_stringbuf_append(buf, "&"); break;
+ case '\'': ucv_stringbuf_append(buf, "'"); break;
+ case '<': ucv_stringbuf_append(buf, "<"); break;
+ case '>': ucv_stringbuf_append(buf, ">"); break;
+ default: ucv_stringbuf_append(buf, "�");
+ }
+ }
+
+ s = p + 1;
+ }
+
+ if (s < end)
+ ucv_stringbuf_addstr(buf, s, end - s);
+
+ return ucv_stringbuf_finish(buf);
+}
+
+
+static const uc_function_list_t html_fns[] = {
+ { "tokenize", uc_html_tokenize },
+ { "striptags", uc_html_striptags },
+ { "entitydecode", uc_html_entitydecode },
+ { "entityencode", uc_html_entityencode },
+};
+
+void uc_module_init(uc_vm_t *vm, uc_value_t *scope)
+{
+ uc_function_list_register(scope, html_fns);
+
+ ucv_object_add(scope, "TEXT", ucv_int64_new(T_TEXT));
+ ucv_object_add(scope, "RAW", ucv_int64_new(T_RAW));
+ ucv_object_add(scope, "OPEN", ucv_int64_new(T_OPEN));
+ ucv_object_add(scope, "ATTR", ucv_int64_new(T_ATTR));
+ ucv_object_add(scope, "CLOSE", ucv_int64_new(T_CLOSE));
+ ucv_object_add(scope, "COMMENT", ucv_int64_new(T_COMMENT));
+ ucv_object_add(scope, "CDATA", ucv_int64_new(T_CDATA));
+ ucv_object_add(scope, "PROCINST", ucv_int64_new(T_PROCINST));
+ ucv_object_add(scope, "EOF", ucv_int64_new(T_EOF));
+}
static uc_value_t *
uc_lua_vm_claim_result(uc_vm_t *vm, lua_State *L, int oldtop)
{
- int nargs = lua_gettop(L) - oldtop, i;
+ int nargs = lua_gettop(L) - oldtop - 1, i;
uc_value_t *uv;
if (nargs > 1) {
uv = ucv_array_new_length(vm, nargs);
- for (i = 1; i <= nargs; i++)
+ for (i = 2; i <= nargs; i++)
ucv_array_push(uv, lua_to_ucv(L, oldtop + i, vm, NULL));
}
else if (nargs == 1) {
- uv = lua_to_ucv(L, oldtop + 1, vm, NULL);
+ uv = lua_to_ucv(L, oldtop + 2, vm, NULL);
}
else {
uv = NULL;
return uv;
}
+static int
+uc_lua_vm_pcall_error_cb(lua_State *L)
+{
+ const char *message = luaL_checkstring(L, 1);
+ uc_stringbuf_t *buf = xprintbuf_new();
+ lua_Debug ar;
+ int level;
+
+ ucv_stringbuf_printf(buf, "%s\n", message);
+
+ for (level = 1; lua_getstack(L, level, &ar) == 1; level++) {
+ if (lua_getinfo(L, "Snl", &ar) == 0)
+ continue;
+
+ if (level == 1) {
+ ucv_stringbuf_printf(buf, "\nIn %s(), file %s",
+ ar.name ? ar.name : "[anonymous function]", ar.short_src);
+
+ if (ar.currentline > -1)
+ ucv_stringbuf_printf(buf, ", line %d", ar.currentline);
+
+ ucv_stringbuf_append(buf, "\n");
+ }
+ else {
+ ucv_stringbuf_printf(buf, " called from function %s (%s",
+ ar.name ? ar.name : "[anonymous function]", ar.short_src);
+
+ if (ar.currentline > -1)
+ ucv_stringbuf_printf(buf, ":%d", ar.currentline);
+
+ ucv_stringbuf_append(buf, ")\n");
+ }
+ }
+
+ lua_pushstring(L, buf->buf);
+ printbuf_free(buf);
+
+ return 1;
+}
+
static uc_value_t *
uc_lua_vm_pcall(uc_vm_t *vm, lua_State *L, int oldtop)
{
uc_value_t *uv;
- switch (lua_pcall(L, lua_gettop(L) - oldtop - 1, LUA_MULTRET, 0)) {
+ switch (lua_pcall(L, lua_gettop(L) - oldtop - 2, LUA_MULTRET, oldtop + 1)) {
case LUA_ERRRUN:
case LUA_ERRMEM:
case LUA_ERRERR:
uc_vm_raise_exception(vm, EXCEPTION_RUNTIME,
- "Lua raised runtime exception: %s",
- lua_tostring(L, -1));
+ "%s", lua_tostring(L, -1));
uv = NULL;
break;
top = lua_gettop(*L);
+ lua_pushcfunction(*L, uc_lua_vm_pcall_error_cb);
lua_getglobal(*L, ucv_string_get(name));
for (i = 1; i < nargs; i++) {
top = lua_gettop(*L);
+ lua_pushcfunction(*L, uc_lua_vm_pcall_error_cb);
+
switch (luaL_loadstring(*L, ucv_string_get(source))) {
case LUA_ERRSYNTAX:
uc_vm_raise_exception(vm, EXCEPTION_SYNTAX,
- "Syntax error while compiling Lua code: %s",
- lua_tostring(*L, -1));
+ "%s", lua_tostring(*L, -1));
break;
top = lua_gettop(*L);
+ lua_pushcfunction(*L, uc_lua_vm_pcall_error_cb);
+
switch (luaL_loadfile(*L, ucv_string_get(path))) {
case LUA_ERRSYNTAX:
uc_vm_raise_exception(vm, EXCEPTION_SYNTAX,
oldtop = lua_gettop(L);
+ lua_pushcfunction(L, uc_lua_vm_pcall_error_cb);
lua_rawgeti(L, LUA_REGISTRYINDEX, (*lv)->ref);
for (i = 0; i < nargs; i++)
oldtop = lua_gettop(L);
+ lua_pushcfunction(L, uc_lua_vm_pcall_error_cb);
lua_rawgeti(L, LUA_REGISTRYINDEX, (*lv)->ref);
ucv_to_lua(vm, method, L, NULL);
lua_gettable(L, -2);
local coroutine = require "coroutine"
local table = require "table"
local lhttp = require "lucihttp"
-local nixio = require "nixio"
-local ltn12 = require "luci.ltn12"
-local table, ipairs, pairs, type, tostring, tonumber, error =
- table, ipairs, pairs, type, tostring, tonumber, error
+local L, table, ipairs, pairs, type, error = _G.L, table, ipairs, pairs, type, error
module "luci.http"
HTTP_MAX_CONTENT = 1024*100 -- 100 kB maximum content size
-context = util.threadlocal()
-
-Request = util.class()
-function Request.__init__(self, env, sourcein, sinkerr)
- self.input = sourcein
- self.error = sinkerr
-
-
- -- File handler nil by default to let .content() work
- self.filehandler = nil
-
- -- HTTP-Message table
- self.message = {
- env = env,
- headers = {},
- params = urldecode_params(env.QUERY_STRING or ""),
- }
-
- self.parsed_input = false
-end
-
-function Request.formvalue(self, name, noparse)
- if not noparse and not self.parsed_input then
- self:_parse_input()
- end
-
- if name then
- return self.message.params[name]
- else
- return self.message.params
- end
-end
-
-function Request.formvaluetable(self, prefix)
- local vals = {}
- prefix = prefix and prefix .. "." or "."
-
- if not self.parsed_input then
- self:_parse_input()
- end
-
- local void = self.message.params[nil]
- for k, v in pairs(self.message.params) do
- if k:find(prefix, 1, true) == 1 then
- vals[k:sub(#prefix + 1)] = tostring(v)
- end
- end
-
- return vals
-end
-
-function Request.content(self)
- if not self.parsed_input then
- self:_parse_input()
- end
-
- return self.message.content, self.message.content_length
-end
-
-function Request.getcookie(self, name)
- return lhttp.header_attribute("cookie; " .. (self:getenv("HTTP_COOKIE") or ""), name)
-end
-
-function Request.getenv(self, name)
- if name then
- return self.message.env[name]
- else
- return self.message.env
- end
-end
-
-function Request.setfilehandler(self, callback)
- self.filehandler = callback
-
- if not self.parsed_input then
- return
- end
-
- -- If input has already been parsed then uploads are stored as unlinked
- -- temporary files pointed to by open file handles in the parameter
- -- value table. Loop all params, and invoke the file callback for any
- -- param with an open file handle.
- local name, value
- for name, value in pairs(self.message.params) do
- if type(value) == "table" then
- while value.fd do
- local data = value.fd:read(1024)
- local eof = (not data or data == "")
-
- callback(value, data, eof)
-
- if eof then
- value.fd:close()
- value.fd = nil
- end
- end
- end
- end
-end
-
-function Request._parse_input(self)
- parse_message_body(
- self.input,
- self.message,
- self.filehandler
- )
- self.parsed_input = true
-end
-
function close()
- if not context.eoh then
- context.eoh = true
- coroutine.yield(3)
- end
-
- if not context.closed then
- context.closed = true
- coroutine.yield(5)
- end
+ L.http:close()
end
function content()
- return context.request:content()
+ return L.http:content()
end
function formvalue(name, noparse)
- return context.request:formvalue(name, noparse)
+ return L.http:formvalue(name, noparse)
end
function formvaluetable(prefix)
- return context.request:formvaluetable(prefix)
+ return L.http:formvaluetable(prefix)
end
function getcookie(name)
- return context.request:getcookie(name)
+ return L.http:getcookie(name)
end
-- or the environment table itself.
function getenv(name)
- return context.request:getenv(name)
+ return L.http:getenv(name)
end
function setfilehandler(callback)
- return context.request:setfilehandler(callback)
+ return L.http:setfilehandler(callback)
end
function header(key, value)
- if not context.headers then
- context.headers = {}
- end
- context.headers[key:lower()] = value
- coroutine.yield(2, key, value)
+ L.http:header(key, value)
end
function prepare_content(mime)
- if not context.headers or not context.headers["content-type"] then
- if mime == "application/xhtml+xml" then
- if not getenv("HTTP_ACCEPT") or
- not getenv("HTTP_ACCEPT"):find("application/xhtml+xml", nil, true) then
- mime = "text/html; charset=UTF-8"
- end
- header("Vary", "Accept")
- end
- header("Content-Type", mime)
- end
+ L.http:prepare_content(mime)
end
function source()
- return context.request.input
+ return L.http.input
end
function status(code, message)
- code = code or 200
- message = message or "OK"
- context.status = code
- coroutine.yield(1, code, message)
+ L.http:status(code, message)
end
-- This function is as a valid LTN12 sink.
-- If the content chunk is nil this function will automatically invoke close.
function write(content, src_err)
- if not content then
- if src_err then
- error(src_err)
- else
- close()
- end
- return true
- elseif #content == 0 then
- return true
- else
- if not context.eoh then
- if not context.status then
- status()
- end
- if not context.headers or not context.headers["content-type"] then
- header("Content-Type", "text/html; charset=utf-8")
- end
- if not context.headers["cache-control"] then
- header("Cache-Control", "no-cache")
- header("Expires", "0")
- end
- if not context.headers["x-frame-options"] then
- header("X-Frame-Options", "SAMEORIGIN")
- end
- if not context.headers["x-xss-protection"] then
- header("X-XSS-Protection", "1; mode=block")
- end
- if not context.headers["x-content-type-options"] then
- header("X-Content-Type-Options", "nosniff")
- end
-
- context.eoh = true
- coroutine.yield(3)
- end
- coroutine.yield(4, content)
- return true
+ if src_err then
+ error(src_err)
end
+
+ return L.print(content)
end
function splice(fd, size)
end
function redirect(url)
- if url == "" then url = "/" end
- status(302, "Found")
- header("Location", url)
- close()
+ L.http:redirect(url)
end
function build_querystring(q)
urlencode = util.urlencode
function write_json(x)
- util.serialize_json(x, write)
-end
-
--- from given url or string. Returns a table with urldecoded values.
--- Simple parameters are stored as string values associated with the parameter
--- name within the table. Parameters with multiple values are stored as array
--- containing the corresponding values.
-function urldecode_params(url, tbl)
- local parser, name
- local params = tbl or { }
-
- parser = lhttp.urlencoded_parser(function (what, buffer, length)
- if what == parser.TUPLE then
- name, value = nil, nil
- elseif what == parser.NAME then
- name = lhttp.urldecode(buffer)
- elseif what == parser.VALUE and name then
- params[name] = lhttp.urldecode(buffer) or ""
- end
-
- return true
- end)
-
- if parser then
- parser:parse((url or ""):match("[^?]*$"))
- parser:parse(nil)
- end
-
- return params
+ L.printf('%J', x)
end
-- separated by "&". Tables are encoded as parameters with multiple values by
return table.concat(enc, "")
end
--- Content-Type. Stores all extracted data associated with its parameter name
--- in the params table within the given message object. Multiple parameter
--- values are stored as tables, ordinary ones as strings.
--- If an optional file callback function is given then it is fed with the
--- file contents chunk by chunk and only the extracted file name is stored
--- within the params table. The callback function will be called subsequently
--- with three arguments:
--- o Table containing decoded (name, file) and raw (headers) mime header data
--- o String value containing a chunk of the file data
--- o Boolean which indicates whether the current chunk is the last one (eof)
-function mimedecode_message_body(src, msg, file_cb)
- local parser, header, field
- local len, maxlen = 0, tonumber(msg.env.CONTENT_LENGTH or nil)
-
- parser, err = lhttp.multipart_parser(msg.env.CONTENT_TYPE, function (what, buffer, length)
- if what == parser.PART_INIT then
- field = { }
-
- elseif what == parser.HEADER_NAME then
- header = buffer:lower()
-
- elseif what == parser.HEADER_VALUE and header then
- if header:lower() == "content-disposition" and
- lhttp.header_attribute(buffer, nil) == "form-data"
- then
- field.name = lhttp.header_attribute(buffer, "name")
- field.file = lhttp.header_attribute(buffer, "filename")
- field[1] = field.file
- end
-
- if field.headers then
- field.headers[header] = buffer
- else
- field.headers = { [header] = buffer }
- end
-
- elseif what == parser.PART_BEGIN then
- return not field.file
-
- elseif what == parser.PART_DATA and field.name and length > 0 then
- if field.file then
- if file_cb then
- file_cb(field, buffer, false)
- msg.params[field.name] = msg.params[field.name] or field
- else
- if not field.fd then
- field.fd = nixio.mkstemp(field.name)
- end
-
- if field.fd then
- field.fd:write(buffer)
- msg.params[field.name] = msg.params[field.name] or field
- end
- end
- else
- field.value = buffer
- end
-
- elseif what == parser.PART_END and field.name then
- if field.file and msg.params[field.name] then
- if file_cb then
- file_cb(field, "", true)
- elseif field.fd then
- field.fd:seek(0, "set")
- end
- else
- local val = msg.params[field.name]
-
- if type(val) == "table" then
- val[#val+1] = field.value or ""
- elseif val ~= nil then
- msg.params[field.name] = { val, field.value or "" }
- else
- msg.params[field.name] = field.value or ""
- end
- end
-
- field = nil
-
- elseif what == parser.ERROR then
- err = buffer
- end
-
- return true
- end, HTTP_MAX_CONTENT)
-
- return ltn12.pump.all(src, function (chunk)
- len = len + (chunk and #chunk or 0)
-
- if maxlen and len > maxlen + 2 then
- return nil, "Message body size exceeds Content-Length"
- end
-
- if not parser or not parser:parse(chunk) then
- return nil, err
- end
-
- return true
- end)
-end
-
--- Content-Type. Stores all extracted data associated with its parameter name
--- in the params table within the given message object. Multiple parameter
--- values are stored as tables, ordinary ones as strings.
-function urldecode_message_body(src, msg)
- local err, name, value, parser
- local len, maxlen = 0, tonumber(msg.env.CONTENT_LENGTH or nil)
-
- parser = lhttp.urlencoded_parser(function (what, buffer, length)
- if what == parser.TUPLE then
- name, value = nil, nil
- elseif what == parser.NAME then
- name = lhttp.urldecode(buffer, lhttp.DECODE_PLUS)
- elseif what == parser.VALUE and name then
- local val = msg.params[name]
-
- if type(val) == "table" then
- val[#val+1] = lhttp.urldecode(buffer, lhttp.DECODE_PLUS) or ""
- elseif val ~= nil then
- msg.params[name] = { val, lhttp.urldecode(buffer, lhttp.DECODE_PLUS) or "" }
- else
- msg.params[name] = lhttp.urldecode(buffer, lhttp.DECODE_PLUS) or ""
- end
- elseif what == parser.ERROR then
- err = buffer
- end
-
- return true
- end, HTTP_MAX_CONTENT)
-
- return ltn12.pump.all(src, function (chunk)
- len = len + (chunk and #chunk or 0)
-
- if maxlen and len > maxlen + 2 then
- return nil, "Message body size exceeds Content-Length"
- elseif len > HTTP_MAX_CONTENT then
- return nil, "Message body size exceeds maximum allowed length"
- end
-
- if not parser or not parser:parse(chunk) then
- return nil, err
- end
-
- return true
- end)
-end
-
--- This function will examine the Content-Type within the given message object
--- to select the appropriate content decoder.
--- Currently the application/x-www-urlencoded and application/form-data
--- mime types are supported. If the encountered content encoding can't be
--- handled then the whole message body will be stored unaltered as "content"
--- property within the given message object.
-function parse_message_body(src, msg, filecb)
- if msg.env.CONTENT_LENGTH or msg.env.REQUEST_METHOD == "POST" then
- local ctype = lhttp.header_attribute(msg.env.CONTENT_TYPE, nil)
-
- -- Is it multipart/mime ?
- if ctype == "multipart/form-data" then
- return mimedecode_message_body(src, msg, filecb)
-
- -- Is it application/x-www-form-urlencoded ?
- elseif ctype == "application/x-www-form-urlencoded" then
- return urldecode_message_body(src, msg)
-
- end
-
- -- Unhandled encoding
- -- If a file callback is given then feed it chunk by chunk, else
- -- store whole buffer in message.content
- local sink
-
- -- If we have a file callback then feed it
- if type(filecb) == "function" then
- local meta = {
- name = "raw",
- encoding = msg.env.CONTENT_TYPE
- }
- sink = function( chunk )
- if chunk then
- return filecb(meta, chunk, false)
- else
- return filecb(meta, nil, true)
- end
- end
- -- ... else append to .content
- else
- msg.content = ""
- msg.content_length = 0
-
- sink = function( chunk )
- if chunk then
- if ( msg.content_length + #chunk ) <= HTTP_MAX_CONTENT then
- msg.content = msg.content .. chunk
- msg.content_length = msg.content_length + #chunk
- return true
- else
- return nil, "POST data exceeds maximum allowed length"
- end
- end
- return true
- end
- end
-
- -- Pump data...
- while true do
- local ok, err = ltn12.pump.step( src, sink )
-
- if not ok and err then
- return nil, err
- elseif not ok then -- eof
- return true
- end
- end
-
- return true
- end
-
- return false
-end
+context = {
+ request = {
+ formvalue = function(self, ...) return formvalue(...) end;
+ formvaluetable = function(self, ...) return formvaluetable(...) end;
+ content = function(self, ...) return content(...) end;
+ getcookie = function(self, ...) return getcookie(...) end;
+ setfilehandler = function(self, ...) return setfilehandler(...) end;
+ message = L.http.message
+ }
+}
-- Scope manipulation routines
--
-coxpt = setmetatable({}, { __mode = "kv" })
-
-local tl_meta = {
- __mode = "k",
-
- __index = function(self, key)
- local t = rawget(self, coxpt[coroutine.running()]
- or coroutine.running() or 0)
- return t and t[key]
- end,
-
- __newindex = function(self, key, value)
- local c = coxpt[coroutine.running()] or coroutine.running() or 0
- local r = rawget(self, c)
- if not r then
- rawset(self, c, { [key] = value })
- else
- r[key] = value
- end
- end
-}
-
--- the current active coroutine. A thread local store is private a table object
--- whose values can't be accessed from outside of the running coroutine.
function threadlocal(tbl)
- return setmetatable(tbl or {}, tl_meta)
+ return tbl or {}
end
co = coroutine.create(newf)
end
coromap[co] = current
- coxpt[co] = coxpt[current] or current or 0
return performResume(err, co, ...)
end
end
include $(TOPDIR)/rules.mk
LUCI_TITLE:=RSA/X.509 Key Generator (required for LuCId SSL support)
-LUCI_DEPENDS:=+liblua
+LUCI_DEPENDS:=+lua +luci-lib-nixio
PKG_USE_MIPS16:=0
PKG_LICENSE:=LGPL-2.1
HTDOCS = /www
LUA_LIBRARYDIR = /usr/lib/lua
LUCI_LIBRARYDIR = $(LUA_LIBRARYDIR)/luci
+UCODE_LIBRARYDIR = /usr/share/ucode/luci
# 1: everything expect po subdir or only po subdir
PKG_GITBRANCH?=$(if $(DUMP),x,$(strip $(shell \
variant="LuCI"; \
if git log -1 >/dev/null 2>/dev/null; then \
- branch="$$(git branch --remote --verbose --no-abbrev --contains 2>/dev/null | \
- sed -rne 's|^[^/]+/([^ ]+) [a-f0-9]{40} .+$$|\1|p' | head -n1)"; \
+ branch=$$(git branch --format='%(refname:strip=3)' --remote --no-abbrev --contains 2>/dev/null | tail -n1); \
+ branch=$${branch:-$$(git branch --format='%(refname:strip=2)' --no-abbrev --contains 2>/dev/null | tail -n1)}; \
if [ "$$branch" != "master" ]; then \
- variant="LuCI $$branch branch"; \
+ variant="LuCI $${branch:-unknown} branch"; \
else \
variant="LuCI Master"; \
fi; \
include $(INCLUDE_DIR)/package.mk
-# LUCI_SUBMENU: the submenu-item below the LuCI top-level menu inside OpoenWrt menuconfig
+# LUCI_SUBMENU: the submenu-item below the LuCI top-level menu inside OpenWrt menuconfig
# usually one of the LUCI_MENU.* definitions
# LUCI_SUBMENU_DEFAULT: the regular SUBMENU defined by LUCI_TYPE or derrived from the packagename
# LUCI_SUBMENU_FORCED: manually forced value SUBMENU to set to by explicit definiton
-# can be any string, "none" disables the creation of a submenu
+# can be any string, "none" disables the creation of a submenu
# most usefull in combination with LUCI_CATEGORY, to make the package appear
# anywhere in the menu structure
LUCI_SUBMENU_DEFAULT=$(if $(LUCI_MENU.$(LUCI_TYPE)),$(LUCI_MENU.$(LUCI_TYPE)),$(LUCI_MENU.app))
LUCI_SUBMENU=$(if $(LUCI_SUBMENU_FORCED),$(LUCI_SUBMENU_FORCED),$(LUCI_SUBMENU_DEFAULT))
+ifneq ($(wildcard ${CURDIR}/luasrc/*),)
+ ifneq ($(filter-out luci-lib-base luci-lua-runtime,$(PKG_NAME)),)
+ LUCI_DEPENDS += +luci-lua-runtime
+ endif
+endif
+
define Package/$(PKG_NAME)
SECTION:=$(LUCI_SECTION)
CATEGORY:=$(LUCI_CATEGORY)
endif
define Build/Prepare
- for d in luasrc htdocs root src; do \
+ for d in luasrc ucode htdocs root src; do \
if [ -d ./$$$$d ]; then \
mkdir -p $(PKG_BUILD_DIR)/$$$$d; \
$(CP) ./$$$$d/* $(PKG_BUILD_DIR)/$$$$d/; \
$(if $(CONFIG_LUCI_SRCDIET),$(call SrcDiet,$(1)$(LUCI_LIBRARYDIR)/),true)
$(call SubstituteVersion,$(1)$(LUCI_LIBRARYDIR)/)
endif
+ ifneq ($(wildcard ${CURDIR}/ucode),)
+ $(INSTALL_DIR) $(1)$(UCODE_LIBRARYDIR)
+ cp -pR $(PKG_BUILD_DIR)/ucode/* $(1)$(UCODE_LIBRARYDIR)/
+ $(call SubstituteVersion,$(1)$(UCODE_LIBRARYDIR)/)
+ endif
ifneq ($(wildcard ${CURDIR}/htdocs),)
$(INSTALL_DIR) $(1)$(HTDOCS)
cp -pR $(PKG_BUILD_DIR)/htdocs/* $(1)$(HTDOCS)/
ifndef Package/$(PKG_NAME)/postinst
define Package/$(PKG_NAME)/postinst
[ -n "$${IPKG_INSTROOT}" ] || { \
- rm -f /tmp/luci-indexcache
+ rm -f /tmp/luci-indexcache.*
rm -rf /tmp/luci-modulecache/
killall -HUP rpcd 2>/dev/null
exit 0
endif
# some generic macros that can be used by all packages
-ifeq ($(LUCI_MINIFY_JS),1)
+ifeq ($(LUCI_MINIFY_LUA),1)
define SrcDiet
$(FIND) $(1) -type f -name '*.lua' | while read src; do \
if LUA_PATH="$(STAGING_DIR_HOSTPKG)/lib/lua/5.1/?.lua" luasrcdiet --noopt-binequiv -o "$$$$src.o" "$$$$src"; \
$(SED) 's/<%# *\([^ ]*\)PKG_VERSION *%>/\1$(if $(PKG_VERSION),$(PKG_VERSION),$(PKG_SRC_VERSION))/g' \
-e 's/"\(<%= *\(media\|resource\) *%>[^"]*\.\(js\|css\)\)"/"\1?v=$(if $(PKG_VERSION),$(PKG_VERSION),$(PKG_SRC_VERSION))"/g' \
"$$$$src"; \
+ done; \
+ $(FIND) $(1) -type f -name '*.ut' | while read src; do \
+ $(SED) 's/{# *\([^ ]*\)PKG_VERSION *#}/\1$(if $(PKG_VERSION),$(PKG_VERSION),$(PKG_SRC_VERSION))/g' \
+ -e 's/"\({{ *\(media\|resource\) *}}[^"]*\.\(js\|css\)\)"/"\1?v=$(if $(PKG_VERSION),$(PKG_VERSION),$(PKG_SRC_VERSION))"/g' \
+ "$$$$src"; \
done
endef
default y
config LUCI_CSSTIDY
- bool "Minify CSS files"
- default y
+ bool "Minify CSS files"
+ default y
menu "Translations"$(foreach lang,$(LUCI_LANGUAGES),$(if $(LUCI_LANG.$(lang)),
#
-# Copyright (C) 2008-2015 The LuCI Team <luci@lists.subsignal.org>
+# Copyright (C) 2022 Jo-Philipp Wich <jo@mein.io>
#
# This is free software, licensed under the Apache License, Version 2.0 .
#
LUCI_TYPE:=mod
LUCI_BASENAME:=base
-LUCI_TITLE:=LuCI core libraries
-LUCI_DEPENDS:=+lua +luci-lib-nixio +luci-lib-ip +rpcd +libubus-lua +luci-lib-jsonc +liblucihttp-lua +luci-lib-base +rpcd-mod-file +rpcd-mod-luci +cgi-io
+LUCI_TITLE:=LuCI core runtime
+LUCI_DEPENDS:=\
+ +rpcd \
+ +rpcd-mod-file \
+ +rpcd-mod-luci \
+ +rpcd-mod-ucode \
+ +cgi-io \
+ +ucode \
+ +ucode-mod-fs \
+ +ucode-mod-uci \
+ +ucode-mod-ubus \
+ +ucode-mod-math \
+ +ucode-mod-html \
+ +liblucihttp-ucode
PKG_LICENSE:=MIT
/etc/config/ucitrack
endef
+define Package/luci-base/postinst
+#!/bin/sh
+
+if [ -z "$${PKG_INSTROOT}" ] && [ -f /etc/config/uhttpd ]; then
+ if ! uci -q get uhttpd.main.ucode_prefix | grep -sq /cgi-bin/luci; then
+ uci add_list uhttpd.main.ucode_prefix='/cgi-bin/luci=/usr/share/ucode/luci/uhttpd.uc'
+ uci commit uhttpd
+ service uhttpd reload
+ fi
+fi
+
+exit 0
+endef
+
include ../../luci.mk
define Host/Configure
-#!/usr/bin/lua
-require "luci.cacheloader"
-require "luci.sgi.cgi"
-luci.dispatcher.indexcache = "/tmp/luci-indexcache"
-luci.sgi.cgi.run()
+#!/usr/bin/env ucode
+
+'use strict';
+
+import { stdin, stdout } from 'fs';
+
+import dispatch from 'luci.dispatcher';
+import request from 'luci.http';
+
+const input_bufsize = 4096;
+let input_available = +getenv('CONTENT_LENGTH') || 0;
+
+function read(len) {
+ if (input_available == 0) {
+ stdin.close();
+
+ return null;
+ }
+
+ let chunk = stdin.read(min(input_available, len ?? input_bufsize, input_bufsize));
+
+ if (chunk == null) {
+ input_available = 0;
+ stdin.close();
+ }
+ else {
+ input_available -= length(chunk);
+ }
+
+ return chunk;
+}
+
+function write(data) {
+ return stdout.write(data);
+}
+
+let req = request(getenv(), read, write);
+
+dispatch(req);
+
+req.close();
+++ /dev/null
--- Copyright 2008 Steven Barth <steven@midlink.org>
--- Copyright 2008 Jo-Philipp Wich <jow@openwrt.org>
--- Licensed to the public under the Apache License 2.0.
-
-local config = require "luci.config"
-local ccache = require "luci.ccache"
-
-module "luci.cacheloader"
-
-if config.ccache and config.ccache.enable == "1" then
- ccache.cache_ondemand()
-end
+++ /dev/null
--- Copyright 2008 Steven Barth <steven@midlink.org>
--- Copyright 2008 Jo-Philipp Wich <jow@openwrt.org>
--- Licensed to the public under the Apache License 2.0.
-
-local io = require "io"
-local fs = require "nixio.fs"
-local util = require "luci.util"
-local nixio = require "nixio"
-local debug = require "debug"
-local string = require "string"
-local package = require "package"
-
-local type, loadfile = type, loadfile
-
-
-module "luci.ccache"
-
-function cache_ondemand(...)
- if debug.getinfo(1, 'S').source ~= "=?" then
- cache_enable(...)
- end
-end
-
-function cache_enable(cachepath, mode)
- cachepath = cachepath or "/tmp/luci-modulecache"
- mode = mode or "r--r--r--"
-
- local loader = package.loaders[2]
- local uid = nixio.getuid()
-
- if not fs.stat(cachepath) then
- fs.mkdir(cachepath)
- end
-
- local function _encode_filename(name)
- local encoded = ""
- for i=1, #name do
- encoded = encoded .. ("%2X" % string.byte(name, i))
- end
- return encoded
- end
-
- local function _load_sane(file)
- local stat = fs.stat(file)
- if stat and stat.uid == uid and stat.modestr == mode then
- return loadfile(file)
- end
- end
-
- local function _write_sane(file, func)
- if nixio.getuid() == uid then
- local fp = io.open(file, "w")
- if fp then
- fp:write(util.get_bytecode(func))
- fp:close()
- fs.chmod(file, mode)
- end
- end
- end
-
- package.loaders[2] = function(mod)
- local encoded = cachepath .. "/" .. _encode_filename(mod)
- local modcons = _load_sane(encoded)
-
- if modcons then
- return modcons
- end
-
- -- No cachefile
- modcons = loader(mod)
- if type(modcons) == "function" then
- _write_sane(encoded, modcons)
- end
- return modcons
- end
-end
+++ /dev/null
--- Copyright 2008 Steven Barth <steven@midlink.org>
--- Licensed to the public under the Apache License 2.0.
-
-local util = require "luci.util"
-module("luci.config",
- function(m)
- if pcall(require, "luci.model.uci") then
- local config = util.threadlocal()
- setmetatable(m, {
- __index = function(tbl, key)
- if not config[key] then
- config[key] = luci.model.uci.cursor():get_all("luci", key)
- end
- return config[key]
- end
- })
- end
- end)
+++ /dev/null
--- Copyright 2008 Steven Barth <steven@midlink.org>
--- Licensed to the public under the Apache License 2.0.
-
-module("luci.controller.admin.index", package.seeall)
-
-function action_logout()
- local dsp = require "luci.dispatcher"
- local utl = require "luci.util"
- local sid = dsp.context.authsession
-
- if sid then
- utl.ubus("session", "destroy", { ubus_rpc_session = sid })
-
- local url = dsp.build_url()
-
- if luci.http.getenv('HTTPS') == 'on' then
- luci.http.header("Set-Cookie", "sysauth_https=; expires=Thu, 01 Jan 1970 01:00:00 GMT; path=%s" % url)
- end
-
- luci.http.header("Set-Cookie", "sysauth_http=; expires=Thu, 01 Jan 1970 01:00:00 GMT; path=%s" % url)
- end
-
- luci.http.redirect(dsp.build_url())
-end
-
-function action_translations(lang)
- local i18n = require "luci.i18n"
- local http = require "luci.http"
- local fs = require "nixio".fs
-
- if lang and #lang > 0 then
- lang = i18n.setlanguage(lang)
- if lang then
- local s = fs.stat("%s/base.%s.lmo" %{ i18n.i18ndir, lang })
- if s then
- http.header("Cache-Control", "public, max-age=31536000")
- http.header("ETag", "%x-%x-%x" %{ s["ino"], s["size"], s["mtime"] })
- end
- end
- end
-
- http.prepare_content("application/javascript; charset=utf-8")
- http.write("window.TR=")
- http.write_json(i18n.dump())
-end
-
-local function ubus_reply(id, data, code, errmsg)
- local reply = { jsonrpc = "2.0", id = id }
- if errmsg then
- reply.error = {
- code = code,
- message = errmsg
- }
- elseif type(code) == "table" then
- reply.result = code
- else
- reply.result = { code, data }
- end
-
- return reply
-end
-
-local ubus_types = {
- nil,
- "array",
- "object",
- "string",
- nil, -- INT64
- "number",
- nil, -- INT16,
- "boolean",
- "double"
-}
-
-local function ubus_access(sid, obj, fun)
- local res, code = luci.util.ubus("session", "access", {
- ubus_rpc_session = sid,
- scope = "ubus",
- object = obj,
- ["function"] = fun
- })
-
- return (type(res) == "table" and res.access == true)
-end
-
-local function ubus_request(req)
- if type(req) ~= "table" or type(req.method) ~= "string" or req.jsonrpc ~= "2.0" or req.id == nil then
- return ubus_reply(nil, nil, -32600, "Invalid request")
-
- elseif req.method == "call" then
- if type(req.params) ~= "table" or #req.params < 3 then
- return ubus_reply(nil, nil, -32600, "Invalid parameters")
- end
-
- local sid, obj, fun, arg =
- req.params[1], req.params[2], req.params[3], req.params[4] or {}
- if type(arg) ~= "table" or arg.ubus_rpc_session ~= nil then
- return ubus_reply(req.id, nil, -32602, "Invalid parameters")
- end
-
- if sid == "00000000000000000000000000000000" and luci.dispatcher.context.authsession then
- sid = luci.dispatcher.context.authsession
- end
-
- if not ubus_access(sid, obj, fun) then
- return ubus_reply(req.id, nil, -32002, "Access denied")
- end
-
- arg.ubus_rpc_session = sid
-
- local res, code = luci.util.ubus(obj, fun, arg)
- return ubus_reply(req.id, res, code or 0)
-
- elseif req.method == "list" then
- if req.params == nil or (type(req.params) == "table" and #req.params == 0) then
- local objs = luci.util.ubus()
- return ubus_reply(req.id, nil, objs)
-
- elseif type(req.params) == "table" then
- local n, rv = nil, {}
- for n = 1, #req.params do
- if type(req.params[n]) ~= "string" then
- return ubus_reply(req.id, nil, -32602, "Invalid parameters")
- end
-
- local sig = luci.util.ubus(req.params[n])
- if sig and type(sig) == "table" then
- rv[req.params[n]] = {}
-
- local m, p
- for m, p in pairs(sig) do
- if type(p) == "table" then
- rv[req.params[n]][m] = {}
-
- local pn, pt
- for pn, pt in pairs(p) do
- rv[req.params[n]][m][pn] = ubus_types[pt] or "unknown"
- end
- end
- end
- end
- end
- return ubus_reply(req.id, nil, rv)
-
- else
- return ubus_reply(req.id, nil, -32602, "Invalid parameters")
- end
- end
-
- return ubus_reply(req.id, nil, -32601, "Method not found")
-end
-
-function action_ubus()
- local parser = require "luci.jsonc".new()
-
- luci.http.context.request:setfilehandler(function(_, s)
- if not s then
- return nil
- end
-
- local ok, err = parser:parse(s)
- return (not err or nil)
- end)
-
- luci.http.context.request:content()
-
- local json = parser:get()
- if json == nil or type(json) ~= "table" then
- luci.http.prepare_content("application/json")
- luci.http.write_json(ubus_reply(nil, nil, -32700, "Parse error"))
- return
- end
-
- local response
- if #json == 0 then
- response = ubus_request(json)
- else
- response = {}
-
- local _, request
- for _, request in ipairs(json) do
- response[_] = ubus_request(request)
- end
- end
-
- luci.http.prepare_content("application/json")
- luci.http.write_json(response)
-end
-
-function action_menu()
- local dsp = require "luci.dispatcher"
- local http = require "luci.http"
-
- local _, _, acls = dsp.is_authenticated({ methods = { "cookie:sysauth_https", "cookie:sysauth_http" } })
- local menu = dsp.menu_json(acls or {}) or {}
-
- http.prepare_content("application/json")
- http.write_json(menu)
-end
+++ /dev/null
--- Copyright 2008 Steven Barth <steven@midlink.org>
--- Copyright 2010-2019 Jo-Philipp Wich <jo@mein.io>
--- Licensed to the public under the Apache License 2.0.
-
-module("luci.controller.admin.uci", package.seeall)
-
-local function ubus_state_to_http(errstr)
- local map = {
- ["Invalid command"] = 400,
- ["Invalid argument"] = 400,
- ["Method not found"] = 404,
- ["Entry not found"] = 404,
- ["No data"] = 204,
- ["Permission denied"] = 403,
- ["Timeout"] = 504,
- ["Not supported"] = 500,
- ["Unknown error"] = 500,
- ["Connection failed"] = 503
- }
-
- local code = map[errstr] or 200
- local msg = errstr or "OK"
-
- luci.http.status(code, msg)
-
- if code ~= 204 then
- luci.http.prepare_content("text/plain")
- luci.http.write(msg)
- end
-end
-
-function action_apply_rollback()
- local uci = require "luci.model.uci"
- local token, errstr = uci:apply(true)
- if token then
- luci.http.prepare_content("application/json")
- luci.http.write_json({ token = token })
- else
- ubus_state_to_http(errstr)
- end
-end
-
-function action_apply_unchecked()
- local uci = require "luci.model.uci"
- local _, errstr = uci:apply(false)
- ubus_state_to_http(errstr)
-end
-
-function action_confirm()
- local uci = require "luci.model.uci"
- local token = luci.http.formvalue("token")
- local _, errstr = uci:confirm(token)
- ubus_state_to_http(errstr)
-end
-
-function action_revert()
- local uci = require "luci.model.uci"
- local changes = uci:changes()
-
- -- Collect files to be reverted
- local _, errstr, r, tbl
- for r, tbl in pairs(changes) do
- _, errstr = uci:revert(r)
- if errstr then
- break
- end
- end
-
- ubus_state_to_http(errstr or "OK")
-end
+++ /dev/null
--- Copyright 2008 Steven Barth <steven@midlink.org>
--- Copyright 2008-2015 Jo-Philipp Wich <jow@openwrt.org>
--- Licensed to the public under the Apache License 2.0.
-
-local fs = require "nixio.fs"
-local sys = require "luci.sys"
-local util = require "luci.util"
-local xml = require "luci.xml"
-local http = require "luci.http"
-local nixio = require "nixio", require "nixio.util"
-
-module("luci.dispatcher", package.seeall)
-context = util.threadlocal()
-uci = require "luci.model.uci"
-i18n = require "luci.i18n"
-_M.fs = fs
-
--- Index table
-local index = nil
-
-local function check_fs_depends(spec)
- local fs = require "nixio.fs"
-
- for path, kind in pairs(spec) do
- if kind == "directory" then
- local empty = true
- for entry in (fs.dir(path) or function() end) do
- empty = false
- break
- end
- if empty then
- return false
- end
- elseif kind == "executable" then
- if fs.stat(path, "type") ~= "reg" or not fs.access(path, "x") then
- return false
- end
- elseif kind == "file" then
- if fs.stat(path, "type") ~= "reg" then
- return false
- end
- elseif kind == "absent" then
- if fs.stat(path, "type") then
- return false
- end
- end
- end
-
- return true
-end
-
-local function check_uci_depends_options(conf, s, opts)
- local uci = require "luci.model.uci"
-
- if type(opts) == "string" then
- return (s[".type"] == opts)
- elseif opts == true then
- for option, value in pairs(s) do
- if option:byte(1) ~= 46 then
- return true
- end
- end
- elseif type(opts) == "table" then
- for option, value in pairs(opts) do
- local sval = s[option]
- if type(sval) == "table" then
- local found = false
- for _, v in ipairs(sval) do
- if v == value then
- found = true
- break
- end
- end
- if not found then
- return false
- end
- elseif value == true then
- if sval == nil then
- return false
- end
- else
- if sval ~= value then
- return false
- end
- end
- end
- end
-
- return true
-end
-
-local function check_uci_depends_section(conf, sect)
- local uci = require "luci.model.uci"
-
- for section, options in pairs(sect) do
- local stype = section:match("^@([A-Za-z0-9_%-]+)$")
- if stype then
- local found = false
- uci:foreach(conf, stype, function(s)
- if check_uci_depends_options(conf, s, options) then
- found = true
- return false
- end
- end)
- if not found then
- return false
- end
- else
- local s = uci:get_all(conf, section)
- if not s or not check_uci_depends_options(conf, s, options) then
- return false
- end
- end
- end
-
- return true
-end
-
-local function check_uci_depends(conf)
- local uci = require "luci.model.uci"
-
- for config, values in pairs(conf) do
- if values == true then
- local found = false
- uci:foreach(config, nil, function(s)
- found = true
- return false
- end)
- if not found then
- return false
- end
- elseif type(values) == "table" then
- if not check_uci_depends_section(config, values) then
- return false
- end
- end
- end
-
- return true
-end
-
-local function check_acl_depends(require_groups, groups)
- if type(require_groups) == "table" and #require_groups > 0 then
- local writable = false
-
- for _, group in ipairs(require_groups) do
- local read = false
- local write = false
- if type(groups) == "table" and type(groups[group]) == "table" then
- for _, perm in ipairs(groups[group]) do
- if perm == "read" then
- read = true
- elseif perm == "write" then
- write = true
- end
- end
- end
- if not read and not write then
- return nil
- elseif write then
- writable = true
- end
- end
-
- return writable
- end
-
- return true
-end
-
-local function check_depends(spec)
- if type(spec.depends) ~= "table" then
- return true
- end
-
- if type(spec.depends.fs) == "table" then
- local satisfied = false
- local alternatives = (#spec.depends.fs > 0) and spec.depends.fs or { spec.depends.fs }
- for _, alternative in ipairs(alternatives) do
- if check_fs_depends(alternative) then
- satisfied = true
- break
- end
- end
- if not satisfied then
- return false
- end
- end
-
- if type(spec.depends.uci) == "table" then
- local satisfied = false
- local alternatives = (#spec.depends.uci > 0) and spec.depends.uci or { spec.depends.uci }
- for _, alternative in ipairs(alternatives) do
- if check_uci_depends(alternative) then
- satisfied = true
- break
- end
- end
- if not satisfied then
- return false
- end
- end
-
- return true
-end
-
-local function target_to_json(target, module)
- local action
-
- if target.type == "call" then
- action = {
- ["type"] = "call",
- ["module"] = module,
- ["function"] = target.name,
- ["parameters"] = target.argv
- }
- elseif target.type == "view" then
- action = {
- ["type"] = "view",
- ["path"] = target.view
- }
- elseif target.type == "template" then
- action = {
- ["type"] = "template",
- ["path"] = target.view
- }
- elseif target.type == "cbi" then
- action = {
- ["type"] = "cbi",
- ["path"] = target.model,
- ["config"] = target.config
- }
- elseif target.type == "form" then
- action = {
- ["type"] = "form",
- ["path"] = target.model
- }
- elseif target.type == "firstchild" then
- action = {
- ["type"] = "firstchild"
- }
- elseif target.type == "firstnode" then
- action = {
- ["type"] = "firstchild",
- ["recurse"] = true
- }
- elseif target.type == "arcombine" then
- if type(target.targets) == "table" then
- action = {
- ["type"] = "arcombine",
- ["targets"] = {
- target_to_json(target.targets[1], module),
- target_to_json(target.targets[2], module)
- }
- }
- end
- elseif target.type == "alias" then
- action = {
- ["type"] = "alias",
- ["path"] = table.concat(target.req, "/")
- }
- elseif target.type == "rewrite" then
- action = {
- ["type"] = "rewrite",
- ["path"] = table.concat(target.req, "/"),
- ["remove"] = target.n
- }
- end
-
- if target.post and action then
- action.post = target.post
- end
-
- return action
-end
-
-local function tree_to_json(node, json)
- local fs = require "nixio.fs"
- local util = require "luci.util"
-
- if type(node.nodes) == "table" then
- for subname, subnode in pairs(node.nodes) do
- local spec = {
- title = xml.striptags(subnode.title),
- order = subnode.order
- }
-
- if subnode.leaf then
- spec.wildcard = true
- end
-
- if subnode.cors then
- spec.cors = true
- end
-
- if subnode.setuser then
- spec.setuser = subnode.setuser
- end
-
- if subnode.setgroup then
- spec.setgroup = subnode.setgroup
- end
-
- if type(subnode.target) == "table" then
- spec.action = target_to_json(subnode.target, subnode.module)
- end
-
- if type(subnode.file_depends) == "table" then
- for _, v in ipairs(subnode.file_depends) do
- spec.depends = spec.depends or {}
- spec.depends.fs = spec.depends.fs or {}
-
- local ft = fs.stat(v, "type")
- if ft == "dir" then
- spec.depends.fs[v] = "directory"
- elseif v:match("/s?bin/") then
- spec.depends.fs[v] = "executable"
- else
- spec.depends.fs[v] = "file"
- end
- end
- end
-
- if type(subnode.uci_depends) == "table" then
- for k, v in pairs(subnode.uci_depends) do
- spec.depends = spec.depends or {}
- spec.depends.uci = spec.depends.uci or {}
- spec.depends.uci[k] = v
- end
- end
-
- if type(subnode.acl_depends) == "table" then
- for _, acl in ipairs(subnode.acl_depends) do
- spec.depends = spec.depends or {}
- spec.depends.acl = spec.depends.acl or {}
- spec.depends.acl[#spec.depends.acl + 1] = acl
- end
- end
-
- if (subnode.sysauth_authenticator ~= nil) or
- (subnode.sysauth ~= nil and subnode.sysauth ~= false)
- then
- if subnode.sysauth_authenticator == "htmlauth" then
- spec.auth = {
- login = true,
- methods = { "cookie:sysauth_https", "cookie:sysauth_http" }
- }
- elseif subname == "rpc" and subnode.module == "luci.controller.rpc" then
- spec.auth = {
- login = false,
- methods = { "query:auth", "cookie:sysauth_https", "cookie:sysauth_http" }
- }
- elseif subnode.module == "luci.controller.admin.uci" then
- spec.auth = {
- login = false,
- methods = { "param:sid" }
- }
- end
- elseif subnode.sysauth == false then
- spec.auth = {}
- end
-
- if not spec.action then
- spec.title = nil
- end
-
- spec.satisfied = check_depends(spec)
- json.children = json.children or {}
- json.children[subname] = tree_to_json(subnode, spec)
- end
- end
-
- return json
-end
-
-function build_url(...)
- local path = {...}
- local url = { http.getenv("SCRIPT_NAME") or "" }
-
- local p
- for _, p in ipairs(path) do
- if p:match("^[a-zA-Z0-9_%-%.%%/,;]+$") then
- url[#url+1] = "/"
- url[#url+1] = p
- end
- end
-
- if #path == 0 then
- url[#url+1] = "/"
- end
-
- return table.concat(url, "")
-end
-
-
-function error404(message)
- http.status(404, "Not Found")
- message = message or "Not Found"
-
- local function render()
- local template = require "luci.template"
- template.render("error404", {message=message})
- end
-
- if not util.copcall(render) then
- http.prepare_content("text/plain")
- http.write(message)
- end
-
- return false
-end
-
-function error500(message)
- util.perror(message)
- if not context.template_header_sent then
- http.status(500, "Internal Server Error")
- http.prepare_content("text/plain")
- http.write(message)
- else
- require("luci.template")
- if not util.copcall(luci.template.render, "error500", {message=message}) then
- http.prepare_content("text/plain")
- http.write(message)
- end
- end
- return false
-end
-
-local function determine_request_language()
- local conf = require "luci.config"
- assert(conf.main, "/etc/config/luci seems to be corrupt, unable to find section 'main'")
-
- local lang = conf.main.lang or "auto"
- if lang == "auto" then
- local aclang = http.getenv("HTTP_ACCEPT_LANGUAGE") or ""
- for aclang in aclang:gmatch("[%w_-]+") do
- local country, culture = aclang:match("^([a-z][a-z])[_-]([a-zA-Z][a-zA-Z])$")
- if country and culture then
- local cc = "%s_%s" %{ country, culture:lower() }
- if conf.languages[cc] then
- lang = cc
- break
- elseif conf.languages[country] then
- lang = country
- break
- end
- elseif conf.languages[aclang] then
- lang = aclang
- break
- end
- end
- end
-
- if lang == "auto" then
- lang = i18n.default
- end
-
- i18n.setlanguage(lang)
-end
-
-function httpdispatch(request, prefix)
- http.context.request = request
-
- local r = {}
- context.request = r
-
- local pathinfo = http.urldecode(request:getenv("PATH_INFO") or "", true)
-
- if prefix then
- for _, node in ipairs(prefix) do
- r[#r+1] = node
- end
- end
-
- local node
- for node in pathinfo:gmatch("[^/%z]+") do
- r[#r+1] = node
- end
-
- determine_request_language()
-
- local stat, err = util.coxpcall(function()
- dispatch(context.request)
- end, error500)
-
- http.close()
-
- --context._disable_memtrace()
-end
-
-local function require_post_security(target, args)
- if type(target) == "table" and target.type == "arcombine" and type(target.targets) == "table" then
- return require_post_security((type(args) == "table" and #args > 0) and target.targets[2] or target.targets[1], args)
- end
-
- if type(target) == "table" then
- if type(target.post) == "table" then
- local param_name, required_val, request_val
-
- for param_name, required_val in pairs(target.post) do
- request_val = http.formvalue(param_name)
-
- if (type(required_val) == "string" and
- request_val ~= required_val) or
- (required_val == true and request_val == nil)
- then
- return false
- end
- end
-
- return true
- end
-
- return (target.post == true)
- end
-
- return false
-end
-
-function test_post_security()
- if http.getenv("REQUEST_METHOD") ~= "POST" then
- http.status(405, "Method Not Allowed")
- http.header("Allow", "POST")
- return false
- end
-
- if http.formvalue("token") ~= context.authtoken then
- http.status(403, "Forbidden")
- luci.template.render("csrftoken")
- return false
- end
-
- return true
-end
-
-local function session_retrieve(sid, allowed_users)
- local sdat = util.ubus("session", "get", { ubus_rpc_session = sid })
- local sacl = util.ubus("session", "access", { ubus_rpc_session = sid })
-
- if type(sdat) == "table" and
- type(sdat.values) == "table" and
- type(sdat.values.token) == "string" and
- (not allowed_users or
- util.contains(allowed_users, sdat.values.username))
- then
- uci:set_session_id(sid)
- return sid, sdat.values, type(sacl) == "table" and sacl or {}
- end
-
- return nil, nil, nil
-end
-
-local function session_setup(user, pass)
- local login = util.ubus("session", "login", {
- username = user,
- password = pass,
- timeout = tonumber(luci.config.sauth.sessiontime)
- })
-
- local rp = context.requestpath
- and table.concat(context.requestpath, "/") or ""
-
- if type(login) == "table" and
- type(login.ubus_rpc_session) == "string"
- then
- util.ubus("session", "set", {
- ubus_rpc_session = login.ubus_rpc_session,
- values = { token = sys.uniqueid(16) }
- })
- nixio.syslog("info", tostring("luci: accepted login on /%s for %s from %s\n"
- %{ rp, user or "?", http.getenv("REMOTE_ADDR") or "?" }))
-
- return session_retrieve(login.ubus_rpc_session)
- end
- nixio.syslog("info", tostring("luci: failed login on /%s for %s from %s\n"
- %{ rp, user or "?", http.getenv("REMOTE_ADDR") or "?" }))
-end
-
-local function check_authentication(method)
- local auth_type, auth_param = method:match("^(%w+):(.+)$")
- local sid, sdat
-
- if auth_type == "cookie" then
- sid = http.getcookie(auth_param)
- elseif auth_type == "param" then
- sid = http.formvalue(auth_param)
- elseif auth_type == "query" then
- sid = http.formvalue(auth_param, true)
- end
-
- return session_retrieve(sid)
-end
-
-local function merge_trees(node_a, node_b)
- for k, v in pairs(node_b) do
- if k == "children" then
- node_a.children = node_a.children or {}
-
- for name, spec in pairs(v) do
- node_a.children[name] = merge_trees(node_a.children[name] or {}, spec)
- end
- else
- node_a[k] = v
- end
- end
-
- if type(node_a.action) == "table" and
- node_a.action.type == "firstchild" and
- node_a.children == nil
- then
- node_a.satisfied = false
- end
-
- return node_a
-end
-
-local function apply_tree_acls(node, acl)
- if type(node.children) == "table" then
- for _, child in pairs(node.children) do
- apply_tree_acls(child, acl)
- end
- end
-
- local perm
- if type(node.depends) == "table" then
- perm = check_acl_depends(node.depends.acl, acl["access-group"])
- else
- perm = true
- end
-
- if perm == nil then
- node.satisfied = false
- elseif perm == false then
- node.readonly = true
- end
-end
-
-function menu_json(acl)
- local tree = context.tree or createtree()
- local lua_tree = tree_to_json(tree, {
- action = {
- ["type"] = "firstchild",
- ["recurse"] = true
- }
- })
-
- local json_tree = createtree_json()
- local menu_tree = merge_trees(lua_tree, json_tree)
-
- if acl then
- apply_tree_acls(menu_tree, acl)
- end
-
- return menu_tree
-end
-
-local function init_template_engine(ctx)
- local tpl = require "luci.template"
- local media = luci.config.main.mediaurlbase
-
- if not pcall(tpl.Template, "themes/%s/header" % fs.basename(media)) then
- media = nil
- for name, theme in pairs(luci.config.themes) do
- if name:sub(1,1) ~= "." and pcall(tpl.Template,
- "themes/%s/header" % fs.basename(theme)) then
- media = theme
- end
- end
- assert(media, "No valid theme found")
- end
-
- local function _ifattr(cond, key, val, noescape)
- if cond then
- local env = getfenv(3)
- local scope = (type(env.self) == "table") and env.self
- if type(val) == "table" then
- if not next(val) then
- return ''
- else
- val = util.serialize_json(val)
- end
- end
-
- val = tostring(val or
- (type(env[key]) ~= "function" and env[key]) or
- (scope and type(scope[key]) ~= "function" and scope[key]) or "")
-
- if noescape ~= true then
- val = xml.pcdata(val)
- end
-
- return string.format(' %s="%s"', tostring(key), val)
- else
- return ''
- end
- end
-
- tpl.context.viewns = setmetatable({
- write = http.write;
- include = function(name) tpl.Template(name):render(getfenv(2)) end;
- translate = i18n.translate;
- translatef = i18n.translatef;
- export = function(k, v) if tpl.context.viewns[k] == nil then tpl.context.viewns[k] = v end end;
- striptags = xml.striptags;
- pcdata = xml.pcdata;
- media = media;
- theme = fs.basename(media);
- resource = luci.config.main.resourcebase;
- ifattr = function(...) return _ifattr(...) end;
- attr = function(...) return _ifattr(true, ...) end;
- url = build_url;
- }, {__index=function(tbl, key)
- if key == "controller" then
- return build_url()
- elseif key == "REQUEST_URI" then
- return build_url(unpack(ctx.requestpath))
- elseif key == "FULL_REQUEST_URI" then
- local url = { http.getenv("SCRIPT_NAME") or "", http.getenv("PATH_INFO") }
- local query = http.getenv("QUERY_STRING")
- if query and #query > 0 then
- url[#url+1] = "?"
- url[#url+1] = query
- end
- return table.concat(url, "")
- elseif key == "token" then
- return ctx.authtoken
- else
- return rawget(tbl, key) or _G[key]
- end
- end})
-
- return tpl
-end
-
-function is_authenticated(auth)
- if type(auth) == "table" and type(auth.methods) == "table" and #auth.methods > 0 then
- local sid, sdat, sacl
- for _, method in ipairs(auth.methods) do
- sid, sdat, sacl = check_authentication(method)
-
- if sid and sdat and sacl then
- return sid, sdat, sacl
- end
- end
- end
-end
-
-local function ctx_append(ctx, name, node)
- ctx.path = ctx.path or {}
- ctx.path[#ctx.path + 1] = name
-
- ctx.acls = ctx.acls or {}
-
- local acls = (type(node.depends) == "table" and type(node.depends.acl) == "table") and node.depends.acl or {}
- for _, acl in ipairs(acls) do
- ctx.acls[_] = acl
- end
-
- ctx.auth = node.auth or ctx.auth
- ctx.cors = node.cors or ctx.cors
- ctx.suid = node.setuser or ctx.suid
- ctx.sgid = node.setgroup or ctx.sgid
-
- return ctx
-end
-
-local function node_weight(node)
- local weight = node.order or 9999
-
- if weight > 9999 then
- weight = 9999
- end
-
- if type(node.auth) == "table" and node.auth.login then
- weight = weight + 10000
- end
-
- return weight
-end
-
-local function resolve_firstchild(node, sacl, login_allowed, ctx)
- local candidate = nil
- local candidate_ctx = nil
-
- for name, child in pairs(node.children) do
- if child.satisfied then
- if not sacl then
- local _
- _, _, sacl = is_authenticated(node.auth)
- end
-
- local cacl = (type(child.depends) == "table") and child.depends.acl or nil
- local login = login_allowed or (type(child.auth) == "table" and child.auth.login)
- if login or check_acl_depends(cacl, sacl and sacl["access-group"]) ~= nil then
- if child.title and type(child.action) == "table" then
- local child_ctx = ctx_append(util.clone(ctx, true), name, child)
- if child.action.type == "firstchild" then
- if not candidate or node_weight(candidate) > node_weight(child) then
- local have_grandchild = resolve_firstchild(child, sacl, login, child_ctx)
- if have_grandchild then
- candidate = child
- candidate_ctx = child_ctx
- end
- end
- elseif not child.firstchild_ineligible then
- if not candidate or node_weight(candidate) > node_weight(child) then
- candidate = child
- candidate_ctx = child_ctx
- end
- end
- end
- end
- end
- end
-
- if candidate then
- for k, v in pairs(candidate_ctx) do
- ctx[k] = v
- end
-
- return true
- end
-
- return false
-end
-
-local function resolve_page(tree, request_path)
- local node = tree
- local sacl = nil
- local login = false
- local ctx = {}
-
- for i, s in ipairs(request_path) do
- node = node.children and node.children[s]
-
- if not node or not node.satisfied then
- break
- end
-
- ctx_append(ctx, s, node)
-
- if not sacl then
- local _
- _, _, sacl = is_authenticated(node.auth)
- end
-
- if not login and type(node.auth) == "table" and node.auth.login then
- login = true
- end
-
- if node.wildcard then
- ctx.request_args = {}
- ctx.request_path = util.clone(ctx.path, true)
-
- for j = i + 1, #request_path do
- ctx.request_path[j] = request_path[j]
- ctx.request_args[j - i] = request_path[j]
- end
-
- break
- end
- end
-
- if node and type(node.action) == "table" and node.action.type == "firstchild" then
- resolve_firstchild(node, sacl, login, ctx)
- end
-
- ctx.acls = ctx.acls or {}
- ctx.path = ctx.path or {}
- ctx.request_args = ctx.request_args or {}
- ctx.request_path = ctx.request_path or util.clone(request_path, true)
-
- node = tree
-
- for _, s in ipairs(ctx.path or {}) do
- node = node.children[s]
- assert(node, "Internal node resolve error")
- end
-
- return node, ctx
-end
-
-function dispatch(request)
- --context._disable_memtrace = require "luci.debug".trap_memtrace("l")
- local ctx = context
-
- local auth, cors, suid, sgid
- local menu = menu_json()
- local page, lookup_ctx = resolve_page(menu, request)
- local action = (page and type(page.action) == "table") and page.action or {}
-
- local tpl = init_template_engine(ctx)
-
- ctx.args = lookup_ctx.request_args
- ctx.path = lookup_ctx.path
- ctx.dispatched = page
-
- ctx.requestpath = ctx.requestpath or lookup_ctx.request_path
- ctx.requestargs = ctx.requestargs or lookup_ctx.request_args
- ctx.requested = ctx.requested or page
-
- if type(lookup_ctx.auth) == "table" and next(lookup_ctx.auth) then
- local sid, sdat, sacl = is_authenticated(lookup_ctx.auth)
-
- if not (sid and sdat and sacl) and lookup_ctx.auth.login then
- local user = http.getenv("HTTP_AUTH_USER")
- local pass = http.getenv("HTTP_AUTH_PASS")
-
- if user == nil and pass == nil then
- user = http.formvalue("luci_username")
- pass = http.formvalue("luci_password")
- end
-
- if user and pass then
- sid, sdat, sacl = session_setup(user, pass)
- end
-
- if not sid then
- context.path = {}
-
- http.status(403, "Forbidden")
- http.header("X-LuCI-Login-Required", "yes")
-
- local scope = { duser = "root", fuser = user }
- local ok, res = util.copcall(tpl.render_string, [[<% include("themes/" .. theme .. "/sysauth") %>]], scope)
- if ok then
- return res
- end
- return tpl.render("sysauth", scope)
- end
-
- http.header("Set-Cookie", 'sysauth_%s=%s; path=%s; SameSite=Strict; HttpOnly%s' %{
- http.getenv("HTTPS") == "on" and "https" or "http",
- sid, build_url(), http.getenv("HTTPS") == "on" and "; secure" or ""
- })
-
- http.redirect(build_url(unpack(ctx.requestpath)))
- return
- end
-
- if not sid or not sdat or not sacl then
- http.status(403, "Forbidden")
- http.header("X-LuCI-Login-Required", "yes")
- return
- end
-
- ctx.authsession = sid
- ctx.authtoken = sdat.token
- ctx.authuser = sdat.username
- ctx.authacl = sacl
- end
-
- if #lookup_ctx.acls > 0 then
- local perm = check_acl_depends(lookup_ctx.acls, ctx.authacl and ctx.authacl["access-group"])
- if perm == nil then
- http.status(403, "Forbidden")
- return
- end
-
- if page then
- page.readonly = not perm
- end
- end
-
- if action.type == "arcombine" then
- action = (#lookup_ctx.request_args > 0) and action.targets[2] or action.targets[1]
- end
-
- if lookup_ctx.cors and http.getenv("REQUEST_METHOD") == "OPTIONS" then
- luci.http.status(200, "OK")
- luci.http.header("Access-Control-Allow-Origin", http.getenv("HTTP_ORIGIN") or "*")
- luci.http.header("Access-Control-Allow-Methods", "GET, POST, OPTIONS")
- return
- end
-
- if require_post_security(action) then
- if not test_post_security() then
- return
- end
- end
-
- if lookup_ctx.sgid then
- sys.process.setgroup(lookup_ctx.sgid)
- end
-
- if lookup_ctx.suid then
- sys.process.setuser(lookup_ctx.suid)
- end
-
- if action.type == "view" then
- tpl.render("view", { view = action.path })
-
- elseif action.type == "call" then
- local ok, mod = util.copcall(require, action.module)
- if not ok then
- error500(mod)
- return
- end
-
- local func = mod[action["function"]]
-
- assert(func ~= nil,
- 'Cannot resolve function "' .. action["function"] .. '". Is it misspelled or local?')
-
- assert(type(func) == "function",
- 'The symbol "' .. action["function"] .. '" does not refer to a function but data ' ..
- 'of type "' .. type(func) .. '".')
-
- local argv = (type(action.parameters) == "table" and #action.parameters > 0) and { unpack(action.parameters) } or {}
- for _, s in ipairs(lookup_ctx.request_args) do
- argv[#argv + 1] = s
- end
-
- local ok, err = util.copcall(func, unpack(argv))
- if not ok then
- error500(err)
- end
-
- --elseif action.type == "firstchild" then
- -- tpl.render("empty_node_placeholder", getfenv(1))
-
- elseif action.type == "alias" then
- local sub_request = {}
- for name in action.path:gmatch("[^/]+") do
- sub_request[#sub_request + 1] = name
- end
-
- for _, s in ipairs(lookup_ctx.request_args) do
- sub_request[#sub_request + 1] = s
- end
-
- dispatch(sub_request)
-
- elseif action.type == "rewrite" then
- local sub_request = { unpack(request) }
- for i = 1, action.remove do
- table.remove(sub_request, 1)
- end
-
- local n = 1
- for s in action.path:gmatch("[^/]+") do
- table.insert(sub_request, n, s)
- n = n + 1
- end
-
- for _, s in ipairs(lookup_ctx.request_args) do
- sub_request[#sub_request + 1] = s
- end
-
- dispatch(sub_request)
-
- elseif action.type == "template" then
- tpl.render(action.path, getfenv(1))
-
- elseif action.type == "cbi" then
- _cbi({ config = action.config, model = action.path }, unpack(lookup_ctx.request_args))
-
- elseif action.type == "form" then
- _form({ model = action.path }, unpack(lookup_ctx.request_args))
-
- else
- if not menu.children then
- error404("No root node was registered, this usually happens if no module was installed.\n" ..
- "Install luci-mod-admin-full and retry. " ..
- "If the module is already installed, try removing the /tmp/luci-indexcache file.")
- else
- error404("No page is registered at '/" .. table.concat(lookup_ctx.request_path, "/") .. "'.\n" ..
- "If this url belongs to an extension, make sure it is properly installed.\n" ..
- "If the extension was recently installed, try removing the /tmp/luci-indexcache file.")
- end
- end
-end
-
-local function hash_filelist(files)
- local fprint = {}
- local n = 0
-
- for i, file in ipairs(files) do
- local st = fs.stat(file)
- if st then
- fprint[n + 1] = '%x' % st.ino
- fprint[n + 2] = '%x' % st.mtime
- fprint[n + 3] = '%x' % st.size
- n = n + 3
- end
- end
-
- return nixio.crypt(table.concat(fprint, "|"), "$1$"):sub(5):gsub("/", ".")
-end
-
-local function read_cachefile(file, reader)
- local euid = sys.process.info("uid")
- local fuid = fs.stat(file, "uid")
- local mode = fs.stat(file, "modestr")
-
- if euid ~= fuid or mode ~= "rw-------" then
- return nil
- end
-
- return reader(file)
-end
-
-function createindex()
- local controllers = { }
- local base = "%s/controller/" % util.libpath()
- local _, path
-
- for path in (fs.glob("%s*.lua" % base) or function() end) do
- controllers[#controllers+1] = path
- end
-
- for path in (fs.glob("%s*/*.lua" % base) or function() end) do
- controllers[#controllers+1] = path
- end
-
- local cachefile
-
- if indexcache then
- cachefile = "%s.%s.lua" %{ indexcache, hash_filelist(controllers) }
-
- local res = read_cachefile(cachefile, function(path) return loadfile(path)() end)
- if res then
- index = res
- return res
- end
-
- for file in (fs.glob("%s.*.lua" % indexcache) or function() end) do
- fs.unlink(file)
- end
- end
-
- index = {}
-
- for _, path in ipairs(controllers) do
- local modname = "luci.controller." .. path:sub(#base+1, #path-4):gsub("/", ".")
- local mod = require(modname)
- assert(mod ~= true,
- "Invalid controller file found\n" ..
- "The file '" .. path .. "' contains an invalid module line.\n" ..
- "Please verify whether the module name is set to '" .. modname ..
- "' - It must correspond to the file path!")
-
- local idx = mod.index
- if type(idx) == "function" then
- index[modname] = idx
- end
- end
-
- if cachefile then
- local f = nixio.open(cachefile, "w", 600)
- f:writeall(util.get_bytecode(index))
- f:close()
- end
-end
-
-function createtree_json()
- local json = require "luci.jsonc"
- local tree = {}
-
- local schema = {
- action = "table",
- auth = "table",
- cors = "boolean",
- depends = "table",
- order = "number",
- setgroup = "string",
- setuser = "string",
- title = "string",
- wildcard = "boolean",
- firstchild_ineligible = "boolean"
- }
-
- local files = {}
- local cachefile
-
- for file in (fs.glob("/usr/share/luci/menu.d/*.json") or function() end) do
- files[#files+1] = file
- end
-
- if indexcache then
- cachefile = "%s.%s.json" %{ indexcache, hash_filelist(files) }
-
- local res = read_cachefile(cachefile, function(path) return json.parse(fs.readfile(path) or "") end)
- if res then
- return res
- end
-
- for file in (fs.glob("%s.*.json" % indexcache) or function() end) do
- fs.unlink(file)
- end
- end
-
- for _, file in ipairs(files) do
- local data = json.parse(fs.readfile(file) or "")
- if type(data) == "table" then
- for path, spec in pairs(data) do
- if type(spec) == "table" then
- local node = tree
-
- for s in path:gmatch("[^/]+") do
- if s == "*" then
- node.wildcard = true
- break
- end
-
- node.children = node.children or {}
- node.children[s] = node.children[s] or {}
- node = node.children[s]
- end
-
- if node ~= tree then
- for k, t in pairs(schema) do
- if type(spec[k]) == t then
- node[k] = spec[k]
- end
- end
-
- node.satisfied = check_depends(spec)
- end
- end
- end
- end
- end
-
- if cachefile then
- local f = nixio.open(cachefile, "w", 600)
- f:writeall(json.stringify(tree))
- f:close()
- end
-
- return tree
-end
-
--- Build the index before if it does not exist yet.
-function createtree()
- if not index then
- createindex()
- end
-
- local ctx = context
- local tree = {nodes={}, inreq=true}
-
- ctx.treecache = setmetatable({}, {__mode="v"})
- ctx.tree = tree
-
- local scope = setmetatable({}, {__index = luci.dispatcher})
-
- for k, v in pairs(index) do
- scope._NAME = k
- setfenv(v, scope)
- v()
- end
-
- return tree
-end
-
-function assign(path, clone, title, order)
- local obj = node(unpack(path))
- obj.nodes = nil
- obj.module = nil
-
- obj.title = title
- obj.order = order
-
- setmetatable(obj, {__index = _create_node(clone)})
-
- return obj
-end
-
-function entry(path, target, title, order)
- local c = node(unpack(path))
-
- c.target = target
- c.title = title
- c.order = order
- c.module = getfenv(2)._NAME
-
- return c
-end
-
--- enabling the node.
-function get(...)
- return _create_node({...})
-end
-
-function node(...)
- local c = _create_node({...})
-
- c.module = getfenv(2)._NAME
- c.auto = nil
-
- return c
-end
-
-function lookup(...)
- local i, path = nil, {}
- for i = 1, select('#', ...) do
- local name, arg = nil, tostring(select(i, ...))
- for name in arg:gmatch("[^/]+") do
- path[#path+1] = name
- end
- end
-
- for i = #path, 1, -1 do
- local node = context.treecache[table.concat(path, ".", 1, i)]
- if node and (i == #path or node.leaf) then
- return node, build_url(unpack(path))
- end
- end
-end
-
-function _create_node(path)
- if #path == 0 then
- return context.tree
- end
-
- local name = table.concat(path, ".")
- local c = context.treecache[name]
-
- if not c then
- local last = table.remove(path)
- local parent = _create_node(path)
-
- c = {nodes={}, auto=true, inreq=true}
-
- parent.nodes[last] = c
- context.treecache[name] = c
- end
-
- return c
-end
-
--- Subdispatchers --
-
-function firstchild()
- return { type = "firstchild" }
-end
-
-function firstnode()
- return { type = "firstnode" }
-end
-
-function alias(...)
- return { type = "alias", req = { ... } }
-end
-
-function rewrite(n, ...)
- return { type = "rewrite", n = n, req = { ... } }
-end
-
-function call(name, ...)
- return { type = "call", argv = {...}, name = name }
-end
-
-function post_on(params, name, ...)
- return {
- type = "call",
- post = params,
- argv = { ... },
- name = name
- }
-end
-
-function post(...)
- return post_on(true, ...)
-end
-
-
-function template(name)
- return { type = "template", view = name }
-end
-
-function view(name)
- return { type = "view", view = name }
-end
-
-
-function _cbi(self, ...)
- local cbi = require "luci.cbi"
- local tpl = require "luci.template"
- local http = require "luci.http"
- local util = require "luci.util"
-
- local config = self.config or {}
- local maps = cbi.load(self.model, ...)
-
- local state = nil
-
- local function has_uci_access(config, level)
- local rv = util.ubus("session", "access", {
- ubus_rpc_session = context.authsession,
- scope = "uci", object = config,
- ["function"] = level
- })
-
- return (type(rv) == "table" and rv.access == true) or false
- end
-
- local i, res
- for i, res in ipairs(maps) do
- if util.instanceof(res, cbi.SimpleForm) then
- io.stderr:write("Model %s returns SimpleForm but is dispatched via cbi(),\n"
- % self.model)
-
- io.stderr:write("please change %s to use the form() action instead.\n"
- % table.concat(context.request, "/"))
- end
-
- res.flow = config
- local cstate = res:parse()
- if cstate and (not state or cstate < state) then
- state = cstate
- end
- end
-
- local function _resolve_path(path)
- return type(path) == "table" and build_url(unpack(path)) or path
- end
-
- if config.on_valid_to and state and state > 0 and state < 2 then
- http.redirect(_resolve_path(config.on_valid_to))
- return
- end
-
- if config.on_changed_to and state and state > 1 then
- http.redirect(_resolve_path(config.on_changed_to))
- return
- end
-
- if config.on_success_to and state and state > 0 then
- http.redirect(_resolve_path(config.on_success_to))
- return
- end
-
- if config.state_handler then
- if not config.state_handler(state, maps) then
- return
- end
- end
-
- http.header("X-CBI-State", state or 0)
-
- if not config.noheader then
- tpl.render("cbi/header", {state = state})
- end
-
- local redirect
- local messages
- local applymap = false
- local pageaction = true
- local parsechain = { }
- local writable = false
-
- for i, res in ipairs(maps) do
- if res.apply_needed and res.parsechain then
- local c
- for _, c in ipairs(res.parsechain) do
- parsechain[#parsechain+1] = c
- end
- applymap = true
- end
-
- if res.redirect then
- redirect = redirect or res.redirect
- end
-
- if res.pageaction == false then
- pageaction = false
- end
-
- if res.message then
- messages = messages or { }
- messages[#messages+1] = res.message
- end
- end
-
- for i, res in ipairs(maps) do
- local is_readable_map = has_uci_access(res.config, "read")
- local is_writable_map = has_uci_access(res.config, "write")
-
- writable = writable or is_writable_map
-
- res:render({
- firstmap = (i == 1),
- redirect = redirect,
- messages = messages,
- pageaction = pageaction,
- parsechain = parsechain,
- readable = is_readable_map,
- writable = is_writable_map
- })
- end
-
- if not config.nofooter then
- tpl.render("cbi/footer", {
- flow = config,
- pageaction = pageaction,
- redirect = redirect,
- state = state,
- autoapply = config.autoapply,
- trigger_apply = applymap,
- writable = writable
- })
- end
-end
-
-function cbi(model, config)
- return {
- type = "cbi",
- post = { ["cbi.submit"] = true },
- config = config,
- model = model
- }
-end
-
-
-function arcombine(trg1, trg2)
- return {
- type = "arcombine",
- env = getfenv(),
- targets = {trg1, trg2}
- }
-end
-
-
-function _form(self, ...)
- local cbi = require "luci.cbi"
- local tpl = require "luci.template"
- local http = require "luci.http"
-
- local maps = luci.cbi.load(self.model, ...)
- local state = nil
-
- local i, res
- for i, res in ipairs(maps) do
- local cstate = res:parse()
- if cstate and (not state or cstate < state) then
- state = cstate
- end
- end
-
- http.header("X-CBI-State", state or 0)
- tpl.render("header")
- for i, res in ipairs(maps) do
- res:render()
- end
- tpl.render("footer")
-end
-
-function form(model)
- return {
- type = "form",
- post = { ["cbi.submit"] = true },
- model = model
- }
-end
-
-translate = i18n.translate
-
--- This function does not actually translate the given argument but
--- is used by build/i18n-scan.pl to find translatable entries.
-function _(text)
- return text
-end
+++ /dev/null
----[[
-LuCI web dispatcher.
-]]
-module "luci.dispatcher"
-
----[[
-Build the URL relative to the server webroot from given virtual path.
-
-@class function
-@name build_url
-@param ... Virtual path
-@return Relative URL
-]]
-
----[[
-Check whether a dispatch node shall be visible
-
-@class function
-@name node_visible
-@param node Dispatch node
-@return Boolean indicating whether the node should be visible
-]]
-
----[[
-Return a sorted table of visible children within a given node
-
-@class function
-@name node_childs
-@param node Dispatch node
-@return Ordered table of child node names
-]]
-
----[[
-Send a 404 error code and render the "error404" template if available.
-
-@class function
-@name error404
-@param message Custom error message (optional)
-@return false
-]]
-
----[[
-Send a 500 error code and render the "error500" template if available.
-
-@class function
-@name error500
-@param message Custom error message (optional)#
-@return false
-]]
-
----[[
-Dispatch an HTTP request.
-
-@class function
-@name httpdispatch
-@param request LuCI HTTP Request object
-]]
-
----[[
-Dispatches a LuCI virtual path.
-
-@class function
-@name dispatch
-@param request Virtual path
-]]
-
----[[
-Generate the dispatching index using the native file-cache based strategy.
-
-
-@class function
-@name createindex
-]]
-
----[[
-Create the dispatching tree from the index.
-
-Build the index before if it does not exist yet.
-
-@class function
-@name createtree
-]]
-
----[[
-Clone a node of the dispatching tree to another position.
-
-@class function
-@name assign
-@param path Virtual path destination
-@param clone Virtual path source
-@param title Destination node title (optional)
-@param order Destination node order value (optional)
-@return Dispatching tree node
-]]
-
----[[
-Create a new dispatching node and define common parameters.
-
-@class function
-@name entry
-@param path Virtual path
-@param target Target function to call when dispatched.
-@param title Destination node title
-@param order Destination node order value (optional)
-@return Dispatching tree node
-]]
-
----[[
-Fetch or create a dispatching node without setting the target module or
-enabling the node.
-
-@class function
-@name get
-@param ... Virtual path
-@return Dispatching tree node
-]]
-
----[[
-Fetch or create a new dispatching node.
-
-@class function
-@name node
-@param ... Virtual path
-@return Dispatching tree node
-]]
-
----[[
-Lookup node in dispatching tree.
-
-@class function
-@name lookup
-@param ... Virtual path
-@return Node object, canonical url or nil if the path was not found.
-]]
-
----[[
-Alias the first (lowest order) page automatically
-
-
-@class function
-@name firstchild
-]]
-
----[[
-Create a redirect to another dispatching node.
-
-@class function
-@name alias
-@param ... Virtual path destination
-]]
-
----[[
-Rewrite the first x path values of the request.
-
-@class function
-@name rewrite
-@param n Number of path values to replace
-@param ... Virtual path to replace removed path values with
-]]
-
----[[
-Create a function-call dispatching target.
-
-@class function
-@name call
-@param name Target function of local controller
-@param ... Additional parameters passed to the function
-]]
-
----[[
-Create a template render dispatching target.
-
-@class function
-@name template
-@param name Template to be rendered
-]]
-
----[[
-Create a CBI model dispatching target.
-
-@class function
-@name cbi
-@param model CBI model to be rendered
-]]
-
----[[
-Create a combined dispatching target for non argv and argv requests.
-
-@class function
-@name arcombine
-@param trg1 Overview Target
-@param trg2 Detail Target
-]]
-
----[[
-Create a CBI form model dispatching target.
-
-@class function
-@name form
-@param model CBI form model tpo be rendered
-]]
-
----[[
-Access the luci.i18n translate() api.
-
-@class function
-@name translate
-@param text Text to translate
-]]
-
----[[
-No-op function used to mark translation entries for menu labels.
-
-This function does not actually translate the given argument but
-is used by build/i18n-scan.pl to find translatable entries.
-
-@class function
-@name _
-]]
-
+++ /dev/null
--- Copyright 2008 Steven Barth <steven@midlink.org>
--- Licensed to the public under the Apache License 2.0.
-
-local tparser = require "luci.template.parser"
-local util = require "luci.util"
-local tostring = tostring
-
-module "luci.i18n"
-
-i18ndir = util.libpath() .. "/i18n/"
-context = util.threadlocal()
-default = "en"
-
-
-function setlanguage(lang)
- local code, subcode = lang:match("^([A-Za-z][A-Za-z])[%-_]([A-Za-z][A-Za-z])$")
- if not (code and subcode) then
- subcode = lang:match("^([A-Za-z][A-Za-z])$")
- if not subcode then
- return nil
- end
- end
-
- context.parent = code and code:lower()
- context.lang = context.parent and context.parent.."-"..subcode:lower() or subcode:lower()
-
- if tparser.load_catalog(context.lang, i18ndir) and
- tparser.change_catalog(context.lang)
- then
- return context.lang
-
- elseif context.parent then
- if tparser.load_catalog(context.parent, i18ndir) and
- tparser.change_catalog(context.parent)
- then
- return context.parent
- end
- end
-
- return nil
-end
-
-function translate(key)
- return tparser.translate(key) or key
-end
-
-function translatef(key, ...)
- return tostring(translate(key)):format(...)
-end
-
-function dump()
- local rv = {}
- tparser.get_translations(function(k, v) rv[k] = v end)
- return rv
-end
+++ /dev/null
----[[
-LuCI translation library.
-]]
-module "luci.i18n"
-
----[[
-Set the context default translation language.
-
-@class function
-@name setlanguage
-@param lang An IETF/BCP 47 language tag or ISO3166 country code, e.g. "en-US" or "de"
-@return The effective loaded language, e.g. "en" for "en-US" - or nil on failure
-]]
-
----[[
-Return the translated value for a specific translation key.
-
-@class function
-@name translate
-@param key Default translation text
-@return Translated string
-]]
-
----[[
-Return the translated value for a specific translation key and use it as sprintf pattern.
-
-@class function
-@name translatef
-@param key Default translation text
-@param ... Format parameters
-@return Translated and formatted string
-]]
-
----[[
-Return all currently loaded translation strings as a key-value table. The key is the
-hexadecimal representation of the translation key while the value is the translated
-text content.
-
-@class function
-@name dump
-@return Key-value translation string table.
-]]
+++ /dev/null
--- Copyright 2008 Steven Barth <steven@midlink.org>
--- Licensed to the public under the Apache License 2.0.
-
-local os = require "os"
-local util = require "luci.util"
-local table = require "table"
-
-
-local setmetatable, rawget, rawset = setmetatable, rawget, rawset
-local require, getmetatable, assert = require, getmetatable, assert
-local error, pairs, ipairs, select = error, pairs, ipairs, select
-local type, tostring, tonumber, unpack = type, tostring, tonumber, unpack
-
--- The typical workflow for UCI is: Get a cursor instance from the
--- cursor factory, modify data (via Cursor.add, Cursor.delete, etc.),
--- save the changes to the staging area via Cursor.save and finally
--- Cursor.commit the data to the actual config files.
--- LuCI then needs to Cursor.apply the changes so daemons etc. are
--- reloaded.
-module "luci.model.uci"
-
-local ERRSTR = {
- "Invalid command",
- "Invalid argument",
- "Method not found",
- "Entry not found",
- "No data",
- "Permission denied",
- "Timeout",
- "Not supported",
- "Unknown error",
- "Connection failed"
-}
-
-local session_id = nil
-
-local function call(cmd, args)
- if type(args) == "table" and session_id then
- args.ubus_rpc_session = session_id
- end
- return util.ubus("uci", cmd, args)
-end
-
-
-function cursor()
- return _M
-end
-
-function cursor_state()
- return _M
-end
-
-function substate(self)
- return self
-end
-
-
-function get_confdir(self)
- return "/etc/config"
-end
-
-function get_savedir(self)
- return "/tmp/.uci"
-end
-
-function get_session_id(self)
- return session_id
-end
-
-function set_confdir(self, directory)
- return false
-end
-
-function set_savedir(self, directory)
- return false
-end
-
-function set_session_id(self, id)
- session_id = id
- return true
-end
-
-
-function load(self, config)
- return true
-end
-
-function save(self, config)
- return true
-end
-
-function unload(self, config)
- return true
-end
-
-
-function changes(self, config)
- local rv, err = call("changes", { config = config })
-
- if type(rv) == "table" and type(rv.changes) == "table" then
- return rv.changes
- elseif err then
- return nil, ERRSTR[err]
- else
- return { }
- end
-end
-
-
-function revert(self, config)
- local _, err = call("revert", { config = config })
- return (err == nil), ERRSTR[err]
-end
-
-function commit(self, config)
- local _, err = call("commit", { config = config })
- return (err == nil), ERRSTR[err]
-end
-
-function apply(self, rollback)
- local _, err
-
- if rollback then
- local sys = require "luci.sys"
- local conf = require "luci.config"
- local timeout = tonumber(conf and conf.apply and conf.apply.rollback or 90) or 0
-
- _, err = call("apply", {
- timeout = (timeout > 90) and timeout or 90,
- rollback = true
- })
-
- if not err then
- local now = os.time()
- local token = sys.uniqueid(16)
-
- util.ubus("session", "set", {
- ubus_rpc_session = "00000000000000000000000000000000",
- values = {
- rollback = {
- token = token,
- session = session_id,
- timeout = now + timeout
- }
- }
- })
-
- return token
- end
- else
- _, err = call("changes", {})
-
- if not err then
- if type(_) == "table" and type(_.changes) == "table" then
- local k, v
- for k, v in pairs(_.changes) do
- _, err = call("commit", { config = k })
- if err then
- break
- end
- end
- end
- end
-
- if not err then
- _, err = call("apply", { rollback = false })
- end
- end
-
- return (err == nil), ERRSTR[err]
-end
-
-function confirm(self, token)
- local is_pending, time_remaining, rollback_sid, rollback_token = self:rollback_pending()
-
- if is_pending then
- if token ~= rollback_token then
- return false, "Permission denied"
- end
-
- local _, err = util.ubus("uci", "confirm", {
- ubus_rpc_session = rollback_sid
- })
-
- if not err then
- util.ubus("session", "set", {
- ubus_rpc_session = "00000000000000000000000000000000",
- values = { rollback = {} }
- })
- end
-
- return (err == nil), ERRSTR[err]
- end
-
- return false, "No data"
-end
-
-function rollback(self)
- local is_pending, time_remaining, rollback_sid = self:rollback_pending()
-
- if is_pending then
- local _, err = util.ubus("uci", "rollback", {
- ubus_rpc_session = rollback_sid
- })
-
- if not err then
- util.ubus("session", "set", {
- ubus_rpc_session = "00000000000000000000000000000000",
- values = { rollback = {} }
- })
- end
-
- return (err == nil), ERRSTR[err]
- end
-
- return false, "No data"
-end
-
-function rollback_pending(self)
- local rv, err = util.ubus("session", "get", {
- ubus_rpc_session = "00000000000000000000000000000000",
- keys = { "rollback" }
- })
-
- local now = os.time()
-
- if type(rv) == "table" and
- type(rv.values) == "table" and
- type(rv.values.rollback) == "table" and
- type(rv.values.rollback.token) == "string" and
- type(rv.values.rollback.session) == "string" and
- type(rv.values.rollback.timeout) == "number" and
- rv.values.rollback.timeout > now
- then
- return true,
- rv.values.rollback.timeout - now,
- rv.values.rollback.session,
- rv.values.rollback.token
- end
-
- return false, ERRSTR[err]
-end
-
-
-function foreach(self, config, stype, callback)
- if type(callback) == "function" then
- local rv, err = call("get", {
- config = config,
- type = stype
- })
-
- if type(rv) == "table" and type(rv.values) == "table" then
- local sections = { }
- local res = false
- local index = 1
-
- local _, section
- for _, section in pairs(rv.values) do
- section[".index"] = section[".index"] or index
- sections[index] = section
- index = index + 1
- end
-
- table.sort(sections, function(a, b)
- return a[".index"] < b[".index"]
- end)
-
- for _, section in ipairs(sections) do
- local continue = callback(section)
- res = true
- if continue == false then
- break
- end
- end
- return res
- else
- return false, ERRSTR[err] or "No data"
- end
- else
- return false, "Invalid argument"
- end
-end
-
-local function _get(self, operation, config, section, option)
- if section == nil then
- return nil
- elseif type(option) == "string" and option:byte(1) ~= 46 then
- local rv, err = call(operation, {
- config = config,
- section = section,
- option = option
- })
-
- if type(rv) == "table" then
- return rv.value or nil
- elseif err then
- return false, ERRSTR[err]
- else
- return nil
- end
- elseif option == nil then
- local values = self:get_all(config, section)
- if values then
- return values[".type"], values[".name"]
- else
- return nil
- end
- else
- return false, "Invalid argument"
- end
-end
-
-function get(self, ...)
- return _get(self, "get", ...)
-end
-
-function get_state(self, ...)
- return _get(self, "state", ...)
-end
-
-function get_all(self, config, section)
- local rv, err = call("get", {
- config = config,
- section = section
- })
-
- if type(rv) == "table" and type(rv.values) == "table" then
- return rv.values
- elseif err then
- return false, ERRSTR[err]
- else
- return nil
- end
-end
-
-function get_bool(self, ...)
- local val = self:get(...)
- return (val == "1" or val == "true" or val == "yes" or val == "on")
-end
-
-function get_first(self, config, stype, option, default)
- local rv = default
-
- self:foreach(config, stype, function(s)
- local val = not option and s[".name"] or s[option]
-
- if type(default) == "number" then
- val = tonumber(val)
- elseif type(default) == "boolean" then
- val = (val == "1" or val == "true" or
- val == "yes" or val == "on")
- end
-
- if val ~= nil then
- rv = val
- return false
- end
- end)
-
- return rv
-end
-
-function get_list(self, config, section, option)
- if config and section and option then
- local val = self:get(config, section, option)
- return (type(val) == "table" and val or { val })
- end
- return { }
-end
-
-
-function section(self, config, stype, name, values)
- local rv, err = call("add", {
- config = config,
- type = stype,
- name = name,
- values = values
- })
-
- if type(rv) == "table" then
- return rv.section
- elseif err then
- return false, ERRSTR[err]
- else
- return nil
- end
-end
-
-
-function add(self, config, stype)
- return self:section(config, stype)
-end
-
-function set(self, config, section, option, ...)
- if select('#', ...) == 0 then
- local sname, err = self:section(config, option, section)
- return (not not sname), err
- else
- local _, err = call("set", {
- config = config,
- section = section,
- values = { [option] = select(1, ...) }
- })
- return (err == nil), ERRSTR[err]
- end
-end
-
-function set_list(self, config, section, option, value)
- if section == nil or option == nil then
- return false
- elseif value == nil or (type(value) == "table" and #value == 0) then
- return self:delete(config, section, option)
- elseif type(value) == "table" then
- return self:set(config, section, option, value)
- else
- return self:set(config, section, option, { value })
- end
-end
-
-function tset(self, config, section, values)
- local _, err = call("set", {
- config = config,
- section = section,
- values = values
- })
- return (err == nil), ERRSTR[err]
-end
-
-function reorder(self, config, section, index)
- local sections
-
- if type(section) == "string" and type(index) == "number" then
- local pos = 0
-
- sections = { }
-
- self:foreach(config, nil, function(s)
- if pos == index then
- pos = pos + 1
- end
-
- if s[".name"] ~= section then
- pos = pos + 1
- sections[pos] = s[".name"]
- else
- sections[index + 1] = section
- end
- end)
- elseif type(section) == "table" then
- sections = section
- else
- return false, "Invalid argument"
- end
-
- local _, err = call("order", {
- config = config,
- sections = sections
- })
-
- return (err == nil), ERRSTR[err]
-end
-
-
-function delete(self, config, section, option)
- local _, err = call("delete", {
- config = config,
- section = section,
- option = option
- })
- return (err == nil), ERRSTR[err]
-end
-
-function delete_all(self, config, stype, comparator)
- local _, err
- if type(comparator) == "table" then
- _, err = call("delete", {
- config = config,
- type = stype,
- match = comparator
- })
- elseif type(comparator) == "function" then
- local rv = call("get", {
- config = config,
- type = stype
- })
-
- if type(rv) == "table" and type(rv.values) == "table" then
- local sname, section
- for sname, section in pairs(rv.values) do
- if comparator(section) then
- _, err = call("delete", {
- config = config,
- section = sname
- })
- end
- end
- end
- elseif comparator == nil then
- _, err = call("delete", {
- config = config,
- type = stype
- })
- else
- return false, "Invalid argument"
- end
-
- return (err == nil), ERRSTR[err]
-end
+++ /dev/null
----[[
-LuCI UCI model library.
-
-The typical workflow for UCI is: Get a cursor instance from the
-cursor factory, modify data (via Cursor.add, Cursor.delete, etc.),
-save the changes to the staging area via Cursor.save and finally
-Cursor.commit the data to the actual config files.
-LuCI then needs to Cursor.apply the changes so daemons etc. are
-reloaded.
-@cstyle instance
-]]
-module "luci.model.uci"
-
----[[
-Create a new UCI-Cursor.
-
-@class function
-@name cursor
-@return UCI-Cursor
-]]
-
----[[
-Create a new Cursor initialized to the state directory.
-
-@class function
-@name cursor_state
-@return UCI cursor
-]]
-
----[[
-Applies UCI configuration changes.
-
-If the rollback parameter is set to true, the apply function will invoke the
-rollback mechanism which causes the configuration to be automatically reverted
-if no confirm() call occurs within a certain timeout.
-
-The current default timeout is 30s and can be increased using the
-"luci.apply.timeout" uci configuration key.
-
-@class function
-@name Cursor.apply
-@param rollback Enable rollback mechanism
-@return Boolean whether operation succeeded
-]]
-
----[[
-Confirms UCI apply process.
-
-If a previous UCI apply with rollback has been invoked using apply(true),
-this function confirms the process and cancels the pending rollback timer.
-
-If no apply with rollback session is active, the function has no effect and
-returns with a "No data" error.
-
-@class function
-@name Cursor.confirm
-@return Boolean whether operation succeeded
-]]
-
----[[
-Cancels UCI apply process.
-
-If a previous UCI apply with rollback has been invoked using apply(true),
-this function cancels the process and rolls back the configuration to the
-pre-apply state.
-
-If no apply with rollback session is active, the function has no effect and
-returns with a "No data" error.
-
-@class function
-@name Cursor.rollback
-@return Boolean whether operation succeeded
-]]
-
----[[
-Checks whether a pending rollback is scheduled.
-
-If a previous UCI apply with rollback has been invoked using apply(true),
-and has not been confirmed or rolled back yet, this function returns true
-and the remaining time until rollback in seconds. If no rollback is pending,
-the function returns false. On error, the function returns false and an
-additional string describing the error.
-
-@class function
-@name Cursor.rollback_pending
-@return Boolean whether rollback is pending
-@return Remaining time in seconds
-]]
-
----[[
-Delete all sections of a given type that match certain criteria.
-
-@class function
-@name Cursor.delete_all
-@param config UCI config
-@param type UCI section type
-@param comparator Function that will be called for each section and returns
- a boolean whether to delete the current section (optional)
-]]
-
----[[
-Create a new section and initialize it with data.
-
-@class function
-@name Cursor.section
-@param config UCI config
-@param type UCI section type
-@param name UCI section name (optional)
-@param values Table of key - value pairs to initialize the section with
-@return Name of created section
-]]
-
----[[
-Updated the data of a section using data from a table.
-
-@class function
-@name Cursor.tset
-@param config UCI config
-@param section UCI section name (optional)
-@param values Table of key - value pairs to update the section with
-]]
-
----[[
-Get a boolean option and return it's value as true or false.
-
-@class function
-@name Cursor.get_bool
-@param config UCI config
-@param section UCI section name
-@param option UCI option
-@return Boolean
-]]
-
----[[
-Get an option or list and return values as table.
-
-@class function
-@name Cursor.get_list
-@param config UCI config
-@param section UCI section name
-@param option UCI option
-@return table. If the option was not found, you will simply get an empty
- table.
-]]
-
----[[
-Get the given option from the first section with the given type.
-
-@class function
-@name Cursor.get_first
-@param config UCI config
-@param type UCI section type
-@param option UCI option (optional)
-@param default Default value (optional)
-@return UCI value
-]]
-
----[[
-Set given values as list. Setting a list option to an empty list
-has the same effect as deleting the option.
-
-@class function
-@name Cursor.set_list
-@param config UCI config
-@param section UCI section name
-@param option UCI option
-@param value Value or table. Non-table values will be set as single
- item UCI list.
-@return Boolean whether operation succeeded
-]]
-
----[[
-Create a sub-state of this cursor.
-
-The sub-state is tied to the parent cursor, means it the parent unloads or
-loads configs, the sub state will do so as well.
-
-@class function
-@name Cursor.substate
-@return UCI state cursor tied to the parent cursor
-]]
-
----[[
-Add an anonymous section.
-
-@class function
-@name Cursor.add
-@param config UCI config
-@param type UCI section type
-@return Name of created section
-]]
-
----[[
-Get a table of saved but uncommitted changes.
-
-@class function
-@name Cursor.changes
-@param config UCI config
-@return Table of changes
-@see Cursor.save
-]]
-
----[[
-Commit saved changes.
-
-@class function
-@name Cursor.commit
-@param config UCI config
-@return Boolean whether operation succeeded
-@see Cursor.revert
-@see Cursor.save
-]]
-
----[[
-Deletes a section or an option.
-
-@class function
-@name Cursor.delete
-@param config UCI config
-@param section UCI section name
-@param option UCI option (optional)
-@return Boolean whether operation succeeded
-]]
-
----[[
-Call a function for every section of a certain type.
-
-@class function
-@name Cursor.foreach
-@param config UCI config
-@param type UCI section type
-@param callback Function to be called
-@return Boolean whether operation succeeded
-]]
-
----[[
-Get a section type or an option
-
-@class function
-@name Cursor.get
-@param config UCI config
-@param section UCI section name
-@param option UCI option (optional)
-@return UCI value
-]]
-
----[[
-Get all sections of a config or all values of a section.
-
-@class function
-@name Cursor.get_all
-@param config UCI config
-@param section UCI section name (optional)
-@return Table of UCI sections or table of UCI values
-]]
-
----[[
-Manually load a config.
-
-@class function
-@name Cursor.load
-@param config UCI config
-@return Boolean whether operation succeeded
-@see Cursor.save
-@see Cursor.unload
-]]
-
----[[
-Revert saved but uncommitted changes.
-
-@class function
-@name Cursor.revert
-@param config UCI config
-@return Boolean whether operation succeeded
-@see Cursor.commit
-@see Cursor.save
-]]
-
----[[
-Saves changes made to a config to make them committable.
-
-@class function
-@name Cursor.save
-@param config UCI config
-@return Boolean whether operation succeeded
-@see Cursor.load
-@see Cursor.unload
-]]
-
----[[
-Set a value or create a named section.
-
-When invoked with three arguments `config`, `sectionname`, `sectiontype`,
-then a named section of the given type is created.
-
-When invoked with four arguments `config`, `sectionname`, `optionname` and
-`optionvalue` then the value of the specified option is set to the given value.
-
-@class function
-@name Cursor.set
-@param config UCI config
-@param section UCI section name
-@param option UCI option or UCI section type
-@param value UCI value or nothing if you want to create a section
-@return Boolean whether operation succeeded
-]]
-
----[[
-Get the configuration directory.
-
-@class function
-@name Cursor.get_confdir
-@return Configuration directory
-]]
-
----[[
-Get the directory for uncomitted changes.
-
-@class function
-@name Cursor.get_savedir
-@return Save directory
-]]
-
----[[
-Get the effective session ID.
-
-@class function
-@name Cursor.get_session_id
-@return String containing the session ID
-]]
-
----[[
-Set the configuration directory.
-
-@class function
-@name Cursor.set_confdir
-@param directory UCI configuration directory
-@return Boolean whether operation succeeded
-]]
-
----[[
-Set the directory for uncommitted changes.
-
-@class function
-@name Cursor.set_savedir
-@param directory UCI changes directory
-@return Boolean whether operation succeeded
-]]
-
----[[
-Set the effective session ID.
-
-@class function
-@name Cursor.set_session_id
-@param id String containing the session ID to set
-@return Boolean whether operation succeeded
-]]
-
----[[
-Discard changes made to a config.
-
-@class function
-@name Cursor.unload
-@param config UCI config
-@return Boolean whether operation succeeded
-@see Cursor.load
-@see Cursor.save
-]]
-
+++ /dev/null
--- Copyright 2008 Steven Barth <steven@midlink.org>
--- Licensed to the public under the Apache License 2.0.
-
-exectime = os.clock()
-module("luci.sgi.cgi", package.seeall)
-local ltn12 = require("luci.ltn12")
-require("nixio.util")
-require("luci.http")
-require("luci.sys")
-require("luci.dispatcher")
-
--- Limited source to avoid endless blocking
-local function limitsource(handle, limit)
- limit = limit or 0
- local BLOCKSIZE = ltn12.BLOCKSIZE
-
- return function()
- if limit < 1 then
- handle:close()
- return nil
- else
- local read = (limit > BLOCKSIZE) and BLOCKSIZE or limit
- limit = limit - read
-
- local chunk = handle:read(read)
- if not chunk then handle:close() end
- return chunk
- end
- end
-end
-
-function run()
- local r = luci.http.Request(
- luci.sys.getenv(),
- limitsource(io.stdin, tonumber(luci.sys.getenv("CONTENT_LENGTH"))),
- ltn12.sink.file(io.stderr)
- )
-
- local x = coroutine.create(luci.dispatcher.httpdispatch)
- local hcache = ""
- local active = true
-
- while coroutine.status(x) ~= "dead" do
- local res, id, data1, data2 = coroutine.resume(x, r)
-
- if not res then
- print("Status: 500 Internal Server Error")
- print("Content-Type: text/plain\n")
- print(id)
- break;
- end
-
- if active then
- if id == 1 then
- io.write("Status: " .. tostring(data1) .. " " .. data2 .. "\r\n")
- elseif id == 2 then
- hcache = hcache .. data1 .. ": " .. data2 .. "\r\n"
- elseif id == 3 then
- io.write(hcache)
- io.write("\r\n")
- elseif id == 4 then
- io.write(tostring(data1 or ""))
- elseif id == 5 then
- io.flush()
- io.close()
- active = false
- elseif id == 6 then
- data1:copyz(nixio.stdout, data2)
- data1:close()
- end
- end
- end
-end
+++ /dev/null
--- Copyright 2010 Jo-Philipp Wich <jow@openwrt.org>
--- Licensed to the public under the Apache License 2.0.
-
-require "nixio.util"
-require "luci.http"
-require "luci.sys"
-require "luci.dispatcher"
-require "luci.ltn12"
-
-function handle_request(env)
- exectime = os.clock()
- local renv = {
- CONTENT_LENGTH = env.CONTENT_LENGTH,
- CONTENT_TYPE = env.CONTENT_TYPE,
- REQUEST_METHOD = env.REQUEST_METHOD,
- REQUEST_URI = env.REQUEST_URI,
- PATH_INFO = env.PATH_INFO,
- SCRIPT_NAME = env.SCRIPT_NAME:gsub("/+$", ""),
- SCRIPT_FILENAME = env.SCRIPT_NAME,
- SERVER_PROTOCOL = env.SERVER_PROTOCOL,
- QUERY_STRING = env.QUERY_STRING,
- DOCUMENT_ROOT = env.DOCUMENT_ROOT,
- HTTPS = env.HTTPS,
- REDIRECT_STATUS = env.REDIRECT_STATUS,
- REMOTE_ADDR = env.REMOTE_ADDR,
- REMOTE_NAME = env.REMOTE_NAME,
- REMOTE_PORT = env.REMOTE_PORT,
- REMOTE_USER = env.REMOTE_USER,
- SERVER_ADDR = env.SERVER_ADDR,
- SERVER_NAME = env.SERVER_NAME,
- SERVER_PORT = env.SERVER_PORT
- }
-
- local k, v
- for k, v in pairs(env.headers) do
- k = k:upper():gsub("%-", "_")
- renv["HTTP_" .. k] = v
- end
-
- local len = tonumber(env.CONTENT_LENGTH) or 0
- local function recv()
- if len > 0 then
- local rlen, rbuf = uhttpd.recv(4096)
- if rlen >= 0 then
- len = len - rlen
- return rbuf
- end
- end
- return nil
- end
-
- local send = uhttpd.send
-
- local req = luci.http.Request(
- renv, recv, luci.ltn12.sink.file(io.stderr)
- )
-
-
- local x = coroutine.create(luci.dispatcher.httpdispatch)
- local hcache = { }
- local active = true
-
- while coroutine.status(x) ~= "dead" do
- local res, id, data1, data2 = coroutine.resume(x, req)
-
- if not res then
- send("Status: 500 Internal Server Error\r\n")
- send("Content-Type: text/plain\r\n\r\n")
- send(tostring(id))
- break
- end
-
- if active then
- if id == 1 then
- send("Status: ")
- send(tostring(data1))
- send(" ")
- send(tostring(data2))
- send("\r\n")
- elseif id == 2 then
- hcache[data1] = data2
- elseif id == 3 then
- for k, v in pairs(hcache) do
- send(tostring(k))
- send(": ")
- send(tostring(v))
- send("\r\n")
- end
- send("\r\n")
- elseif id == 4 then
- send(tostring(data1 or ""))
- elseif id == 5 then
- active = false
- elseif id == 6 then
- data1:copyz(nixio.stdout, data2)
- end
- end
- end
-end
+++ /dev/null
--- Copyright 2009 Steven Barth <steven@midlink.org>
--- Copyright 2009 Jo-Philipp Wich <jow@openwrt.org>
--- Licensed to the public under the Apache License 2.0.
-
-local util = require "luci.util"
-module("luci.store", util.threadlocal)
+++ /dev/null
--- Copyright 2008 Steven Barth <steven@midlink.org>
--- Licensed to the public under the Apache License 2.0.
-
-local io = require "io"
-local os = require "os"
-local table = require "table"
-local nixio = require "nixio"
-local fs = require "nixio.fs"
-local uci = require "luci.model.uci"
-
-local luci = {}
-luci.util = require "luci.util"
-luci.ip = require "luci.ip"
-
-local tonumber, ipairs, pairs, pcall, type, next, setmetatable, require, select, unpack =
- tonumber, ipairs, pairs, pcall, type, next, setmetatable, require, select, unpack
-
-
-module "luci.sys"
-
-function call(...)
- return os.execute(...) / 256
-end
-
-exec = luci.util.exec
-
--- containing the whole environment is returned otherwise this function returns
--- the corresponding string value for the given name or nil if no such variable
--- exists.
-getenv = nixio.getenv
-
-function hostname(newname)
- if type(newname) == "string" and #newname > 0 then
- fs.writefile( "/proc/sys/kernel/hostname", newname )
- return newname
- else
- return nixio.uname().nodename
- end
-end
-
-function httpget(url, stream, target)
- if not target then
- local source = stream and io.popen or luci.util.exec
- return source("wget -qO- %s" % luci.util.shellquote(url))
- else
- return os.execute("wget -qO %s %s" %
- {luci.util.shellquote(target), luci.util.shellquote(url)})
- end
-end
-
-function reboot()
- return os.execute("reboot >/dev/null 2>&1")
-end
-
-function syslog()
- return luci.util.exec("logread")
-end
-
-function dmesg()
- return luci.util.exec("dmesg")
-end
-
-function uniqueid(bytes)
- local rand = fs.readfile("/dev/urandom", bytes)
- return rand and nixio.bin.hexlify(rand)
-end
-
-function uptime()
- return nixio.sysinfo().uptime
-end
-
-
-net = {}
-
-local function _nethints(what, callback)
- local _, k, e, mac, ip, name, duid, iaid
- local cur = uci.cursor()
- local ifn = { }
- local hosts = { }
- local lookup = { }
-
- local function _add(i, ...)
- local k = select(i, ...)
- if k then
- if not hosts[k] then hosts[k] = { } end
- hosts[k][1] = select(1, ...) or hosts[k][1]
- hosts[k][2] = select(2, ...) or hosts[k][2]
- hosts[k][3] = select(3, ...) or hosts[k][3]
- hosts[k][4] = select(4, ...) or hosts[k][4]
- end
- end
-
- luci.ip.neighbors(nil, function(neigh)
- if neigh.mac and neigh.family == 4 then
- _add(what, neigh.mac:string(), neigh.dest:string(), nil, nil)
- elseif neigh.mac and neigh.family == 6 then
- _add(what, neigh.mac:string(), nil, neigh.dest:string(), nil)
- end
- end)
-
- if fs.access("/etc/ethers") then
- for e in io.lines("/etc/ethers") do
- mac, name = e:match("^([a-fA-F0-9:-]+)%s+(%S+)")
- mac = luci.ip.checkmac(mac)
- if mac and name then
- if luci.ip.checkip4(name) then
- _add(what, mac, name, nil, nil)
- else
- _add(what, mac, nil, nil, name)
- end
- end
- end
- end
-
- cur:foreach("dhcp", "dnsmasq",
- function(s)
- if s.leasefile and fs.access(s.leasefile) then
- for e in io.lines(s.leasefile) do
- mac, ip, name = e:match("^%d+ (%S+) (%S+) (%S+)")
- mac = luci.ip.checkmac(mac)
- if mac and ip then
- _add(what, mac, ip, nil, name ~= "*" and name)
- end
- end
- end
- end
- )
-
- cur:foreach("dhcp", "odhcpd",
- function(s)
- if type(s.leasefile) == "string" and fs.access(s.leasefile) then
- for e in io.lines(s.leasefile) do
- duid, iaid, name, _, ip = e:match("^# %S+ (%S+) (%S+) (%S+) (-?%d+) %S+ %S+ ([0-9a-f:.]+)/[0-9]+")
- mac = net.duid_to_mac(duid)
- if mac then
- if ip and iaid == "ipv4" then
- _add(what, mac, ip, nil, name ~= "*" and name)
- elseif ip then
- _add(what, mac, nil, ip, name ~= "*" and name)
- end
- end
- end
- end
- end
- )
-
- cur:foreach("dhcp", "host",
- function(s)
- for mac in luci.util.imatch(s.mac) do
- mac = luci.ip.checkmac(mac)
- if mac then
- _add(what, mac, s.ip, nil, s.name)
- end
- end
- end)
-
- for _, e in ipairs(nixio.getifaddrs()) do
- if e.name ~= "lo" then
- ifn[e.name] = ifn[e.name] or { }
- if e.family == "packet" and e.addr and #e.addr == 17 then
- ifn[e.name][1] = e.addr:upper()
- elseif e.family == "inet" then
- ifn[e.name][2] = e.addr
- elseif e.family == "inet6" then
- ifn[e.name][3] = e.addr
- end
- end
- end
-
- for _, e in pairs(ifn) do
- if e[what] and (e[2] or e[3]) then
- _add(what, e[1], e[2], e[3], e[4])
- end
- end
-
- for _, e in pairs(hosts) do
- lookup[#lookup+1] = (what > 1) and e[what] or (e[2] or e[3])
- end
-
- if #lookup > 0 then
- lookup = luci.util.ubus("network.rrdns", "lookup", {
- addrs = lookup,
- timeout = 250,
- limit = 1000
- }) or { }
- end
-
- for _, e in luci.util.kspairs(hosts) do
- callback(e[1], e[2], e[3], lookup[e[2]] or lookup[e[3]] or e[4])
- end
-end
-
--- Each entry contains the values in the following order:
--- [ "mac", "name" ]
-function net.mac_hints(callback)
- if callback then
- _nethints(1, function(mac, v4, v6, name)
- name = name or v4
- if name and name ~= mac then
- callback(mac, name or v4)
- end
- end)
- else
- local rv = { }
- _nethints(1, function(mac, v4, v6, name)
- name = name or v4
- if name and name ~= mac then
- rv[#rv+1] = { mac, name or v4 }
- end
- end)
- return rv
- end
-end
-
--- Each entry contains the values in the following order:
--- [ "ip", "name" ]
-function net.ipv4_hints(callback)
- if callback then
- _nethints(2, function(mac, v4, v6, name)
- name = name or mac
- if name and name ~= v4 then
- callback(v4, name)
- end
- end)
- else
- local rv = { }
- _nethints(2, function(mac, v4, v6, name)
- name = name or mac
- if name and name ~= v4 then
- rv[#rv+1] = { v4, name }
- end
- end)
- return rv
- end
-end
-
--- Each entry contains the values in the following order:
--- [ "ip", "name" ]
-function net.ipv6_hints(callback)
- if callback then
- _nethints(3, function(mac, v4, v6, name)
- name = name or mac
- if name and name ~= v6 then
- callback(v6, name)
- end
- end)
- else
- local rv = { }
- _nethints(3, function(mac, v4, v6, name)
- name = name or mac
- if name and name ~= v6 then
- rv[#rv+1] = { v6, name }
- end
- end)
- return rv
- end
-end
-
-function net.host_hints(callback)
- if callback then
- _nethints(1, function(mac, v4, v6, name)
- if mac and mac ~= "00:00:00:00:00:00" and (v4 or v6 or name) then
- callback(mac, v4, v6, name)
- end
- end)
- else
- local rv = { }
- _nethints(1, function(mac, v4, v6, name)
- if mac and mac ~= "00:00:00:00:00:00" and (v4 or v6 or name) then
- local e = { }
- if v4 then e.ipv4 = v4 end
- if v6 then e.ipv6 = v6 end
- if name then e.name = name end
- rv[mac] = e
- end
- end)
- return rv
- end
-end
-
-function net.conntrack(callback)
- local ok, nfct = pcall(io.lines, "/proc/net/nf_conntrack")
- if not ok or not nfct then
- return nil
- end
-
- local line, connt = nil, (not callback) and { }
- for line in nfct do
- local fam, l3, l4, rest =
- line:match("^(ipv[46]) +(%d+) +%S+ +(%d+) +(.+)$")
-
- local timeout, tuples = rest:match("^(%d+) +(.+)$")
-
- if not tuples then
- tuples = rest
- end
-
- if fam and l3 and l4 and not tuples:match("^TIME_WAIT ") then
- l4 = nixio.getprotobynumber(l4)
-
- local entry = {
- bytes = 0,
- packets = 0,
- layer3 = fam,
- layer4 = l4 and l4.name or "unknown",
- timeout = tonumber(timeout, 10)
- }
-
- local key, val
- for key, val in tuples:gmatch("(%w+)=(%S+)") do
- if key == "bytes" or key == "packets" then
- entry[key] = entry[key] + tonumber(val, 10)
- elseif key == "src" or key == "dst" then
- if entry[key] == nil then
- entry[key] = luci.ip.new(val):string()
- end
- elseif key == "sport" or key == "dport" then
- if entry[key] == nil then
- entry[key] = val
- end
- elseif val then
- entry[key] = val
- end
- end
-
- if callback then
- callback(entry)
- else
- connt[#connt+1] = entry
- end
- end
- end
-
- return callback and true or connt
-end
-
-function net.devices()
- local devs = {}
- local seen = {}
- for k, v in ipairs(nixio.getifaddrs()) do
- if v.name and not seen[v.name] then
- seen[v.name] = true
- devs[#devs+1] = v.name
- end
- end
- return devs
-end
-
-function net.duid_to_mac(duid)
- local b1, b2, b3, b4, b5, b6
-
- if type(duid) == "string" then
- -- DUID-LLT / Ethernet
- if #duid == 28 then
- b1, b2, b3, b4, b5, b6 = duid:match("^00010001(%x%x)(%x%x)(%x%x)(%x%x)(%x%x)(%x%x)%x%x%x%x%x%x%x%x$")
-
- -- DUID-LL / Ethernet
- elseif #duid == 20 then
- b1, b2, b3, b4, b5, b6 = duid:match("^00030001(%x%x)(%x%x)(%x%x)(%x%x)(%x%x)(%x%x)$")
-
- -- DUID-LL / Ethernet (Without Header)
- elseif #duid == 12 then
- b1, b2, b3, b4, b5, b6 = duid:match("^(%x%x)(%x%x)(%x%x)(%x%x)(%x%x)(%x%x)$")
- end
- end
-
- return b1 and luci.ip.checkmac(table.concat({ b1, b2, b3, b4, b5, b6 }, ":"))
-end
-
-process = {}
-
-function process.info(key)
- local s = {uid = nixio.getuid(), gid = nixio.getgid()}
- return not key and s or s[key]
-end
-
-function process.list()
- local data = {}
- local k
- local ps = luci.util.execi("/bin/busybox top -bn1")
-
- if not ps then
- return
- end
-
- for line in ps do
- local pid, ppid, user, stat, vsz, mem, cpu, cmd = line:match(
- "^ *(%d+) +(%d+) +(%S.-%S) +([RSDZTW][<NW ][<N ]) +(%d+m?) +(%d+%%) +(%d+%%) +(.+)"
- )
-
- local idx = tonumber(pid)
- if idx and not cmd:match("top %-bn1") then
- data[idx] = {
- ['PID'] = pid,
- ['PPID'] = ppid,
- ['USER'] = user,
- ['STAT'] = stat,
- ['VSZ'] = vsz,
- ['%MEM'] = mem,
- ['%CPU'] = cpu,
- ['COMMAND'] = cmd
- }
- end
- end
-
- return data
-end
-
-function process.setgroup(gid)
- return nixio.setgid(gid)
-end
-
-function process.setuser(uid)
- return nixio.setuid(uid)
-end
-
-process.signal = nixio.kill
-
-local function xclose(fd)
- if fd and fd:fileno() > 2 then
- fd:close()
- end
-end
-
-function process.exec(command, stdout, stderr, nowait)
- local out_r, out_w, err_r, err_w
- if stdout then out_r, out_w = nixio.pipe() end
- if stderr then err_r, err_w = nixio.pipe() end
-
- local pid = nixio.fork()
- if pid == 0 then
- nixio.chdir("/")
-
- local null = nixio.open("/dev/null", "w+")
- if null then
- nixio.dup(out_w or null, nixio.stdout)
- nixio.dup(err_w or null, nixio.stderr)
- nixio.dup(null, nixio.stdin)
- xclose(out_w)
- xclose(out_r)
- xclose(err_w)
- xclose(err_r)
- xclose(null)
- end
-
- nixio.exec(unpack(command))
- os.exit(-1)
- end
-
- local _, pfds, rv = nil, {}, { code = -1, pid = pid }
-
- xclose(out_w)
- xclose(err_w)
-
- if out_r then
- pfds[#pfds+1] = {
- fd = out_r,
- cb = type(stdout) == "function" and stdout,
- name = "stdout",
- events = nixio.poll_flags("in", "err", "hup")
- }
- end
-
- if err_r then
- pfds[#pfds+1] = {
- fd = err_r,
- cb = type(stderr) == "function" and stderr,
- name = "stderr",
- events = nixio.poll_flags("in", "err", "hup")
- }
- end
-
- while #pfds > 0 do
- local nfds, err = nixio.poll(pfds, -1)
- if not nfds and err ~= nixio.const.EINTR then
- break
- end
-
- local i
- for i = #pfds, 1, -1 do
- local rfd = pfds[i]
- if rfd.revents > 0 then
- local chunk, err = rfd.fd:read(4096)
- if chunk and #chunk > 0 then
- if rfd.cb then
- rfd.cb(chunk)
- else
- rfd.buf = rfd.buf or {}
- rfd.buf[#rfd.buf + 1] = chunk
- end
- else
- table.remove(pfds, i)
- if rfd.buf then
- rv[rfd.name] = table.concat(rfd.buf, "")
- end
- rfd.fd:close()
- end
- end
- end
- end
-
- if not nowait then
- _, _, rv.code = nixio.waitpid(pid)
- end
-
- return rv
-end
-
-
-user = {}
-
--- { "uid", "gid", "name", "passwd", "dir", "shell", "gecos" }
-user.getuser = nixio.getpw
-
-function user.getpasswd(username)
- local pwe = nixio.getsp and nixio.getsp(username) or nixio.getpw(username)
- local pwh = pwe and (pwe.pwdp or pwe.passwd)
- if not pwh or #pwh < 1 then
- return nil, pwe
- else
- return pwh, pwe
- end
-end
-
-function user.checkpasswd(username, pass)
- local pwh, pwe = user.getpasswd(username)
- if pwe then
- return (pwh == nil or nixio.crypt(pass, pwh) == pwh)
- end
- return false
-end
-
-function user.setpasswd(username, password)
- return os.execute("(echo %s; sleep 1; echo %s) | passwd %s >/dev/null 2>&1" %{
- luci.util.shellquote(password),
- luci.util.shellquote(password),
- luci.util.shellquote(username)
- })
-end
-
-
-wifi = {}
-
-function wifi.getiwinfo(ifname)
- local ntm = require "luci.model.network"
-
- ntm.init()
-
- local wnet = ntm:get_wifinet(ifname)
- if wnet and wnet.iwinfo then
- return wnet.iwinfo
- end
-
- local wdev = ntm:get_wifidev(ifname)
- if wdev and wdev.iwinfo then
- return wdev.iwinfo
- end
-
- return { ifname = ifname }
-end
-
-
-init = {}
-init.dir = "/etc/init.d/"
-
-function init.names()
- local names = { }
- for name in fs.glob(init.dir.."*") do
- names[#names+1] = fs.basename(name)
- end
- return names
-end
-
-function init.index(name)
- name = fs.basename(name)
- if fs.access(init.dir..name) then
- return call("env -i sh -c 'source %s%s enabled; exit ${START:-255}' >/dev/null"
- %{ init.dir, name })
- end
-end
-
-local function init_action(action, name)
- name = fs.basename(name)
- if fs.access(init.dir..name) then
- return call("env -i %s%s %s >/dev/null" %{ init.dir, name, action })
- end
-end
-
-function init.enabled(name)
- return (init_action("enabled", name) == 0)
-end
-
-function init.enable(name)
- return (init_action("enable", name) == 0)
-end
-
-function init.disable(name)
- return (init_action("disable", name) == 0)
-end
-
-function init.start(name)
- return (init_action("start", name) == 0)
-end
-
-function init.stop(name)
- return (init_action("stop", name) == 0)
-end
-
-function init.restart(name)
- return (init_action("restart", name) == 0)
-end
-
-function init.reload(name)
- return (init_action("reload", name) == 0)
-end
+++ /dev/null
----[[
-LuCI Linux and POSIX system utilities.
-]]
-module "luci.sys"
-
----[[
-Execute a given shell command and return the error code
-
-@class function
-@name call
-@param ... Command to call
-@return Error code of the command
-]]
-
----[[
-Execute a given shell command and capture its standard output
-
-@class function
-@name exec
-@param command Command to call
-@return String containing the return the output of the command
-]]
-
----[[
-Retrieve information about currently mounted file systems.
-
-@class function
-@name mounts
-@return Table containing mount information
-]]
-
----[[
-Retrieve environment variables. If no variable is given then a table
-
-containing the whole environment is returned otherwise this function returns
-the corresponding string value for the given name or nil if no such variable
-exists.
-@class function
-@name getenv
-@param var Name of the environment variable to retrieve (optional)
-@return String containing the value of the specified variable
-@return Table containing all variables if no variable name is given
-]]
-
----[[
-Get or set the current hostname.
-
-@class function
-@name hostname
-@param String containing a new hostname to set (optional)
-@return String containing the system hostname
-]]
-
----[[
-Returns the contents of a documented referred by an URL.
-
-@class function
-@name httpget
-@param url The URL to retrieve
-@param stream Return a stream instead of a buffer
-@param target Directly write to target file name
-@return String containing the contents of given the URL
-]]
-
----[[
-Initiate a system reboot.
-
-@class function
-@name reboot
-@return Return value of os.execute()
-]]
-
----[[
-Retrieves the output of the "logread" command.
-
-@class function
-@name syslog
-@return String containing the current log buffer
-]]
-
----[[
-Retrieves the output of the "dmesg" command.
-
-@class function
-@name dmesg
-@return String containing the current log buffer
-]]
-
----[[
-Generates a random id with specified length.
-
-@class function
-@name uniqueid
-@param bytes Number of bytes for the unique id
-@return String containing hex encoded id
-]]
-
----[[
-Returns the current system uptime stats.
-
-@class function
-@name uptime
-@return String containing total uptime in seconds
-]]
-
----[[
-LuCI system utilities / network related functions.
-
-@class module
-@name luci.sys.net
-]]
-
----[[
-Returns a two-dimensional table of mac address hints.
-
-@class function
-@name net.mac_hints
-@return Table of table containing known hosts from various sources.
- Each entry contains the values in the following order:
- [ "mac", "name" ]
-]]
-
----[[
-Returns a two-dimensional table of IPv4 address hints.
-
-@class function
-@name net.ipv4_hints
-@return Table of table containing known hosts from various sources.
- Each entry contains the values in the following order:
- [ "ip", "name" ]
-]]
-
----[[
-Returns a two-dimensional table of IPv6 address hints.
-
-@class function
-@name net.ipv6_hints
-@return Table of table containing known hosts from various sources.
- Each entry contains the values in the following order:
- [ "ip", "name" ]
-]]
-
----[[
-Returns a two-dimensional table of host hints.
-
-@class function
-@name net.host_hints
-@return Table of table containing known hosts from various sources,
- indexed by mac address. Each subtable contains at least one
- of the fields "name", "ipv4" or "ipv6".
-]]
-
----[[
-Returns conntrack information
-
-@class function
-@name net.conntrack
-@return Table with the currently tracked IP connections
-]]
-
----[[
-Determine the names of available network interfaces.
-
-@class function
-@name net.devices
-@return Table containing all current interface names
-]]
-
----[[
-LuCI system utilities / process related functions.
-
-@class module
-@name luci.sys.process
-]]
-
----[[
-Get the current process id.
-
-@class function
-@name process.info
-@return Number containing the current pid
-]]
-
----[[
-Retrieve information about currently running processes.
-
-@class function
-@name process.list
-@return Table containing process information
-]]
-
----[[
-Set the gid of a process identified by given pid.
-
-@class function
-@name process.setgroup
-@param gid Number containing the Unix group id
-@return Boolean indicating successful operation
-@return String containing the error message if failed
-@return Number containing the error code if failed
-]]
-
----[[
-Set the uid of a process identified by given pid.
-
-@class function
-@name process.setuser
-@param uid Number containing the Unix user id
-@return Boolean indicating successful operation
-@return String containing the error message if failed
-@return Number containing the error code if failed
-]]
-
----[[
-Send a signal to a process identified by given pid.
-
-@class function
-@name process.signal
-@param pid Number containing the process id
-@param sig Signal to send (default: 15 [SIGTERM])
-@return Boolean indicating successful operation
-@return Number containing the error code if failed
-]]
-
----[[
-Execute a process, optionally capturing stdio.
-
-Executes the process specified by the given argv vector, e.g.
-`{ "/bin/sh", "-c", "echo 1" }` and waits for it to terminate unless a true
-value has been passed for the "nowait" parameter.
-
-When a function value is passed for the stdout or stderr arguments, the passed
-function is repeatedly called for each chunk read from the corresponding stdio
-stream. The read data is passed as string containing at most 4096 bytes at a
-time.
-
-When a true, non-function value is passed for the stdout or stderr arguments,
-the data of the corresponding stdio stream is read into an internal string
-buffer and returned as "stdout" or "stderr" field respectively in the result
-table.
-
-When a true value is passed to the nowait parameter, the function does not
-await process termination but returns as soon as all captured stdio streams
-have been closed or - if no streams are captured - immediately after launching
-the process.
-
-@class function
-@name process.exec
-@param commend Table containing the argv vector to execute
-@param stdout Callback function or boolean to indicate capturing (optional)
-@param stderr Callback function or boolean to indicate capturing (optional)
-@param nowait Don't wait for process termination when true (optional)
-@return Table containing at least the fields "code" which holds the exit
- status of the invoked process or "-1" on error and "pid", which
- contains the process id assigned to the spawned process. When
- stdout and/or stderr capturing has been requested, it additionally
- contains "stdout" and "stderr" fields respectively, holding the
- captured stdio data as string.
-]]
-
----[[
-LuCI system utilities / user related functions.
-
-@class module
-@name luci.sys.user
-]]
-
----[[
-Retrieve user information for given uid.
-
-@class function
-@name getuser
-@param uid Number containing the Unix user id
-@return Table containing the following fields:
--- { "uid", "gid", "name", "passwd", "dir", "shell", "gecos" }
-]]
-
----[[
-Retrieve the current user password hash.
-
-@class function
-@name user.getpasswd
-@param username String containing the username to retrieve the password for
-@return String containing the hash or nil if no password is set.
-@return Password database entry
-]]
-
----[[
-Test whether given string matches the password of a given system user.
-
-@class function
-@name user.checkpasswd
-@param username String containing the Unix user name
-@param pass String containing the password to compare
-@return Boolean indicating whether the passwords are equal
-]]
-
----[[
-Change the password of given user.
-
-@class function
-@name user.setpasswd
-@param username String containing the Unix user name
-@param password String containing the password to compare
-@return Number containing 0 on success and >= 1 on error
-]]
-
----[[
-LuCI system utilities / wifi related functions.
-
-@class module
-@name luci.sys.wifi
-]]
-
----[[
-Get wireless information for given interface.
-
-@class function
-@name wifi.getiwinfo
-@param ifname String containing the interface name
-@return A wrapped iwinfo object instance
-]]
-
----[[
-LuCI system utilities / init related functions.
-
-@class module
-@name luci.sys.init
-]]
-
----[[
-Get the names of all installed init scripts
-
-@class function
-@name init.names
-@return Table containing the names of all inistalled init scripts
-]]
-
----[[
-Get the index of he given init script
-
-@class function
-@name init.index
-@param name Name of the init script
-@return Numeric index value
-]]
-
----[[
-Test whether the given init script is enabled
-
-@class function
-@name init.enabled
-@param name Name of the init script
-@return Boolean indicating whether init is enabled
-]]
-
----[[
-Enable the given init script
-
-@class function
-@name init.enable
-@param name Name of the init script
-@return Boolean indicating success
-]]
-
----[[
-Disable the given init script
-
-@class function
-@name init.disable
-@param name Name of the init script
-@return Boolean indicating success
-]]
-
----[[
-Start the given init script
-
-@class function
-@name init.start
-@param name Name of the init script
-@return Boolean indicating success
-]]
-
----[[
-Stop the given init script
-
-@class function
-@name init.stop
-@param name Name of the init script
-@return Boolean indicating success
-]]
-
+++ /dev/null
--- Licensed to the public under the Apache License 2.0.
-
-local setmetatable, require, rawget, rawset = setmetatable, require, rawget, rawset
-
-module "luci.sys.zoneinfo"
-
-setmetatable(_M, {
- __index = function(t, k)
- if k == "TZ" and not rawget(t, k) then
- local m = require "luci.sys.zoneinfo.tzdata"
- rawset(t, k, rawget(m, k))
- elseif k == "OFFSET" and not rawget(t, k) then
- local m = require "luci.sys.zoneinfo.tzoffset"
- rawset(t, k, rawget(m, k))
- end
-
- return rawget(t, k)
- end
-})
+++ /dev/null
--- Licensed to the public under the Apache License 2.0.
-
-module "luci.sys.zoneinfo.tzdata"
-
-TZ = {
- { 'Africa/Abidjan', 'GMT0' },
- { 'Africa/Accra', 'GMT0' },
- { 'Africa/Addis Ababa', 'EAT-3' },
- { 'Africa/Algiers', 'CET-1' },
- { 'Africa/Asmara', 'EAT-3' },
- { 'Africa/Bamako', 'GMT0' },
- { 'Africa/Bangui', 'WAT-1' },
- { 'Africa/Banjul', 'GMT0' },
- { 'Africa/Bissau', 'GMT0' },
- { 'Africa/Blantyre', 'CAT-2' },
- { 'Africa/Brazzaville', 'WAT-1' },
- { 'Africa/Bujumbura', 'CAT-2' },
- { 'Africa/Cairo', 'EET-2' },
- { 'Africa/Casablanca', '<+01>-1' },
- { 'Africa/Ceuta', 'CET-1CEST,M3.5.0,M10.5.0/3' },
- { 'Africa/Conakry', 'GMT0' },
- { 'Africa/Dakar', 'GMT0' },
- { 'Africa/Dar es Salaam', 'EAT-3' },
- { 'Africa/Djibouti', 'EAT-3' },
- { 'Africa/Douala', 'WAT-1' },
- { 'Africa/El Aaiun', '<+01>-1' },
- { 'Africa/Freetown', 'GMT0' },
- { 'Africa/Gaborone', 'CAT-2' },
- { 'Africa/Harare', 'CAT-2' },
- { 'Africa/Johannesburg', 'SAST-2' },
- { 'Africa/Juba', 'CAT-2' },
- { 'Africa/Kampala', 'EAT-3' },
- { 'Africa/Khartoum', 'CAT-2' },
- { 'Africa/Kigali', 'CAT-2' },
- { 'Africa/Kinshasa', 'WAT-1' },
- { 'Africa/Lagos', 'WAT-1' },
- { 'Africa/Libreville', 'WAT-1' },
- { 'Africa/Lome', 'GMT0' },
- { 'Africa/Luanda', 'WAT-1' },
- { 'Africa/Lubumbashi', 'CAT-2' },
- { 'Africa/Lusaka', 'CAT-2' },
- { 'Africa/Malabo', 'WAT-1' },
- { 'Africa/Maputo', 'CAT-2' },
- { 'Africa/Maseru', 'SAST-2' },
- { 'Africa/Mbabane', 'SAST-2' },
- { 'Africa/Mogadishu', 'EAT-3' },
- { 'Africa/Monrovia', 'GMT0' },
- { 'Africa/Nairobi', 'EAT-3' },
- { 'Africa/Ndjamena', 'WAT-1' },
- { 'Africa/Niamey', 'WAT-1' },
- { 'Africa/Nouakchott', 'GMT0' },
- { 'Africa/Ouagadougou', 'GMT0' },
- { 'Africa/Porto-Novo', 'WAT-1' },
- { 'Africa/Sao Tome', 'GMT0' },
- { 'Africa/Tripoli', 'EET-2' },
- { 'Africa/Tunis', 'CET-1' },
- { 'Africa/Windhoek', 'CAT-2' },
- { 'America/Adak', 'HST10HDT,M3.2.0,M11.1.0' },
- { 'America/Anchorage', 'AKST9AKDT,M3.2.0,M11.1.0' },
- { 'America/Anguilla', 'AST4' },
- { 'America/Antigua', 'AST4' },
- { 'America/Araguaina', '<-03>3' },
- { 'America/Argentina/Buenos Aires', '<-03>3' },
- { 'America/Argentina/Catamarca', '<-03>3' },
- { 'America/Argentina/Cordoba', '<-03>3' },
- { 'America/Argentina/Jujuy', '<-03>3' },
- { 'America/Argentina/La Rioja', '<-03>3' },
- { 'America/Argentina/Mendoza', '<-03>3' },
- { 'America/Argentina/Rio Gallegos', '<-03>3' },
- { 'America/Argentina/Salta', '<-03>3' },
- { 'America/Argentina/San Juan', '<-03>3' },
- { 'America/Argentina/San Luis', '<-03>3' },
- { 'America/Argentina/Tucuman', '<-03>3' },
- { 'America/Argentina/Ushuaia', '<-03>3' },
- { 'America/Aruba', 'AST4' },
- { 'America/Asuncion', '<-04>4<-03>,M10.1.0/0,M3.4.0/0' },
- { 'America/Atikokan', 'EST5' },
- { 'America/Bahia', '<-03>3' },
- { 'America/Bahia Banderas', 'CST6CDT,M4.1.0,M10.5.0' },
- { 'America/Barbados', 'AST4' },
- { 'America/Belem', '<-03>3' },
- { 'America/Belize', 'CST6' },
- { 'America/Blanc-Sablon', 'AST4' },
- { 'America/Boa Vista', '<-04>4' },
- { 'America/Bogota', '<-05>5' },
- { 'America/Boise', 'MST7MDT,M3.2.0,M11.1.0' },
- { 'America/Cambridge Bay', 'MST7MDT,M3.2.0,M11.1.0' },
- { 'America/Campo Grande', '<-04>4' },
- { 'America/Cancun', 'EST5' },
- { 'America/Caracas', '<-04>4' },
- { 'America/Cayenne', '<-03>3' },
- { 'America/Cayman', 'EST5' },
- { 'America/Chicago', 'CST6CDT,M3.2.0,M11.1.0' },
- { 'America/Chihuahua', 'MST7MDT,M4.1.0,M10.5.0' },
- { 'America/Costa Rica', 'CST6' },
- { 'America/Creston', 'MST7' },
- { 'America/Cuiaba', '<-04>4' },
- { 'America/Curacao', 'AST4' },
- { 'America/Danmarkshavn', 'GMT0' },
- { 'America/Dawson', 'MST7' },
- { 'America/Dawson Creek', 'MST7' },
- { 'America/Denver', 'MST7MDT,M3.2.0,M11.1.0' },
- { 'America/Detroit', 'EST5EDT,M3.2.0,M11.1.0' },
- { 'America/Dominica', 'AST4' },
- { 'America/Edmonton', 'MST7MDT,M3.2.0,M11.1.0' },
- { 'America/Eirunepe', '<-05>5' },
- { 'America/El Salvador', 'CST6' },
- { 'America/Fort Nelson', 'MST7' },
- { 'America/Fortaleza', '<-03>3' },
- { 'America/Glace Bay', 'AST4ADT,M3.2.0,M11.1.0' },
- { 'America/Goose Bay', 'AST4ADT,M3.2.0,M11.1.0' },
- { 'America/Grand Turk', 'EST5EDT,M3.2.0,M11.1.0' },
- { 'America/Grenada', 'AST4' },
- { 'America/Guadeloupe', 'AST4' },
- { 'America/Guatemala', 'CST6' },
- { 'America/Guayaquil', '<-05>5' },
- { 'America/Guyana', '<-04>4' },
- { 'America/Halifax', 'AST4ADT,M3.2.0,M11.1.0' },
- { 'America/Havana', 'CST5CDT,M3.2.0/0,M11.1.0/1' },
- { 'America/Hermosillo', 'MST7' },
- { 'America/Indiana/Indianapolis', 'EST5EDT,M3.2.0,M11.1.0' },
- { 'America/Indiana/Knox', 'CST6CDT,M3.2.0,M11.1.0' },
- { 'America/Indiana/Marengo', 'EST5EDT,M3.2.0,M11.1.0' },
- { 'America/Indiana/Petersburg', 'EST5EDT,M3.2.0,M11.1.0' },
- { 'America/Indiana/Tell City', 'CST6CDT,M3.2.0,M11.1.0' },
- { 'America/Indiana/Vevay', 'EST5EDT,M3.2.0,M11.1.0' },
- { 'America/Indiana/Vincennes', 'EST5EDT,M3.2.0,M11.1.0' },
- { 'America/Indiana/Winamac', 'EST5EDT,M3.2.0,M11.1.0' },
- { 'America/Inuvik', 'MST7MDT,M3.2.0,M11.1.0' },
- { 'America/Iqaluit', 'EST5EDT,M3.2.0,M11.1.0' },
- { 'America/Jamaica', 'EST5' },
- { 'America/Juneau', 'AKST9AKDT,M3.2.0,M11.1.0' },
- { 'America/Kentucky/Louisville', 'EST5EDT,M3.2.0,M11.1.0' },
- { 'America/Kentucky/Monticello', 'EST5EDT,M3.2.0,M11.1.0' },
- { 'America/Kralendijk', 'AST4' },
- { 'America/La Paz', '<-04>4' },
- { 'America/Lima', '<-05>5' },
- { 'America/Los Angeles', 'PST8PDT,M3.2.0,M11.1.0' },
- { 'America/Lower Princes', 'AST4' },
- { 'America/Maceio', '<-03>3' },
- { 'America/Managua', 'CST6' },
- { 'America/Manaus', '<-04>4' },
- { 'America/Marigot', 'AST4' },
- { 'America/Martinique', 'AST4' },
- { 'America/Matamoros', 'CST6CDT,M3.2.0,M11.1.0' },
- { 'America/Mazatlan', 'MST7MDT,M4.1.0,M10.5.0' },
- { 'America/Menominee', 'CST6CDT,M3.2.0,M11.1.0' },
- { 'America/Merida', 'CST6CDT,M4.1.0,M10.5.0' },
- { 'America/Metlakatla', 'AKST9AKDT,M3.2.0,M11.1.0' },
- { 'America/Mexico City', 'CST6CDT,M4.1.0,M10.5.0' },
- { 'America/Miquelon', '<-03>3<-02>,M3.2.0,M11.1.0' },
- { 'America/Moncton', 'AST4ADT,M3.2.0,M11.1.0' },
- { 'America/Monterrey', 'CST6CDT,M4.1.0,M10.5.0' },
- { 'America/Montevideo', '<-03>3' },
- { 'America/Montserrat', 'AST4' },
- { 'America/Nassau', 'EST5EDT,M3.2.0,M11.1.0' },
- { 'America/New York', 'EST5EDT,M3.2.0,M11.1.0' },
- { 'America/Nipigon', 'EST5EDT,M3.2.0,M11.1.0' },
- { 'America/Nome', 'AKST9AKDT,M3.2.0,M11.1.0' },
- { 'America/Noronha', '<-02>2' },
- { 'America/North Dakota/Beulah', 'CST6CDT,M3.2.0,M11.1.0' },
- { 'America/North Dakota/Center', 'CST6CDT,M3.2.0,M11.1.0' },
- { 'America/North Dakota/New Salem', 'CST6CDT,M3.2.0,M11.1.0' },
- { 'America/Nuuk', '<-03>3<-02>,M3.5.0/-2,M10.5.0/-1' },
- { 'America/Ojinaga', 'MST7MDT,M3.2.0,M11.1.0' },
- { 'America/Panama', 'EST5' },
- { 'America/Pangnirtung', 'EST5EDT,M3.2.0,M11.1.0' },
- { 'America/Paramaribo', '<-03>3' },
- { 'America/Phoenix', 'MST7' },
- { 'America/Port of Spain', 'AST4' },
- { 'America/Port-au-Prince', 'EST5EDT,M3.2.0,M11.1.0' },
- { 'America/Porto Velho', '<-04>4' },
- { 'America/Puerto Rico', 'AST4' },
- { 'America/Punta Arenas', '<-03>3' },
- { 'America/Rainy River', 'CST6CDT,M3.2.0,M11.1.0' },
- { 'America/Rankin Inlet', 'CST6CDT,M3.2.0,M11.1.0' },
- { 'America/Recife', '<-03>3' },
- { 'America/Regina', 'CST6' },
- { 'America/Resolute', 'CST6CDT,M3.2.0,M11.1.0' },
- { 'America/Rio Branco', '<-05>5' },
- { 'America/Santarem', '<-03>3' },
- { 'America/Santiago', '<-04>4<-03>,M9.1.6/24,M4.1.6/24' },
- { 'America/Santo Domingo', 'AST4' },
- { 'America/Sao Paulo', '<-03>3' },
- { 'America/Scoresbysund', '<-01>1<+00>,M3.5.0/0,M10.5.0/1' },
- { 'America/Sitka', 'AKST9AKDT,M3.2.0,M11.1.0' },
- { 'America/St Barthelemy', 'AST4' },
- { 'America/St Johns', 'NST3:30NDT,M3.2.0,M11.1.0' },
- { 'America/St Kitts', 'AST4' },
- { 'America/St Lucia', 'AST4' },
- { 'America/St Thomas', 'AST4' },
- { 'America/St Vincent', 'AST4' },
- { 'America/Swift Current', 'CST6' },
- { 'America/Tegucigalpa', 'CST6' },
- { 'America/Thule', 'AST4ADT,M3.2.0,M11.1.0' },
- { 'America/Thunder Bay', 'EST5EDT,M3.2.0,M11.1.0' },
- { 'America/Tijuana', 'PST8PDT,M3.2.0,M11.1.0' },
- { 'America/Toronto', 'EST5EDT,M3.2.0,M11.1.0' },
- { 'America/Tortola', 'AST4' },
- { 'America/Vancouver', 'PST8PDT,M3.2.0,M11.1.0' },
- { 'America/Whitehorse', 'MST7' },
- { 'America/Winnipeg', 'CST6CDT,M3.2.0,M11.1.0' },
- { 'America/Yakutat', 'AKST9AKDT,M3.2.0,M11.1.0' },
- { 'America/Yellowknife', 'MST7MDT,M3.2.0,M11.1.0' },
- { 'Antarctica/Casey', '<+11>-11' },
- { 'Antarctica/Davis', '<+07>-7' },
- { 'Antarctica/DumontDUrville', '<+10>-10' },
- { 'Antarctica/Macquarie', 'AEST-10AEDT,M10.1.0,M4.1.0/3' },
- { 'Antarctica/Mawson', '<+05>-5' },
- { 'Antarctica/McMurdo', 'NZST-12NZDT,M9.5.0,M4.1.0/3' },
- { 'Antarctica/Palmer', '<-03>3' },
- { 'Antarctica/Rothera', '<-03>3' },
- { 'Antarctica/Syowa', '<+03>-3' },
- { 'Antarctica/Troll', '<+00>0<+02>-2,M3.5.0/1,M10.5.0/3' },
- { 'Antarctica/Vostok', '<+06>-6' },
- { 'Arctic/Longyearbyen', 'CET-1CEST,M3.5.0,M10.5.0/3' },
- { 'Asia/Aden', '<+03>-3' },
- { 'Asia/Almaty', '<+06>-6' },
- { 'Asia/Amman', 'EET-2EEST,M2.5.4/24,M10.5.5/1' },
- { 'Asia/Anadyr', '<+12>-12' },
- { 'Asia/Aqtau', '<+05>-5' },
- { 'Asia/Aqtobe', '<+05>-5' },
- { 'Asia/Ashgabat', '<+05>-5' },
- { 'Asia/Atyrau', '<+05>-5' },
- { 'Asia/Baghdad', '<+03>-3' },
- { 'Asia/Bahrain', '<+03>-3' },
- { 'Asia/Baku', '<+04>-4' },
- { 'Asia/Bangkok', '<+07>-7' },
- { 'Asia/Barnaul', '<+07>-7' },
- { 'Asia/Beirut', 'EET-2EEST,M3.5.0/0,M10.5.0/0' },
- { 'Asia/Bishkek', '<+06>-6' },
- { 'Asia/Brunei', '<+08>-8' },
- { 'Asia/Chita', '<+09>-9' },
- { 'Asia/Choibalsan', '<+08>-8' },
- { 'Asia/Colombo', '<+0530>-5:30' },
- { 'Asia/Damascus', 'EET-2EEST,M3.5.5/0,M10.5.5/0' },
- { 'Asia/Dhaka', '<+06>-6' },
- { 'Asia/Dili', '<+09>-9' },
- { 'Asia/Dubai', '<+04>-4' },
- { 'Asia/Dushanbe', '<+05>-5' },
- { 'Asia/Famagusta', 'EET-2EEST,M3.5.0/3,M10.5.0/4' },
- { 'Asia/Gaza', 'EET-2EEST,M3.4.4/72,M10.4.4/25' },
- { 'Asia/Hebron', 'EET-2EEST,M3.4.4/72,M10.4.4/25' },
- { 'Asia/Ho Chi Minh', '<+07>-7' },
- { 'Asia/Hong Kong', 'HKT-8' },
- { 'Asia/Hovd', '<+07>-7' },
- { 'Asia/Irkutsk', '<+08>-8' },
- { 'Asia/Jakarta', 'WIB-7' },
- { 'Asia/Jayapura', 'WIT-9' },
- { 'Asia/Jerusalem', 'IST-2IDT,M3.4.4/26,M10.5.0' },
- { 'Asia/Kabul', '<+0430>-4:30' },
- { 'Asia/Kamchatka', '<+12>-12' },
- { 'Asia/Karachi', 'PKT-5' },
- { 'Asia/Kathmandu', '<+0545>-5:45' },
- { 'Asia/Khandyga', '<+09>-9' },
- { 'Asia/Kolkata', 'IST-5:30' },
- { 'Asia/Krasnoyarsk', '<+07>-7' },
- { 'Asia/Kuala Lumpur', '<+08>-8' },
- { 'Asia/Kuching', '<+08>-8' },
- { 'Asia/Kuwait', '<+03>-3' },
- { 'Asia/Macau', 'CST-8' },
- { 'Asia/Magadan', '<+11>-11' },
- { 'Asia/Makassar', 'WITA-8' },
- { 'Asia/Manila', 'PST-8' },
- { 'Asia/Muscat', '<+04>-4' },
- { 'Asia/Nicosia', 'EET-2EEST,M3.5.0/3,M10.5.0/4' },
- { 'Asia/Novokuznetsk', '<+07>-7' },
- { 'Asia/Novosibirsk', '<+07>-7' },
- { 'Asia/Omsk', '<+06>-6' },
- { 'Asia/Oral', '<+05>-5' },
- { 'Asia/Phnom Penh', '<+07>-7' },
- { 'Asia/Pontianak', 'WIB-7' },
- { 'Asia/Pyongyang', 'KST-9' },
- { 'Asia/Qatar', '<+03>-3' },
- { 'Asia/Qostanay', '<+06>-6' },
- { 'Asia/Qyzylorda', '<+05>-5' },
- { 'Asia/Riyadh', '<+03>-3' },
- { 'Asia/Sakhalin', '<+11>-11' },
- { 'Asia/Samarkand', '<+05>-5' },
- { 'Asia/Seoul', 'KST-9' },
- { 'Asia/Shanghai', 'CST-8' },
- { 'Asia/Singapore', '<+08>-8' },
- { 'Asia/Srednekolymsk', '<+11>-11' },
- { 'Asia/Taipei', 'CST-8' },
- { 'Asia/Tashkent', '<+05>-5' },
- { 'Asia/Tbilisi', '<+04>-4' },
- { 'Asia/Tehran', '<+0330>-3:30' },
- { 'Asia/Thimphu', '<+06>-6' },
- { 'Asia/Tokyo', 'JST-9' },
- { 'Asia/Tomsk', '<+07>-7' },
- { 'Asia/Ulaanbaatar', '<+08>-8' },
- { 'Asia/Urumqi', '<+06>-6' },
- { 'Asia/Ust-Nera', '<+10>-10' },
- { 'Asia/Vientiane', '<+07>-7' },
- { 'Asia/Vladivostok', '<+10>-10' },
- { 'Asia/Yakutsk', '<+09>-9' },
- { 'Asia/Yangon', '<+0630>-6:30' },
- { 'Asia/Yekaterinburg', '<+05>-5' },
- { 'Asia/Yerevan', '<+04>-4' },
- { 'Atlantic/Azores', '<-01>1<+00>,M3.5.0/0,M10.5.0/1' },
- { 'Atlantic/Bermuda', 'AST4ADT,M3.2.0,M11.1.0' },
- { 'Atlantic/Canary', 'WET0WEST,M3.5.0/1,M10.5.0' },
- { 'Atlantic/Cape Verde', '<-01>1' },
- { 'Atlantic/Faroe', 'WET0WEST,M3.5.0/1,M10.5.0' },
- { 'Atlantic/Madeira', 'WET0WEST,M3.5.0/1,M10.5.0' },
- { 'Atlantic/Reykjavik', 'GMT0' },
- { 'Atlantic/South Georgia', '<-02>2' },
- { 'Atlantic/St Helena', 'GMT0' },
- { 'Atlantic/Stanley', '<-03>3' },
- { 'Australia/Adelaide', 'ACST-9:30ACDT,M10.1.0,M4.1.0/3' },
- { 'Australia/Brisbane', 'AEST-10' },
- { 'Australia/Broken Hill', 'ACST-9:30ACDT,M10.1.0,M4.1.0/3' },
- { 'Australia/Darwin', 'ACST-9:30' },
- { 'Australia/Eucla', '<+0845>-8:45' },
- { 'Australia/Hobart', 'AEST-10AEDT,M10.1.0,M4.1.0/3' },
- { 'Australia/Lindeman', 'AEST-10' },
- { 'Australia/Lord Howe', '<+1030>-10:30<+11>-11,M10.1.0,M4.1.0' },
- { 'Australia/Melbourne', 'AEST-10AEDT,M10.1.0,M4.1.0/3' },
- { 'Australia/Perth', 'AWST-8' },
- { 'Australia/Sydney', 'AEST-10AEDT,M10.1.0,M4.1.0/3' },
- { 'Etc/GMT', 'GMT0' },
- { 'Etc/GMT+1', '<-01>1' },
- { 'Etc/GMT+10', '<-10>10' },
- { 'Etc/GMT+11', '<-11>11' },
- { 'Etc/GMT+12', '<-12>12' },
- { 'Etc/GMT+2', '<-02>2' },
- { 'Etc/GMT+3', '<-03>3' },
- { 'Etc/GMT+4', '<-04>4' },
- { 'Etc/GMT+5', '<-05>5' },
- { 'Etc/GMT+6', '<-06>6' },
- { 'Etc/GMT+7', '<-07>7' },
- { 'Etc/GMT+8', '<-08>8' },
- { 'Etc/GMT+9', '<-09>9' },
- { 'Etc/GMT-1', '<+01>-1' },
- { 'Etc/GMT-10', '<+10>-10' },
- { 'Etc/GMT-11', '<+11>-11' },
- { 'Etc/GMT-12', '<+12>-12' },
- { 'Etc/GMT-13', '<+13>-13' },
- { 'Etc/GMT-14', '<+14>-14' },
- { 'Etc/GMT-2', '<+02>-2' },
- { 'Etc/GMT-3', '<+03>-3' },
- { 'Etc/GMT-4', '<+04>-4' },
- { 'Etc/GMT-5', '<+05>-5' },
- { 'Etc/GMT-6', '<+06>-6' },
- { 'Etc/GMT-7', '<+07>-7' },
- { 'Etc/GMT-8', '<+08>-8' },
- { 'Etc/GMT-9', '<+09>-9' },
- { 'Europe/Amsterdam', 'CET-1CEST,M3.5.0,M10.5.0/3' },
- { 'Europe/Andorra', 'CET-1CEST,M3.5.0,M10.5.0/3' },
- { 'Europe/Astrakhan', '<+04>-4' },
- { 'Europe/Athens', 'EET-2EEST,M3.5.0/3,M10.5.0/4' },
- { 'Europe/Belgrade', 'CET-1CEST,M3.5.0,M10.5.0/3' },
- { 'Europe/Berlin', 'CET-1CEST,M3.5.0,M10.5.0/3' },
- { 'Europe/Bratislava', 'CET-1CEST,M3.5.0,M10.5.0/3' },
- { 'Europe/Brussels', 'CET-1CEST,M3.5.0,M10.5.0/3' },
- { 'Europe/Bucharest', 'EET-2EEST,M3.5.0/3,M10.5.0/4' },
- { 'Europe/Budapest', 'CET-1CEST,M3.5.0,M10.5.0/3' },
- { 'Europe/Busingen', 'CET-1CEST,M3.5.0,M10.5.0/3' },
- { 'Europe/Chisinau', 'EET-2EEST,M3.5.0,M10.5.0/3' },
- { 'Europe/Copenhagen', 'CET-1CEST,M3.5.0,M10.5.0/3' },
- { 'Europe/Dublin', 'IST-1GMT0,M10.5.0,M3.5.0/1' },
- { 'Europe/Gibraltar', 'CET-1CEST,M3.5.0,M10.5.0/3' },
- { 'Europe/Guernsey', 'GMT0BST,M3.5.0/1,M10.5.0' },
- { 'Europe/Helsinki', 'EET-2EEST,M3.5.0/3,M10.5.0/4' },
- { 'Europe/Isle of Man', 'GMT0BST,M3.5.0/1,M10.5.0' },
- { 'Europe/Istanbul', '<+03>-3' },
- { 'Europe/Jersey', 'GMT0BST,M3.5.0/1,M10.5.0' },
- { 'Europe/Kaliningrad', 'EET-2' },
- { 'Europe/Kirov', '<+03>-3' },
- { 'Europe/Kyiv', 'EET-2EEST,M3.5.0/3,M10.5.0/4' },
- { 'Europe/Lisbon', 'WET0WEST,M3.5.0/1,M10.5.0' },
- { 'Europe/Ljubljana', 'CET-1CEST,M3.5.0,M10.5.0/3' },
- { 'Europe/London', 'GMT0BST,M3.5.0/1,M10.5.0' },
- { 'Europe/Luxembourg', 'CET-1CEST,M3.5.0,M10.5.0/3' },
- { 'Europe/Madrid', 'CET-1CEST,M3.5.0,M10.5.0/3' },
- { 'Europe/Malta', 'CET-1CEST,M3.5.0,M10.5.0/3' },
- { 'Europe/Mariehamn', 'EET-2EEST,M3.5.0/3,M10.5.0/4' },
- { 'Europe/Minsk', '<+03>-3' },
- { 'Europe/Monaco', 'CET-1CEST,M3.5.0,M10.5.0/3' },
- { 'Europe/Moscow', 'MSK-3' },
- { 'Europe/Oslo', 'CET-1CEST,M3.5.0,M10.5.0/3' },
- { 'Europe/Paris', 'CET-1CEST,M3.5.0,M10.5.0/3' },
- { 'Europe/Podgorica', 'CET-1CEST,M3.5.0,M10.5.0/3' },
- { 'Europe/Prague', 'CET-1CEST,M3.5.0,M10.5.0/3' },
- { 'Europe/Riga', 'EET-2EEST,M3.5.0/3,M10.5.0/4' },
- { 'Europe/Rome', 'CET-1CEST,M3.5.0,M10.5.0/3' },
- { 'Europe/Samara', '<+04>-4' },
- { 'Europe/San Marino', 'CET-1CEST,M3.5.0,M10.5.0/3' },
- { 'Europe/Sarajevo', 'CET-1CEST,M3.5.0,M10.5.0/3' },
- { 'Europe/Saratov', '<+04>-4' },
- { 'Europe/Simferopol', 'MSK-3' },
- { 'Europe/Skopje', 'CET-1CEST,M3.5.0,M10.5.0/3' },
- { 'Europe/Sofia', 'EET-2EEST,M3.5.0/3,M10.5.0/4' },
- { 'Europe/Stockholm', 'CET-1CEST,M3.5.0,M10.5.0/3' },
- { 'Europe/Tallinn', 'EET-2EEST,M3.5.0/3,M10.5.0/4' },
- { 'Europe/Tirane', 'CET-1CEST,M3.5.0,M10.5.0/3' },
- { 'Europe/Ulyanovsk', '<+04>-4' },
- { 'Europe/Uzhgorod', 'EET-2EEST,M3.5.0/3,M10.5.0/4' },
- { 'Europe/Vaduz', 'CET-1CEST,M3.5.0,M10.5.0/3' },
- { 'Europe/Vatican', 'CET-1CEST,M3.5.0,M10.5.0/3' },
- { 'Europe/Vienna', 'CET-1CEST,M3.5.0,M10.5.0/3' },
- { 'Europe/Vilnius', 'EET-2EEST,M3.5.0/3,M10.5.0/4' },
- { 'Europe/Volgograd', '<+03>-3' },
- { 'Europe/Warsaw', 'CET-1CEST,M3.5.0,M10.5.0/3' },
- { 'Europe/Zagreb', 'CET-1CEST,M3.5.0,M10.5.0/3' },
- { 'Europe/Zaporozhye', 'EET-2EEST,M3.5.0/3,M10.5.0/4' },
- { 'Europe/Zurich', 'CET-1CEST,M3.5.0,M10.5.0/3' },
- { 'Indian/Antananarivo', 'EAT-3' },
- { 'Indian/Chagos', '<+06>-6' },
- { 'Indian/Christmas', '<+07>-7' },
- { 'Indian/Cocos', '<+0630>-6:30' },
- { 'Indian/Comoro', 'EAT-3' },
- { 'Indian/Kerguelen', '<+05>-5' },
- { 'Indian/Mahe', '<+04>-4' },
- { 'Indian/Maldives', '<+05>-5' },
- { 'Indian/Mauritius', '<+04>-4' },
- { 'Indian/Mayotte', 'EAT-3' },
- { 'Indian/Reunion', '<+04>-4' },
- { 'Pacific/Apia', '<+13>-13' },
- { 'Pacific/Auckland', 'NZST-12NZDT,M9.5.0,M4.1.0/3' },
- { 'Pacific/Bougainville', '<+11>-11' },
- { 'Pacific/Chatham', '<+1245>-12:45<+1345>,M9.5.0/2:45,M4.1.0/3:45' },
- { 'Pacific/Chuuk', '<+10>-10' },
- { 'Pacific/Easter', '<-06>6<-05>,M9.1.6/22,M4.1.6/22' },
- { 'Pacific/Efate', '<+11>-11' },
- { 'Pacific/Fakaofo', '<+13>-13' },
- { 'Pacific/Fiji', '<+12>-12<+13>,M11.2.0,M1.2.3/99' },
- { 'Pacific/Funafuti', '<+12>-12' },
- { 'Pacific/Galapagos', '<-06>6' },
- { 'Pacific/Gambier', '<-09>9' },
- { 'Pacific/Guadalcanal', '<+11>-11' },
- { 'Pacific/Guam', 'ChST-10' },
- { 'Pacific/Honolulu', 'HST10' },
- { 'Pacific/Kanton', '<+13>-13' },
- { 'Pacific/Kiritimati', '<+14>-14' },
- { 'Pacific/Kosrae', '<+11>-11' },
- { 'Pacific/Kwajalein', '<+12>-12' },
- { 'Pacific/Majuro', '<+12>-12' },
- { 'Pacific/Marquesas', '<-0930>9:30' },
- { 'Pacific/Midway', 'SST11' },
- { 'Pacific/Nauru', '<+12>-12' },
- { 'Pacific/Niue', '<-11>11' },
- { 'Pacific/Norfolk', '<+11>-11<+12>,M10.1.0,M4.1.0/3' },
- { 'Pacific/Noumea', '<+11>-11' },
- { 'Pacific/Pago Pago', 'SST11' },
- { 'Pacific/Palau', '<+09>-9' },
- { 'Pacific/Pitcairn', '<-08>8' },
- { 'Pacific/Pohnpei', '<+11>-11' },
- { 'Pacific/Port Moresby', '<+10>-10' },
- { 'Pacific/Rarotonga', '<-10>10' },
- { 'Pacific/Saipan', 'ChST-10' },
- { 'Pacific/Tahiti', '<-10>10' },
- { 'Pacific/Tarawa', '<+12>-12' },
- { 'Pacific/Tongatapu', '<+13>-13' },
- { 'Pacific/Wake', '<+12>-12' },
- { 'Pacific/Wallis', '<+12>-12' },
-}
+++ /dev/null
--- Licensed to the public under the Apache License 2.0.
-
-module "luci.sys.zoneinfo.tzoffset"
-
-OFFSET = {
- gmt = 0, -- GMT
- eat = 10800, -- EAT
- cet = 3600, -- CET
- wat = 3600, -- WAT
- cat = 7200, -- CAT
- eet = 7200, -- EET
- sast = 7200, -- SAST
- hst = -36000, -- HST
- hdt = -32400, -- HDT
- akst = -32400, -- AKST
- akdt = -28800, -- AKDT
- ast = -14400, -- AST
- est = -18000, -- EST
- cst = -21600, -- CST
- cdt = -18000, -- CDT
- mst = -25200, -- MST
- mdt = -21600, -- MDT
- pst = -28800, -- PST
- pdt = -25200, -- PDT
- nst = -12600, -- NST
- ndt = -9000, -- NDT
- aest = 36000, -- AEST
- aedt = 39600, -- AEDT
- nzst = 43200, -- NZST
- nzdt = 46800, -- NZDT
- hkt = 28800, -- HKT
- wib = 25200, -- WIB
- wit = 32400, -- WIT
- ist = 7200, -- IST
- idt = 10800, -- IDT
- pkt = 18000, -- PKT
- wita = 28800, -- WITA
- kst = 32400, -- KST
- jst = 32400, -- JST
- wet = 0, -- WET
- acst = 34200, -- ACST
- acdt = 37800, -- ACDT
- awst = 28800, -- AWST
- msk = 10800, -- MSK
- sst = -39600, -- SST
-}
+++ /dev/null
--- Copyright 2008 Steven Barth <steven@midlink.org>
--- Licensed to the public under the Apache License 2.0.
-
-local util = require "luci.util"
-local config = require "luci.config"
-local tparser = require "luci.template.parser"
-
-local tostring, pairs, loadstring = tostring, pairs, loadstring
-local setmetatable, loadfile = setmetatable, loadfile
-local getfenv, setfenv, rawget = getfenv, setfenv, rawget
-local assert, type, error = assert, type, error
-
---- LuCI template library.
-module "luci.template"
-
-config.template = config.template or {}
-viewdir = config.template.viewdir or util.libpath() .. "/view"
-
-
--- Define the namespace for template modules
-context = util.threadlocal()
-
---- Render a certain template.
--- @param name Template name
--- @param scope Scope to assign to template (optional)
-function render(name, scope)
- return Template(name):render(scope or getfenv(2))
-end
-
---- Render a template from a string.
--- @param template Template string
--- @param scope Scope to assign to template (optional)
-function render_string(template, scope)
- return Template(nil, template):render(scope or getfenv(2))
-end
-
-
--- Template class
-Template = util.class()
-
--- Shared template cache to store templates in to avoid unnecessary reloading
-Template.cache = setmetatable({}, {__mode = "v"})
-
-
--- Constructor - Reads and compiles the template on-demand
-function Template.__init__(self, name, template)
- if name then
- self.template = self.cache[name]
- self.name = name
- else
- self.name = "[string]"
- end
-
- -- Create a new namespace for this template
- self.viewns = context.viewns
-
- -- If we have a cached template, skip compiling and loading
- if not self.template then
-
- -- Compile template
- local err
- local sourcefile
-
- if name then
- sourcefile = viewdir .. "/" .. name .. ".htm"
- self.template, _, err = tparser.parse(sourcefile)
- else
- sourcefile = "[string]"
- self.template, _, err = tparser.parse_string(template)
- end
-
- -- If we have no valid template throw error, otherwise cache the template
- if not self.template then
- error("Failed to load template '" .. self.name .. "'.\n" ..
- "Error while parsing template '" .. sourcefile .. "':\n" ..
- (err or "Unknown syntax error"))
- elseif name then
- self.cache[name] = self.template
- end
- end
-end
-
-
--- Renders a template
-function Template.render(self, scope)
- scope = scope or getfenv(2)
-
- -- Put our predefined objects in the scope of the template
- setfenv(self.template, setmetatable({}, {__index =
- function(tbl, key)
- return rawget(tbl, key) or self.viewns[key] or scope[key]
- end}))
-
- -- Now finally render the thing
- local stat, err = util.copcall(self.template)
- if not stat then
- error("Failed to execute template '" .. self.name .. "'.\n" ..
- "A runtime error occurred: " .. tostring(err or "(nil)"))
- end
-end
+++ /dev/null
--- Licensed to the public under the Apache License 2.0.
-
-module "luci.version"
-
-distname = "Host System"
-distversion = "SDK"
-
-luciname = "LuCI"
-luciversion = "SVN"
+++ /dev/null
-<%#
- Copyright 2015 Jo-Philipp Wich <jow@openwrt.org>
- Licensed to the public under the Apache License 2.0.
--%>
-
-<%+header%>
-
-<h2 name="content"><%:Form token mismatch%></h2>
-<br />
-
-<p class="alert-message"><%:The submitted security token is invalid or already expired!%></p>
-
-<p><%:
- In order to prevent unauthorized access to the system, your request has
- been blocked. Click "Continue »" below to return to the previous page.
-%></p>
-
-<hr />
-
-<p class="right">
- <strong><a href="#" onclick="window.history.back();">Continue »</a></strong>
-</p>
-
-<%+footer%>
+++ /dev/null
-<%#
- Copyright 2010 Jo-Philipp Wich <jow@openwrt.org>
- Copyright 2018 Daniel F. Dickinson <cshored@thecshore.com>
- Licensed to the public under the Apache License 2.0.
--%>
-
-<%+header%>
-
-<p>Component not present.</p>
-
-<%+footer%>
+++ /dev/null
-<%#
- Copyright 2008 Steven Barth <steven@midlink.org>
- Copyright 2008 Jo-Philipp Wich <jow@openwrt.org>
- Licensed to the public under the Apache License 2.0.
--%>
-
-<%+header%>
-<h2 name="content">404 <%:Not Found%></h2>
-<p><%:Sorry, the object you requested was not found.%></p>
-<p><%=message%></p>
-<tt><%:Unable to dispatch%>: <%=url(unpack(luci.dispatcher.context.request))%></tt>
-<%+footer%>
+++ /dev/null
-<%#
- Copyright 2008 Steven Barth <steven@midlink.org>
- Copyright 2008 Jo-Philipp Wich <jow@openwrt.org>
- Licensed to the public under the Apache License 2.0.
--%>
-
-<%+header%>
-<h2 name="content">500 <%:Internal Server Error%></h2>
-<p><%:Sorry, the server encountered an unexpected error.%></p>
-<pre class="error500"><%=message%></pre>
-<%+footer%>
+++ /dev/null
-<%#
- Copyright 2008 Steven Barth <steven@midlink.org>
- Copyright 2008-2019 Jo-Philipp Wich <jo@mein.io>
- Licensed to the public under the Apache License 2.0.
--%>
-
-<%
- local is_rollback_pending, rollback_time_remaining, rollback_session, rollback_token = luci.model.uci:rollback_pending()
-
- if is_rollback_pending or trigger_apply or trigger_revert then
-%>
- <script type="text/javascript">
- document.addEventListener("luci-loaded", function() {
- <% if trigger_apply then -%>
- L.ui.changes.apply(true);
- <%- elseif trigger_revert then -%>
- L.ui.changes.revert();
- <%- else -%>
- L.ui.changes.confirm(true, Date.now() + <%=rollback_time_remaining%> * 1000, <%=luci.http.write_json(rollback_token)%>);
- <%- end %>
- });
- </script>
-<%
- end
-
- include("themes/" .. theme .. "/footer")
-%>
+++ /dev/null
-<%#
- Copyright 2008 Steven Barth <steven@midlink.org>
- Copyright 2008-2019 Jo-Philipp Wich <jo@mein.io>
- Licensed to the public under the Apache License 2.0.
--%>
-
-<%
- if not luci.dispatcher.context.template_header_sent then
- include("themes/" .. theme .. "/header")
- luci.dispatcher.context.template_header_sent = true
- end
-
- local applyconf = luci.config and luci.config.apply
-%>
-
-<script type="text/javascript" src="<%=resource%>/promis.min.js"></script>
-<script type="text/javascript" src="<%=resource%>/luci.js"></script>
-<script type="text/javascript">
- L = new LuCI(<%= luci.http.write_json({
- token = token,
- media = media,
- resource = resource,
- scriptname = luci.http.getenv("SCRIPT_NAME"),
- pathinfo = luci.http.getenv("PATH_INFO"),
- documentroot = luci.http.getenv("DOCUMENT_ROOT"),
- requestpath = luci.dispatcher.context.requestpath,
- dispatchpath = luci.dispatcher.context.path,
- pollinterval = luci.config.main.pollinterval or 5,
- ubuspath = luci.config.main.ubuspath or '/ubus/',
- sessionid = luci.dispatcher.context.authsession,
- nodespec = luci.dispatcher.context.dispatched,
- apply_rollback = math.max(applyconf and applyconf.rollback or 90, 90),
- apply_holdoff = math.max(applyconf and applyconf.holdoff or 4, 1),
- apply_timeout = math.max(applyconf and applyconf.timeout or 5, 1),
- apply_display = math.max(applyconf and applyconf.display or 1.5, 1),
- rollback_token = rollback_token
- }) %>);
-</script>
+++ /dev/null
-<%#
- Copyright 2008 Steven Barth <steven@midlink.org>
- Copyright 2008 Jo-Philipp Wich <jow@openwrt.org>
- Licensed to the public under the Apache License 2.0.
--%>
-
-<% include("themes/" .. theme .. "/indexer") %>
\ No newline at end of file
+++ /dev/null
-<%#
- Copyright 2008 Steven Barth <steven@midlink.org>
- Copyright 2008-2012 Jo-Philipp Wich <jow@openwrt.org>
- Licensed to the public under the Apache License 2.0.
--%>
-
-<%+header%>
-
-<form method="post" action="<%=pcdata(FULL_REQUEST_URI)%>">
- <%- if fuser then %>
- <div class="alert-message warning">
- <p><%:Invalid username and/or password! Please try again.%></p>
- </div>
- <% end -%>
-
- <div class="cbi-map">
- <h2 name="content"><%:Authorization Required%></h2>
- <div class="cbi-map-descr">
- <%:Please enter your username and password.%>
- </div>
- <div class="cbi-section"><div class="cbi-section-node">
- <div class="cbi-value">
- <label class="cbi-value-title" for="luci_username"><%:Username%></label>
- <div class="cbi-value-field">
- <input class="cbi-input-text" type="text" name="luci_username" id="luci_username" autocomplete="username" value="<%=duser%>" />
- </div>
- </div>
- <div class="cbi-value cbi-value-last">
- <label class="cbi-value-title" for="luci_password"><%:Password%></label>
- <div class="cbi-value-field">
- <input class="cbi-input-text" type="password" name="luci_password" id="luci_password" autocomplete="current-password"/>
- </div>
- </div>
- </div></div>
- </div>
-
- <div class="cbi-page-actions">
- <input type="submit" value="<%:Login%>" class="btn cbi-button cbi-button-apply" />
- <input type="reset" value="<%:Reset%>" class="btn cbi-button cbi-button-reset" />
- </div>
-</form>
-<script type="text/javascript">//<![CDATA[
- var input = document.getElementsByName('luci_password')[0];
- if (input)
- input.focus();
-//]]></script>
-
-<%
-local uci = require "luci.model.uci".cursor()
-local fs = require "nixio.fs"
-local https_key = uci:get("uhttpd", "main", "key")
-local https_port = uci:get("uhttpd", "main", "listen_https")
-if type(https_port) == "table" then
- https_port = https_port[1]
-end
-
-if https_port and fs.access(https_key) then
- https_port = https_port:match("(%d+)$")
-%>
-
-<script type="text/javascript">//<![CDATA[
- if (document.location.protocol != 'https:') {
- var url = 'https://' + window.location.hostname + ':' + '<%=https_port%>' + window.location.pathname;
- var img=new Image;
- img.onload=function(){window.location = url};
- img.src='https://' + window.location.hostname + ':' + '<%=https_port%>' + '<%=resource%>/icons/loading.gif?' + Math.random();
- setTimeout(function(){
- img.src=''
- }, 5000);
- }
-//]]></script>
-
-<% end %>
-
-<%+footer%>
+++ /dev/null
-<%+header%>
-
-<div id="view">
- <div class="spinning"><%:Loading view…%></div>
- <script type="text/javascript">
- L.require('ui').then(function(ui) {
- ui.instantiateView('<%=view%>');
- });
- </script>
-</div>
-
-<%+footer%>
+++ /dev/null
--- Copyright 2008 Steven Barth <steven@midlink.org>
--- Licensed to the public under the Apache License 2.0.
-
-local tparser = require "luci.template.parser"
-local string = require "string"
-
-local tostring = tostring
-
-module "luci.xml"
-
---
--- String and data manipulation routines
---
-
-function pcdata(value)
- return value and tparser.pcdata(tostring(value))
-end
-
-function striptags(value)
- return value and tparser.striptags(tostring(value))
-end
-
-
--- also register functions above in the central string class for convenience
-string.pcdata = pcdata
-string.striptags = striptags
+++ /dev/null
----[[
-LuCI utility functions.
-]]
-module "luci.xml"
-
----[[
-Create valid XML PCDATA from given string.
-
-@class function
-@name pcdata
-@param value String value containing the data to escape
-@return String value containing the escaped data
-]]
-
----[[
-Strip HTML tags from given string.
-
-@class function
-@name striptags
-@param value String containing the HTML text
-@return String with HTML tags stripped of
-]]
-
msgid ""
msgstr ""
-"PO-Revision-Date: 2021-12-13 23:53+0000\n"
-"Last-Translator: Josef Schlehofer <pepe@bloodkings.eu>\n"
+"PO-Revision-Date: 2022-10-22 18:07+0000\n"
+"Last-Translator: Abdullah AlShaikh <abdullah@alshai5.com>\n"
"Language-Team: Arabic <https://hosted.weblate.org/projects/openwrt/luci/ar/>"
"\n"
"Language: ar\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
-"X-Generator: Weblate 4.10-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:643
msgctxt "Yet unknown nftables table family (\"family\" table \"name\")"
msgid "<abbr title=\"Router Advertisement\">RA</abbr>-Service"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:294
+msgid ""
+"<code>/#/</code> matches any domain. <code>/example.com/</code> returns "
+"NXDOMAIN."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+msgid ""
+"<code>/example.com/#</code> returns NULL addresses (<code>0.0.0.0</code> and "
+"<code>::</code>) for example.com and its subdomains."
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:87
msgctxt "nft relational \">\" operator expression"
msgid "<var>%s</var> greater than <strong>%s</strong>"
msgid "ATM device number"
msgstr "رقم جهاز ATM"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
msgid "ATU-C System Vendor ID"
msgstr "معرف مزود نظام ATU-C"
msgid "Absent Interface"
msgstr "واجهة غائبة"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:320
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
msgid "Accept DNS queries only from hosts whose address is on a local subnet."
msgstr "قصر خدمة DNS على واجهات الشبكات الفرعية التي نخدم DNS عليها."
msgid "Add key"
msgstr "إضافة مفتاح"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:410
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:415
msgid "Add local domain suffix to names served from hosts files."
msgstr "أضف لاحقة المجال المحلي للأسماء التي يتم تقديمها من ملفات المضيفين"
msgid "Add to Whitelist"
msgstr "إضافة إلى القائمة البيضاء"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:367
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
msgid "Additional hosts files"
msgstr "ملفات Hosts إضافية"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:417
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
msgid "Additional servers file"
msgstr "ملف سرفير إضافي"
msgid "Address to access local relay bridge"
msgstr "عنوان للوصول إلى جسر الترحيل المحلي"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:289
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:291
msgid "Addresses"
msgstr "عناوين"
msgid "Aggregate Originator Messages"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
msgid "Aggregate Transmit Power (ACTATP)"
msgstr "قدرة الإرسال الإجمالية (ACTATP)"
msgid "Alias of \"%s\""
msgstr "الاسم المستعار ل \"%s\""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
msgid "All servers"
msgstr "جميع السيرفرات"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
msgid ""
"Allocate IP addresses sequentially, starting from the lowest available "
"address."
msgstr "قم بتخصيص عناوين IP بالتسلسل ، بدءًا من أدنى عنوان متاح"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
msgid "Allocate IPs sequentially"
msgstr "تخصيص IP بالتسلسل"
msgid "Allow listed only"
msgstr "السماح بالقائمة فقط"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
msgid "Allow localhost"
msgstr "السماح ب localhost"
msgid "Always on (kernel: default-on)"
msgstr "دائمًا قيد التشغيل (kernel: default-on)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:538
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
msgid "Always send DHCP Options. Sometimes needed, with e.g. PXELinux."
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1484
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
msgid "Annex"
msgstr "المرفق"
msgid "Any zone"
msgstr "أي منطقة"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:532
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
msgid "Apply DHCP Options to this net. (Empty = all clients)."
msgstr ""
msgid "Authentication Type"
msgstr "نوع المصادقة"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:265
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:267
msgid "Authoritative"
msgstr "موثوق"
-#: modules/luci-base/luasrc/view/sysauth.htm:17
+#: modules/luci-base/ucode/template/sysauth.ut:17
#: themes/luci-theme-bootstrap/htdocs/luci-static/resources/view/bootstrap/sysauth.js:11
msgid "Authorization Required"
msgstr "التفويض مطلوب"
msgid "Avoid Bridge Loops"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
msgid ""
"Avoid uselessly triggering dial-on-demand links (filters SRV/SOA records and "
"names with underscores)."
msgid "Back to Overview"
msgstr "الرجوع إلى الملخص"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:48
-msgid "Back to configuration"
-msgstr "الرجوع إلى التشكيل"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:826
msgid "Back to peer configuration"
msgstr ""
msgstr "نسخ احتياطي / فلاش firmware"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:351
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:12
msgid "Backup file list"
msgstr "قائمة ملفات النسخ الاحتياطي"
msgstr "الفاصل الزمني بين العلامات"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:352
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:46
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
msgid "Bind NTP server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:326
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:331
msgid "Bind dynamically to interfaces rather than wildcard address."
msgstr ""
"ربط ديناميكيًا بالواجهات بدلاً من عنوان أحرف البدل (موصى به باعتباره افتراضيًا "
msgid "Bind interface"
msgstr "واجهة ربط"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:595
+msgid ""
+"Bind service records to a domain name: specify the location of services."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:556
+msgid ""
+"Bind service records to a domain name: specify the location of services. See "
+"<a href=\"%s\">RFC2782</a>."
+msgstr ""
+
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gre.js:59
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gretap.js:64
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/grev6.js:64
msgid "CLAT configuration failed"
msgstr "فشل تكوين CLAT"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
+msgid "CNAME or fqdn"
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/processes.js:72
msgid "CPU usage (%)"
msgstr "استخدام المعالج (٪)"
msgstr ""
"أغلق الاتصال غير النشط بعد مقدار الثواني المحدد ، واستخدم 0 لاستمرار الاتصال"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:49
-msgid "Close list..."
-msgstr "إغلاق القائمة ..."
-
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:44
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:63
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2184
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:391
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:352
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:355
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:72
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:66
msgid "Collecting data..."
msgstr "جمع البيانات..."
msgid "Compute outgoing checksum (optional)."
msgstr "حساب المجموع الاختباري الصادر (اختياري)."
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Config File"
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4375
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
msgid "Configuration"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:764
msgid ""
-"Configures the operation mode of the <abbr title=\"Router "
-"Advertisement\">RA</abbr> service on this interface."
+"Configures the operation mode of the <abbr title=\"Router Advertisement"
+"\">RA</abbr> service on this interface."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:879
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/leds.js:59
msgid ""
-"Customizes the behaviour of the device <abbr title=\"Light Emitting "
-"Diode\">LED</abbr>s if possible."
+"Customizes the behaviour of the device <abbr title=\"Light Emitting Diode"
+"\">LED</abbr>s if possible."
msgstr ""
"يضبط إعدادات الأجهزة-<abbr title=\"Light Emitting Diode\">LED</abbr>-اذا "
"امكن."
msgid "DAE-Secret"
msgstr "سر -DAE"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:530
msgid "DHCP Options"
msgstr ""
msgid "DNS"
msgstr "نظام أسماء النطاقات"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:282
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:284
msgid "DNS forwardings"
msgstr "شحن DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:445
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:450
msgid "DNS query port"
msgstr "<abbr title=\"Domain Name System\">DNS</abbr> query port"
msgid "DNS search domains"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:443
msgid "DNS server port"
msgstr "منفذ سيرفر<abbr title=\" Domain Name System\">DNS</abbr> System>"
msgid "DNS-Label / FQDN"
msgstr "DNS-Label / FQDN"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
msgid "DNSSEC"
msgstr "DNSSEC"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:407
msgid "DNSSEC check unsigned"
msgstr "تحقق DNSSEC بدون توقيع"
msgstr "عنوان DS-Lite AFTR"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1481
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:44
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:45
msgid "DSL"
msgstr "DSL"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:14
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:15
msgid "DSL Status"
msgstr "حالة DSL"
msgstr "فترة DTIM"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:59
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:700
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:771
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:136
msgid "DUID"
msgstr "DUID"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
msgid "Data Rate"
msgstr "معدل البيانات"
msgid "Disassociate On Low Acknowledgement"
msgstr "إلغاء الارتباط عند الإقرار القليل"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:302
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
msgid ""
"Discard upstream responses containing <a href=\"%s\">RFC1918</a> addresses."
msgstr "تجاهل استجابات المنبع RFC1918"
msgid "Distributed ARP Table"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:548
msgid ""
"Dnsmasq instance to which this boot section is bound. If unspecified, the "
"section is valid for all dnsmasq instances."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:246
msgid ""
-"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</"
-"abbr> forwarder."
+"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</abbr> "
+"forwarder."
msgstr ""
-"Dnsmasq هو مزيج من خادم <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr>- و <abbr title=\"Domain Name System\">DNS</abbr>- "
-"معاد توجيهه إلى جدران الحماية <abbr title=\"Network Address "
-"Translation\">NAT</abbr>"
+"Dnsmasq هو مزيج من خادم <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr>- و <abbr title=\"Domain Name System\">DNS</abbr>- معاد توجيهه "
+"إلى جدران الحماية <abbr title=\"Network Address Translation\">NAT</abbr>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:419
msgid "Do not cache negative replies, e.g. for non-existent domains."
msgstr ""
"لا تقم بتخزين الردود السلبية مؤقتًا ، على سبيل المثال لغير المجالات الموجودة"
msgid "Do not create host route to peer (optional)."
msgstr "لا تقم بإنشاء مسار مضيف إلى نظير (اختياري)."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:262
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:264
msgid "Do not forward DNS queries without dots or domain parts."
msgstr ""
"لا تقم بإعادة توجيه طلبات <abbr title=\"Domain Name System\">DNS</abbr> بدون "
"إسم <abbr title=\"Domain Name System\">DNS</abbr>-"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
msgid "Do not forward reverse lookups for local networks."
msgstr "لا تقم بإعادة توجيه عمليات البحث العكسي للشبكات المحلية"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:339
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
msgid "Do not listen on the specified interfaces."
msgstr "منع الاستماع على هذه الواجهات."
msgid "Do you want to replace the current keys?"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:593
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:606
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:664
msgid "Domain"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:261
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:263
msgid "Domain required"
msgstr "المجال مطلوب"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:316
msgid "Domain whitelist"
msgstr "القائمة البيضاء للمجال"
msgid "Enable Single DES"
msgstr "تمكين واحد DES"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:480
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
msgid "Enable TFTP server"
msgstr "تفعيل خادم TFTP"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/uhttpd.js:14
msgid ""
-"Enable automatic redirection of <abbr title=\"Hypertext Transfer "
-"Protocol\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol "
-"Secure\">HTTPS</abbr> port."
+"Enable automatic redirection of <abbr title=\"Hypertext Transfer Protocol"
+"\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol Secure"
+"\">HTTPS</abbr> port."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:977
msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets."
msgstr "قم بتمكين علامة DF (عدم تجزئة) للحزم المغلفة."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:481
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
msgid "Enable the built-in single-instance TFTP server."
msgstr ""
msgid "Error getting PublicKey"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
msgid "Errored seconds (ES)"
msgstr "الثواني الخطأ (ES)"
msgid "Every second (fast, 1)"
msgstr "كل ثانية (سريع ، 1)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:343
msgid "Exclude interfaces"
msgstr "استبعاد واجهات"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
msgid ""
"Exempt <code>127.0.0.0/8</code> and <code>::1</code> from rebinding checks, "
"e.g. for RBL services."
msgid "Existing device"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:409
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
msgid "Expand hosts"
msgstr "قم بتوسيع المضيفين"
msgid "File"
msgstr "ملف"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
msgid ""
"File listing upstream resolvers, optionally domain-specific, e.g. "
"<code>server=1.2.3.4</code>, <code>server=/domain/1.2.3.4</code>."
msgid "File not accessible"
msgstr "الملف لا يمكن الوصول إليه"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:354
msgid "File to store DHCP lease information."
msgstr ""
"ملف حيث سيتم تخزين الإجازات المعطاة <abbr title = \"بروتوكول التكوين "
"الديناميكي للمضيف\"> DHCP </abbr>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:362
msgid "File with upstream resolvers."
msgstr "الملف محلي <abbr title=\"Domain Name System\">DNS</abbr>"
#: modules/luci-base/htdocs/luci-static/resources/ui.js:2846
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:507
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:512
msgid "Filename"
msgstr "اسم الملف"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:493
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:498
msgid "Filename of the boot image advertised to clients."
msgstr "تم الإعلان عن اسم ملف صورة الاشهار للعملاء"
msgid "Filesystem"
msgstr "نظام الملفات"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
msgid "Filter private"
msgstr "تصفية خاصة"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
msgid "Filter useless"
msgstr "تصفية عديمة الفائدة"
msgid "Firmware Version"
msgstr "نسخة برنامج ثابت"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:446
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:451
msgid "Fixed source port for outbound DNS queries."
msgstr "منفذ مصدر ثابت لاستعلامات DNS الصادرة"
msgid "Flashing…"
msgstr "تتبيت الصورة …"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:686
msgid "Force"
msgstr "أجبار"
msgid "Force use of NAT-T"
msgstr "فرض استخدام NAT-T"
-#: modules/luci-base/luasrc/view/csrftoken.htm:8
+#: modules/luci-base/ucode/template/csrftoken.ut:8
msgid "Form token mismatch"
msgstr "رمز النموذج غير متطابق"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:919
msgid ""
-"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr "
-"title=\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr "
-"title=\"Neighbour Advertisement, Type 136\">NA</abbr> messages between the "
-"designated master interface and downstream interfaces."
+"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr title="
+"\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr title=\"Neighbour "
+"Advertisement, Type 136\">NA</abbr> messages between the designated master "
+"interface and downstream interfaces."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:770
"downstream interfaces."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
msgid "Forward Error Correction Seconds (FECS)"
msgstr "ثواني تصحيح الخطأ الأمامي (FECS)"
msgid "Global network options"
msgstr "خيارات الشبكة العالمية"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:82
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:74
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:70
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:84
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:67
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:92
msgid "Go to firmware upgrade..."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:72
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:64
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:60
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:57
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:82
msgid "Go to password configuration..."
msgstr "انتقل إلى تكوين كلمة المرور ..."
msgid "Hang Up"
msgstr "قطع الخط"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
msgid "Header Error Code Errors (HEC)"
msgstr "رمز أخطاء (HEC)"
msgid "Host expiry timeout"
msgstr "انتهت مهلة انتهاء صلاحية المضيف"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
msgid "Host requests this filename from the boot server."
msgstr ""
msgstr "محتوى علامة Host-Uniq"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:38
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:607
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:678
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:54
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:87
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:135
msgid "Hostnames"
msgstr "أسماء المضيفين"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:551
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:622
msgid ""
"Hostnames are used to bind a domain name to an IP address. This setting is "
"redundant for hostnames already configured with static leases, but it can be "
msgid "IP Protocol"
msgstr "بروتوكول IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:260
msgid "IP Sets"
msgstr ""
msgid "IP Type"
msgstr "نوع IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:563
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:634
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:178
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:204
msgid "IP address"
msgid "IP protocol"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:660
msgid "IP set"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:300
msgid "IP sets"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:437
msgid "IPs to override with NXDOMAIN"
msgstr "تجاوز المجال الزائف NX"
#: modules/luci-base/htdocs/luci-static/resources/protocol/static.js:178
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:736
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:88
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:164
msgid "IPv4 address"
msgid "IPv6 suffix"
msgstr "لاحقة IPv6"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:706
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:777
msgid "IPv6 suffix (hex)"
msgstr ""
"لاحقة ( سداسية) <abbr title=\"Internet Protocol Version 6\">IPv6</abbr>"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:340
msgid ""
"If your physical memory is insufficient unused data can be temporarily "
-"swapped to a swap-device resulting in a higher amount of usable <abbr "
-"title=\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a "
-"very slow process as the swap-device cannot be accessed with the high "
-"datarates of the <abbr title=\"Random Access Memory\">RAM</abbr>."
+"swapped to a swap-device resulting in a higher amount of usable <abbr title="
+"\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a very "
+"slow process as the swap-device cannot be accessed with the high datarates "
+"of the <abbr title=\"Random Access Memory\">RAM</abbr>."
msgstr ""
"إذا كانت الذاكرة الفعلية الخاصة بك غير كافية ، فيمكن تبديل البيانات غير "
"المستخدمة مؤقتًا بجهاز المبادلة مما يؤدي إلى كمية أكبر من البيانات القابلة "
"للاستخدام <abbr title=\"Random Access Memory\">RAM</abbr>. كن على علم بأن "
"عملية تبادل البيانات هي عملية بطيئة للغاية حيث لا يمكن الوصول إلى جهاز "
-"المبادلة بالبيانات العالية الخاصة بـ <abbr title=\"Random Access "
-"Memory\">RAM</abbr>."
+"المبادلة بالبيانات العالية الخاصة بـ <abbr title=\"Random Access Memory"
+"\">RAM</abbr>."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:363
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:368
msgid "Ignore <code>/etc/hosts</code>"
msgstr "تجاهل <code> / etc / hosts </code>"
msgid "Ignore interface"
msgstr "تجاهل الواجهة"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:352
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
msgid "Ignore resolv file"
msgstr "تجاهل حل الملف"
"order to avoid broadcast loops that can bring the entire LAN to a standstill."
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:13
+#: modules/luci-base/ucode/template/csrftoken.ut:13
msgid ""
"In order to prevent unauthorized access to the system, your request has been "
"blocked. Click \"Continue »\" below to return to the previous page."
msgid "Install protocol extensions..."
msgstr "تثبيت ملحقات البروتوكول ..."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:547
msgid "Instance"
msgstr ""
msgid "Internal"
msgstr "داخلي"
-#: modules/luci-base/luasrc/view/error500.htm:8
-msgid "Internal Server Error"
-msgstr "خطأ في الخادم الداخلي"
-
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:285
msgid "Interval For Sending Learning Packets"
msgstr "الفاصل الزمني لإرسال حزم التعلم"
msgid "Invalid hexadecimal value"
msgstr "قيمة سداسية عشرية غير صالحة"
-#: modules/luci-base/luasrc/view/sysauth.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:37
+#: modules/luci-base/ucode/template/sysauth.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:32
msgid "Invalid username and/or password! Please try again."
msgstr "اسم المستخدم و / أو كلمة المرور غير صالحة! حاول مرة اخرى."
"يبدو أنك تحاول وميض صورة لا تتناسب مع ذاكرة الفلاش ، يرجى التحقق من ملف "
"الصورة!"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:89
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:96
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:77
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:91
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:72
msgid "JavaScript required!"
msgstr "مطلوب جافا سكريبت!"
msgid "Language and Style"
msgstr "اللغة والأسلوب"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:560
+msgid ""
+"Larger weights (of the same prio) are given a proportionately higher "
+"probability of being selected."
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:575
msgid "Last member interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
msgid "Latency"
msgstr "وقت الإستجابة"
msgid "Learn routes"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:348
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:353
msgid "Lease file"
msgstr "ملف الإيجار"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:697
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:768
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:679
msgid "Lease time"
msgstr "مدة الايجار"
msgid "Limit"
msgstr "حد"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
msgid "Line Attenuation (LATN)"
msgstr "توهين الخط (LATN)"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
msgid "Line Mode"
msgstr "وضع الخط"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:17
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
msgid "Line State"
msgstr "حالة الخط"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
msgid "Line Uptime"
msgstr "جهوزية الخط"
msgid "Link layer header bits %d-%d"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
msgid "List of IP addresses to convert into NXDOMAIN responses."
msgstr "قائمة المضيفين الذين يقدمون نتائج زائفة لمجال NX"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:296
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:581
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:652
msgid "List of IP sets to populate with the specified domain IPs."
msgstr ""
msgid "List of SSH key files for auth"
msgstr "قائمة ملفات مفتاح SSH للمصادقة"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:317
msgid "List of domains to allow RFC1918 responses for."
msgstr "قائمة المجالات التي تسمح باستجابات RFC1918 ل"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:290
-msgid "List of domains to force to an IP address."
-msgstr "قائمة المجالات التي سيتم فرضها على عنوان IP."
-
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:283
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:285
msgid "List of upstream resolvers to forward queries to."
msgstr ""
-"قائمة الخوادم لإعادة توجيه الطلبات إليها <abbr title=\"Domain Name "
-"System\">DNS</abbr>"
+"قائمة الخوادم لإعادة توجيه الطلبات إليها <abbr title=\"Domain Name System"
+"\">DNS</abbr>"
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:176
msgid "Listen Port"
msgstr "بوابة الاستماع"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:332
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:337
msgid "Listen interfaces"
msgstr "واجهات الاستماع"
msgid "Listen only on the given interface or, if unspecified, on all"
msgstr "استمع فقط على الواجهة المحددة أو على الكل ، إذا لم يتم تحديدها"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:333
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
msgid ""
"Listen only on the specified interfaces, and loopback if not excluded "
"explicitly."
msgid "ListenPort setting is invalid"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:439
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:444
msgid "Listening port for inbound DNS queries."
msgstr "منفذ الاستماع لاستعلامات DNS الواردة"
msgstr "تحميل محتويات الدليل …"
#: modules/luci-base/htdocs/luci-static/resources/luci.js:1942
-#: modules/luci-base/luasrc/view/view.htm:4
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:45
+#: modules/luci-base/ucode/template/view.ut:4
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:40
msgid "Loading view…"
msgstr "جارٍ تحميل العرض…"
msgid "Local ULA"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:273
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:275
msgid "Local domain"
msgstr "المجال المحلي"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:274
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:276
msgid "Local domain suffix appended to DHCP names and hosts file entries."
msgstr "يتم إلحاق لاحقة المجال المحلي بأسماء DHCP وإدخالات ملف المضيفين"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:269
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:271
msgid "Local server"
msgstr "السرفير المحلي"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:319
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:324
msgid "Local service only"
msgstr "الخدمة المحلية فقط"
msgid "Local wireguard key"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
msgid "Localise queries"
msgstr "تحديد تواجد الاستعلامات"
msgid "Log output level"
msgstr "مستوى إخراج السجل"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:277
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:279
msgid "Log queries"
msgstr "سجل الاستفسارات"
msgid "Logical network to which the tunnel will be added (bridged) (optional)."
msgstr "الشبكة المنطقية التي سيتم إضافة النفق إليها (جسور) (اختياري)."
-#: modules/luci-base/luasrc/view/sysauth.htm:38
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:41
+#: modules/luci-base/ucode/template/sysauth.ut:38
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:36
msgid "Login"
msgstr "تسجيل الدخول"
msgid "Loose filtering"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
msgid "Loss of Signal Seconds (LOSS)"
msgstr "فقدان ثانية الإشارة (LOSS)"
msgid "Lowest leased address as offset from the network address."
msgstr "أقل عنوان مؤجر تمت إزاحته من عنوان الشبكة."
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/footer.ut:12
+msgid "Lua compatibility mode active"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:48
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:83
msgid "MAC"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:591
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:40
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:619
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1164
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2177
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:56
msgid "MTU"
msgstr "MTU"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:259
+msgid "MX"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:303
msgid ""
"Make sure to clone the root filesystem using something like the commands "
msgid "Max <abbr title=\"Router Advertisement\">RA</abbr> interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
msgid "Max. Attainable Data Rate (ATTNDR)"
msgstr "الأعلى. معدل البيانات الممكن تحقيقه (ATTNDR)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:457
msgid "Max. DHCP leases"
msgstr ""
"إيجارات <abbr title=\"maximal\">Max.</abbr> <abbr title=\"Dynamic Host "
"Configuration Protocol\">DHCP</abbr>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:459
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:464
msgid "Max. EDNS0 packet size"
msgstr ""
"حجم الحزمة <abbr title=\"maximal\">Max.</abbr> <abbr title=\"Extension "
"Mechanisms for Domain Name System\">EDNS0</abbr>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:466
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:471
msgid "Max. concurrent queries"
msgstr "<abbr title=\"maximal\">Max.</abbr> أقصى استفسارات متزامنة"
msgid "Maximum allowed Listen Interval"
msgstr "الحد الأقصى المسموح به لفاصل الاستماع"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:453
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:458
msgid "Maximum allowed number of active DHCP leases."
msgstr "العدد الأقصى المسموح به لعقود إيجار DHCP النشطة"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:467
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:472
msgid "Maximum allowed number of concurrent DNS queries."
msgstr "العدد الأقصى المسموح به لاستعلامات DNS المتزامنة"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:460
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:465
msgid "Maximum allowed size of EDNS0 UDP packets."
msgstr "الحجم الأقصى المسموح به لحزم EDNS.0 UDP"
msgid "Maximum transmit power"
msgstr "قوة الإرسال القصوى"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:394
msgid "May prevent VoIP or other services from working."
msgstr ""
msgid "Name of the tunnel device"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:46
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:39
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:50
msgid "Navigation"
msgstr "التنقل"
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:10
+msgid "Nebula Network"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:653
msgid "Neighbour cache validity"
msgstr ""
msgid "Network address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:492
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:497
msgid "Network boot image"
msgstr "صورة تمهيد الشبكة"
msgid "Network interface"
msgstr "واجهة الشبكة"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:536
msgid "Network-ID"
msgstr ""
msgid "Never"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:270
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:272
msgid ""
"Never forward matching domains and subdomains, resolve from DHCP or hosts "
"files only."
msgid "No RX signal"
msgstr "لا توجد إشارة RX"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:80
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:87
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:68
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:82
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:65
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:90
msgid ""
"No changes to settings will be stored and are lost after rebooting. This "
msgid "No entries in this directory"
msgstr "لا توجد إدخالات في هذا الدليل"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:82
-msgid "No files found"
-msgstr "لا توجد ملفات"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:833
msgid ""
"No fixed interface listening port defined, peers might not be able to "
msgid "No more slaves available, can not save interface"
msgstr "لا مزيد من المستخدمين متاحين ، لا يمكن حفظ الواجهة"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:413
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
msgid "No negative cache"
msgstr "لا توجد ذاكرة تخزين مؤقت سلبية"
msgid "No nftables ruleset loaded."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:69
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:61
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:57
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:54
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:79
msgid "No password set!"
msgstr "لم يتم تعيين كلمة مرور!"
msgid "Noise"
msgstr "التشويش"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
msgid "Noise Margin (SNR)"
msgstr "هامش التشويش (SNR)"
msgid "Noise:"
msgstr "التشويش:"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
msgid "Non Pre-emptive CRC errors (CRC_P)"
msgstr "أخطاء CRC غير استباقية (CRC_P)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:330
msgid "Non-wildcard"
msgstr "غير البدل"
msgid "Normal"
msgstr "عادي"
-#: modules/luci-base/luasrc/view/error404.htm:8
+#: modules/luci-base/ucode/template/error404.ut:9
msgid "Not Found"
msgstr "غير موجود"
msgid "Number of IGMP membership reports"
msgstr "عدد تقارير عضوية IGMP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:474
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:479
msgid "Number of cached DNS entries, 10000 is maximum, 0 is no caching."
msgstr ""
"عدد إدخالات DNS المخزنة مؤقتًا (الحد الأقصى 10000 ، 0 لا يوجد تخزين مؤقت)"
msgid "On-link"
msgstr "طريق على الارتباط"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:672
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:743
msgid "One of hostname or MAC address must be specified!"
msgstr "يجب تحديد اسم مضيف أو عنوان mac!"
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:472
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:19
msgid "Open list..."
msgstr "فتح القائمة ..."
msgid "Options"
msgstr "خيارات"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:526
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
msgid ""
"Options for the Network-ID. (Note: needs also Network-ID.) E.g. "
-"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</"
-"code>\" for default route. <code>0.0.0.0</code> means \"the address of the "
-"system running dnsmasq\"."
+"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</code>"
+"\" for default route. <code>0.0.0.0</code> means \"the address of the system "
+"running dnsmasq\"."
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:125
msgid "Options:"
msgstr "خيارات:"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
+msgid "Ordinal: lower comes first."
+msgstr ""
+
#: protocols/luci-proto-batman-adv/htdocs/luci-static/resources/protocol/batadv.js:55
msgid "Originator Interval"
msgstr ""
msgid "Pass-through (Mirror physical device to single MAC VLAN)"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:29
+#: modules/luci-base/ucode/template/sysauth.ut:29
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1690
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:51
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:114
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:103
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:24
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:19
msgid "Password"
msgstr "كلمة المرور"
msgid "Pkts."
msgstr "الحزم."
-#: modules/luci-base/luasrc/view/sysauth.htm:19
+#: modules/luci-base/ucode/template/sysauth.ut:19
msgid "Please enter your username and password."
msgstr "الرجاء إدخال اسم المستخدم وكلمة المرور الخاصة بك."
msgid "Policy: <strong>%h</strong> (%h)"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:579
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:21
msgid "Port"
msgstr "المنفذ"
msgid "Potential negation of: %s"
msgstr "النفي المحتمل ل: s%"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:38
msgid "Power Management Mode"
msgstr "وضع إدارة الطاقة"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
msgid "Pre-emptive CRC errors (CRCP_P)"
msgstr "أخطاء CRC الاستباقية (CRCP_P)"
msgstr "يصبح الأساسي مستخدماً نشطًا كلما ظهر مرة أخرى (دائمًا ، 0)"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:129
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:197
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:223
msgid "Quality"
msgstr "جودة"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
msgid "Query all available upstream resolvers."
msgstr ""
-"الاستعلام عن جميع خوادم المنبع المتاحة <abbr title=\"Domain Name "
-"System\">DNS</abbr>"
+"الاستعلام عن جميع خوادم المنبع المتاحة <abbr title=\"Domain Name System"
+"\">DNS</abbr>"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:556
msgid "Query interval"
msgstr ""
"بايت خام بترميز سداسي عشري. اتركه فارغًا ما لم يطلب مزود خدمة الإنترنت ذلك"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:345
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:350
msgid "Read <code>/etc/ethers</code> to configure the DHCP server."
msgstr ""
"اقرأ <code>/etc/ethers</code> لتكوين الخادم <abbr title=\"Dynamic Host "
msgid "Reassociation Deadline"
msgstr "الموعد النهائي لإعادة التجمع"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
msgid "Rebind protection"
msgstr "إعادة ربط الحماية"
msgstr ""
#: modules/luci-compat/luasrc/model/network/proto_relay.lua:153
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:611
#: protocols/luci-proto-relay/htdocs/luci-static/resources/protocol/relay.js:39
msgid "Relay"
msgstr "تناوب"
msgid "Required. Base64-encoded private key for this interface."
msgstr "مطلوب. المفتاح الخاص بترميز Base64 لهذه الواجهة."
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Required. Path to the .yml config file for this interface."
+msgstr ""
+
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:587
msgid "Required. Public key of the WireGuard peer."
msgstr ""
msgstr "سياسة إعادة الاختيار للمستخدم الأساسي"
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2197
-#: modules/luci-base/luasrc/view/sysauth.htm:39
+#: modules/luci-base/ucode/template/sysauth.ut:39
#: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
#: modules/luci-compat/luasrc/view/cbi/footer.htm:30
#: modules/luci-compat/luasrc/view/cbi/simpleform.htm:66
msgid "Resolv and Hosts Files"
msgstr "لمفات resolv و hosts"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:356
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:361
msgid "Resolv file"
msgstr "ملف resolve"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:292
+msgid "Resolve specified FQDNs to an IP."
+msgstr "قائمة المجالات التي سيتم فرضها على عنوان IP."
+
#: modules/luci-base/htdocs/luci-static/resources/rpc.js:405
msgid "Resource not found"
msgstr "الموارد غير موجود"
msgid "Restore backup"
msgstr "استرجاع النسخة الاحتياطية"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
msgid ""
"Return answers to DNS queries matching the subnet from which the query was "
"received if multiple IPs are available."
msgid "Robustness"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:491
msgid ""
"Root directory for files served via TFTP. <em>Enable TFTP server</em> and "
"<em>TFTP server root</em> turn on the TFTP server and serve files from "
msgid "SNR"
msgstr "SNR"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "SRV"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:10
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:38
msgid "SSH Access"
msgid "Server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:524
msgid "Server address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:518
msgid "Server name"
msgstr ""
msgid "Setup routes for proxied IPv6 neighbours."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
msgid "Severely Errored Seconds (SES)"
msgstr "الثواني التي بها أخطاء جسيمة (SES)"
msgstr "لمحة سريعة"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:470
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:18
msgid "Show current backup file list"
msgstr "إظهار قائمة ملفات النسخ الاحتياطي الحالية"
msgid "Signal / Noise"
msgstr "إشارة / تشويش"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
msgid "Signal Attenuation (SATN)"
msgstr "توهين الإشارة (SATN)"
msgid "Size"
msgstr "مقاس"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:473
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:478
msgid "Size of DNS query cache"
msgstr "حجم ذاكرة التخزين المؤقت لاستعلام DNS"
msgid "Skip from backup files that are equal to those in /rom"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:42
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:35
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:46
msgid "Skip to content"
msgstr "تخطى الى المحتوى"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:41
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:34
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:45
msgid "Skip to navigation"
msgstr "تخطي إلى التصفح"
msgid "Some fields are invalid, cannot save values!"
msgstr "بعض الحقول غير صالحة ، لا يمكن حفظ القيم!"
-#: modules/luci-base/luasrc/view/error404.htm:9
+#: modules/luci-base/ucode/template/error404.ut:10
msgid "Sorry, the object you requested was not found."
msgstr "عذرا ، الشيء الذي طلبته لم يتم العثور عليه."
-#: modules/luci-base/luasrc/view/error500.htm:9
-msgid "Sorry, the server encountered an unexpected error."
-msgstr "عذرا ، واجه الخادم خطأ غير متوقع."
-
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:442
msgid ""
"Sorry, there is no sysupgrade support present; a new firmware image must be "
msgid "Source port"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:505
msgid ""
"Special <abbr title=\"Preboot eXecution Environment\">PXE</abbr> boot "
"options for Dnsmasq."
msgid "Static address"
msgstr "عنوان ثابت"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:598
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:669
msgid ""
"Static leases are used to assign fixed IP addresses and symbolic hostnames "
"to DHCP clients. They are also required for non-dynamic interface "
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:16
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:541
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:929
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:9
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:9
msgid "Status"
msgstr "الحالة"
msgid "Strict filtering"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
msgid "Strict order"
msgstr "ترتيب صارم"
msgid "Submit"
msgstr "أرسل"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
msgid "Suppress logging"
msgstr "قم بإلغاء التسجيل"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:373
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
msgid "Suppress logging of the routine operation for the DHCP protocol."
msgstr "قم بإيقاف تسجيل العملية الروتينية لهذه البروتوكولات"
msgid "Sync with browser"
msgstr "تزامن مع المتصفح"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:293
+msgid "Syntax: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "Syntax: <code>_service._proto.example.com</code>."
+msgstr ""
+
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:26
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:17
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:113
msgid "System log buffer size"
msgstr "حجم المخزن المؤقت لسجل النظام"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:79
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:86
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:71
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:67
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:81
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:64
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:89
msgid "System running in recovery (initramfs) mode."
msgstr ""
msgid "TCP:"
msgstr "TCP:"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:490
msgid "TFTP server root"
msgstr "جذر خادم TFTP"
msgid "Table"
msgstr "جدول"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:56
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:66
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:187
"تم تغيير تكوين تحديث نقطة نهاية HE.net ، يجب عليك الآن استخدام اسم المستخدم "
"العادي بدلاً من معرف المستخدم!"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:681
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:752
msgid "The IP address %h is already used by another static lease"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:761
msgid "The IP address is outside of any DHCP pool address range"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:520
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
msgid "The IP address of the boot server"
msgstr ""
"to be received and retransmitted which costs airtime)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:514
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
msgid "The hostname of the boot server"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/switch.js:139
msgid ""
-"The network ports on this device can be combined to several <abbr "
-"title=\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
+"The network ports on this device can be combined to several <abbr title="
+"\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
"communicate directly with each other. <abbr title=\"Virtual Local Area "
"Network\">VLAN</abbr>s are often used to separate different network "
"segments. Often there is by default one Uplink port for a connection to the "
msgid "The selected %s mode is incompatible with %s encryption"
msgstr "وضع%s المحدد غير متوافق مع تشفير%s"
-#: modules/luci-base/luasrc/view/csrftoken.htm:11
+#: modules/luci-base/ucode/template/csrftoken.ut:11
msgid "The submitted security token is invalid or already expired!"
msgstr "رمز الأمان المقدم غير صالح أو انتهت صلاحيته بالفعل!"
"nftables rules is discouraged and may lead to incomplete traffic filtering."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:746
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:778
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:817
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:849
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:130
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:179
msgid "There are no active leases"
msgid "There are no changes to apply"
msgstr "لا توجد تغييرات لتطبيقها"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:70
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:58
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:55
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:80
msgid ""
"There is no password set on this router. Please configure a root password to "
msgstr "لا يبدو هذا كملف PEM صالح"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:16
msgid ""
"This is a list of shell glob patterns for matching files and directories to "
"include during sysupgrade. Modified files in /etc/config/ and certain other "
"هذا هو عنوان نقطة النهاية المحلية المعين من قبل وسيط النفق ، وعادة ما ينتهي "
"ب <code> ...: 2/64 </code>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:266
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:268
msgid "This is the only DHCP server in the local network."
msgstr ""
"هذا هو <abbr title = \"بروتوكول التكوين الديناميكي للمضيف\"> DHCP </abbr> "
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:440
msgid ""
"To fully configure the local WireGuard interface from an existing (e.g. "
-"provider supplied) configuration file, use the <strong><a class=\"full-"
-"import\" href=\"#\">configuration import</a></strong> instead."
+"provider supplied) configuration file, use the <strong><a class=\"full-import"
+"\" href=\"#\">configuration import</a></strong> instead."
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2674
"reset\" (only possible with squashfs images)."
msgstr ""
"لاستعادة ملفات التكوين ، يمكنك تحميل أرشيف نسخ احتياطي تم إنشاؤه مسبقًا هنا. "
-"لإعادة تعيين البرنامج الثابت إلى حالته الأولية ، انقر فوق \"إجراء إعادة "
-"الضبط\" (هذا ممكن فقط مع صور squashfs)."
+"لإعادة تعيين البرنامج الثابت إلى حالته الأولية ، انقر فوق \"إجراء إعادة الضبط"
+"\" (هذا ممكن فقط مع صور squashfs)."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1501
msgid "Tone"
msgid "Unable to determine upstream interface"
msgstr "تعذر تحديد واجهة المنبع"
-#: modules/luci-base/luasrc/view/error404.htm:11
+#: modules/luci-base/ucode/template/error404.ut:12
msgid "Unable to dispatch"
msgstr "غير قادر على الإرسال"
msgid "Unable to verify PIN"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
msgid "Unavailable Seconds (UAS)"
msgstr "الثواني غير المتاحة (UAS)"
"will be restarted to apply the updated configuration."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
msgid "Upstream resolvers will be queried in the order of the resolv file."
msgstr ""
"<abbr title=\"Domain Name System\">DNS</abbr> سيتم الاستعلام عن الخوادم "
msgid "Uptime"
msgstr "مدة التشغيل"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
msgid "Use <code>/etc/ethers</code>"
msgstr "استخدم <code> / etc / ethers </code>"
msgid "Use system certificates for inner-tunnel"
msgstr "استخدم شهادات النظام للنفق الداخلي"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:599
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:670
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC address</"
"em> identifies the host, the <em>IPv4 address</em> specifies the fixed "
msgid "User key (PEM encoded)"
msgstr "مفتاح المستخدم (مشفر PEM)"
-#: modules/luci-base/luasrc/view/sysauth.htm:23
+#: modules/luci-base/ucode/template/sysauth.ut:23
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:112
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:101
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:56
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:18
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:13
msgid "Username"
msgstr "اسم المستخدم"
msgid "VXLANv6 (RFC7348)"
msgstr "شبكة محلية افتراضية قابلة للتوسيع VXLANv6 (RFC7348)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
msgid ""
"Validate DNS replies and cache DNSSEC data, requires upstream to support "
"DNSSEC."
msgid "Vendor Class to send when requesting DHCP"
msgstr "إرسال فئة البائع عند طلب DHCP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:408
msgid "Verify unsigned domain responses really come from unsigned domains."
msgstr ""
msgid "Weak"
msgstr "ضعيف"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+msgid "Weight"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1029
msgid ""
"When delegating prefixes to multiple downstreams, interfaces with a higher "
msgid "Wireless network is enabled"
msgstr "تم تمكين الشبكة اللاسلكية"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:278
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:280
msgid "Write received DNS queries to syslog."
msgstr "اكتب طلبات DNS المستلمة إلى سجل النظام"
"إعادة تشغيل الجهاز. <br /> <strong> تحذير: إذا عطلت البرامج النصية الأساسية "
"للبادئ مثل \"الشبكة\" ، فقد يتعذر الوصول إلى جهازك! </ strong>"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:90
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:97
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
+msgid "You may add multiple records for the same Target."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:596
+msgid "You may add multiple records for the same domain."
+msgstr ""
+
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:78
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:92
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:73
msgid ""
"You must enable JavaScript in your browser or LuCI will not work properly."
msgid "ZRam Size"
msgstr "حجم ZRam"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:558
+msgid "_proto: _tcp, _udp, _sctp, _quic, … ."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:557
+msgid ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Note: while _http is "
+"possible, no browsers support SRV records.)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:454
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:152
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:163
msgid "any"
msgid "e.g: dump"
msgstr "على سبيل المثال: dump"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:726
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:756
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:797
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:827
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:101
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:148
msgid "expired"
msgid "unknown"
msgstr "غير معروف"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:456
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:724
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:754
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:461
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:795
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:825
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:99
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:146
msgid "unlimited"
#: modules/luci-base/htdocs/luci-static/resources/validation.js:450
msgid "value between %d and %d characters"
-msgstr "قيمة بين %d و%d حرف"
+msgstr "قيمة بين %d و%d حرفًا"
#: modules/luci-base/htdocs/luci-static/resources/validation.js:431
msgid "value between %f and %f"
#: modules/luci-base/htdocs/luci-static/resources/validation.js:435
msgid "value greater or equal to %f"
-msgstr "قيمة أكبر أو تساوي %f"
+msgstr "قيمة أكبر من أو تساوي %f"
#: modules/luci-base/htdocs/luci-static/resources/validation.js:439
msgid "value smaller or equal to %f"
-msgstr "قيمة أصغر أو تساوي %f"
+msgstr "قيمة أصغر من أو تساوي %f"
#: modules/luci-base/htdocs/luci-static/resources/validation.js:444
msgid "value with %d characters"
-msgstr "قيمة مع %d حرف"
+msgstr "قيمة تحتوي على d% حرفًا"
#: modules/luci-base/htdocs/luci-static/resources/validation.js:455
msgid "value with at least %d characters"
#: modules/luci-base/htdocs/luci-static/resources/validation.js:460
msgid "value with at most %d characters"
-msgstr "Ù\82Ù\8aÙ\85Ø© بØد Ø£Ù\82صÙ\89 d% ØرÙ\81"
+msgstr "Ù\82Ù\8aÙ\85Ø© تØتÙ\88Ù\8a عÙ\84Ù\89 d% ØرÙ\81Ù\8bا Ù\83Øد Ø£Ù\82صÙ\89"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1401
msgid "weak security"
-msgstr "ضعف الأمن"
+msgstr "ضعÙ\8aÙ\81 اÙ\84Ø£Ù\85Ù\86"
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:72
msgctxt "nft unit"
msgid "week"
-msgstr ""
+msgstr "إسبوع"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:47
msgid "yes"
msgid "« Back"
msgstr "إرجع >>"
+#~ msgid "Back to configuration"
+#~ msgstr "الرجوع إلى التشكيل"
+
+#~ msgid "Close list..."
+#~ msgstr "إغلاق القائمة ..."
+
+#~ msgid "Internal Server Error"
+#~ msgstr "خطأ في الخادم الداخلي"
+
+#~ msgid "No files found"
+#~ msgstr "لا توجد ملفات"
+
+#~ msgid "Sorry, the server encountered an unexpected error."
+#~ msgstr "عذرا ، واجه الخادم خطأ غير متوقع."
+
#~ msgid "Do not forward queries that cannot be answered by public resolvers."
#~ msgstr ""
#~ "لا تقم بإعادة توجيه الطلبات التي لا يمكن الرد عليها بواسطة خوادم الأسماء "
msgid "<abbr title=\"Router Advertisement\">RA</abbr>-Service"
msgstr "<abbr title=\"Router Advertisement\">RA</abbr>-Сървис"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:294
+msgid ""
+"<code>/#/</code> matches any domain. <code>/example.com/</code> returns "
+"NXDOMAIN."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+msgid ""
+"<code>/example.com/#</code> returns NULL addresses (<code>0.0.0.0</code> and "
+"<code>::</code>) for example.com and its subdomains."
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:87
msgctxt "nft relational \">\" operator expression"
msgid "<var>%s</var> greater than <strong>%s</strong>"
msgid "ATM device number"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
msgid "ATU-C System Vendor ID"
msgstr ""
msgid "Absent Interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:320
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
msgid "Accept DNS queries only from hosts whose address is on a local subnet."
msgstr ""
msgid "Add key"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:410
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:415
msgid "Add local domain suffix to names served from hosts files."
msgstr ""
msgid "Add to Whitelist"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:367
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
msgid "Additional hosts files"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:417
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
msgid "Additional servers file"
msgstr ""
msgid "Address to access local relay bridge"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:289
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:291
msgid "Addresses"
msgstr ""
msgid "Aggregate Originator Messages"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
msgid "Aggregate Transmit Power (ACTATP)"
msgstr ""
msgid "Alias of \"%s\""
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
msgid "All servers"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
msgid ""
"Allocate IP addresses sequentially, starting from the lowest available "
"address."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
msgid "Allocate IPs sequentially"
msgstr ""
msgid "Allow listed only"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
msgid "Allow localhost"
msgstr ""
msgid "Always on (kernel: default-on)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:538
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
msgid "Always send DHCP Options. Sometimes needed, with e.g. PXELinux."
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1484
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
msgid "Annex"
msgstr ""
msgid "Any zone"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:532
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
msgid "Apply DHCP Options to this net. (Empty = all clients)."
msgstr ""
msgid "Authentication Type"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:265
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:267
msgid "Authoritative"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:17
+#: modules/luci-base/ucode/template/sysauth.ut:17
#: themes/luci-theme-bootstrap/htdocs/luci-static/resources/view/bootstrap/sysauth.js:11
msgid "Authorization Required"
msgstr ""
msgid "Avoid Bridge Loops"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
msgid ""
"Avoid uselessly triggering dial-on-demand links (filters SRV/SOA records and "
"names with underscores)."
msgid "Back to Overview"
msgstr "Обратно към Общ преглед"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:48
-msgid "Back to configuration"
-msgstr "Обратно към Конфигуриране"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:826
msgid "Back to peer configuration"
msgstr ""
msgstr "Архивиране / Флаш на фърмуера"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:351
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:12
msgid "Backup file list"
msgstr "Списък с файлове за архивиране"
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:352
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:46
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
msgid "Bind NTP server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:326
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:331
msgid "Bind dynamically to interfaces rather than wildcard address."
msgstr ""
"Свързване динамично с интерфейси, а не със wildcard адрес (препоръчва се по "
msgid "Bind interface"
msgstr "Свързване на интерфейс"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:595
+msgid ""
+"Bind service records to a domain name: specify the location of services."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:556
+msgid ""
+"Bind service records to a domain name: specify the location of services. See "
+"<a href=\"%s\">RFC2782</a>."
+msgstr ""
+
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gre.js:59
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gretap.js:64
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/grev6.js:64
msgid "CLAT configuration failed"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
+msgid "CNAME or fqdn"
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/processes.js:72
msgid "CPU usage (%)"
msgstr "Използване на процесора (%)"
"Затваряне на неактивна връзка след зададения брой секунди, използвайте 0, за "
"да запазите връзката"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:49
-msgid "Close list..."
-msgstr "Затвори списъка..."
-
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:44
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:63
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2184
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:391
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:352
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:355
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:72
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:66
msgid "Collecting data..."
msgstr "Събиране данни..."
msgid "Compute outgoing checksum (optional)."
msgstr "Изчисляване на изходяща контролна сума (по избор)."
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Config File"
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4375
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
msgid "Configuration"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:764
msgid ""
-"Configures the operation mode of the <abbr title=\"Router "
-"Advertisement\">RA</abbr> service on this interface."
+"Configures the operation mode of the <abbr title=\"Router Advertisement"
+"\">RA</abbr> service on this interface."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:879
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/leds.js:59
msgid ""
-"Customizes the behaviour of the device <abbr title=\"Light Emitting "
-"Diode\">LED</abbr>s if possible."
+"Customizes the behaviour of the device <abbr title=\"Light Emitting Diode"
+"\">LED</abbr>s if possible."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:673
msgid "DAE-Secret"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:530
msgid "DHCP Options"
msgstr ""
msgid "DNS"
msgstr "DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:282
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:284
msgid "DNS forwardings"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:445
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:450
msgid "DNS query port"
msgstr "Порт за заявки за DNS"
msgid "DNS search domains"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:443
msgid "DNS server port"
msgstr ""
msgid "DNS-Label / FQDN"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
msgid "DNSSEC"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:407
msgid "DNSSEC check unsigned"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1481
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:44
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:45
msgid "DSL"
msgstr "DSL"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:14
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:15
msgid "DSL Status"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:59
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:700
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:771
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:136
msgid "DUID"
msgstr "DUID"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
msgid "Data Rate"
msgstr ""
msgid "Disassociate On Low Acknowledgement"
msgstr "Дисоцииране при ниско потвърждение"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:302
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
msgid ""
"Discard upstream responses containing <a href=\"%s\">RFC1918</a> addresses."
msgstr ""
msgid "Distributed ARP Table"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:548
msgid ""
"Dnsmasq instance to which this boot section is bound. If unspecified, the "
"section is valid for all dnsmasq instances."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:246
msgid ""
-"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</"
-"abbr> forwarder."
+"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</abbr> "
+"forwarder."
msgstr ""
"Dnsmasq е лек <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</"
"abbr> сървър и <abbr title=\"Domain Name System\">DNS</abbr> препращач."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:419
msgid "Do not cache negative replies, e.g. for non-existent domains."
msgstr "Не кеширайте отрицателни отговори, например за несъществуващи домейни."
msgid "Do not create host route to peer (optional)."
msgstr "Да не се създава маршрут към хост на партньор (по избор)."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:262
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:264
msgid "Do not forward DNS queries without dots or domain parts."
msgstr "Не препращай DNS заявки без точки или домейн части."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
msgid "Do not forward reverse lookups for local networks."
msgstr "Не препращай обратно търсене за локални мрежи."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:339
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
msgid "Do not listen on the specified interfaces."
msgstr "Да не се слуша на посочените интерфейси."
msgid "Do you want to replace the current keys?"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:593
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:606
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:664
msgid "Domain"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:261
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:263
msgid "Domain required"
msgstr "Изисква се домейн"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:316
msgid "Domain whitelist"
msgstr "Бял списък на домейни"
msgid "Enable Single DES"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:480
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
msgid "Enable TFTP server"
msgstr "Разрешаване на TFTP сървър"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/uhttpd.js:14
msgid ""
-"Enable automatic redirection of <abbr title=\"Hypertext Transfer "
-"Protocol\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol "
-"Secure\">HTTPS</abbr> port."
+"Enable automatic redirection of <abbr title=\"Hypertext Transfer Protocol"
+"\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol Secure"
+"\">HTTPS</abbr> port."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:977
msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:481
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
msgid "Enable the built-in single-instance TFTP server."
msgstr ""
msgid "Error getting PublicKey"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
msgid "Errored seconds (ES)"
msgstr ""
msgid "Every second (fast, 1)"
msgstr "Всяка секунда (бързо, 1)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:343
msgid "Exclude interfaces"
msgstr "Изключване на интерфейси"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
msgid ""
"Exempt <code>127.0.0.0/8</code> and <code>::1</code> from rebinding checks, "
"e.g. for RBL services."
msgid "Existing device"
msgstr "Съществуващо устройство"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:409
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
#, fuzzy
msgid "Expand hosts"
msgstr "Разгъване на хостове"
msgid "File"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
msgid ""
"File listing upstream resolvers, optionally domain-specific, e.g. "
"<code>server=1.2.3.4</code>, <code>server=/domain/1.2.3.4</code>."
msgid "File not accessible"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:354
msgid "File to store DHCP lease information."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:362
msgid "File with upstream resolvers."
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/ui.js:2846
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:507
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:512
msgid "Filename"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:493
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:498
msgid "Filename of the boot image advertised to clients."
msgstr ""
msgid "Filesystem"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
msgid "Filter private"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
msgid "Filter useless"
msgstr ""
msgid "Firmware Version"
msgstr "Версия на firmware"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:446
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:451
msgid "Fixed source port for outbound DNS queries."
msgstr ""
msgid "Flashing…"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:686
msgid "Force"
msgstr ""
msgid "Force use of NAT-T"
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:8
+#: modules/luci-base/ucode/template/csrftoken.ut:8
msgid "Form token mismatch"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:919
msgid ""
-"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr "
-"title=\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr "
-"title=\"Neighbour Advertisement, Type 136\">NA</abbr> messages between the "
-"designated master interface and downstream interfaces."
+"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr title="
+"\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr title=\"Neighbour "
+"Advertisement, Type 136\">NA</abbr> messages between the designated master "
+"interface and downstream interfaces."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:770
"downstream interfaces."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
msgid "Forward Error Correction Seconds (FECS)"
msgstr ""
msgid "Global network options"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:82
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:74
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:70
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:84
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:67
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:92
msgid "Go to firmware upgrade..."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:72
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:64
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:60
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:57
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:82
msgid "Go to password configuration..."
msgstr ""
msgid "Hang Up"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
msgid "Header Error Code Errors (HEC)"
msgstr ""
msgid "Host expiry timeout"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
msgid "Host requests this filename from the boot server."
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:38
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:607
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:678
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:54
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:87
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:135
msgid "Hostnames"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:551
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:622
msgid ""
"Hostnames are used to bind a domain name to an IP address. This setting is "
"redundant for hostnames already configured with static leases, but it can be "
msgid "IP Protocol"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:260
msgid "IP Sets"
msgstr ""
msgid "IP Type"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:563
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:634
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:178
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:204
msgid "IP address"
msgid "IP protocol"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:660
msgid "IP set"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:300
msgid "IP sets"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:437
msgid "IPs to override with NXDOMAIN"
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/protocol/static.js:178
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:736
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:88
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:164
msgid "IPv4 address"
msgid "IPv6 suffix"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:706
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:777
msgid "IPv6 suffix (hex)"
msgstr "<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Съфикс(hex)"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:340
msgid ""
"If your physical memory is insufficient unused data can be temporarily "
-"swapped to a swap-device resulting in a higher amount of usable <abbr "
-"title=\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a "
-"very slow process as the swap-device cannot be accessed with the high "
-"datarates of the <abbr title=\"Random Access Memory\">RAM</abbr>."
+"swapped to a swap-device resulting in a higher amount of usable <abbr title="
+"\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a very "
+"slow process as the swap-device cannot be accessed with the high datarates "
+"of the <abbr title=\"Random Access Memory\">RAM</abbr>."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:363
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:368
msgid "Ignore <code>/etc/hosts</code>"
msgstr ""
msgid "Ignore interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:352
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
msgid "Ignore resolv file"
msgstr ""
"order to avoid broadcast loops that can bring the entire LAN to a standstill."
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:13
+#: modules/luci-base/ucode/template/csrftoken.ut:13
msgid ""
"In order to prevent unauthorized access to the system, your request has been "
"blocked. Click \"Continue »\" below to return to the previous page."
msgid "Install protocol extensions..."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:547
msgid "Instance"
msgstr ""
msgid "Internal"
msgstr ""
-#: modules/luci-base/luasrc/view/error500.htm:8
-msgid "Internal Server Error"
-msgstr ""
-
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:285
msgid "Interval For Sending Learning Packets"
msgstr ""
msgid "Invalid hexadecimal value"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:37
+#: modules/luci-base/ucode/template/sysauth.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:32
msgid "Invalid username and/or password! Please try again."
msgstr "Невалидно потребителско име и/или парола! Моля, опитайте отново."
"Изглежда, че се опитвате да флашнете фирмуеър, което не се побира във флаш "
"паметта, моля, проверете файла с изображението!"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:89
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:96
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:77
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:91
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:72
msgid "JavaScript required!"
msgstr ""
msgid "Language and Style"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:560
+msgid ""
+"Larger weights (of the same prio) are given a proportionately higher "
+"probability of being selected."
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:575
msgid "Last member interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
msgid "Latency"
msgstr ""
msgid "Learn routes"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:348
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:353
msgid "Lease file"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:697
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:768
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:679
msgid "Lease time"
msgstr ""
msgid "Limit"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
msgid "Line Attenuation (LATN)"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
msgid "Line Mode"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:17
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
msgid "Line State"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
msgid "Line Uptime"
msgstr ""
msgid "Link layer header bits %d-%d"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
msgid "List of IP addresses to convert into NXDOMAIN responses."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:296
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:581
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:652
msgid "List of IP sets to populate with the specified domain IPs."
msgstr ""
msgid "List of SSH key files for auth"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:317
msgid "List of domains to allow RFC1918 responses for."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:290
-msgid "List of domains to force to an IP address."
-msgstr ""
-
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:283
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:285
msgid "List of upstream resolvers to forward queries to."
msgstr ""
msgid "Listen Port"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:332
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:337
msgid "Listen interfaces"
msgstr ""
msgid "Listen only on the given interface or, if unspecified, on all"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:333
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
msgid ""
"Listen only on the specified interfaces, and loopback if not excluded "
"explicitly."
msgid "ListenPort setting is invalid"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:439
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:444
msgid "Listening port for inbound DNS queries."
msgstr ""
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:1942
-#: modules/luci-base/luasrc/view/view.htm:4
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:45
+#: modules/luci-base/ucode/template/view.ut:4
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:40
msgid "Loading view…"
msgstr ""
msgid "Local ULA"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:273
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:275
msgid "Local domain"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:274
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:276
msgid "Local domain suffix appended to DHCP names and hosts file entries."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:269
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:271
msgid "Local server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:319
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:324
msgid "Local service only"
msgstr ""
msgid "Local wireguard key"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
msgid "Localise queries"
msgstr ""
msgid "Log output level"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:277
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:279
msgid "Log queries"
msgstr ""
msgid "Logical network to which the tunnel will be added (bridged) (optional)."
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:38
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:41
+#: modules/luci-base/ucode/template/sysauth.ut:38
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:36
msgid "Login"
msgstr ""
msgid "Loose filtering"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
msgid "Loss of Signal Seconds (LOSS)"
msgstr ""
msgid "Lowest leased address as offset from the network address."
msgstr ""
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/footer.ut:12
+msgid "Lua compatibility mode active"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:48
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:83
msgid "MAC"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:591
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:40
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:619
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1164
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2177
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:56
msgid "MTU"
msgstr "MTU"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:259
+msgid "MX"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:303
msgid ""
"Make sure to clone the root filesystem using something like the commands "
msgid "Max <abbr title=\"Router Advertisement\">RA</abbr> interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
msgid "Max. Attainable Data Rate (ATTNDR)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:457
msgid "Max. DHCP leases"
msgstr ""
"<abbr title=\"maximal\">Max.</abbr> <abbr title=\"Dynamic Host Configuration "
"Protocol\">DHCP</abbr> лийзове"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:459
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:464
msgid "Max. EDNS0 packet size"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:466
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:471
msgid "Max. concurrent queries"
msgstr "<abbr title=\"maximal\">Макс.</abbr> едновременни заявки"
msgid "Maximum allowed Listen Interval"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:453
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:458
msgid "Maximum allowed number of active DHCP leases."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:467
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:472
msgid "Maximum allowed number of concurrent DNS queries."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:460
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:465
msgid "Maximum allowed size of EDNS0 UDP packets."
msgstr ""
msgid "Maximum transmit power"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:394
msgid "May prevent VoIP or other services from working."
msgstr ""
msgid "Name of the tunnel device"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:46
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:39
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:50
msgid "Navigation"
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:10
+msgid "Nebula Network"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:653
msgid "Neighbour cache validity"
msgstr ""
msgid "Network address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:492
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:497
msgid "Network boot image"
msgstr ""
msgid "Network interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:536
msgid "Network-ID"
msgstr ""
msgid "Never"
msgstr "Никога"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:270
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:272
msgid ""
"Never forward matching domains and subdomains, resolve from DHCP or hosts "
"files only."
msgid "No RX signal"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:80
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:87
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:68
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:82
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:65
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:90
msgid ""
"No changes to settings will be stored and are lost after rebooting. This "
msgid "No entries in this directory"
msgstr ""
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:82
-msgid "No files found"
-msgstr ""
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:833
msgid ""
"No fixed interface listening port defined, peers might not be able to "
msgid "No more slaves available, can not save interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:413
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
msgid "No negative cache"
msgstr ""
msgid "No nftables ruleset loaded."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:69
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:61
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:57
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:54
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:79
msgid "No password set!"
msgstr ""
msgid "Noise"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
msgid "Noise Margin (SNR)"
msgstr ""
msgid "Noise:"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
msgid "Non Pre-emptive CRC errors (CRC_P)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:330
msgid "Non-wildcard"
msgstr ""
msgid "Normal"
msgstr ""
-#: modules/luci-base/luasrc/view/error404.htm:8
+#: modules/luci-base/ucode/template/error404.ut:9
msgid "Not Found"
msgstr ""
msgid "Number of IGMP membership reports"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:474
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:479
msgid "Number of cached DNS entries, 10000 is maximum, 0 is no caching."
msgstr ""
msgid "On-link"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:672
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:743
msgid "One of hostname or MAC address must be specified!"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:472
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:19
msgid "Open list..."
msgstr ""
msgid "Options"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:526
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
msgid ""
"Options for the Network-ID. (Note: needs also Network-ID.) E.g. "
-"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</"
-"code>\" for default route. <code>0.0.0.0</code> means \"the address of the "
-"system running dnsmasq\"."
+"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</code>"
+"\" for default route. <code>0.0.0.0</code> means \"the address of the system "
+"running dnsmasq\"."
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:125
msgid "Options:"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
+msgid "Ordinal: lower comes first."
+msgstr ""
+
#: protocols/luci-proto-batman-adv/htdocs/luci-static/resources/protocol/batadv.js:55
msgid "Originator Interval"
msgstr ""
msgid "Pass-through (Mirror physical device to single MAC VLAN)"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:29
+#: modules/luci-base/ucode/template/sysauth.ut:29
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1690
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:51
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:114
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:103
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:24
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:19
msgid "Password"
msgstr ""
msgid "Pkts."
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:19
+#: modules/luci-base/ucode/template/sysauth.ut:19
msgid "Please enter your username and password."
msgstr "Моля, въведете потребителско име и парола."
msgid "Policy: <strong>%h</strong> (%h)"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:579
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:21
msgid "Port"
msgstr ""
msgid "Potential negation of: %s"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:38
msgid "Power Management Mode"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
msgid "Pre-emptive CRC errors (CRCP_P)"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:129
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:197
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:223
msgid "Quality"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
msgid "Query all available upstream resolvers."
msgstr ""
msgid "Raw hex-encoded bytes. Leave empty unless your ISP require this"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:345
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:350
msgid "Read <code>/etc/ethers</code> to configure the DHCP server."
msgstr ""
msgid "Reassociation Deadline"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
msgid "Rebind protection"
msgstr ""
msgstr ""
#: modules/luci-compat/luasrc/model/network/proto_relay.lua:153
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:611
#: protocols/luci-proto-relay/htdocs/luci-static/resources/protocol/relay.js:39
msgid "Relay"
msgstr ""
msgid "Required. Base64-encoded private key for this interface."
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Required. Path to the .yml config file for this interface."
+msgstr ""
+
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:587
msgid "Required. Public key of the WireGuard peer."
msgstr ""
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2197
-#: modules/luci-base/luasrc/view/sysauth.htm:39
+#: modules/luci-base/ucode/template/sysauth.ut:39
#: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
#: modules/luci-compat/luasrc/view/cbi/footer.htm:30
#: modules/luci-compat/luasrc/view/cbi/simpleform.htm:66
msgid "Resolv and Hosts Files"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:356
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:361
msgid "Resolv file"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:292
+msgid "Resolve specified FQDNs to an IP."
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/rpc.js:405
msgid "Resource not found"
msgstr ""
msgid "Restore backup"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
msgid ""
"Return answers to DNS queries matching the subnet from which the query was "
"received if multiple IPs are available."
msgid "Robustness"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:491
msgid ""
"Root directory for files served via TFTP. <em>Enable TFTP server</em> and "
"<em>TFTP server root</em> turn on the TFTP server and serve files from "
msgid "SNR"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "SRV"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:10
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:38
msgid "SSH Access"
msgid "Server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:524
msgid "Server address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:518
msgid "Server name"
msgstr ""
msgid "Setup routes for proxied IPv6 neighbours."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
msgid "Severely Errored Seconds (SES)"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:470
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:18
msgid "Show current backup file list"
msgstr ""
msgid "Signal / Noise"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
msgid "Signal Attenuation (SATN)"
msgstr ""
msgid "Size"
msgstr "Размер"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:473
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:478
msgid "Size of DNS query cache"
msgstr ""
msgid "Skip from backup files that are equal to those in /rom"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:42
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:35
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:46
msgid "Skip to content"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:41
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:34
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:45
msgid "Skip to navigation"
msgstr ""
msgid "Some fields are invalid, cannot save values!"
msgstr ""
-#: modules/luci-base/luasrc/view/error404.htm:9
+#: modules/luci-base/ucode/template/error404.ut:10
msgid "Sorry, the object you requested was not found."
msgstr ""
-#: modules/luci-base/luasrc/view/error500.htm:9
-msgid "Sorry, the server encountered an unexpected error."
-msgstr ""
-
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:442
msgid ""
"Sorry, there is no sysupgrade support present; a new firmware image must be "
msgid "Source port"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:505
msgid ""
"Special <abbr title=\"Preboot eXecution Environment\">PXE</abbr> boot "
"options for Dnsmasq."
msgid "Static address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:598
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:669
msgid ""
"Static leases are used to assign fixed IP addresses and symbolic hostnames "
"to DHCP clients. They are also required for non-dynamic interface "
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:16
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:541
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:929
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:9
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:9
msgid "Status"
msgstr "Статус"
msgid "Strict filtering"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
msgid "Strict order"
msgstr ""
msgid "Submit"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
msgid "Suppress logging"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:373
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
msgid "Suppress logging of the routine operation for the DHCP protocol."
msgstr ""
msgid "Sync with browser"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:293
+msgid "Syntax: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "Syntax: <code>_service._proto.example.com</code>."
+msgstr ""
+
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:26
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:17
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:113
msgid "System log buffer size"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:79
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:86
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:71
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:67
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:81
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:64
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:89
msgid "System running in recovery (initramfs) mode."
msgstr ""
msgid "TCP:"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:490
msgid "TFTP server root"
msgstr ""
msgid "Table"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:56
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:66
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:187
"username instead of the user ID!"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:681
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:752
msgid "The IP address %h is already used by another static lease"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:761
msgid "The IP address is outside of any DHCP pool address range"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:520
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
msgid "The IP address of the boot server"
msgstr ""
"to be received and retransmitted which costs airtime)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:514
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
msgid "The hostname of the boot server"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/switch.js:139
msgid ""
-"The network ports on this device can be combined to several <abbr "
-"title=\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
+"The network ports on this device can be combined to several <abbr title="
+"\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
"communicate directly with each other. <abbr title=\"Virtual Local Area "
"Network\">VLAN</abbr>s are often used to separate different network "
"segments. Often there is by default one Uplink port for a connection to the "
msgid "The selected %s mode is incompatible with %s encryption"
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:11
+#: modules/luci-base/ucode/template/csrftoken.ut:11
msgid "The submitted security token is invalid or already expired!"
msgstr ""
"nftables rules is discouraged and may lead to incomplete traffic filtering."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:746
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:778
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:817
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:849
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:130
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:179
msgid "There are no active leases"
msgid "There are no changes to apply"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:70
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:58
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:55
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:80
msgid ""
"There is no password set on this router. Please configure a root password to "
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:16
msgid ""
"This is a list of shell glob patterns for matching files and directories to "
"include during sysupgrade. Modified files in /etc/config/ and certain other "
"ends with <code>...:2/64</code>"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:266
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:268
msgid "This is the only DHCP server in the local network."
msgstr ""
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:440
msgid ""
"To fully configure the local WireGuard interface from an existing (e.g. "
-"provider supplied) configuration file, use the <strong><a class=\"full-"
-"import\" href=\"#\">configuration import</a></strong> instead."
+"provider supplied) configuration file, use the <strong><a class=\"full-import"
+"\" href=\"#\">configuration import</a></strong> instead."
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2674
msgid "Unable to determine upstream interface"
msgstr ""
-#: modules/luci-base/luasrc/view/error404.htm:11
+#: modules/luci-base/ucode/template/error404.ut:12
msgid "Unable to dispatch"
msgstr ""
msgid "Unable to verify PIN"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
msgid "Unavailable Seconds (UAS)"
msgstr ""
"will be restarted to apply the updated configuration."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
msgid "Upstream resolvers will be queried in the order of the resolv file."
msgstr ""
msgid "Uptime"
msgstr "Ъптайм"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
msgid "Use <code>/etc/ethers</code>"
msgstr ""
msgid "Use system certificates for inner-tunnel"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:599
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:670
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC address</"
"em> identifies the host, the <em>IPv4 address</em> specifies the fixed "
msgid "User key (PEM encoded)"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:23
+#: modules/luci-base/ucode/template/sysauth.ut:23
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:112
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:101
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:56
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:18
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:13
msgid "Username"
msgstr "Потребителско име"
msgid "VXLANv6 (RFC7348)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
msgid ""
"Validate DNS replies and cache DNSSEC data, requires upstream to support "
"DNSSEC."
msgid "Vendor Class to send when requesting DHCP"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:408
msgid "Verify unsigned domain responses really come from unsigned domains."
msgstr ""
msgid "Weak"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+msgid "Weight"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1029
msgid ""
"When delegating prefixes to multiple downstreams, interfaces with a higher "
msgid "Wireless network is enabled"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:278
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:280
msgid "Write received DNS queries to syslog."
msgstr ""
"scripts like \"network\", your device might become inaccessible!</strong>"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:90
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:97
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
+msgid "You may add multiple records for the same Target."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:596
+msgid "You may add multiple records for the same domain."
+msgstr ""
+
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:78
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:92
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:73
msgid ""
"You must enable JavaScript in your browser or LuCI will not work properly."
msgid "ZRam Size"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:558
+msgid "_proto: _tcp, _udp, _sctp, _quic, … ."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:557
+msgid ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Note: while _http is "
+"possible, no browsers support SRV records.)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:454
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:152
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:163
msgid "any"
msgid "e.g: dump"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:726
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:756
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:797
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:827
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:101
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:148
msgid "expired"
msgid "unknown"
msgstr "неизвестен"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:456
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:724
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:754
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:461
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:795
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:825
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:99
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:146
msgid "unlimited"
msgid "« Back"
msgstr ""
+#~ msgid "Back to configuration"
+#~ msgstr "Обратно към Конфигуриране"
+
+#~ msgid "Close list..."
+#~ msgstr "Затвори списъка..."
+
#, fuzzy
#~ msgid "Do not forward queries that cannot be answered by public resolvers."
#~ msgstr ""
msgid "<abbr title=\"Router Advertisement\">RA</abbr>-Service"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:294
+msgid ""
+"<code>/#/</code> matches any domain. <code>/example.com/</code> returns "
+"NXDOMAIN."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+msgid ""
+"<code>/example.com/#</code> returns NULL addresses (<code>0.0.0.0</code> and "
+"<code>::</code>) for example.com and its subdomains."
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:87
msgctxt "nft relational \">\" operator expression"
msgid "<var>%s</var> greater than <strong>%s</strong>"
msgid "ATM device number"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
msgid "ATU-C System Vendor ID"
msgstr ""
msgid "Absent Interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:320
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
msgid "Accept DNS queries only from hosts whose address is on a local subnet."
msgstr ""
msgid "Add key"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:410
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:415
msgid "Add local domain suffix to names served from hosts files."
msgstr ""
msgid "Add to Whitelist"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:367
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
msgid "Additional hosts files"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:417
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
msgid "Additional servers file"
msgstr ""
msgid "Address to access local relay bridge"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:289
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:291
msgid "Addresses"
msgstr ""
msgid "Aggregate Originator Messages"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
msgid "Aggregate Transmit Power (ACTATP)"
msgstr ""
msgid "Alias of \"%s\""
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
msgid "All servers"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
msgid ""
"Allocate IP addresses sequentially, starting from the lowest available "
"address."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
msgid "Allocate IPs sequentially"
msgstr ""
msgid "Allow listed only"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
msgid "Allow localhost"
msgstr ""
msgid "Always on (kernel: default-on)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:538
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
msgid "Always send DHCP Options. Sometimes needed, with e.g. PXELinux."
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1484
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
msgid "Annex"
msgstr ""
msgid "Any zone"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:532
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
msgid "Apply DHCP Options to this net. (Empty = all clients)."
msgstr ""
msgid "Authentication Type"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:265
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:267
msgid "Authoritative"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:17
+#: modules/luci-base/ucode/template/sysauth.ut:17
#: themes/luci-theme-bootstrap/htdocs/luci-static/resources/view/bootstrap/sysauth.js:11
msgid "Authorization Required"
msgstr ""
msgid "Avoid Bridge Loops"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
msgid ""
"Avoid uselessly triggering dial-on-demand links (filters SRV/SOA records and "
"names with underscores)."
msgid "Back to Overview"
msgstr ""
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:48
-msgid "Back to configuration"
-msgstr ""
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:826
msgid "Back to peer configuration"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:351
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:12
msgid "Backup file list"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:352
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:46
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
msgid "Bind NTP server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:326
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:331
msgid "Bind dynamically to interfaces rather than wildcard address."
msgstr ""
msgid "Bind interface"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:595
+msgid ""
+"Bind service records to a domain name: specify the location of services."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:556
+msgid ""
+"Bind service records to a domain name: specify the location of services. See "
+"<a href=\"%s\">RFC2782</a>."
+msgstr ""
+
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gre.js:59
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gretap.js:64
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/grev6.js:64
msgid "CLAT configuration failed"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
+msgid "CNAME or fqdn"
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/processes.js:72
msgid "CPU usage (%)"
msgstr ""
"persist connection"
msgstr ""
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:49
-msgid "Close list..."
-msgstr ""
-
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:44
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:63
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2184
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:391
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:352
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:355
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:72
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:66
msgid "Collecting data..."
msgstr ""
msgid "Compute outgoing checksum (optional)."
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Config File"
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4375
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
msgid "Configuration"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:764
msgid ""
-"Configures the operation mode of the <abbr title=\"Router "
-"Advertisement\">RA</abbr> service on this interface."
+"Configures the operation mode of the <abbr title=\"Router Advertisement"
+"\">RA</abbr> service on this interface."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:879
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/leds.js:59
msgid ""
-"Customizes the behaviour of the device <abbr title=\"Light Emitting "
-"Diode\">LED</abbr>s if possible."
+"Customizes the behaviour of the device <abbr title=\"Light Emitting Diode"
+"\">LED</abbr>s if possible."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:673
msgid "DAE-Secret"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:530
msgid "DHCP Options"
msgstr ""
msgid "DNS"
msgstr "ডিএনএস"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:282
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:284
msgid "DNS forwardings"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:445
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:450
msgid "DNS query port"
msgstr ""
msgid "DNS search domains"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:443
msgid "DNS server port"
msgstr ""
msgid "DNS-Label / FQDN"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
msgid "DNSSEC"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:407
msgid "DNSSEC check unsigned"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1481
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:44
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:45
msgid "DSL"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:14
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:15
msgid "DSL Status"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:59
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:700
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:771
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:136
msgid "DUID"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
msgid "Data Rate"
msgstr ""
msgid "Disassociate On Low Acknowledgement"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:302
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
msgid ""
"Discard upstream responses containing <a href=\"%s\">RFC1918</a> addresses."
msgstr ""
msgid "Distributed ARP Table"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:548
msgid ""
"Dnsmasq instance to which this boot section is bound. If unspecified, the "
"section is valid for all dnsmasq instances."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:246
msgid ""
-"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</"
-"abbr> forwarder."
+"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</abbr> "
+"forwarder."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:419
msgid "Do not cache negative replies, e.g. for non-existent domains."
msgstr ""
msgid "Do not create host route to peer (optional)."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:262
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:264
msgid "Do not forward DNS queries without dots or domain parts."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
msgid "Do not forward reverse lookups for local networks."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:339
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
msgid "Do not listen on the specified interfaces."
msgstr ""
msgid "Do you want to replace the current keys?"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:593
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:606
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:664
msgid "Domain"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:261
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:263
msgid "Domain required"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:316
msgid "Domain whitelist"
msgstr ""
msgid "Enable Single DES"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:480
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
msgid "Enable TFTP server"
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/uhttpd.js:14
msgid ""
-"Enable automatic redirection of <abbr title=\"Hypertext Transfer "
-"Protocol\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol "
-"Secure\">HTTPS</abbr> port."
+"Enable automatic redirection of <abbr title=\"Hypertext Transfer Protocol"
+"\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol Secure"
+"\">HTTPS</abbr> port."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:977
msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:481
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
msgid "Enable the built-in single-instance TFTP server."
msgstr ""
msgid "Error getting PublicKey"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
msgid "Errored seconds (ES)"
msgstr ""
msgid "Every second (fast, 1)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:343
msgid "Exclude interfaces"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
msgid ""
"Exempt <code>127.0.0.0/8</code> and <code>::1</code> from rebinding checks, "
"e.g. for RBL services."
msgid "Existing device"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:409
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
msgid "Expand hosts"
msgstr ""
msgid "File"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
msgid ""
"File listing upstream resolvers, optionally domain-specific, e.g. "
"<code>server=1.2.3.4</code>, <code>server=/domain/1.2.3.4</code>."
msgid "File not accessible"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:354
msgid "File to store DHCP lease information."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:362
msgid "File with upstream resolvers."
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/ui.js:2846
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:507
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:512
msgid "Filename"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:493
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:498
msgid "Filename of the boot image advertised to clients."
msgstr ""
msgid "Filesystem"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
msgid "Filter private"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
msgid "Filter useless"
msgstr ""
msgid "Firmware Version"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:446
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:451
msgid "Fixed source port for outbound DNS queries."
msgstr ""
msgid "Flashing…"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:686
msgid "Force"
msgstr ""
msgid "Force use of NAT-T"
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:8
+#: modules/luci-base/ucode/template/csrftoken.ut:8
msgid "Form token mismatch"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:919
msgid ""
-"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr "
-"title=\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr "
-"title=\"Neighbour Advertisement, Type 136\">NA</abbr> messages between the "
-"designated master interface and downstream interfaces."
+"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr title="
+"\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr title=\"Neighbour "
+"Advertisement, Type 136\">NA</abbr> messages between the designated master "
+"interface and downstream interfaces."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:770
"downstream interfaces."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
msgid "Forward Error Correction Seconds (FECS)"
msgstr ""
msgid "Global network options"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:82
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:74
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:70
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:84
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:67
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:92
msgid "Go to firmware upgrade..."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:72
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:64
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:60
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:57
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:82
msgid "Go to password configuration..."
msgstr ""
msgid "Hang Up"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
msgid "Header Error Code Errors (HEC)"
msgstr ""
msgid "Host expiry timeout"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
msgid "Host requests this filename from the boot server."
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:38
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:607
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:678
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:54
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:87
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:135
msgid "Hostnames"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:551
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:622
msgid ""
"Hostnames are used to bind a domain name to an IP address. This setting is "
"redundant for hostnames already configured with static leases, but it can be "
msgid "IP Protocol"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:260
msgid "IP Sets"
msgstr ""
msgid "IP Type"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:563
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:634
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:178
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:204
msgid "IP address"
msgid "IP protocol"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:660
msgid "IP set"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:300
msgid "IP sets"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:437
msgid "IPs to override with NXDOMAIN"
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/protocol/static.js:178
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:736
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:88
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:164
msgid "IPv4 address"
msgid "IPv6 suffix"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:706
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:777
msgid "IPv6 suffix (hex)"
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:340
msgid ""
"If your physical memory is insufficient unused data can be temporarily "
-"swapped to a swap-device resulting in a higher amount of usable <abbr "
-"title=\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a "
-"very slow process as the swap-device cannot be accessed with the high "
-"datarates of the <abbr title=\"Random Access Memory\">RAM</abbr>."
+"swapped to a swap-device resulting in a higher amount of usable <abbr title="
+"\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a very "
+"slow process as the swap-device cannot be accessed with the high datarates "
+"of the <abbr title=\"Random Access Memory\">RAM</abbr>."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:363
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:368
msgid "Ignore <code>/etc/hosts</code>"
msgstr ""
msgid "Ignore interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:352
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
msgid "Ignore resolv file"
msgstr ""
"order to avoid broadcast loops that can bring the entire LAN to a standstill."
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:13
+#: modules/luci-base/ucode/template/csrftoken.ut:13
msgid ""
"In order to prevent unauthorized access to the system, your request has been "
"blocked. Click \"Continue »\" below to return to the previous page."
msgid "Install protocol extensions..."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:547
msgid "Instance"
msgstr ""
msgid "Internal"
msgstr ""
-#: modules/luci-base/luasrc/view/error500.htm:8
-msgid "Internal Server Error"
-msgstr ""
-
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:285
msgid "Interval For Sending Learning Packets"
msgstr ""
msgid "Invalid hexadecimal value"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:37
+#: modules/luci-base/ucode/template/sysauth.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:32
msgid "Invalid username and/or password! Please try again."
msgstr ""
"flash memory, please verify the image file!"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:89
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:96
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:77
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:91
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:72
msgid "JavaScript required!"
msgstr ""
msgid "Language and Style"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:560
+msgid ""
+"Larger weights (of the same prio) are given a proportionately higher "
+"probability of being selected."
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:575
msgid "Last member interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
msgid "Latency"
msgstr ""
msgid "Learn routes"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:348
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:353
msgid "Lease file"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:697
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:768
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:679
msgid "Lease time"
msgstr ""
msgid "Limit"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
msgid "Line Attenuation (LATN)"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
msgid "Line Mode"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:17
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
msgid "Line State"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
msgid "Line Uptime"
msgstr ""
msgid "Link layer header bits %d-%d"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
msgid "List of IP addresses to convert into NXDOMAIN responses."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:296
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:581
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:652
msgid "List of IP sets to populate with the specified domain IPs."
msgstr ""
msgid "List of SSH key files for auth"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:317
msgid "List of domains to allow RFC1918 responses for."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:290
-msgid "List of domains to force to an IP address."
-msgstr ""
-
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:283
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:285
msgid "List of upstream resolvers to forward queries to."
msgstr ""
msgid "Listen Port"
msgstr "শোনার পোর্ট"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:332
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:337
msgid "Listen interfaces"
msgstr ""
msgid "Listen only on the given interface or, if unspecified, on all"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:333
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
msgid ""
"Listen only on the specified interfaces, and loopback if not excluded "
"explicitly."
msgid "ListenPort setting is invalid"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:439
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:444
msgid "Listening port for inbound DNS queries."
msgstr ""
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:1942
-#: modules/luci-base/luasrc/view/view.htm:4
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:45
+#: modules/luci-base/ucode/template/view.ut:4
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:40
msgid "Loading view…"
msgstr ""
msgid "Local ULA"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:273
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:275
msgid "Local domain"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:274
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:276
msgid "Local domain suffix appended to DHCP names and hosts file entries."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:269
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:271
msgid "Local server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:319
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:324
msgid "Local service only"
msgstr ""
msgid "Local wireguard key"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
msgid "Localise queries"
msgstr ""
msgid "Log output level"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:277
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:279
msgid "Log queries"
msgstr ""
msgid "Logical network to which the tunnel will be added (bridged) (optional)."
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:38
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:41
+#: modules/luci-base/ucode/template/sysauth.ut:38
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:36
msgid "Login"
msgstr ""
msgid "Loose filtering"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
msgid "Loss of Signal Seconds (LOSS)"
msgstr ""
msgid "Lowest leased address as offset from the network address."
msgstr ""
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/footer.ut:12
+msgid "Lua compatibility mode active"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:48
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:83
msgid "MAC"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:591
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:40
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:619
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1164
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2177
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:56
msgid "MTU"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:259
+msgid "MX"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:303
msgid ""
"Make sure to clone the root filesystem using something like the commands "
msgid "Max <abbr title=\"Router Advertisement\">RA</abbr> interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
msgid "Max. Attainable Data Rate (ATTNDR)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:457
msgid "Max. DHCP leases"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:459
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:464
msgid "Max. EDNS0 packet size"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:466
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:471
msgid "Max. concurrent queries"
msgstr ""
msgid "Maximum allowed Listen Interval"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:453
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:458
msgid "Maximum allowed number of active DHCP leases."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:467
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:472
msgid "Maximum allowed number of concurrent DNS queries."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:460
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:465
msgid "Maximum allowed size of EDNS0 UDP packets."
msgstr ""
msgid "Maximum transmit power"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:394
msgid "May prevent VoIP or other services from working."
msgstr ""
msgid "Name of the tunnel device"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:46
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:39
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:50
msgid "Navigation"
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:10
+msgid "Nebula Network"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:653
msgid "Neighbour cache validity"
msgstr ""
msgid "Network address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:492
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:497
msgid "Network boot image"
msgstr ""
msgid "Network interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:536
msgid "Network-ID"
msgstr ""
msgid "Never"
msgstr "কখনও না"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:270
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:272
msgid ""
"Never forward matching domains and subdomains, resolve from DHCP or hosts "
"files only."
msgid "No RX signal"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:80
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:87
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:68
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:82
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:65
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:90
msgid ""
"No changes to settings will be stored and are lost after rebooting. This "
msgid "No entries in this directory"
msgstr ""
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:82
-msgid "No files found"
-msgstr ""
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:833
msgid ""
"No fixed interface listening port defined, peers might not be able to "
msgid "No more slaves available, can not save interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:413
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
msgid "No negative cache"
msgstr ""
msgid "No nftables ruleset loaded."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:69
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:61
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:57
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:54
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:79
msgid "No password set!"
msgstr ""
msgid "Noise"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
msgid "Noise Margin (SNR)"
msgstr ""
msgid "Noise:"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
msgid "Non Pre-emptive CRC errors (CRC_P)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:330
msgid "Non-wildcard"
msgstr ""
msgid "Normal"
msgstr ""
-#: modules/luci-base/luasrc/view/error404.htm:8
+#: modules/luci-base/ucode/template/error404.ut:9
msgid "Not Found"
msgstr ""
msgid "Number of IGMP membership reports"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:474
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:479
msgid "Number of cached DNS entries, 10000 is maximum, 0 is no caching."
msgstr ""
msgid "On-link"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:672
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:743
msgid "One of hostname or MAC address must be specified!"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:472
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:19
msgid "Open list..."
msgstr ""
msgid "Options"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:526
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
msgid ""
"Options for the Network-ID. (Note: needs also Network-ID.) E.g. "
-"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</"
-"code>\" for default route. <code>0.0.0.0</code> means \"the address of the "
-"system running dnsmasq\"."
+"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</code>"
+"\" for default route. <code>0.0.0.0</code> means \"the address of the system "
+"running dnsmasq\"."
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:125
msgid "Options:"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
+msgid "Ordinal: lower comes first."
+msgstr ""
+
#: protocols/luci-proto-batman-adv/htdocs/luci-static/resources/protocol/batadv.js:55
msgid "Originator Interval"
msgstr ""
msgid "Pass-through (Mirror physical device to single MAC VLAN)"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:29
+#: modules/luci-base/ucode/template/sysauth.ut:29
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1690
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:51
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:114
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:103
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:24
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:19
msgid "Password"
msgstr ""
msgid "Pkts."
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:19
+#: modules/luci-base/ucode/template/sysauth.ut:19
msgid "Please enter your username and password."
msgstr ""
msgid "Policy: <strong>%h</strong> (%h)"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:579
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:21
msgid "Port"
msgstr "পোর্ট"
msgid "Potential negation of: %s"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:38
msgid "Power Management Mode"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
msgid "Pre-emptive CRC errors (CRCP_P)"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:129
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:197
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:223
msgid "Quality"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
msgid "Query all available upstream resolvers."
msgstr ""
msgid "Raw hex-encoded bytes. Leave empty unless your ISP require this"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:345
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:350
msgid "Read <code>/etc/ethers</code> to configure the DHCP server."
msgstr ""
msgid "Reassociation Deadline"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
msgid "Rebind protection"
msgstr ""
msgstr ""
#: modules/luci-compat/luasrc/model/network/proto_relay.lua:153
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:611
#: protocols/luci-proto-relay/htdocs/luci-static/resources/protocol/relay.js:39
msgid "Relay"
msgstr ""
msgid "Required. Base64-encoded private key for this interface."
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Required. Path to the .yml config file for this interface."
+msgstr ""
+
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:587
msgid "Required. Public key of the WireGuard peer."
msgstr ""
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2197
-#: modules/luci-base/luasrc/view/sysauth.htm:39
+#: modules/luci-base/ucode/template/sysauth.ut:39
#: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
#: modules/luci-compat/luasrc/view/cbi/footer.htm:30
#: modules/luci-compat/luasrc/view/cbi/simpleform.htm:66
msgid "Resolv and Hosts Files"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:356
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:361
msgid "Resolv file"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:292
+msgid "Resolve specified FQDNs to an IP."
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/rpc.js:405
msgid "Resource not found"
msgstr ""
msgid "Restore backup"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
msgid ""
"Return answers to DNS queries matching the subnet from which the query was "
"received if multiple IPs are available."
msgid "Robustness"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:491
msgid ""
"Root directory for files served via TFTP. <em>Enable TFTP server</em> and "
"<em>TFTP server root</em> turn on the TFTP server and serve files from "
msgid "SNR"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "SRV"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:10
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:38
msgid "SSH Access"
msgid "Server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:524
msgid "Server address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:518
msgid "Server name"
msgstr ""
msgid "Setup routes for proxied IPv6 neighbours."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
msgid "Severely Errored Seconds (SES)"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:470
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:18
msgid "Show current backup file list"
msgstr ""
msgid "Signal / Noise"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
msgid "Signal Attenuation (SATN)"
msgstr ""
msgid "Size"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:473
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:478
msgid "Size of DNS query cache"
msgstr ""
msgid "Skip from backup files that are equal to those in /rom"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:42
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:35
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:46
msgid "Skip to content"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:41
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:34
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:45
msgid "Skip to navigation"
msgstr ""
msgid "Some fields are invalid, cannot save values!"
msgstr ""
-#: modules/luci-base/luasrc/view/error404.htm:9
+#: modules/luci-base/ucode/template/error404.ut:10
msgid "Sorry, the object you requested was not found."
msgstr ""
-#: modules/luci-base/luasrc/view/error500.htm:9
-msgid "Sorry, the server encountered an unexpected error."
-msgstr ""
-
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:442
msgid ""
"Sorry, there is no sysupgrade support present; a new firmware image must be "
msgid "Source port"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:505
msgid ""
"Special <abbr title=\"Preboot eXecution Environment\">PXE</abbr> boot "
"options for Dnsmasq."
msgid "Static address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:598
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:669
msgid ""
"Static leases are used to assign fixed IP addresses and symbolic hostnames "
"to DHCP clients. They are also required for non-dynamic interface "
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:16
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:541
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:929
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:9
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:9
msgid "Status"
msgstr "অবস্থা"
msgid "Strict filtering"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
msgid "Strict order"
msgstr ""
msgid "Submit"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
msgid "Suppress logging"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:373
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
msgid "Suppress logging of the routine operation for the DHCP protocol."
msgstr ""
msgid "Sync with browser"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:293
+msgid "Syntax: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "Syntax: <code>_service._proto.example.com</code>."
+msgstr ""
+
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:26
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:17
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:113
msgid "System log buffer size"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:79
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:86
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:71
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:67
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:81
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:64
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:89
msgid "System running in recovery (initramfs) mode."
msgstr ""
msgid "TCP:"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:490
msgid "TFTP server root"
msgstr ""
msgid "Table"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:56
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:66
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:187
"username instead of the user ID!"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:681
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:752
msgid "The IP address %h is already used by another static lease"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:761
msgid "The IP address is outside of any DHCP pool address range"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:520
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
msgid "The IP address of the boot server"
msgstr ""
"to be received and retransmitted which costs airtime)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:514
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
msgid "The hostname of the boot server"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/switch.js:139
msgid ""
-"The network ports on this device can be combined to several <abbr "
-"title=\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
+"The network ports on this device can be combined to several <abbr title="
+"\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
"communicate directly with each other. <abbr title=\"Virtual Local Area "
"Network\">VLAN</abbr>s are often used to separate different network "
"segments. Often there is by default one Uplink port for a connection to the "
msgid "The selected %s mode is incompatible with %s encryption"
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:11
+#: modules/luci-base/ucode/template/csrftoken.ut:11
msgid "The submitted security token is invalid or already expired!"
msgstr ""
"nftables rules is discouraged and may lead to incomplete traffic filtering."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:746
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:778
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:817
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:849
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:130
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:179
msgid "There are no active leases"
msgid "There are no changes to apply"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:70
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:58
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:55
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:80
msgid ""
"There is no password set on this router. Please configure a root password to "
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:16
msgid ""
"This is a list of shell glob patterns for matching files and directories to "
"include during sysupgrade. Modified files in /etc/config/ and certain other "
"ends with <code>...:2/64</code>"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:266
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:268
msgid "This is the only DHCP server in the local network."
msgstr ""
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:440
msgid ""
"To fully configure the local WireGuard interface from an existing (e.g. "
-"provider supplied) configuration file, use the <strong><a class=\"full-"
-"import\" href=\"#\">configuration import</a></strong> instead."
+"provider supplied) configuration file, use the <strong><a class=\"full-import"
+"\" href=\"#\">configuration import</a></strong> instead."
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2674
msgid "Unable to determine upstream interface"
msgstr ""
-#: modules/luci-base/luasrc/view/error404.htm:11
+#: modules/luci-base/ucode/template/error404.ut:12
msgid "Unable to dispatch"
msgstr ""
msgid "Unable to verify PIN"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
msgid "Unavailable Seconds (UAS)"
msgstr ""
"will be restarted to apply the updated configuration."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
msgid "Upstream resolvers will be queried in the order of the resolv file."
msgstr ""
msgid "Uptime"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
msgid "Use <code>/etc/ethers</code>"
msgstr ""
msgid "Use system certificates for inner-tunnel"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:599
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:670
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC address</"
"em> identifies the host, the <em>IPv4 address</em> specifies the fixed "
msgid "User key (PEM encoded)"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:23
+#: modules/luci-base/ucode/template/sysauth.ut:23
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:112
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:101
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:56
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:18
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:13
msgid "Username"
msgstr ""
msgid "VXLANv6 (RFC7348)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
msgid ""
"Validate DNS replies and cache DNSSEC data, requires upstream to support "
"DNSSEC."
msgid "Vendor Class to send when requesting DHCP"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:408
msgid "Verify unsigned domain responses really come from unsigned domains."
msgstr ""
msgid "Weak"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+msgid "Weight"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1029
msgid ""
"When delegating prefixes to multiple downstreams, interfaces with a higher "
msgid "Wireless network is enabled"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:278
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:280
msgid "Write received DNS queries to syslog."
msgstr ""
"scripts like \"network\", your device might become inaccessible!</strong>"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:90
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:97
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
+msgid "You may add multiple records for the same Target."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:596
+msgid "You may add multiple records for the same domain."
+msgstr ""
+
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:78
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:92
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:73
msgid ""
"You must enable JavaScript in your browser or LuCI will not work properly."
msgid "ZRam Size"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:558
+msgid "_proto: _tcp, _udp, _sctp, _quic, … ."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:557
+msgid ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Note: while _http is "
+"possible, no browsers support SRV records.)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:454
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:152
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:163
msgid "any"
msgid "e.g: dump"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:726
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:756
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:797
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:827
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:101
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:148
msgid "expired"
msgid "unknown"
msgstr "অজ্ঞাত"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:456
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:724
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:754
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:461
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:795
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:825
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:99
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:146
msgid "unlimited"
msgid "<abbr title=\"Router Advertisement\">RA</abbr>-Service"
msgstr "Servei <abbr title=\"Router Advertisement\">RA</abbr>"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:294
+msgid ""
+"<code>/#/</code> matches any domain. <code>/example.com/</code> returns "
+"NXDOMAIN."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+msgid ""
+"<code>/example.com/#</code> returns NULL addresses (<code>0.0.0.0</code> and "
+"<code>::</code>) for example.com and its subdomains."
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:87
msgctxt "nft relational \">\" operator expression"
msgid "<var>%s</var> greater than <strong>%s</strong>"
msgid "ATM device number"
msgstr "Número de dispositiu ATM"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
msgid "ATU-C System Vendor ID"
msgstr "Identificador del proveïdor del sistema ATU-C"
msgid "Absent Interface"
msgstr "Interfície absent"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:320
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
msgid "Accept DNS queries only from hosts whose address is on a local subnet."
msgstr ""
"Accepta peticions DNS només de dispositius l'adreça dels quals sigui d'una "
msgid "Add key"
msgstr "Afegeix una clau"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:410
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:415
msgid "Add local domain suffix to names served from hosts files."
msgstr ""
"Afegeix el sufix de domini local als noms servits des dels fitxers de hosts"
msgid "Add to Whitelist"
msgstr "Afegeix a la llista blanca"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:367
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
msgid "Additional hosts files"
msgstr "Fitxers de Hosts addicionals"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:417
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
msgid "Additional servers file"
msgstr "Fitxer de servidors addicionals"
msgid "Address to access local relay bridge"
msgstr "Adreça per accedir al relay bridge local"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:289
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:291
msgid "Addresses"
msgstr "Adreces"
msgid "Aggregate Originator Messages"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
#, fuzzy
msgid "Aggregate Transmit Power (ACTATP)"
msgstr "Potència de transmissió agregada (ACTATP)"
msgid "Alias of \"%s\""
msgstr "Àlies de \"%s\""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
msgid "All servers"
msgstr "Tots els servidors"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
msgid ""
"Allocate IP addresses sequentially, starting from the lowest available "
"address."
"Assigna les adreces IP seqüencialment, començant per l'adreça més baixa "
"disponible."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
msgid "Allocate IPs sequentially"
msgstr "Assigna les adreces IP seqüencialment"
msgid "Allow listed only"
msgstr "Permet només les llistades"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
msgid "Allow localhost"
msgstr "Permetre el localhost"
msgid "Always on (kernel: default-on)"
msgstr "Sempre encès (kernel: default-on)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:538
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
msgid "Always send DHCP Options. Sometimes needed, with e.g. PXELinux."
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1484
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
msgid "Annex"
msgstr "Annex"
msgid "Any zone"
msgstr "Qualsevol zona"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:532
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
msgid "Apply DHCP Options to this net. (Empty = all clients)."
msgstr ""
msgid "Authentication Type"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:265
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:267
msgid "Authoritative"
msgstr "Autoritzada"
-#: modules/luci-base/luasrc/view/sysauth.htm:17
+#: modules/luci-base/ucode/template/sysauth.ut:17
#: themes/luci-theme-bootstrap/htdocs/luci-static/resources/view/bootstrap/sysauth.js:11
msgid "Authorization Required"
msgstr "Es requereix autenticació"
msgid "Avoid Bridge Loops"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
msgid ""
"Avoid uselessly triggering dial-on-demand links (filters SRV/SOA records and "
"names with underscores)."
msgid "Back to Overview"
msgstr "Enrere al Resum"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:48
-msgid "Back to configuration"
-msgstr "Enrere a la configuració"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:826
msgid "Back to peer configuration"
msgstr ""
msgstr "Còpia de seguretat i microprogramari"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:351
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:12
msgid "Backup file list"
msgstr "Llista de còpies de seguretat"
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:352
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:46
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
msgid "Bind NTP server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:326
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:331
msgid "Bind dynamically to interfaces rather than wildcard address."
msgstr ""
msgid "Bind interface"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:595
+msgid ""
+"Bind service records to a domain name: specify the location of services."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:556
+msgid ""
+"Bind service records to a domain name: specify the location of services. See "
+"<a href=\"%s\">RFC2782</a>."
+msgstr ""
+
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gre.js:59
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gretap.js:64
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/grev6.js:64
msgid "CLAT configuration failed"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
+msgid "CNAME or fqdn"
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/processes.js:72
msgid "CPU usage (%)"
msgstr "Ús de CPU (%)"
"persist connection"
msgstr ""
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:49
-msgid "Close list..."
-msgstr "Tanca la llista..."
-
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:44
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:63
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2184
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:391
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:352
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:355
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:72
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:66
msgid "Collecting data..."
msgstr "S’estan recollint dades…"
msgid "Compute outgoing checksum (optional)."
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Config File"
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4375
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
msgid "Configuration"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:764
msgid ""
-"Configures the operation mode of the <abbr title=\"Router "
-"Advertisement\">RA</abbr> service on this interface."
+"Configures the operation mode of the <abbr title=\"Router Advertisement"
+"\">RA</abbr> service on this interface."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:879
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/leds.js:59
msgid ""
-"Customizes the behaviour of the device <abbr title=\"Light Emitting "
-"Diode\">LED</abbr>s if possible."
+"Customizes the behaviour of the device <abbr title=\"Light Emitting Diode"
+"\">LED</abbr>s if possible."
msgstr ""
"Personalitza el comportament dels <abbr title=\"Light Emitting Diode\">LED</"
"abbr>s del dispositiu, si és possible."
msgid "DAE-Secret"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:530
msgid "DHCP Options"
msgstr ""
msgid "DNS"
msgstr "DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:282
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:284
msgid "DNS forwardings"
msgstr "Reenviaments DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:445
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:450
msgid "DNS query port"
msgstr "Port de consulta <abbr title=\"Domain Name System\">DNS</abbr> "
msgid "DNS search domains"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:443
msgid "DNS server port"
msgstr "Port del servidor <abbr title=\"Domain Name System\">DNS</abbr>"
msgid "DNS-Label / FQDN"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
#, fuzzy
msgid "DNSSEC"
msgstr "DNSSEC"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:407
msgid "DNSSEC check unsigned"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1481
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:44
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:45
msgid "DSL"
msgstr "DSL"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:14
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:15
msgid "DSL Status"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:59
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:700
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:771
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:136
msgid "DUID"
msgstr "DUID"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
msgid "Data Rate"
msgstr ""
msgid "Disassociate On Low Acknowledgement"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:302
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
msgid ""
"Discard upstream responses containing <a href=\"%s\">RFC1918</a> addresses."
msgstr "Descarta les respostes RFC1918 des de dalt."
msgid "Distributed ARP Table"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:548
msgid ""
"Dnsmasq instance to which this boot section is bound. If unspecified, the "
"section is valid for all dnsmasq instances."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:246
msgid ""
-"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</"
-"abbr> forwarder."
+"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</abbr> "
+"forwarder."
msgstr ""
-"El Dnsmasq és un servidor <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> combinat i un reenviador de <abbr title=\"Domain Name "
-"System\">DNS</abbr> per tallafocs <abbr title=\"Network Address "
-"Translation\">NAT</abbr>"
+"El Dnsmasq és un servidor <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> combinat i un reenviador de <abbr title=\"Domain Name System"
+"\">DNS</abbr> per tallafocs <abbr title=\"Network Address Translation\">NAT</"
+"abbr>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:419
msgid "Do not cache negative replies, e.g. for non-existent domains."
msgstr ""
msgid "Do not create host route to peer (optional)."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:262
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:264
msgid "Do not forward DNS queries without dots or domain parts."
msgstr ""
"No reenviïs les peticions <abbr title=\"Domain Name System\">DNS</abbr> "
"sense el nom <abbr title=\"Domain Name System\">DNS</abbr>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
msgid "Do not forward reverse lookups for local networks."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:339
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
msgid "Do not listen on the specified interfaces."
msgstr ""
msgid "Do you want to replace the current keys?"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:593
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:606
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:664
msgid "Domain"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:261
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:263
msgid "Domain required"
msgstr "Es requereix un domini"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:316
msgid "Domain whitelist"
msgstr ""
msgid "Enable Single DES"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:480
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
msgid "Enable TFTP server"
msgstr "Habilita el servidor TFTP"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/uhttpd.js:14
msgid ""
-"Enable automatic redirection of <abbr title=\"Hypertext Transfer "
-"Protocol\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol "
-"Secure\">HTTPS</abbr> port."
+"Enable automatic redirection of <abbr title=\"Hypertext Transfer Protocol"
+"\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol Secure"
+"\">HTTPS</abbr> port."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:977
msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:481
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
msgid "Enable the built-in single-instance TFTP server."
msgstr ""
msgid "Error getting PublicKey"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
msgid "Errored seconds (ES)"
msgstr ""
msgid "Every second (fast, 1)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:343
msgid "Exclude interfaces"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
msgid ""
"Exempt <code>127.0.0.0/8</code> and <code>::1</code> from rebinding checks, "
"e.g. for RBL services."
msgid "Existing device"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:409
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
msgid "Expand hosts"
msgstr ""
msgid "File"
msgstr "Fitxer"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
msgid ""
"File listing upstream resolvers, optionally domain-specific, e.g. "
"<code>server=1.2.3.4</code>, <code>server=/domain/1.2.3.4</code>."
msgid "File not accessible"
msgstr "No hi ha accés al fitxer"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:354
msgid "File to store DHCP lease information."
msgstr ""
-"fitxer on els leases de <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> s'emmagatzemaran"
+"fitxer on els leases de <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> s'emmagatzemaran"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:362
msgid "File with upstream resolvers."
msgstr "fitxer <abbr title=\"Domain Name System\">DNS</abbr> local"
#: modules/luci-base/htdocs/luci-static/resources/ui.js:2846
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:507
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:512
msgid "Filename"
msgstr "Nom de fitxer"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:493
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:498
msgid "Filename of the boot image advertised to clients."
msgstr "Nom de fitxer de la imatge d'inici que es publica als clients"
msgid "Filesystem"
msgstr "Sistema de fitxers"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
msgid "Filter private"
msgstr "Filtra privat"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
msgid "Filter useless"
msgstr "Filtra els no útils"
msgid "Firmware Version"
msgstr "Versió de microprogramari"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:446
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:451
msgid "Fixed source port for outbound DNS queries."
msgstr ""
msgid "Flashing…"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:686
msgid "Force"
msgstr "Força"
msgid "Force use of NAT-T"
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:8
+#: modules/luci-base/ucode/template/csrftoken.ut:8
msgid "Form token mismatch"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:919
msgid ""
-"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr "
-"title=\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr "
-"title=\"Neighbour Advertisement, Type 136\">NA</abbr> messages between the "
-"designated master interface and downstream interfaces."
+"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr title="
+"\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr title=\"Neighbour "
+"Advertisement, Type 136\">NA</abbr> messages between the designated master "
+"interface and downstream interfaces."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:770
"downstream interfaces."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
msgid "Forward Error Correction Seconds (FECS)"
msgstr ""
msgid "Global network options"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:82
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:74
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:70
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:84
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:67
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:92
msgid "Go to firmware upgrade..."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:72
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:64
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:60
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:57
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:82
msgid "Go to password configuration..."
msgstr "Vés a la configuració de contrasenya"
msgid "Hang Up"
msgstr "Penja"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
msgid "Header Error Code Errors (HEC)"
msgstr ""
msgid "Host expiry timeout"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
msgid "Host requests this filename from the boot server."
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:38
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:607
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:678
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:54
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:87
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:135
msgid "Hostnames"
msgstr "Noms de màquina"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:551
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:622
msgid ""
"Hostnames are used to bind a domain name to an IP address. This setting is "
"redundant for hostnames already configured with static leases, but it can be "
msgid "IP Protocol"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:260
msgid "IP Sets"
msgstr ""
msgid "IP Type"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:563
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:634
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:178
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:204
msgid "IP address"
msgid "IP protocol"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:660
msgid "IP set"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:300
msgid "IP sets"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:437
msgid "IPs to override with NXDOMAIN"
msgstr "Substitució dels dominis NX falsos"
#: modules/luci-base/htdocs/luci-static/resources/protocol/static.js:178
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:736
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:88
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:164
msgid "IPv4 address"
msgid "IPv6 suffix"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:706
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:777
msgid "IPv6 suffix (hex)"
msgstr "Sufix (hex)<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:340
msgid ""
"If your physical memory is insufficient unused data can be temporarily "
-"swapped to a swap-device resulting in a higher amount of usable <abbr "
-"title=\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a "
-"very slow process as the swap-device cannot be accessed with the high "
-"datarates of the <abbr title=\"Random Access Memory\">RAM</abbr>."
+"swapped to a swap-device resulting in a higher amount of usable <abbr title="
+"\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a very "
+"slow process as the swap-device cannot be accessed with the high datarates "
+"of the <abbr title=\"Random Access Memory\">RAM</abbr>."
msgstr ""
"Si la teva memòria física és insuficient, les dades no usades es poden "
"intercanviar a un dispositiu d'intercanvi, pel qual hi haurà una quantitat "
"es pot accedir al dispositiu d'intercanvi amb unes taxes tan altes com les "
"de la <abbr title=\"Random Access Memory\">RAM</abbr>."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:363
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:368
msgid "Ignore <code>/etc/hosts</code>"
msgstr "Ignora <code>/etc/hosts</code>"
msgid "Ignore interface"
msgstr "Ignora la interfície"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:352
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
msgid "Ignore resolv file"
msgstr "Ignora el fitxer de resolució"
"order to avoid broadcast loops that can bring the entire LAN to a standstill."
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:13
+#: modules/luci-base/ucode/template/csrftoken.ut:13
msgid ""
"In order to prevent unauthorized access to the system, your request has been "
"blocked. Click \"Continue »\" below to return to the previous page."
msgid "Install protocol extensions..."
msgstr "Instal·la extensions de protocol"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:547
msgid "Instance"
msgstr ""
msgid "Internal"
msgstr "Intern"
-#: modules/luci-base/luasrc/view/error500.htm:8
-msgid "Internal Server Error"
-msgstr "Error de servidor intern"
-
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:285
msgid "Interval For Sending Learning Packets"
msgstr ""
msgid "Invalid hexadecimal value"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:37
+#: modules/luci-base/ucode/template/sysauth.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:32
msgid "Invalid username and/or password! Please try again."
msgstr "Usuari i/o contrasenya invàlids! Si us plau prova-ho de nou."
"Sembla que intentes actualitzar una imatge que no hi cap a la memòria flaix, "
"si us plau verifica el fitxer d'imatge!"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:89
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:96
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:77
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:91
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:72
msgid "JavaScript required!"
msgstr "Es requereix JavaScript!"
msgid "Language and Style"
msgstr "Llengua i estil"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:560
+msgid ""
+"Larger weights (of the same prio) are given a proportionately higher "
+"probability of being selected."
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:575
msgid "Last member interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
msgid "Latency"
msgstr "Latència"
msgid "Learn routes"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:348
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:353
msgid "Lease file"
msgstr "Fitxer d'arrendament"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:697
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:768
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:679
msgid "Lease time"
msgstr ""
msgid "Limit"
msgstr "Límit"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
msgid "Line Attenuation (LATN)"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
msgid "Line Mode"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:17
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
msgid "Line State"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
msgid "Line Uptime"
msgstr ""
msgid "Link layer header bits %d-%d"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
msgid "List of IP addresses to convert into NXDOMAIN responses."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:296
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:581
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:652
msgid "List of IP sets to populate with the specified domain IPs."
msgstr ""
msgid "List of SSH key files for auth"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:317
msgid "List of domains to allow RFC1918 responses for."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:290
-msgid "List of domains to force to an IP address."
-msgstr ""
-
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:283
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:285
msgid "List of upstream resolvers to forward queries to."
msgstr ""
msgid "Listen Port"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:332
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:337
msgid "Listen interfaces"
msgstr ""
"Habilita el servei en totes les interfícies o, si no se n'especifica cap, en "
"totes"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:333
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
msgid ""
"Listen only on the specified interfaces, and loopback if not excluded "
"explicitly."
msgid "ListenPort setting is invalid"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:439
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:444
msgid "Listening port for inbound DNS queries."
msgstr ""
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:1942
-#: modules/luci-base/luasrc/view/view.htm:4
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:45
+#: modules/luci-base/ucode/template/view.ut:4
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:40
msgid "Loading view…"
msgstr ""
msgid "Local ULA"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:273
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:275
msgid "Local domain"
msgstr "Domini local"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:274
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:276
msgid "Local domain suffix appended to DHCP names and hosts file entries."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:269
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:271
msgid "Local server"
msgstr "Servidor local"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:319
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:324
msgid "Local service only"
msgstr ""
msgid "Local wireguard key"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
msgid "Localise queries"
msgstr "Localitza les peticions"
msgid "Log output level"
msgstr "Nivell de sortida de registre"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:277
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:279
msgid "Log queries"
msgstr "Registra les peticions"
msgid "Logical network to which the tunnel will be added (bridged) (optional)."
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:38
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:41
+#: modules/luci-base/ucode/template/sysauth.ut:38
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:36
msgid "Login"
msgstr "Entra"
msgid "Loose filtering"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
msgid "Loss of Signal Seconds (LOSS)"
msgstr ""
msgid "Lowest leased address as offset from the network address."
msgstr ""
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/footer.ut:12
+msgid "Lua compatibility mode active"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:48
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:83
msgid "MAC"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:591
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:40
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:619
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1164
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2177
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:56
msgid "MTU"
msgstr "MTU"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:259
+msgid "MX"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:303
msgid ""
"Make sure to clone the root filesystem using something like the commands "
msgid "Max <abbr title=\"Router Advertisement\">RA</abbr> interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
msgid "Max. Attainable Data Rate (ATTNDR)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:457
msgid "Max. DHCP leases"
msgstr ""
"Arrendaments de <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</"
"abbr> <abbr title=\"màxims\">max.</abbr>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:459
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:464
msgid "Max. EDNS0 packet size"
msgstr ""
"Mida <abbr title=\"màxima\">màx.</abbr> de paquet <abbr title=\"Extension "
"Mechanisms for Domain Name System\">EDNS0</abbr>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:466
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:471
msgid "Max. concurrent queries"
msgstr "Consultes concurrents <abbr title=\"màximes\">max.</abbr>"
msgid "Maximum allowed Listen Interval"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:453
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:458
msgid "Maximum allowed number of active DHCP leases."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:467
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:472
msgid "Maximum allowed number of concurrent DNS queries."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:460
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:465
msgid "Maximum allowed size of EDNS0 UDP packets."
msgstr ""
msgid "Maximum transmit power"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:394
msgid "May prevent VoIP or other services from working."
msgstr ""
msgid "Name of the tunnel device"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:46
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:39
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:50
msgid "Navigation"
msgstr "Navegació"
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:10
+msgid "Nebula Network"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:653
msgid "Neighbour cache validity"
msgstr ""
msgid "Network address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:492
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:497
msgid "Network boot image"
msgstr "Imatge d'inici de xarxa"
msgid "Network interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:536
msgid "Network-ID"
msgstr ""
msgid "Never"
msgstr "Mai"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:270
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:272
msgid ""
"Never forward matching domains and subdomains, resolve from DHCP or hosts "
"files only."
msgid "No RX signal"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:80
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:87
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:68
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:82
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:65
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:90
msgid ""
"No changes to settings will be stored and are lost after rebooting. This "
msgid "No entries in this directory"
msgstr ""
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:82
-msgid "No files found"
-msgstr "Cap fitxer trobat"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:833
msgid ""
"No fixed interface listening port defined, peers might not be able to "
msgid "No more slaves available, can not save interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:413
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
msgid "No negative cache"
msgstr "Sense memòria cau negativa"
msgid "No nftables ruleset loaded."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:69
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:61
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:57
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:54
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:79
msgid "No password set!"
msgstr "No hi ha cap contrasenya establerta!"
msgid "Noise"
msgstr "Soroll"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
msgid "Noise Margin (SNR)"
msgstr ""
msgid "Noise:"
msgstr "Soroll:"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
msgid "Non Pre-emptive CRC errors (CRC_P)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:330
msgid "Non-wildcard"
msgstr ""
msgid "Normal"
msgstr "Normal"
-#: modules/luci-base/luasrc/view/error404.htm:8
+#: modules/luci-base/ucode/template/error404.ut:9
msgid "Not Found"
msgstr "No trobat"
msgid "Number of IGMP membership reports"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:474
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:479
msgid "Number of cached DNS entries, 10000 is maximum, 0 is no caching."
msgstr ""
msgid "On-link"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:672
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:743
msgid "One of hostname or MAC address must be specified!"
msgstr "Cal especificar o el nom de host o l'adreça MAC!"
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:472
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:19
msgid "Open list..."
msgstr "Obre una llista..."
msgid "Options"
msgstr "Opcions"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:526
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
msgid ""
"Options for the Network-ID. (Note: needs also Network-ID.) E.g. "
-"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</"
-"code>\" for default route. <code>0.0.0.0</code> means \"the address of the "
-"system running dnsmasq\"."
+"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</code>"
+"\" for default route. <code>0.0.0.0</code> means \"the address of the system "
+"running dnsmasq\"."
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:125
msgid "Options:"
msgstr "Opcions:"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
+msgid "Ordinal: lower comes first."
+msgstr ""
+
#: protocols/luci-proto-batman-adv/htdocs/luci-static/resources/protocol/batadv.js:55
msgid "Originator Interval"
msgstr ""
msgid "Pass-through (Mirror physical device to single MAC VLAN)"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:29
+#: modules/luci-base/ucode/template/sysauth.ut:29
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1690
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:51
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:114
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:103
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:24
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:19
msgid "Password"
msgstr "Contrasenya"
msgid "Pkts."
msgstr "Paquets"
-#: modules/luci-base/luasrc/view/sysauth.htm:19
+#: modules/luci-base/ucode/template/sysauth.ut:19
msgid "Please enter your username and password."
msgstr "Si us plau entra el teu nom d'usuari i contrasenya."
msgid "Policy: <strong>%h</strong> (%h)"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:579
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:21
msgid "Port"
msgstr "Port"
msgid "Potential negation of: %s"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:38
msgid "Power Management Mode"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
msgid "Pre-emptive CRC errors (CRCP_P)"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:129
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:197
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:223
msgid "Quality"
msgstr "Calidad"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
msgid "Query all available upstream resolvers."
msgstr ""
msgid "Raw hex-encoded bytes. Leave empty unless your ISP require this"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:345
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:350
msgid "Read <code>/etc/ethers</code> to configure the DHCP server."
msgstr ""
-"Llegeix <code>/etc/ethers</code> per configurar el servidor <abbr "
-"title=\"Dynamic Host Configuration Protocol\">DHCP</abbr>"
+"Llegeix <code>/etc/ethers</code> per configurar el servidor <abbr title="
+"\"Dynamic Host Configuration Protocol\">DHCP</abbr>"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:559
msgid "Really switch protocol?"
msgid "Reassociation Deadline"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
msgid "Rebind protection"
msgstr ""
msgstr ""
#: modules/luci-compat/luasrc/model/network/proto_relay.lua:153
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:611
#: protocols/luci-proto-relay/htdocs/luci-static/resources/protocol/relay.js:39
msgid "Relay"
msgstr "Relé"
msgid "Required. Base64-encoded private key for this interface."
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Required. Path to the .yml config file for this interface."
+msgstr ""
+
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:587
msgid "Required. Public key of the WireGuard peer."
msgstr ""
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2197
-#: modules/luci-base/luasrc/view/sysauth.htm:39
+#: modules/luci-base/ucode/template/sysauth.ut:39
#: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
#: modules/luci-compat/luasrc/view/cbi/footer.htm:30
#: modules/luci-compat/luasrc/view/cbi/simpleform.htm:66
msgid "Resolv and Hosts Files"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:356
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:361
msgid "Resolv file"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:292
+msgid "Resolve specified FQDNs to an IP."
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/rpc.js:405
msgid "Resource not found"
msgstr ""
msgid "Restore backup"
msgstr "Restaura còpia de seguretat"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
msgid ""
"Return answers to DNS queries matching the subnet from which the query was "
"received if multiple IPs are available."
msgid "Robustness"
msgstr "Robustesa"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:491
msgid ""
"Root directory for files served via TFTP. <em>Enable TFTP server</em> and "
"<em>TFTP server root</em> turn on the TFTP server and serve files from "
msgid "SNR"
msgstr "SNR"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "SRV"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:10
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:38
msgid "SSH Access"
msgid "Server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:524
msgid "Server address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:518
msgid "Server name"
msgstr ""
msgid "Setup routes for proxied IPv6 neighbours."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
msgid "Severely Errored Seconds (SES)"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:470
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:18
msgid "Show current backup file list"
msgstr ""
msgid "Signal / Noise"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
msgid "Signal Attenuation (SATN)"
msgstr ""
msgid "Size"
msgstr "Mida"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:473
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:478
msgid "Size of DNS query cache"
msgstr ""
msgid "Skip from backup files that are equal to those in /rom"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:42
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:35
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:46
msgid "Skip to content"
msgstr "Salta al contingut"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:41
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:34
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:45
msgid "Skip to navigation"
msgstr "Salta a la navegació"
msgid "Some fields are invalid, cannot save values!"
msgstr "No es pot desar els valors perquè alguns camps estan invàlids!"
-#: modules/luci-base/luasrc/view/error404.htm:9
+#: modules/luci-base/ucode/template/error404.ut:10
msgid "Sorry, the object you requested was not found."
msgstr "Tristament, l'object que heu sol·licitat no s'ha trobat."
-#: modules/luci-base/luasrc/view/error500.htm:9
-msgid "Sorry, the server encountered an unexpected error."
-msgstr "Tristament, el servidor ha encontrat un error inesperat."
-
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:442
msgid ""
"Sorry, there is no sysupgrade support present; a new firmware image must be "
msgid "Source port"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:505
msgid ""
"Special <abbr title=\"Preboot eXecution Environment\">PXE</abbr> boot "
"options for Dnsmasq."
msgid "Static address"
msgstr "Adreça estàtica"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:598
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:669
msgid ""
"Static leases are used to assign fixed IP addresses and symbolic hostnames "
"to DHCP clients. They are also required for non-dynamic interface "
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:16
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:541
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:929
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:9
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:9
msgid "Status"
msgstr "Estat"
msgid "Strict filtering"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
msgid "Strict order"
msgstr "Ordre estricte"
msgid "Submit"
msgstr "Envia"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
msgid "Suppress logging"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:373
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
msgid "Suppress logging of the routine operation for the DHCP protocol."
msgstr ""
msgid "Sync with browser"
msgstr "Sincronitza amb el navegador"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:293
+msgid "Syntax: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "Syntax: <code>_service._proto.example.com</code>."
+msgstr ""
+
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:26
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:17
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:113
msgid "System log buffer size"
msgstr "Mida de la memòria intermèdia per al registre del sistema"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:79
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:86
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:71
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:67
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:81
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:64
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:89
msgid "System running in recovery (initramfs) mode."
msgstr ""
msgid "TCP:"
msgstr "TCP:"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:490
msgid "TFTP server root"
msgstr "Arrel del servidor TFTP"
msgid "Table"
msgstr "Taula"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:56
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:66
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:187
"username instead of the user ID!"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:681
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:752
msgid "The IP address %h is already used by another static lease"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:761
msgid "The IP address is outside of any DHCP pool address range"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:520
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
msgid "The IP address of the boot server"
msgstr ""
"The device file of the memory or partition (<abbr title=\"for example\">e.g."
"</abbr> <code>/dev/sda1</code>)"
msgstr ""
-"El fitxer de dispositiu de la memòria o partició (<abbr title=\"per "
-"exemple\">p.e.</abbr> <code>/dev/sda1</code>)"
+"El fitxer de dispositiu de la memòria o partició (<abbr title=\"per exemple"
+"\">p.e.</abbr> <code>/dev/sda1</code>)"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:450
msgid "The device name \"%s\" is already taken"
"to be received and retransmitted which costs airtime)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:514
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
msgid "The hostname of the boot server"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/switch.js:139
msgid ""
-"The network ports on this device can be combined to several <abbr "
-"title=\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
+"The network ports on this device can be combined to several <abbr title="
+"\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
"communicate directly with each other. <abbr title=\"Virtual Local Area "
"Network\">VLAN</abbr>s are often used to separate different network "
"segments. Often there is by default one Uplink port for a connection to the "
msgid "The selected %s mode is incompatible with %s encryption"
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:11
+#: modules/luci-base/ucode/template/csrftoken.ut:11
msgid "The submitted security token is invalid or already expired!"
msgstr ""
"nftables rules is discouraged and may lead to incomplete traffic filtering."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:746
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:778
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:817
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:849
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:130
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:179
msgid "There are no active leases"
msgid "There are no changes to apply"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:70
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:58
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:55
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:80
msgid ""
"There is no password set on this router. Please configure a root password to "
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:16
msgid ""
"This is a list of shell glob patterns for matching files and directories to "
"include during sysupgrade. Modified files in /etc/config/ and certain other "
"ends with <code>...:2/64</code>"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:266
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:268
msgid "This is the only DHCP server in the local network."
msgstr ""
"Aquest és l'únic <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</"
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:440
msgid ""
"To fully configure the local WireGuard interface from an existing (e.g. "
-"provider supplied) configuration file, use the <strong><a class=\"full-"
-"import\" href=\"#\">configuration import</a></strong> instead."
+"provider supplied) configuration file, use the <strong><a class=\"full-import"
+"\" href=\"#\">configuration import</a></strong> instead."
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2674
msgid "Unable to determine upstream interface"
msgstr ""
-#: modules/luci-base/luasrc/view/error404.htm:11
+#: modules/luci-base/ucode/template/error404.ut:12
msgid "Unable to dispatch"
msgstr ""
msgid "Unable to verify PIN"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
msgid "Unavailable Seconds (UAS)"
msgstr ""
"will be restarted to apply the updated configuration."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
msgid "Upstream resolvers will be queried in the order of the resolv file."
msgstr ""
"Es consultaran els servidors <abbr title=\"Domain Name System\">DNS</abbr> "
msgid "Uptime"
msgstr "Temps en marxa"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
msgid "Use <code>/etc/ethers</code>"
msgstr "Fes servir <code>/etc/ethers</code>"
msgid "Use system certificates for inner-tunnel"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:599
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:670
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC address</"
"em> identifies the host, the <em>IPv4 address</em> specifies the fixed "
msgid "User key (PEM encoded)"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:23
+#: modules/luci-base/ucode/template/sysauth.ut:23
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:112
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:101
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:56
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:18
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:13
msgid "Username"
msgstr "Nom d'usuari"
msgid "VXLANv6 (RFC7348)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
msgid ""
"Validate DNS replies and cache DNSSEC data, requires upstream to support "
"DNSSEC."
msgid "Vendor Class to send when requesting DHCP"
msgstr "Classe de venidor per enviar al sol·licitar DHCP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:408
msgid "Verify unsigned domain responses really come from unsigned domains."
msgstr ""
msgid "Weak"
msgstr "Dèbil"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+msgid "Weight"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1029
msgid ""
"When delegating prefixes to multiple downstreams, interfaces with a higher "
msgid "Wireless network is enabled"
msgstr "La xarxa sense fils està habilitada"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:278
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:280
msgid "Write received DNS queries to syslog."
msgstr "Escriure les peticions DNS rebudes al registre del sistema"
"Si desactives scripts d'inici necessaris com el \"network\", el teu "
"dispositiu pot resultar inaccessible!</strong>"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:90
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:97
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
+msgid "You may add multiple records for the same Target."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:596
+msgid "You may add multiple records for the same domain."
+msgstr ""
+
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:78
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:92
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:73
msgid ""
"You must enable JavaScript in your browser or LuCI will not work properly."
msgid "ZRam Size"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:558
+msgid "_proto: _tcp, _udp, _sctp, _quic, … ."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:557
+msgid ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Note: while _http is "
+"possible, no browsers support SRV records.)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:454
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:152
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:163
msgid "any"
msgid "e.g: dump"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:726
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:756
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:797
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:827
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:101
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:148
msgid "expired"
msgid "unknown"
msgstr "desconegut"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:456
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:724
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:754
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:461
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:795
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:825
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:99
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:146
msgid "unlimited"
msgid "« Back"
msgstr "« Enrere"
+#~ msgid "Back to configuration"
+#~ msgstr "Enrere a la configuració"
+
+#~ msgid "Close list..."
+#~ msgstr "Tanca la llista..."
+
+#~ msgid "Internal Server Error"
+#~ msgstr "Error de servidor intern"
+
+#~ msgid "No files found"
+#~ msgstr "Cap fitxer trobat"
+
+#~ msgid "Sorry, the server encountered an unexpected error."
+#~ msgstr "Tristament, el servidor ha encontrat un error inesperat."
+
#~ msgid "Default %d"
#~ msgstr "%d per defecte"
#~ msgid ""
#~ "The filesystem that was used to format the memory (<abbr title=\"for "
-#~ "example\">e.g.</abbr> <samp><abbr title=\"Third Extended "
-#~ "Filesystem\">ext3</abbr></samp>)"
+#~ "example\">e.g.</abbr> <samp><abbr title=\"Third Extended Filesystem"
+#~ "\">ext3</abbr></samp>)"
#~ msgstr ""
#~ "El sistema the fitxers que es va fer servir per formatar la memòria "
-#~ "(<abbr title=\"per exemple example\">p.e.</abbr> <samp><abbr "
-#~ "title=\"Third Extended Filesystem\">ext3</abbr></samp>)"
+#~ "(<abbr title=\"per exemple example\">p.e.</abbr> <samp><abbr title="
+#~ "\"Third Extended Filesystem\">ext3</abbr></samp>)"
#~ msgid ""
#~ "The flash image was uploaded. Below is the checksum and file size listed, "
msgid "<abbr title=\"Router Advertisement\">RA</abbr>-Service"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:294
+msgid ""
+"<code>/#/</code> matches any domain. <code>/example.com/</code> returns "
+"NXDOMAIN."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+msgid ""
+"<code>/example.com/#</code> returns NULL addresses (<code>0.0.0.0</code> and "
+"<code>::</code>) for example.com and its subdomains."
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:87
msgctxt "nft relational \">\" operator expression"
msgid "<var>%s</var> greater than <strong>%s</strong>"
msgid "ATM device number"
msgstr "číslo ATM zařízení"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
msgid "ATU-C System Vendor ID"
msgstr "ATU-C identifikace výrobce systému"
msgid "Absent Interface"
msgstr "Rozhraní chybí"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:320
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
msgid "Accept DNS queries only from hosts whose address is on a local subnet."
msgstr ""
"Omezit obsluhování DNS na rozhraní podsítí, na kterých je DNS poskytováno."
msgid "Add key"
msgstr "Přidat klíč"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:410
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:415
msgid "Add local domain suffix to names served from hosts files."
msgstr "Přidat lokální koncovku k doménovým jménům ze souboru hosts."
msgid "Add to Whitelist"
msgstr "Přidat na whitelist"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:367
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
msgid "Additional hosts files"
msgstr "Dodatečné Hosts soubory"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:417
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
msgid "Additional servers file"
msgstr "Soubor s dalšími servery"
msgid "Address to access local relay bridge"
msgstr "Adresa pro přístup k místnímu relay bridge"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:289
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:291
msgid "Addresses"
msgstr "Adresy"
msgid "Aggregate Originator Messages"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
msgid "Aggregate Transmit Power (ACTATP)"
msgstr "Celkový vysílací výkon (ACTATP)"
msgid "Alias of \"%s\""
msgstr "Alternativní název „%s“"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
msgid "All servers"
msgstr "Všechny servery"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
msgid ""
"Allocate IP addresses sequentially, starting from the lowest available "
"address."
msgstr "Postupné přidělování adres IP od nejnižší dostupné adresy."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
msgid "Allocate IPs sequentially"
msgstr "Postupné přidělování adres IP"
msgid "Allow listed only"
msgstr "Povolit pouze uvedené"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
msgid "Allow localhost"
msgstr "Povolit localhost"
msgid "Always on (kernel: default-on)"
msgstr "Vždy zapnuto (jádro: default-on)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:538
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
msgid "Always send DHCP Options. Sometimes needed, with e.g. PXELinux."
msgstr ""
msgstr "Volitelný, krátký popis zařízení"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1484
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
msgid "Annex"
msgstr "Annex"
msgid "Any zone"
msgstr "Libovolná zóna"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:532
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
msgid "Apply DHCP Options to this net. (Empty = all clients)."
msgstr ""
msgid "Authentication Type"
msgstr "Typ ověřování se"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:265
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:267
msgid "Authoritative"
msgstr "Autoritativní"
-#: modules/luci-base/luasrc/view/sysauth.htm:17
+#: modules/luci-base/ucode/template/sysauth.ut:17
#: themes/luci-theme-bootstrap/htdocs/luci-static/resources/view/bootstrap/sysauth.js:11
msgid "Authorization Required"
msgstr "Vyžadováno ověření se"
msgid "Avoid Bridge Loops"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
msgid ""
"Avoid uselessly triggering dial-on-demand links (filters SRV/SOA records and "
"names with underscores)."
msgid "Back to Overview"
msgstr "Zpět na přehled"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:48
-msgid "Back to configuration"
-msgstr "Zpět na nastavení"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:826
msgid "Back to peer configuration"
msgstr ""
msgstr "Zálohovat / nahrát firmware"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:351
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:12
msgid "Backup file list"
msgstr "Seznam souborů k zálohování"
msgstr "Interval majáku (beacon)"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:352
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:46
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
msgid "Bind NTP server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:326
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:331
msgid "Bind dynamically to interfaces rather than wildcard address."
msgstr ""
"Dynamicky navázat k rozhraním místo wildcard adresy (doporučeno jako výchozí "
msgid "Bind interface"
msgstr "Navázat k rozhraní"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:595
+msgid ""
+"Bind service records to a domain name: specify the location of services."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:556
+msgid ""
+"Bind service records to a domain name: specify the location of services. See "
+"<a href=\"%s\">RFC2782</a>."
+msgstr ""
+
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gre.js:59
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gretap.js:64
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/grev6.js:64
msgid "CLAT configuration failed"
msgstr "Nastavení CLAT se nezdařilo"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
+msgid "CNAME or fqdn"
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/processes.js:72
msgid "CPU usage (%)"
msgstr "Vytížení procesoru (%)"
"Uzavírat neaktivní spojení po daném počtu sekund. Pro vypnutí časového "
"omezení použijte jako hodntu nulu"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:49
-msgid "Close list..."
-msgstr "Zavřít seznam…"
-
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:44
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:63
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2184
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:391
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:352
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:355
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:72
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:66
msgid "Collecting data..."
msgstr "Shromažďování údajů…"
msgid "Compute outgoing checksum (optional)."
msgstr "Vypočítat odchozí kontrolní součet (volitelné)."
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Config File"
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4375
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
msgid "Configuration"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:764
msgid ""
-"Configures the operation mode of the <abbr title=\"Router "
-"Advertisement\">RA</abbr> service on this interface."
+"Configures the operation mode of the <abbr title=\"Router Advertisement"
+"\">RA</abbr> service on this interface."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:879
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/leds.js:59
msgid ""
-"Customizes the behaviour of the device <abbr title=\"Light Emitting "
-"Diode\">LED</abbr>s if possible."
+"Customizes the behaviour of the device <abbr title=\"Light Emitting Diode"
+"\">LED</abbr>s if possible."
msgstr ""
"Upraví chování <abbr title=\"Light Emitting Diode\">LED</abbr> diod zařízení "
"pokud je to možné."
msgid "DAE-Secret"
msgstr "DAE-Secret"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:530
msgid "DHCP Options"
msgstr ""
msgid "DNS"
msgstr "DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:282
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:284
msgid "DNS forwardings"
msgstr "Přeposílání DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:445
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:450
msgid "DNS query port"
msgstr "port dotazů <abbr title=\"Domain Name System\">DNS</abbr>"
msgid "DNS search domains"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:443
msgid "DNS server port"
msgstr "port serveru <abbr title=\"Domain Name System\">DNS</abbr>"
msgid "DNS-Label / FQDN"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
msgid "DNSSEC"
msgstr "DNSSEC"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:407
msgid "DNSSEC check unsigned"
msgstr "DNSSEC kontrolovat nepodepsané"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1481
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:44
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:45
msgid "DSL"
msgstr "DSL"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:14
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:15
msgid "DSL Status"
msgstr "Stav DSL"
msgstr "Interval DTIM"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:59
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:700
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:771
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:136
msgid "DUID"
msgstr "DUID"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
msgid "Data Rate"
msgstr "Rychlost přenosu dat"
"Disable <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</abbr> for "
"this interface."
msgstr ""
-"Pro toto rozhraní zakázat <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr>."
+"Pro toto rozhraní zakázat <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr>."
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:174
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:375
msgid "Disassociate On Low Acknowledgement"
msgstr "Zrušit spojení při nízkém počtu ACK potvrzení"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:302
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
msgid ""
"Discard upstream responses containing <a href=\"%s\">RFC1918</a> addresses."
msgstr "Vyřadit upstream RFC1918 odpovědi."
msgid "Distributed ARP Table"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:548
msgid ""
"Dnsmasq instance to which this boot section is bound. If unspecified, the "
"section is valid for all dnsmasq instances."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:246
msgid ""
-"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</"
-"abbr> forwarder."
+"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</abbr> "
+"forwarder."
msgstr ""
"Dnsmasq je jednoduchá kombinace <abbr title=\"Dynamic Host Configuration "
"Protocol\">DHCP</abbr> serveru a <abbr title=\"Domain Name System\">DNS</"
"abbr> forwarderu."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:419
msgid "Do not cache negative replies, e.g. for non-existent domains."
msgstr ""
"Neukládat negativní odpovědi do mezipaměti (např. pro neexistující domény)."
msgid "Do not create host route to peer (optional)."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:262
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:264
msgid "Do not forward DNS queries without dots or domain parts."
msgstr ""
"Nepřeposílat <abbr title=\"Domain Name System\">DNS</abbr> dotazy bez <abbr "
"title=\"Domain Name System\">DNS</abbr> jména."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
msgid "Do not forward reverse lookups for local networks."
msgstr "Nepřeposílat reverzní dotazy na místní sítě."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:339
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
msgid "Do not listen on the specified interfaces."
msgstr "Zabránit naslouchání na těchto rozhraních."
msgid "Do you want to replace the current keys?"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:593
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:606
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:664
msgid "Domain"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:261
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:263
msgid "Domain required"
msgstr "Vyžadována doména"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:316
msgid "Domain whitelist"
msgstr "Whitelist domén"
msgid "Enable Single DES"
msgstr "Povolit Single DES"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:480
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
msgid "Enable TFTP server"
msgstr "Zapnout TFTP server"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/uhttpd.js:14
msgid ""
-"Enable automatic redirection of <abbr title=\"Hypertext Transfer "
-"Protocol\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol "
-"Secure\">HTTPS</abbr> port."
+"Enable automatic redirection of <abbr title=\"Hypertext Transfer Protocol"
+"\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol Secure"
+"\">HTTPS</abbr> port."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:977
msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets."
msgstr "Povolit příznak DF (Nefragmentovat) zapouzdřujících paketů."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:481
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
msgid "Enable the built-in single-instance TFTP server."
msgstr ""
msgid "Error getting PublicKey"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
msgid "Errored seconds (ES)"
msgstr "Sekund s chybami (ES)"
msgid "Every second (fast, 1)"
msgstr "Každou vteřinu (rychlý, 1)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:343
msgid "Exclude interfaces"
msgstr "Vynechat rozhraní"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
msgid ""
"Exempt <code>127.0.0.0/8</code> and <code>::1</code> from rebinding checks, "
"e.g. for RBL services."
msgid "Existing device"
msgstr "Existující zařízení"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:409
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
msgid "Expand hosts"
msgstr "Rozšířit hostitele"
msgid "File"
msgstr "Soubor"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
msgid ""
"File listing upstream resolvers, optionally domain-specific, e.g. "
"<code>server=1.2.3.4</code>, <code>server=/domain/1.2.3.4</code>."
msgid "File not accessible"
msgstr "Soubor není přístupný"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:354
msgid "File to store DHCP lease information."
msgstr ""
"Soubor, ve kterém budou uloženy zadané <abbr title=\"Dynamic Host "
"Configuration Protocol\">DHCP</abbr> výpůjčky (leases)."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:362
msgid "File with upstream resolvers."
msgstr "Soubor s nadřazenými resolvery."
#: modules/luci-base/htdocs/luci-static/resources/ui.js:2846
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:507
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:512
msgid "Filename"
msgstr "Název souboru"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:493
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:498
msgid "Filename of the boot image advertised to clients."
msgstr "Název souboru s bootovacím obrazem oznamovaný klientům."
msgid "Filesystem"
msgstr "Souborový systém"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
msgid "Filter private"
msgstr "Filtrovat soukromé"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
msgid "Filter useless"
msgstr "Filtrovat nepotřebné"
msgid "Firmware Version"
msgstr "Verze firmware"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:446
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:451
msgid "Fixed source port for outbound DNS queries."
msgstr "Pevný zdrojový port pro odchozí DNS dotazy."
msgid "Flashing…"
msgstr "Flashování…"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:686
msgid "Force"
msgstr "Vynutit"
msgid "Force use of NAT-T"
msgstr "Vynutit použití NAT-T"
-#: modules/luci-base/luasrc/view/csrftoken.htm:8
+#: modules/luci-base/ucode/template/csrftoken.ut:8
msgid "Form token mismatch"
msgstr "Neshoda tokenu formuláře"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:919
msgid ""
-"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr "
-"title=\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr "
-"title=\"Neighbour Advertisement, Type 136\">NA</abbr> messages between the "
-"designated master interface and downstream interfaces."
+"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr title="
+"\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr title=\"Neighbour "
+"Advertisement, Type 136\">NA</abbr> messages between the designated master "
+"interface and downstream interfaces."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:770
"downstream interfaces."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
msgid "Forward Error Correction Seconds (FECS)"
msgstr "Dopředné korekce chyb v sekundách (FECS)"
msgid "Global network options"
msgstr "Globální možnosti sítě"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:82
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:74
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:70
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:84
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:67
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:92
msgid "Go to firmware upgrade..."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:72
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:64
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:60
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:57
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:82
msgid "Go to password configuration..."
msgstr "Přejít na nastavení hesla..."
msgid "Hang Up"
msgstr "Zavěsit"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
msgid "Header Error Code Errors (HEC)"
msgstr "Chyby kódu hlavičky (HEC)"
msgid "Host expiry timeout"
msgstr "Vypršení časového limitu hostitele"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
msgid "Host requests this filename from the boot server."
msgstr ""
msgstr "Obsah značky Host-Uniq"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:38
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:607
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:678
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:54
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:87
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:135
msgid "Hostnames"
msgstr "Jména hostitelů"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:551
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:622
msgid ""
"Hostnames are used to bind a domain name to an IP address. This setting is "
"redundant for hostnames already configured with static leases, but it can be "
msgid "IP Protocol"
msgstr "Protokol IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:260
msgid "IP Sets"
msgstr ""
msgid "IP Type"
msgstr "Typ IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:563
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:634
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:178
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:204
msgid "IP address"
msgid "IP protocol"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:660
msgid "IP set"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:300
msgid "IP sets"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:437
msgid "IPs to override with NXDOMAIN"
msgstr "Přepíše falešnou hodnotu NX Domény"
#: modules/luci-base/htdocs/luci-static/resources/protocol/static.js:178
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:736
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:88
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:164
msgid "IPv4 address"
msgid "IPv6 suffix"
msgstr "IPv6 suffix"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:706
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:777
msgid "IPv6 suffix (hex)"
msgstr ""
"<abbr title=\"Internetový Protokol Verze 6\">IPv6</abbr>-Suffix "
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:340
msgid ""
"If your physical memory is insufficient unused data can be temporarily "
-"swapped to a swap-device resulting in a higher amount of usable <abbr "
-"title=\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a "
-"very slow process as the swap-device cannot be accessed with the high "
-"datarates of the <abbr title=\"Random Access Memory\">RAM</abbr>."
+"swapped to a swap-device resulting in a higher amount of usable <abbr title="
+"\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a very "
+"slow process as the swap-device cannot be accessed with the high datarates "
+"of the <abbr title=\"Random Access Memory\">RAM</abbr>."
msgstr ""
"Pokud máte nedostatek fyzické paměti, nepoužívaná data mohou být dočasně "
"odložena do odkládacího zařízení, což bude mít za důsledek větší množství "
"přístup na odkládací zařízení je řádově pomalejší, než přístup do paměti "
"<abbr title=\"Random Access Memory\">RAM</abbr>."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:363
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:368
msgid "Ignore <code>/etc/hosts</code>"
msgstr "Ignorovat <code>/etc/hosts</code>"
msgid "Ignore interface"
msgstr "Ignorovat rozhraní"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:352
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
msgid "Ignore resolv file"
msgstr "Ignorovat resolv soubor"
"order to avoid broadcast loops that can bring the entire LAN to a standstill."
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:13
+#: modules/luci-base/ucode/template/csrftoken.ut:13
msgid ""
"In order to prevent unauthorized access to the system, your request has been "
"blocked. Click \"Continue »\" below to return to the previous page."
msgid "Install protocol extensions..."
msgstr "Instalovat protokolové rozšíření…"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:547
msgid "Instance"
msgstr ""
"Instead of joining any network with a matching SSID, only connect to the "
"BSSID <code>%h</code>."
msgstr ""
-"Místo připojení k jakékoli síti se shodným SSID pouze připojit k BSSID "
-"<code>%h</code>."
+"Místo připojení k jakékoli síti se shodným SSID pouze připojit k BSSID <code>"
+"%h</code>."
#: modules/luci-compat/luasrc/view/cbi/map.htm:43
msgid "Insufficient permissions to read UCI configuration."
msgid "Internal"
msgstr "Interní"
-# Není co dodat.
-#: modules/luci-base/luasrc/view/error500.htm:8
-msgid "Internal Server Error"
-msgstr "Vnitřní chyba serveru"
-
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:285
msgid "Interval For Sending Learning Packets"
msgstr ""
msgid "Invalid hexadecimal value"
msgstr "Neplatná šestnáctková hodnota"
-#: modules/luci-base/luasrc/view/sysauth.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:37
+#: modules/luci-base/ucode/template/sysauth.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:32
msgid "Invalid username and/or password! Please try again."
msgstr "Špatné uživatelské jméno a/nebo heslo! Prosím zkuste to znovu."
"Vypadadá to, že se pokoušíte zapsat obraz, který se nevejde do flash paměti. "
"Prosím ověřte soubor s obrazem!"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:89
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:96
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:77
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:91
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:72
msgid "JavaScript required!"
msgstr "Je vyžadován JavaScript!"
msgid "Language and Style"
msgstr "Jazyk a vzhled"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:560
+msgid ""
+"Larger weights (of the same prio) are given a proportionately higher "
+"probability of being selected."
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:575
msgid "Last member interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
msgid "Latency"
msgstr "Odezva"
msgid "Learn routes"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:348
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:353
msgid "Lease file"
msgstr "Soubor zápůjček"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:697
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:768
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:679
msgid "Lease time"
msgstr "Doba zapůjčení"
msgid "Limit"
msgstr "Limit"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
msgid "Line Attenuation (LATN)"
msgstr "Útlum vedení (LATN)"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
msgid "Line Mode"
msgstr "Režim linky"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:17
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
msgid "Line State"
msgstr "Stav linky"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
msgid "Line Uptime"
msgstr "Line Uptime"
msgid "Link layer header bits %d-%d"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
msgid "List of IP addresses to convert into NXDOMAIN responses."
msgstr "Seznam IP adres, které se mají převádět na odpovědi NXDOMAIN."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:296
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:581
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:652
msgid "List of IP sets to populate with the specified domain IPs."
msgstr ""
msgid "List of SSH key files for auth"
msgstr "Seznam SSH klíčů pro autentizaci"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:317
msgid "List of domains to allow RFC1918 responses for."
msgstr "Seznam domén, pro které povolit odpovědi podle RFC1918."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:290
-msgid "List of domains to force to an IP address."
-msgstr ""
-
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:283
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:285
msgid "List of upstream resolvers to forward queries to."
msgstr ""
"Seznam nadřazených <abbr title=\"Domain Name System\">DNS</abbr> serverů, na "
msgid "Listen Port"
msgstr "Port na kterém očekávat spojení"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:332
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:337
msgid "Listen interfaces"
msgstr "Naslouchající rozhraní"
msgstr ""
"Poslouchat pouze na daném rozhraní, nebo pokud není specifikováno, na všech"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:333
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
msgid ""
"Listen only on the specified interfaces, and loopback if not excluded "
"explicitly."
msgid "ListenPort setting is invalid"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:439
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:444
msgid "Listening port for inbound DNS queries."
msgstr "Port pro příchozí dotazy DNS."
msgstr "Načítání obsahu adresáře…"
#: modules/luci-base/htdocs/luci-static/resources/luci.js:1942
-#: modules/luci-base/luasrc/view/view.htm:4
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:45
+#: modules/luci-base/ucode/template/view.ut:4
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:40
msgid "Loading view…"
msgstr "Načítání zobrazení…"
msgid "Local ULA"
msgstr "Místní ULA"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:273
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:275
msgid "Local domain"
msgstr "Místní doména"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:274
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:276
msgid "Local domain suffix appended to DHCP names and hosts file entries."
msgstr ""
"Přípona místní domény, připojená za názvy DHCP jmen a záznamů v souboru "
"hosts."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:269
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:271
msgid "Local server"
msgstr "Místní server"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:319
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:324
msgid "Local service only"
msgstr "Pouze lokální služba"
msgid "Local wireguard key"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
msgid "Localise queries"
msgstr "Lokalizační dotazy"
msgid "Log output level"
msgstr "Úroveň logování"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:277
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:279
msgid "Log queries"
msgstr "Dotazy pro logování"
msgid "Logical network to which the tunnel will be added (bridged) (optional)."
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:38
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:41
+#: modules/luci-base/ucode/template/sysauth.ut:38
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:36
msgid "Login"
msgstr "Přihlásit"
msgid "Loose filtering"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
msgid "Loss of Signal Seconds (LOSS)"
msgstr "Ztráta signálních sekund (LOSS)"
msgid "Lowest leased address as offset from the network address."
msgstr "Nejnižší zapůjčenou adresu použít jako offset síťové adresy."
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/footer.ut:12
+msgid "Lua compatibility mode active"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:48
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:83
msgid "MAC"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:591
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:40
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:619
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1164
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2177
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:56
msgid "MTU"
msgstr "MTU"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:259
+msgid "MX"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:303
#, fuzzy
msgid ""
msgid "Max <abbr title=\"Router Advertisement\">RA</abbr> interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
msgid "Max. Attainable Data Rate (ATTNDR)"
msgstr "Max. dosažitelná rychlost přenosu dat (ATTNDR)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:457
msgid "Max. DHCP leases"
msgstr ""
"Nejvyšší počet <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</"
"abbr> zápůjček"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:459
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:464
msgid "Max. EDNS0 packet size"
msgstr ""
"Největší povolená velikost <abbr title=\"Extension Mechanisms for Domain "
"Name System\">EDNS0</abbr> paketů"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:466
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:471
msgid "Max. concurrent queries"
msgstr "Nejvyšší počet souběžných dotazů"
msgid "Maximum allowed Listen Interval"
msgstr "Maximální povolený naslouchací interval"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:453
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:458
msgid "Maximum allowed number of active DHCP leases."
msgstr "Nejvyšší povolené množství aktivních DHCP zápůjček."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:467
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:472
msgid "Maximum allowed number of concurrent DNS queries."
msgstr "Nejvyšší povolené množství souběžných DNS dotazů."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:460
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:465
msgid "Maximum allowed size of EDNS0 UDP packets."
msgstr "Nejvyšší povolená velikost EDNS0 UDP paketů."
msgid "Maximum transmit power"
msgstr "Maximální vysílací výkon"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:394
msgid "May prevent VoIP or other services from working."
msgstr ""
msgid "Name of the tunnel device"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:46
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:39
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:50
msgid "Navigation"
msgstr "Navigace"
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:10
+msgid "Nebula Network"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:653
msgid "Neighbour cache validity"
msgstr ""
msgid "Network address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:492
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:497
msgid "Network boot image"
msgstr "Síťový bootovací obraz"
msgid "Network interface"
msgstr "Síťové rozhraní"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:536
msgid "Network-ID"
msgstr ""
msgid "Never"
msgstr "Nikdy"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:270
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:272
msgid ""
"Never forward matching domains and subdomains, resolve from DHCP or hosts "
"files only."
msgid "No RX signal"
msgstr "Žádný signál RX"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:80
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:87
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:68
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:82
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:65
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:90
msgid ""
"No changes to settings will be stored and are lost after rebooting. This "
msgid "No entries in this directory"
msgstr "V tomto adresáři nejsou žádné položky"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:82
-msgid "No files found"
-msgstr "Nebyly nalezeny žádné soubory"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:833
msgid ""
"No fixed interface listening port defined, peers might not be able to "
msgid "No more slaves available, can not save interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:413
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
msgid "No negative cache"
msgstr "Žádná negativní mezipaměť"
msgid "No nftables ruleset loaded."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:69
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:61
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:57
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:54
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:79
msgid "No password set!"
msgstr "Žádné heslo!"
msgid "Noise"
msgstr "Šum"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
msgid "Noise Margin (SNR)"
msgstr "Odstup signálu od šumu (SNR)"
msgid "Noise:"
msgstr "Šum:"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
msgid "Non Pre-emptive CRC errors (CRC_P)"
msgstr "Nepreemptivní CRC chyby (CRC_P)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:330
msgid "Non-wildcard"
msgstr "Bez zástupných znaků"
msgid "Normal"
msgstr "Normální"
-#: modules/luci-base/luasrc/view/error404.htm:8
+#: modules/luci-base/ucode/template/error404.ut:9
msgid "Not Found"
msgstr "Nenalezeno"
msgid "Number of IGMP membership reports"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:474
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:479
msgid "Number of cached DNS entries, 10000 is maximum, 0 is no caching."
msgstr "Počet záznamů v mezipaměti DNS (max. 10 000, 0 bez mezipaměťi)."
msgid "On-link"
msgstr "Link-local trasa"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:672
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:743
msgid "One of hostname or MAC address must be specified!"
msgstr "Jedno jméno nebo mac adresa, musí být zadáno!"
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:472
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:19
msgid "Open list..."
msgstr "Otevřít seznam..."
msgid "Options"
msgstr "Možnosti"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:526
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
msgid ""
"Options for the Network-ID. (Note: needs also Network-ID.) E.g. "
-"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</"
-"code>\" for default route. <code>0.0.0.0</code> means \"the address of the "
-"system running dnsmasq\"."
+"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</code>"
+"\" for default route. <code>0.0.0.0</code> means \"the address of the system "
+"running dnsmasq\"."
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:125
msgid "Options:"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
+msgid "Ordinal: lower comes first."
+msgstr ""
+
#: protocols/luci-proto-batman-adv/htdocs/luci-static/resources/protocol/batadv.js:55
msgid "Originator Interval"
msgstr ""
msgid "Pass-through (Mirror physical device to single MAC VLAN)"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:29
+#: modules/luci-base/ucode/template/sysauth.ut:29
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1690
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:51
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:114
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:103
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:24
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:19
msgid "Password"
msgstr "Heslo"
msgid "Pkts."
msgstr "paketů"
-#: modules/luci-base/luasrc/view/sysauth.htm:19
+#: modules/luci-base/ucode/template/sysauth.ut:19
msgid "Please enter your username and password."
msgstr "Prosím vložte vaše uživatelské jméno a heslo."
msgid "Policy: <strong>%h</strong> (%h)"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:579
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:21
msgid "Port"
msgstr "Port"
msgid "Potential negation of: %s"
msgstr "Potenciální negace: %s"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:38
msgid "Power Management Mode"
msgstr "Režim řízení spotřeby"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
msgid "Pre-emptive CRC errors (CRCP_P)"
msgstr "Preemptivní chyby CRC (CRCP_P)"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:129
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:197
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:223
msgid "Quality"
msgstr "Kvalita"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
msgid "Query all available upstream resolvers."
msgstr ""
-"Dotazovat se všech dostupných nadřazených <abbr title=\"Domain Name "
-"System\">DNS</abbr> serverů."
+"Dotazovat se všech dostupných nadřazených <abbr title=\"Domain Name System"
+"\">DNS</abbr> serverů."
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:556
msgid "Query interval"
"Nezpracované šestnáctkové bajty. Ponechte prázdné, pokud to poskytovatel "
"internetu nevyžaduje"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:345
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:350
msgid "Read <code>/etc/ethers</code> to configure the DHCP server."
msgstr ""
"Přečtěte si <code>/etc/ethers</code> ke konfiguraci <abbr title=\"Dynamic "
msgid "Reassociation Deadline"
msgstr "Termín reasociace"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
msgid "Rebind protection"
msgstr "Opětovné nastavení ochrany"
msgstr ""
#: modules/luci-compat/luasrc/model/network/proto_relay.lua:153
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:611
#: protocols/luci-proto-relay/htdocs/luci-static/resources/protocol/relay.js:39
msgid "Relay"
msgstr "Přenos"
msgid "Required. Base64-encoded private key for this interface."
msgstr "Povinné. Soukromý klíč tohoto rozhraní v kódování Base64."
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Required. Path to the .yml config file for this interface."
+msgstr ""
+
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:587
msgid "Required. Public key of the WireGuard peer."
msgstr ""
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2197
-#: modules/luci-base/luasrc/view/sysauth.htm:39
+#: modules/luci-base/ucode/template/sysauth.ut:39
#: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
#: modules/luci-compat/luasrc/view/cbi/footer.htm:30
#: modules/luci-compat/luasrc/view/cbi/simpleform.htm:66
msgid "Resolv and Hosts Files"
msgstr "Soubory Resolv a Hosts"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:356
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:361
msgid "Resolv file"
msgstr "Soubor resolve"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:292
+msgid "Resolve specified FQDNs to an IP."
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/rpc.js:405
msgid "Resource not found"
msgstr "Zdroj nebyl nalezen"
msgid "Restore backup"
msgstr "Obnovit ze zálohy"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
msgid ""
"Return answers to DNS queries matching the subnet from which the query was "
"received if multiple IPs are available."
msgid "Robustness"
msgstr "Robustnost"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:491
msgid ""
"Root directory for files served via TFTP. <em>Enable TFTP server</em> and "
"<em>TFTP server root</em> turn on the TFTP server and serve files from "
msgid "SNR"
msgstr "Odstup signálu od šumu"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "SRV"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:10
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:38
msgid "SSH Access"
msgid "Server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:524
msgid "Server address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:518
msgid "Server name"
msgstr ""
msgid "Setup routes for proxied IPv6 neighbours."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
msgid "Severely Errored Seconds (SES)"
msgstr "Silně chybné sekundy (SES)"
msgstr "Krátká preambule"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:470
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:18
msgid "Show current backup file list"
msgstr "Ukázat aktuální seznam záložních souborů"
msgid "Signal / Noise"
msgstr "Signál / šum"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
msgid "Signal Attenuation (SATN)"
msgstr "Útlum signálu (SATN)"
msgid "Size"
msgstr "Velikost"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:473
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:478
msgid "Size of DNS query cache"
msgstr "Velikost mezipaměti DNS dotazů"
msgid "Skip from backup files that are equal to those in /rom"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:42
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:35
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:46
msgid "Skip to content"
msgstr "Skočit na obsah"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:41
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:34
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:45
msgid "Skip to navigation"
msgstr "Skočit na navigaci"
msgid "Some fields are invalid, cannot save values!"
msgstr "Některá pole obsahují neplatné hodnoty, nelze uložit!"
-#: modules/luci-base/luasrc/view/error404.htm:9
+#: modules/luci-base/ucode/template/error404.ut:10
msgid "Sorry, the object you requested was not found."
msgstr "Omlouváme se, ale požadovaný objekt nebyl nalezen."
-#: modules/luci-base/luasrc/view/error500.htm:9
-msgid "Sorry, the server encountered an unexpected error."
-msgstr "Omlouváme se, na serveru došlo k neočekávané vyjímce."
-
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:442
msgid ""
"Sorry, there is no sysupgrade support present; a new firmware image must be "
msgid "Source port"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:505
msgid ""
"Special <abbr title=\"Preboot eXecution Environment\">PXE</abbr> boot "
"options for Dnsmasq."
msgid "Static address"
msgstr "Statická adresa"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:598
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:669
msgid ""
"Static leases are used to assign fixed IP addresses and symbolic hostnames "
"to DHCP clients. They are also required for non-dynamic interface "
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:16
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:541
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:929
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:9
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:9
msgid "Status"
msgstr "Stav"
msgid "Strict filtering"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
msgid "Strict order"
msgstr "Striktní výběr"
msgid "Submit"
msgstr "Odeslat"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
msgid "Suppress logging"
msgstr "Potlačit logování"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:373
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
msgid "Suppress logging of the routine operation for the DHCP protocol."
msgstr "Potlačit protokolování rutinního provozu protokolu DHCP."
msgid "Sync with browser"
msgstr "Synchronizovat s prohlížečem"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:293
+msgid "Syntax: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "Syntax: <code>_service._proto.example.com</code>."
+msgstr ""
+
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:26
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:17
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:113
msgid "System log buffer size"
msgstr "Velikost bufferu systémového logu"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:79
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:86
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:71
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:67
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:81
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:64
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:89
msgid "System running in recovery (initramfs) mode."
msgstr ""
msgid "TCP:"
msgstr "TCP:"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:490
msgid "TFTP server root"
msgstr "Kořenový adresář TFTP serveru"
msgid "Table"
msgstr "Tabulka"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:56
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:66
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:187
"Postup aktualizace pro koncový bod HE.net se změnil. Místo číselného ID "
"uživatele musí být nyní zadáno normální uživatelské jméno!"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:681
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:752
msgid "The IP address %h is already used by another static lease"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:761
msgid "The IP address is outside of any DHCP pool address range"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:520
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
msgid "The IP address of the boot server"
msgstr ""
"to be received and retransmitted which costs airtime)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:514
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
msgid "The hostname of the boot server"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/switch.js:139
msgid ""
-"The network ports on this device can be combined to several <abbr "
-"title=\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
+"The network ports on this device can be combined to several <abbr title="
+"\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
"communicate directly with each other. <abbr title=\"Virtual Local Area "
"Network\">VLAN</abbr>s are often used to separate different network "
"segments. Often there is by default one Uplink port for a connection to the "
"next greater network like the internet and other ports for a local network."
msgstr ""
-"Síťové porty tohoto zařízení mohou být kombinovány do několika <abbr "
-"title=\"Virtualních místních sítí\">VLAN</abbr> ve kterých počítače mohou "
+"Síťové porty tohoto zařízení mohou být kombinovány do několika <abbr title="
+"\"Virtualních místních sítí\">VLAN</abbr> ve kterých počítače mohou "
"komunikovat přímo mezi sebou. <abbr title=\"Virtuální místní sítě \">VLAN</"
"abbr> se často používají na oddělení různých siťových částí. Většinou je "
"jeden port pro připojení k vyšší síti (Uplink) jako třeba internet a "
msgid "The selected %s mode is incompatible with %s encryption"
msgstr "Vybraný režim %s není kompatibilní s šifrováním %s"
-#: modules/luci-base/luasrc/view/csrftoken.htm:11
+#: modules/luci-base/ucode/template/csrftoken.ut:11
msgid "The submitted security token is invalid or already expired!"
msgstr "Odeslaný bezpečnostní token je neplatný nebo již vypršel!"
"nftables rules is discouraged and may lead to incomplete traffic filtering."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:746
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:778
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:817
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:849
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:130
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:179
msgid "There are no active leases"
msgid "There are no changes to apply"
msgstr "Žádné změny k provedení"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:70
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:58
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:55
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:80
msgid ""
"There is no password set on this router. Please configure a root password to "
msgstr "Toto nevypadá jako platný PEM soubor"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:16
#, fuzzy
msgid ""
"This is a list of shell glob patterns for matching files and directories to "
"Toto je adresa lokálního koncového bodu přiřazená zprostředkovatelem "
"tunelového propojení, obvykle končí na <code>...:2/64</code>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:266
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:268
msgid "This is the only DHCP server in the local network."
msgstr ""
"Toto je jediný <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</"
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:440
msgid ""
"To fully configure the local WireGuard interface from an existing (e.g. "
-"provider supplied) configuration file, use the <strong><a class=\"full-"
-"import\" href=\"#\">configuration import</a></strong> instead."
+"provider supplied) configuration file, use the <strong><a class=\"full-import"
+"\" href=\"#\">configuration import</a></strong> instead."
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2674
msgid "Unable to determine upstream interface"
msgstr "Nelze určit odchozí WAN rozhraní"
-#: modules/luci-base/luasrc/view/error404.htm:11
+#: modules/luci-base/ucode/template/error404.ut:12
msgid "Unable to dispatch"
msgstr "Nelze odeslat"
msgid "Unable to verify PIN"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
msgid "Unavailable Seconds (UAS)"
msgstr "Počet nedostupných sekund (UAS)"
"will be restarted to apply the updated configuration."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
msgid "Upstream resolvers will be queried in the order of the resolv file."
msgstr ""
"<abbr title=\"Domain Name System\">DNS</abbr> servery budou dotazovány podle "
msgid "Uptime"
msgstr "Doba běhu"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
msgid "Use <code>/etc/ethers</code>"
msgstr "Použít <code>/etc/ethers</code>"
msgid "Use system certificates for inner-tunnel"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:599
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:670
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC address</"
"em> identifies the host, the <em>IPv4 address</em> specifies the fixed "
msgid "User key (PEM encoded)"
msgstr "Uživatelský klíč (PEM formát)"
-#: modules/luci-base/luasrc/view/sysauth.htm:23
+#: modules/luci-base/ucode/template/sysauth.ut:23
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:112
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:101
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:56
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:18
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:13
msgid "Username"
msgstr "Uživatelské jméno"
msgid "VXLANv6 (RFC7348)"
msgstr "VXLANv6 (RFC7348)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
msgid ""
"Validate DNS replies and cache DNSSEC data, requires upstream to support "
"DNSSEC."
msgid "Vendor Class to send when requesting DHCP"
msgstr "Třída výrobce (Vendor Class) odesílaná při vyžádání DHCP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:408
msgid "Verify unsigned domain responses really come from unsigned domains."
msgstr ""
msgid "Weak"
msgstr "Slabé"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+msgid "Weight"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1029
msgid ""
"When delegating prefixes to multiple downstreams, interfaces with a higher "
msgid "Wireless network is enabled"
msgstr "Bezdrátová síť je povolena"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:278
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:280
msgid "Write received DNS queries to syslog."
msgstr "Zapisovat přijaté požadavky DNS do systemového logu."
"zařízení.<br /><strong>Varování: Pokud zakážete základní init skripty jako "
"\"network\", vaše zařízení se může stát nepřístupným!</strong>"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:90
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:97
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
+msgid "You may add multiple records for the same Target."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:596
+msgid "You may add multiple records for the same domain."
+msgstr ""
+
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:78
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:92
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:73
msgid ""
"You must enable JavaScript in your browser or LuCI will not work properly."
msgid "ZRam Size"
msgstr "Velikost ZRam"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:558
+msgid "_proto: _tcp, _udp, _sctp, _quic, … ."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:557
+msgid ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Note: while _http is "
+"possible, no browsers support SRV records.)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:454
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:152
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:163
msgid "any"
msgid "e.g: dump"
msgstr "např.: dump"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:726
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:756
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:797
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:827
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:101
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:148
msgid "expired"
msgid "unknown"
msgstr "neznámý"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:456
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:724
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:754
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:461
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:795
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:825
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:99
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:146
msgid "unlimited"
msgid "« Back"
msgstr "« Zpět"
+#~ msgid "Back to configuration"
+#~ msgstr "Zpět na nastavení"
+
+#~ msgid "Close list..."
+#~ msgstr "Zavřít seznam…"
+
+# Není co dodat.
+#~ msgid "Internal Server Error"
+#~ msgstr "Vnitřní chyba serveru"
+
+#~ msgid "No files found"
+#~ msgstr "Nebyly nalezeny žádné soubory"
+
+#~ msgid "Sorry, the server encountered an unexpected error."
+#~ msgstr "Omlouváme se, na serveru došlo k neočekávané vyjímce."
+
#~ msgid "Do not forward queries that cannot be answered by public resolvers."
#~ msgstr ""
#~ "Nepřeposílat požadavky, které nemohou být zodpovězeny veřejnými jmennými "
#~ msgid ""
#~ "The filesystem that was used to format the memory (<abbr title=\"for "
-#~ "example\">e.g.</abbr> <samp><abbr title=\"Third Extended "
-#~ "Filesystem\">ext3</abbr></samp>)"
+#~ "example\">e.g.</abbr> <samp><abbr title=\"Third Extended Filesystem"
+#~ "\">ext3</abbr></samp>)"
#~ msgstr ""
-#~ "Souborový systém, který byl použit pro formátování paměti (<abbr "
-#~ "title=\"například\">napři.</abbr> <samp><abbr title=\"Souborový "
-#~ "systém\">ext3</abbr></samp>)"
+#~ "Souborový systém, který byl použit pro formátování paměti (<abbr title="
+#~ "\"například\">napři.</abbr> <samp><abbr title=\"Souborový systém\">ext3</"
+#~ "abbr></samp>)"
#~ msgid ""
#~ "The flash image was uploaded. Below is the checksum and file size listed, "
#~ msgstr ""
#~ "Na této stránce můžete nastavit síťová rozhraní. Můžete přemostit několik "
#~ "rozhraní zaškrtnutím pole \"přemostit rozhraní\" a zápisem názvů "
-#~ "rozhraní, vzájemně oddělených mezerami. Také můžete použít <abbr "
-#~ "title=\"Virtual Local Area Network\">VLAN</abbr> zápis <samp>INTERFACE."
-#~ "VLANNR</samp> (<abbr title=\"například\">např.</abbr>: <samp>eth0.1</"
-#~ "samp>)."
+#~ "rozhraní, vzájemně oddělených mezerami. Také můžete použít <abbr title="
+#~ "\"Virtual Local Area Network\">VLAN</abbr> zápis <samp>INTERFACE.VLANNR</"
+#~ "samp> (<abbr title=\"například\">např.</abbr>: <samp>eth0.1</samp>)."
#~ msgid "Package libiwinfo required!"
#~ msgstr "Vyžadován balíček libiwinfo!"
msgid ""
msgstr ""
-"PO-Revision-Date: 2022-09-05 01:37+0000\n"
+"PO-Revision-Date: 2022-10-23 17:26+0000\n"
"Last-Translator: drax red <drax@outlook.dk>\n"
-"Language-Team: Danish <https://hosted.weblate.org/projects/openwrt/luci/da/"
-">\n"
+"Language-Team: Danish <https://hosted.weblate.org/projects/openwrt/luci/da/>"
+"\n"
"Language: da\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.14.1-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:643
msgctxt "Yet unknown nftables table family (\"family\" table \"name\")"
msgstr "%.1f dB"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:123
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:117
msgid "%d Bit"
msgstr "%d Bit"
msgid "<abbr title=\"Router Advertisement\">RA</abbr>-Service"
msgstr "<abbr title=\"Router Advertisement\">RA</abbr>-tjeneste"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:294
+msgid ""
+"<code>/#/</code> matches any domain. <code>/example.com/</code> returns "
+"NXDOMAIN."
+msgstr ""
+"<code>/#/</code> matcher ethvert domæne. <code>/example.com/</code> "
+"returnerer NXDOMAIN."
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+msgid ""
+"<code>/example.com/#</code> returns NULL addresses (<code>0.0.0.0</code> and "
+"<code>::</code>) for example.com and its subdomains."
+msgstr ""
+"<code>/example.com/#</code> returnerer NULL-adresser (<code>0.0.0.0</code> "
+"og <code>::</code>) for example.com og dets underdomæner."
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:87
msgctxt "nft relational \">\" operator expression"
msgid "<var>%s</var> greater than <strong>%s</strong>"
msgid "ATM device number"
msgstr "ATM-enhedsnummer"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
msgid "ATU-C System Vendor ID"
msgstr "ATU-C-systemleverandør-id"
msgid "Absent Interface"
msgstr "Fraværende Interface"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:320
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
msgid "Accept DNS queries only from hosts whose address is on a local subnet."
msgstr ""
"Accepter kun DNS-forespørgsler fra værter, hvis adresse er i et lokalt "
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:171
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:177
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:274
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:165
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:268
msgid "Add key"
msgstr "Tilføj nøgle"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:410
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:415
msgid "Add local domain suffix to names served from hosts files."
msgstr "Tilføj lokalt domæne-suffiks til navne, der serveres fra hosts-filer."
msgid "Add to Whitelist"
msgstr "Tilføj til hvidliste"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:367
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
msgid "Additional hosts files"
msgstr "Yderligere værtsfiler"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:417
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
msgid "Additional servers file"
msgstr "Yderligere servere fil"
msgid "Address to access local relay bridge"
msgstr "Adresse for at få adgang til lokal relæbro"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:289
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:291
msgid "Addresses"
msgstr "Adresser"
msgid "Aggregate Originator Messages"
msgstr "Aggregerede meddelelser fra afsender"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
msgid "Aggregate Transmit Power (ACTATP)"
msgstr "ACTATP (Aggregate Transmit Power)"
msgid "Alias of \"%s\""
msgstr "Alias for \"%s\""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
msgid "All servers"
msgstr "Alle servere"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
msgid ""
"Allocate IP addresses sequentially, starting from the lowest available "
"address."
"Tildel IP-adresser sekventielt, startende fra den lavest tilgængelige "
"adresse."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
msgid "Allocate IPs sequentially"
msgstr "Tildel IP'er sekventielt"
msgid "Allow listed only"
msgstr "Tillad kun anførte"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
msgid "Allow localhost"
msgstr "Tillad localhost"
msgid "Always on (kernel: default-on)"
msgstr "Altid tændt (kerne: standard tændt)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:538
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
msgid "Always send DHCP Options. Sometimes needed, with e.g. PXELinux."
msgstr ""
"Altid sende DHCP-indstillinger. Nogle gange er det nødvendigt, f.eks. med "
msgstr "En valgfri, kort beskrivelse af denne enhed"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1484
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
msgid "Annex"
msgstr "Bilag"
msgid "Any zone"
msgstr "Enhver zone"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:532
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
msgid "Apply DHCP Options to this net. (Empty = all clients)."
msgstr "Anvend DHCP-indstillinger på dette net. (Tomt = alle klienter)."
msgid "Authentication Type"
msgstr "Godkendelsestype"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:265
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:267
msgid "Authoritative"
msgstr "Autoritativ"
-#: modules/luci-base/luasrc/view/sysauth.htm:17
+#: modules/luci-base/ucode/template/sysauth.ut:17
#: themes/luci-theme-bootstrap/htdocs/luci-static/resources/view/bootstrap/sysauth.js:11
msgid "Authorization Required"
msgstr "Autorisation påkrævet"
msgid "Avoid Bridge Loops"
msgstr "Undgå bro Loops"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
msgid ""
"Avoid uselessly triggering dial-on-demand links (filters SRV/SOA records and "
"names with underscores)."
msgid "Back to Overview"
msgstr "Tilbage til Oversigt"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:48
-msgid "Back to configuration"
-msgstr "Tilbage til konfiguration"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:826
msgid "Back to peer configuration"
msgstr "Tilbage til peer-konfiguration"
msgstr "Backup / Flash Firmware"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:351
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:12
msgid "Backup file list"
msgstr "Liste over backup-filer"
msgstr "Beacon-interval"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:352
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:46
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
msgid "Bind NTP server"
msgstr "Bind NTP server"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:326
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:331
msgid "Bind dynamically to interfaces rather than wildcard address."
msgstr "Bind dynamisk til interfaces i stedet for wildcard-adresser."
msgid "Bind interface"
msgstr "Bind interface"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:595
+msgid ""
+"Bind service records to a domain name: specify the location of services."
+msgstr "Bind tjeneste akter til et domænenavn: angiv placeringen af tjenester."
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:556
+msgid ""
+"Bind service records to a domain name: specify the location of services. See "
+"<a href=\"%s\">RFC2782</a>."
+msgstr ""
+"Bind tjeneste akter til et domænenavn: Angiv placeringen af tjenester. Se <a "
+"href=\"%s\">RFC2782</a>."
+
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gre.js:59
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gretap.js:64
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/grev6.js:64
msgid "CLAT configuration failed"
msgstr "CLAT-konfiguration mislykkedes"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
+msgid "CNAME or fqdn"
+msgstr "CNAME eller fqdn"
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/processes.js:72
msgid "CPU usage (%)"
msgstr "CPU-forbrug (%)"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:295
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:209
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:487
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:203
msgid "Cancel"
msgstr "Annuller"
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4392
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:173
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:179
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:167
msgid "Close"
msgstr "Luk"
"Luk inaktiv forbindelse efter det angivne antal sekunder, brug 0 for at "
"opretholde forbindelsen"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:49
-msgid "Close list..."
-msgstr "Luk liste..."
-
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:44
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:63
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2184
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:391
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:352
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:355
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:72
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:66
msgid "Collecting data..."
msgstr "Indsamler data..."
msgid "Compute outgoing checksum (optional)."
msgstr "Beregner den udgående checksum (valgfrit)."
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Config File"
+msgstr "Konfigurationsfil"
+
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4375
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
msgid "Configuration"
msgid "DAE-Secret"
msgstr "DAE-Secret"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:530
msgid "DHCP Options"
msgstr "DHCP-indstillinger"
msgid "DNS"
msgstr "DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:282
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:284
msgid "DNS forwardings"
msgstr "DNS-videresendelser"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:445
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:450
msgid "DNS query port"
msgstr "Port til DNS-forespørgsel"
msgid "DNS search domains"
msgstr "DNS-søgningsdomæner"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:443
msgid "DNS server port"
msgstr "Port til DNS-server"
msgid "DNS-Label / FQDN"
msgstr "DNS-mærke / FQDN"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
msgid "DNSSEC"
msgstr "DNSSEC"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:407
msgid "DNSSEC check unsigned"
msgstr "DNSSEC check usigneret"
msgstr "DS-Lite AFTR-adresse"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1481
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:44
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:45
msgid "DSL"
msgstr "DSL"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:14
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:15
msgid "DSL Status"
msgstr "DSL Status"
msgstr "DTIM interval"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:59
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:700
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:771
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:136
msgid "DUID"
msgstr "DUID"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
msgid "Data Rate"
msgstr "Datahastighed"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:205
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:211
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:199
msgid "Delete key"
msgstr "Slet nøgle"
msgid "Disassociate On Low Acknowledgement"
msgstr "Fjern tilknytning ved lav anerkendelse"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:302
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
msgid ""
"Discard upstream responses containing <a href=\"%s\">RFC1918</a> addresses."
msgstr ""
msgid "Distributed ARP Table"
msgstr "Distribueret ARP-tabel"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:548
msgid ""
"Dnsmasq instance to which this boot section is bound. If unspecified, the "
"section is valid for all dnsmasq instances."
"Dnsmasq er en let <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</"
"abbr>-server og <abbr title=\"Domain Name System\">DNS</abbr>-forwarder."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:419
msgid "Do not cache negative replies, e.g. for non-existent domains."
msgstr "Cache ikke negative svar, f.eks. for ikke-eksisterende domæner."
msgid "Do not create host route to peer (optional)."
msgstr "Opret ikke værtsrute til peer (valgfrit)."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:262
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:264
msgid "Do not forward DNS queries without dots or domain parts."
msgstr "Videresend ikke DNS-forespørgsler uden prikker eller domænedele."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
msgid "Do not forward reverse lookups for local networks."
msgstr "Videresend ikke reverse opslag for lokale netværk."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:339
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
msgid "Do not listen on the specified interfaces."
msgstr "Lyt ikke på de angivne interfaces."
msgstr "Ønsker du virkelig at slette \"%s\" ?"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:206
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:200
msgid "Do you really want to delete the following SSH key?"
msgstr "Ønsker du virkelig at slette følgende SSH-nøgle?"
msgid "Do you want to replace the current keys?"
msgstr "Vil du erstatte de nuværende nøgler?"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:593
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:606
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:664
msgid "Domain"
msgstr "Domæne"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:261
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:263
msgid "Domain required"
msgstr "Påkrævet domæne"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:316
msgid "Domain whitelist"
msgstr "Domænehvidliste"
msgid "Enable Single DES"
msgstr "Aktiver Single DES"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:480
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
msgid "Enable TFTP server"
msgstr "Aktiver TFTP-server"
msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets."
msgstr "Aktiver DF-flaget (Don't Fragment) i de indkapslende pakker."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:481
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
msgid "Enable the built-in single-instance TFTP server."
msgstr "Aktiver den indbyggede TFTP-server med enkeltinstans."
msgid "Error getting PublicKey"
msgstr "Fejl ved hentning af Offentlig nøgle"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
msgid "Errored seconds (ES)"
msgstr "Fejlede sekunder (ES)"
msgid "Every second (fast, 1)"
msgstr "Hvert sekund (hurtigt, 1)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:343
msgid "Exclude interfaces"
msgstr "Udelad interfaces"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
msgid ""
"Exempt <code>127.0.0.0/8</code> and <code>::1</code> from rebinding checks, "
"e.g. for RBL services."
msgid "Existing device"
msgstr "Eksisterende enhed"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:409
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
msgid "Expand hosts"
msgstr "Udvid værter"
msgid "File"
msgstr "Fil"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
msgid ""
"File listing upstream resolvers, optionally domain-specific, e.g. "
"<code>server=1.2.3.4</code>, <code>server=/domain/1.2.3.4</code>."
msgid "File not accessible"
msgstr "Filen er ikke tilgængelig"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:354
msgid "File to store DHCP lease information."
msgstr "Fil til lagring af DHCP-leasingoplysninger."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:362
msgid "File with upstream resolvers."
msgstr "Fil med upstream resolvers."
#: modules/luci-base/htdocs/luci-static/resources/ui.js:2846
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:507
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:512
msgid "Filename"
msgstr "Filnavn"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:493
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:498
msgid "Filename of the boot image advertised to clients."
msgstr "Filnavn på det boot image, der annonceres til klienterne."
msgid "Filesystem"
msgstr "Filsystem"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
msgid "Filter private"
msgstr "Filter privat"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
msgid "Filter useless"
msgstr "Filter ubrugelig"
msgid "Firmware Version"
msgstr "Firmware-version"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:446
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:451
msgid "Fixed source port for outbound DNS queries."
msgstr "Fast kildeport til udgående DNS-forespørgsler."
msgid "Flashing…"
msgstr "Flashing…"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:686
msgid "Force"
msgstr "Tving"
msgid "Force use of NAT-T"
msgstr "Tving brug af NAT-T"
-#: modules/luci-base/luasrc/view/csrftoken.htm:8
+#: modules/luci-base/ucode/template/csrftoken.ut:8
msgid "Form token mismatch"
msgstr "Form token uoverensstemmelse"
"Videresend DHCPv6-meddelelser mellem den udpegede master interface og "
"downstream-interfaces."
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
msgid "Forward Error Correction Seconds (FECS)"
msgstr "Fecs (Forward Error Correction Seconds)"
msgid "Global network options"
msgstr "Globale netværksindstillinger"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:82
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:74
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:70
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:84
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:67
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:92
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
msgid "Go to firmware upgrade..."
msgstr "Gå til opgradering af firmware..."
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:72
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:64
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:60
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:57
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:82
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
msgid "Go to password configuration..."
msgstr "Gå til adgangskodekonfiguration..."
msgid "Hang Up"
msgstr "Læg på"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
msgid "Header Error Code Errors (HEC)"
msgstr "Header Error Code Errors (HEC)"
msgid "Host expiry timeout"
msgstr "Udløbstidspunkt for vært"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
msgid "Host requests this filename from the boot server."
msgstr "Værten anmoder om dette filnavn fra opstartsserveren."
msgstr "Host-Uniq tag indhold"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:38
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:607
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:678
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:54
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:87
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:135
msgid "Hostnames"
msgstr "Værtsnavne"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:551
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:622
msgid ""
"Hostnames are used to bind a domain name to an IP address. This setting is "
"redundant for hostnames already configured with static leases, but it can be "
msgid "IP Protocol"
msgstr "IP-protokol"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:260
msgid "IP Sets"
msgstr "IP-sæt"
msgid "IP Type"
msgstr "IP-type"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:563
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:634
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:178
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:204
msgid "IP address"
msgid "IP protocol"
msgstr "IP protokol"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:660
msgid "IP set"
msgstr "IP-sæt"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:300
msgid "IP sets"
msgstr "IP-sæt"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:437
msgid "IPs to override with NXDOMAIN"
msgstr "IP'er, der skal tilsidesættes med NXDOMAIN"
#: modules/luci-base/htdocs/luci-static/resources/protocol/static.js:178
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:736
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:88
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:164
msgid "IPv4 address"
msgid "IPv6 suffix"
msgstr "IPv6-suffiks"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:706
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:777
msgid "IPv6 suffix (hex)"
msgstr "IPv6-suffiks (hex)"
"en meget langsommelig proces at bytte data, da swap-enheden ikke kan tilgås "
"med de høje datarater i <abbr title=\"Random Access Memory\">RAM</abbr>."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:363
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:368
msgid "Ignore <code>/etc/hosts</code>"
msgstr "Ignorer <code>/etc/hosts</code>"
msgid "Ignore interface"
msgstr "Ignorer interface"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:352
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
msgid "Ignore resolv file"
msgstr "Ignorer resolv-fil"
"avoidance for at undgå broadcast loops, der kan få hele LAN'et til at gå i "
"stå."
-#: modules/luci-base/luasrc/view/csrftoken.htm:13
+#: modules/luci-base/ucode/template/csrftoken.ut:13
msgid ""
"In order to prevent unauthorized access to the system, your request has been "
"blocked. Click \"Continue »\" below to return to the previous page."
msgid "Install protocol extensions..."
msgstr "Installer protokoludvidelser..."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:547
msgid "Instance"
msgstr "Instans"
msgid "Internal"
msgstr "Intern"
-#: modules/luci-base/luasrc/view/error500.htm:8
-msgid "Internal Server Error"
-msgstr "Intern serverfejl"
-
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:285
msgid "Interval For Sending Learning Packets"
msgstr "Interval for afsendelse af læringspakker"
msgid "Invalid hexadecimal value"
msgstr "Ugyldig hexadecimal værdi"
-#: modules/luci-base/luasrc/view/sysauth.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:37
+#: modules/luci-base/ucode/template/sysauth.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:32
msgid "Invalid username and/or password! Please try again."
msgstr "Ugyldigt brugernavn og/eller password! Prøv venligst igen."
"Det ser ud til, at du forsøger at flashe et image, der ikke passer ind i "
"flashhukommelsen, kontrollere venligst imagefilen!"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:89
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:96
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:77
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:91
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:72
msgid "JavaScript required!"
msgstr "JavaScript påkrævet!"
msgid "Language and Style"
msgstr "Sprog og stil"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:560
+msgid ""
+"Larger weights (of the same prio) are given a proportionately higher "
+"probability of being selected."
+msgstr ""
+"Større vægte (af samme prio) gives en forholdsmæssigt højere sandsynlighed "
+"for at blive valgt."
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:575
msgid "Last member interval"
msgstr "Sidste medlemsinterval"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
msgid "Latency"
msgstr "Latency"
msgid "Learn routes"
msgstr "Lær ruter"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:348
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:353
msgid "Lease file"
msgstr "Lease-fil"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:697
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:768
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:679
msgid "Lease time"
msgstr "Lease tid"
msgid "Limit"
msgstr "Grænse"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
msgid "Line Attenuation (LATN)"
msgstr "Linjedæmpning (LATN)"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
msgid "Line Mode"
msgstr "Linjetilstand"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:17
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
msgid "Line State"
msgstr "Linjetilstand"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
msgid "Line Uptime"
msgstr "Linje oppetid"
msgid "Link layer header bits %d-%d"
msgstr "Linklags header bits %d-%d"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
msgid "List of IP addresses to convert into NXDOMAIN responses."
msgstr "Liste over IP-adresser, der skal konverteres til NXDOMAIN-svar."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:296
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:581
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:652
msgid "List of IP sets to populate with the specified domain IPs."
msgstr "Liste over IP-sæt, der skal udfyldes med de angivne domæne-IP'er."
msgid "List of SSH key files for auth"
msgstr "Liste over SSH-nøglefiler til auth"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:317
msgid "List of domains to allow RFC1918 responses for."
msgstr "Liste over domæner, som der skal tillades RFC1918-svar for."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:290
-msgid "List of domains to force to an IP address."
-msgstr "Liste over domæner, der skal tvinges til en IP-adresse."
-
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:283
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:285
msgid "List of upstream resolvers to forward queries to."
msgstr "Liste over upstream-resolvere at videresende forespørgsler til."
msgid "Listen Port"
msgstr "Lytteport"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:332
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:337
msgid "Listen interfaces"
msgstr "Lytte interfaces"
msgid "Listen only on the given interface or, if unspecified, on all"
msgstr "Lytter kun på det angivne interface eller, hvis ikke angivet, på alle"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:333
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
msgid ""
"Listen only on the specified interfaces, and loopback if not excluded "
"explicitly."
msgid "ListenPort setting is invalid"
msgstr "ListenPort-indstillingen er ugyldig"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:439
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:444
msgid "Listening port for inbound DNS queries."
msgstr "Lytteport til indgående DNS-forespørgsler."
msgstr "Indlæser mappeindhold…"
#: modules/luci-base/htdocs/luci-static/resources/luci.js:1942
-#: modules/luci-base/luasrc/view/view.htm:4
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:45
+#: modules/luci-base/ucode/template/view.ut:4
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:40
msgid "Loading view…"
msgstr "Indlæser visning…"
msgid "Local ULA"
msgstr "Lokal ULA"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:273
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:275
msgid "Local domain"
msgstr "Lokalt domæne"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:274
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:276
msgid "Local domain suffix appended to DHCP names and hosts file entries."
msgstr "Lokalt domæne-suffiks tilføjes til DHCP-navne og poster i hosts-filen."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:269
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:271
msgid "Local server"
msgstr "Lokal server"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:319
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:324
msgid "Local service only"
msgstr "Kun lokal betjening"
msgid "Local wireguard key"
msgstr "Lokal wireguard nøgle"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
msgid "Localise queries"
msgstr "Lokaliser forespørgsler"
msgid "Log output level"
msgstr "Log output-niveau"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:277
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:279
msgid "Log queries"
msgstr "Log forespørgsler"
msgstr ""
"Logisk netværk, som tunnelen skal tilføjes til (overbrygges) (valgfrit)."
-#: modules/luci-base/luasrc/view/sysauth.htm:38
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:41
+#: modules/luci-base/ucode/template/sysauth.ut:38
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:36
msgid "Login"
msgstr "Login"
msgid "Loose filtering"
msgstr "Løs filtrering"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
msgid "Loss of Signal Seconds (LOSS)"
msgstr "Sekunder med tab af signal (LOSS)"
msgid "Lowest leased address as offset from the network address."
msgstr "Laveste leased adresse som forskydning fra netværksadressen."
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/footer.ut:12
+msgid "Lua compatibility mode active"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:48
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:83
msgid "MAC"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:591
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:40
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:619
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1164
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2177
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:56
msgid "MTU"
msgstr "MTU"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:259
+msgid "MX"
+msgstr "MX"
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:303
msgid ""
"Make sure to clone the root filesystem using something like the commands "
msgid "Max <abbr title=\"Router Advertisement\">RA</abbr> interval"
msgstr "Max <abbr title=\"Router Advertisement\">RA</abbr>-interval"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
msgid "Max. Attainable Data Rate (ATTNDR)"
msgstr "Max. opnåelig datahastighed (ATTNDR)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:457
msgid "Max. DHCP leases"
msgstr "Max. DHCP-leases"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:459
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:464
msgid "Max. EDNS0 packet size"
msgstr "Max. EDNS0-pakkestørrelse"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:466
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:471
msgid "Max. concurrent queries"
msgstr "Maks. samtidige forespørgsler"
msgid "Maximum allowed Listen Interval"
msgstr "Maksimalt tilladt lytteinterval"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:453
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:458
msgid "Maximum allowed number of active DHCP leases."
msgstr "Det maksimalt tilladte antal aktive DHCP-leases."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:467
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:472
msgid "Maximum allowed number of concurrent DNS queries."
msgstr "Det maksimalt tilladte antal samtidige DNS-forespørgsler."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:460
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:465
msgid "Maximum allowed size of EDNS0 UDP packets."
msgstr "Maksimal tilladt størrelse af EDNS0 UDP-pakker."
msgid "Maximum transmit power"
msgstr "Maksimal sendestyrke"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:394
msgid "May prevent VoIP or other services from working."
msgstr "Kan forhindre VoIP eller andre tjenester i at fungere."
msgid "Name of the tunnel device"
msgstr "Navn på tunnelenheden"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:46
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:39
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:50
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:44
msgid "Navigation"
msgstr "Navigation"
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:10
+msgid "Nebula Network"
+msgstr "Nebula Netværk"
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:653
msgid "Neighbour cache validity"
msgstr "Naboens cache gyldighed"
msgid "Network address"
msgstr "Netværksadresse"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:492
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:497
msgid "Network boot image"
msgstr "Netværks boot image"
msgid "Network interface"
msgstr "Netværks interface"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:536
msgid "Network-ID"
msgstr "Netværks-ID"
msgid "Never"
msgstr "Aldrig"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:270
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:272
msgid ""
"Never forward matching domains and subdomains, resolve from DHCP or hosts "
"files only."
msgid "No RX signal"
msgstr "Intet RX-signal"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:80
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:87
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:68
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:82
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:65
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:90
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:70
msgid ""
"No changes to settings will be stored and are lost after rebooting. This "
"mode should only be used to install a firmware upgrade"
msgid "No entries in this directory"
msgstr "Ingen poster i denne mappe"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:82
-msgid "No files found"
-msgstr "Ingen filer fundet"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:833
msgid ""
"No fixed interface listening port defined, peers might not be able to "
msgid "No more slaves available, can not save interface"
msgstr "Der er ikke flere slaver til rådighed, kan ikke gemme interface"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:413
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
msgid "No negative cache"
msgstr "Ingen negativ cache"
msgid "No nftables ruleset loaded."
msgstr "Der er ikke indlæst noget nftables-regelsæt."
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:69
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:61
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:57
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:54
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:79
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:59
msgid "No password set!"
msgstr "Ingen adgangskode angivet!"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:146
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:283
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:140
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:277
msgid "No public keys present yet."
msgstr "Der er endnu ingen offentlige nøgler til stede."
msgid "Noise"
msgstr "Støj"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
msgid "Noise Margin (SNR)"
msgstr "Støjmargin (SNR)"
msgid "Noise:"
msgstr "Støj:"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
msgid "Non Pre-emptive CRC errors (CRC_P)"
msgstr "Ikke-forebyggende CRC-fejl (CRC_P)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:330
msgid "Non-wildcard"
msgstr "Ikke-wildcard"
msgid "Normal"
msgstr "Normal"
-#: modules/luci-base/luasrc/view/error404.htm:8
+#: modules/luci-base/ucode/template/error404.ut:9
msgid "Not Found"
msgstr "Blev ikke fundet"
msgid "Number of IGMP membership reports"
msgstr "Antal IGMP-medlemskabsrapporter"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:474
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:479
msgid "Number of cached DNS entries, 10000 is maximum, 0 is no caching."
msgstr "Antal cachede DNS-poster, 10000 er maksimum, 0 er ingen caching."
msgid "On-link"
msgstr "On-link"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:672
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:743
msgid "One of hostname or MAC address must be specified!"
msgstr "Der skal angives et værtsnavn eller MAC-adresse!"
msgstr "Åbn oversigt over iptables-regler…"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:472
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:19
msgid "Open list..."
msgstr "Åbn listen..."
msgid "Options"
msgstr "Indstillinger"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:526
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
msgid ""
"Options for the Network-ID. (Note: needs also Network-ID.) E.g. "
"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</code>"
"system, der kører dnsmasq\"."
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:125
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:119
msgid "Options:"
msgstr "Indstillinger:"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
+msgid "Ordinal: lower comes first."
+msgstr "Ordinal: den laveste kommer først."
+
#: protocols/luci-proto-batman-adv/htdocs/luci-static/resources/protocol/batadv.js:55
msgid "Originator Interval"
msgstr "Ophavsmandsinterval"
msgid "Pass-through (Mirror physical device to single MAC VLAN)"
msgstr "Pass-through (spejler fysisk enhed til et enkelt MAC VLAN)"
-#: modules/luci-base/luasrc/view/sysauth.htm:29
+#: modules/luci-base/ucode/template/sysauth.ut:29
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1690
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:51
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:114
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:103
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:24
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:19
msgid "Password"
msgstr "Adgangskode"
msgstr "Adgangskode2"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:266
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:260
msgid "Paste or drag SSH key file…"
msgstr "Indsæt eller træk SSH-nøglefilen…"
msgid "Pkts."
msgstr "Pkts."
-#: modules/luci-base/luasrc/view/sysauth.htm:19
+#: modules/luci-base/ucode/template/sysauth.ut:19
msgid "Please enter your username and password."
msgstr "Indtast venligst dit brugernavn og din adgangskode."
msgid "Policy: <strong>%h</strong> (%h)"
msgstr "Politik: <strong>%h</strong> (%h)"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:579
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:21
msgid "Port"
msgstr "Port"
msgid "Potential negation of: %s"
msgstr "Potentiel negation af: %s"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:38
msgid "Power Management Mode"
msgstr "Strømstyringstilstand"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
msgid "Pre-emptive CRC errors (CRCP_P)"
msgstr "Forudgående CRC-fejl (CRCP_P)"
msgstr "Primær bliver aktiv slave, når den kommer op igen (altid, 0)"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:129
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:197
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:223
msgstr "Offentlig nøgle: %h"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:290
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:284
msgid ""
"Public keys allow for the passwordless SSH logins with a higher security "
"compared to the use of plain passwords. In order to upload a new key to the "
msgid "Quality"
msgstr "Kvalitet"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
msgid "Query all available upstream resolvers."
msgstr "Forespørg alle tilgængelige upstream-resolvere."
"Rå hex-kodede bytes. Lad den være tom, medmindre din internetudbyder kræver "
"dette"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:345
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:350
msgid "Read <code>/etc/ethers</code> to configure the DHCP server."
msgstr "Læs <code>/etc/ethers</code> for at konfigurere DHCP-serveren."
msgid "Reassociation Deadline"
msgstr "Frist for genforening"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
msgid "Rebind protection"
msgstr "Beskyttelse mod genindbinding"
"lig med den angivne værdi"
#: modules/luci-compat/luasrc/model/network/proto_relay.lua:153
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:611
#: protocols/luci-proto-relay/htdocs/luci-static/resources/protocol/relay.js:39
msgid "Relay"
msgstr "Relæ"
msgid "Required. Base64-encoded private key for this interface."
msgstr "Påkrævet. Base64-kodet privat nøgle for dette interface."
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Required. Path to the .yml config file for this interface."
+msgstr "Påkrævet. Sti til .yml-konfigurationsfilen for dette interface."
+
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:587
msgid "Required. Public key of the WireGuard peer."
msgstr "Påkrævet. Offentlig nøgle til WireGuard-peeren."
msgstr "Politik for genvalg af primærslave"
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2197
-#: modules/luci-base/luasrc/view/sysauth.htm:39
+#: modules/luci-base/ucode/template/sysauth.ut:39
#: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
#: modules/luci-compat/luasrc/view/cbi/footer.htm:30
#: modules/luci-compat/luasrc/view/cbi/simpleform.htm:66
msgid "Resolv and Hosts Files"
msgstr "Resolv- og værtsfiler"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:356
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:361
msgid "Resolv file"
msgstr "Resolv-fil"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:292
+msgid "Resolve specified FQDNs to an IP."
+msgstr "Liste over domæner, der skal tvinges til en IP-adresse."
+
#: modules/luci-base/htdocs/luci-static/resources/rpc.js:405
msgid "Resource not found"
msgstr "Ressourcen blev ikke fundet"
msgid "Restore backup"
msgstr "Gendan backup"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
msgid ""
"Return answers to DNS queries matching the subnet from which the query was "
"received if multiple IPs are available."
msgid "Robustness"
msgstr "Robusthed"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:491
msgid ""
"Root directory for files served via TFTP. <em>Enable TFTP server</em> and "
"<em>TFTP server root</em> turn on the TFTP server and serve files from "
msgid "SNR"
msgstr "SNR"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "SRV"
+msgstr "SRV"
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:10
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:38
msgid "SSH Access"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:289
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:51
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:283
msgid "SSH-Keys"
msgstr "SSH-nøgler"
msgid "Server"
msgstr "Server"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:524
msgid "Server address"
msgstr "Serveradresse"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:518
msgid "Server name"
msgstr "Servernavn"
msgid "Setup routes for proxied IPv6 neighbours."
msgstr "Opsætning af ruter til proxied IPv6-naboer."
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
msgid "Severely Errored Seconds (SES)"
msgstr "Alvorligt fejlbehæftede sekunder (SES)"
msgstr "Kort præambel"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:470
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:18
msgid "Show current backup file list"
msgstr "Vis den aktuelle backup-fil liste"
msgid "Signal / Noise"
msgstr "Signal / støj"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
msgid "Signal Attenuation (SATN)"
msgstr "Signaldæmpning (SATN)"
msgid "Size"
msgstr "Størrelse"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:473
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:478
msgid "Size of DNS query cache"
msgstr "Størrelsen af DNS forespørgselscachen"
msgid "Skip from backup files that are equal to those in /rom"
msgstr "Spring over fra backup filer, der er lig med dem i /rom"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:42
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:35
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:46
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:40
msgid "Skip to content"
msgstr "Gå til indhold"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:41
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:34
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:45
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:39
msgid "Skip to navigation"
msgstr "Gå til navigation"
msgid "Some fields are invalid, cannot save values!"
msgstr "Nogle felter er ugyldige, kan ikke gemme værdier!"
-#: modules/luci-base/luasrc/view/error404.htm:9
+#: modules/luci-base/ucode/template/error404.ut:10
msgid "Sorry, the object you requested was not found."
msgstr "Beklager, det objekt, du anmodede om, blev ikke fundet."
-#: modules/luci-base/luasrc/view/error500.htm:9
-msgid "Sorry, the server encountered an unexpected error."
-msgstr "Beklager, serveren stødte på en uventet fejl."
-
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:442
msgid ""
"Sorry, there is no sysupgrade support present; a new firmware image must be "
msgid "Source port"
msgstr "Kildeport"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:505
msgid ""
"Special <abbr title=\"Preboot eXecution Environment\">PXE</abbr> boot "
"options for Dnsmasq."
msgid "Static address"
msgstr "Statisk adresse"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:598
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:669
msgid ""
"Static leases are used to assign fixed IP addresses and symbolic hostnames "
"to DHCP clients. They are also required for non-dynamic interface "
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:16
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:541
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:929
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:9
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:9
msgid "Status"
msgstr "Status"
msgid "Strict filtering"
msgstr "Streng filtrering"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
msgid "Strict order"
msgstr "Streng orden"
msgid "Submit"
msgstr "Indsend"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
msgid "Suppress logging"
msgstr "Undertrykker logning"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:373
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
msgid "Suppress logging of the routine operation for the DHCP protocol."
msgstr "Undertrykker logning af rutineoperationen for DHCP-protokollen."
msgid "Sync with browser"
msgstr "Synkroniser med browser"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:293
+msgid "Syntax: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+msgstr "Syntaks: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "Syntax: <code>_service._proto.example.com</code>."
+msgstr "Syntaks: <code>_service._proto.example.com</code>."
+
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:26
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:17
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:113
msgid "System log buffer size"
msgstr "Størrelse af systemlogbuffer"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:79
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:86
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:71
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:67
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:81
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:64
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:69
msgid "System running in recovery (initramfs) mode."
msgstr "Systemet kører i genoprettelsestilstand (initramfs)."
msgid "TCP:"
msgstr "TCP:"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:490
msgid "TFTP server root"
msgstr "TFTP-server rod"
msgid "Table"
msgstr "Tabel"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:56
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:66
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:187
"Konfigurationen af HE.net-endpoint-opdateringen er ændret, du skal nu bruge "
"det almindelige brugernavn i stedet for bruger-id'et!"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:681
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:752
msgid "The IP address %h is already used by another static lease"
msgstr "IP-adressen %h er allerede brugt af en anden statisk lease"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:761
msgid "The IP address is outside of any DHCP pool address range"
msgstr "IP-adressen er uden for et DHCP-adresseområde i en DHCP-pool"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:520
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
msgid "The IP address of the boot server"
msgstr "IP-adressen på opstartsserveren"
"at oprette en forbindelse til denne enhed."
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:172
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:166
msgid "The given SSH public key has already been added."
msgstr "Den angivne offentlige SSH-nøgle er allerede blevet tilføjet."
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:178
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:172
msgid ""
"The given SSH public key is invalid. Please supply proper public RSA, "
"ED25519 or ECDSA keys."
"hver videresendt OGM, hvorved omkostningerne ved et ekstra hop (pakken skal "
"modtages og videresendes, hvilket koster sendetid)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:514
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
msgid "The hostname of the boot server"
msgstr "Værtsnavnet for opstartsserveren"
msgid "The selected %s mode is incompatible with %s encryption"
msgstr "Den valgte %s-modus er ikke kompatibel med %s-kryptering"
-#: modules/luci-base/luasrc/view/csrftoken.htm:11
+#: modules/luci-base/ucode/template/csrftoken.ut:11
msgid "The submitted security token is invalid or already expired!"
msgstr "Den indsendte sikkerhedstoken er ugyldigt eller allerede udløbet!"
"iptables- og nftables-regler, hvilket kan føre til ufuldstændig "
"trafikfiltrering."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:746
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:778
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:817
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:849
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:130
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:179
msgid "There are no active leases"
msgid "There are no changes to apply"
msgstr "Der er ingen ændringer at anvende"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:70
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:58
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:55
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:80
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:60
msgid ""
"There is no password set on this router. Please configure a root password to "
"protect the web interface."
msgstr "Dette ligner ikke en gyldig PEM-fil"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:16
msgid ""
"This is a list of shell glob patterns for matching files and directories to "
"include during sysupgrade. Modified files in /etc/config/ and certain other "
"Dette er den lokale endepunktsadresse, der er tildelt af tunnelmægleren, og "
"den ender normalt med <code>...:2/64</code>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:266
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:268
msgid "This is the only DHCP server in the local network."
msgstr "Dette er den eneste DHCP-server i det lokale netværk."
msgid "Unable to determine upstream interface"
msgstr "Kan ikke bestemme upstream interface"
-#: modules/luci-base/luasrc/view/error404.htm:11
+#: modules/luci-base/ucode/template/error404.ut:12
msgid "Unable to dispatch"
msgstr "Kan ikke sendes"
msgid "Unable to verify PIN"
msgstr "PIN-koden kunne ikke bekræftes"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
msgid "Unavailable Seconds (UAS)"
msgstr "Ikke-tilgængelige sekunder (UAS)"
msgstr "Unmount"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:121
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:115
msgid "Unnamed key"
msgstr "unavngiven nøgle"
"Når du trykker på \"Fortsæt\", omdøbes ifname-indstillingerne, og netværket "
"genstartes for at anvende den opdaterede konfiguration."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
msgid "Upstream resolvers will be queried in the order of the resolv file."
msgstr "Upstream-resolvere vil blive forespurgt i rækkefølgen af resolv-filen."
msgid "Uptime"
msgstr "Oppetid"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
msgid "Use <code>/etc/ethers</code>"
msgstr "Brug <code>/etc/ethers</code>"
msgid "Use system certificates for inner-tunnel"
msgstr "Brug systemcertifikater til den indre tunnel"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:599
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:670
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC address</"
"em> identifies the host, the <em>IPv4 address</em> specifies the fixed "
msgid "User key (PEM encoded)"
msgstr "Brugernøgle (PEM kodet)"
-#: modules/luci-base/luasrc/view/sysauth.htm:23
+#: modules/luci-base/ucode/template/sysauth.ut:23
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:112
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:101
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:56
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:18
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:13
msgid "Username"
msgstr "Brugernavn"
#: protocols/luci-proto-vti/htdocs/luci-static/resources/protocol/vti.js:10
msgid "VTI"
-msgstr ""
+msgstr "VTI"
#: protocols/luci-proto-vxlan/htdocs/luci-static/resources/protocol/vxlan.js:10
msgid "VXLAN (RFC7348)"
msgid "VXLANv6 (RFC7348)"
msgstr "VXLANv6 (RFC7348)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
msgid ""
"Validate DNS replies and cache DNSSEC data, requires upstream to support "
"DNSSEC."
msgid "Vendor Class to send when requesting DHCP"
msgstr "Leverandørklasse, der skal sendes ved anmodning om DHCP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:408
msgid "Verify unsigned domain responses really come from unsigned domains."
msgstr ""
"Verificere, at usignerede domænesvar virkelig kommer fra usignerede domæner."
msgid "Weak"
msgstr "Svag"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+msgid "Weight"
+msgstr "Vægt"
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1029
msgid ""
"When delegating prefixes to multiple downstreams, interfaces with a higher "
msgid "Wireless network is enabled"
msgstr "Trådløst netværk er aktiveret"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:278
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:280
msgid "Write received DNS queries to syslog."
msgstr "Skriv modtagne DNS-forespørgsler til syslog."
"du deaktiverer vigtige init-scripts som \"network\", kan din enhed blive "
"utilgængelig!</strong>"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:90
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:97
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
+msgid "You may add multiple records for the same Target."
+msgstr "Du kan tilføje flere akter for det samme mål."
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:596
+msgid "You may add multiple records for the same domain."
+msgstr "Du kan tilføje flere akter for det samme domæne."
+
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:78
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:92
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:73
msgid ""
"You must enable JavaScript in your browser or LuCI will not work properly."
msgid "ZRam Size"
msgstr "ZRam Størrelse"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:558
+msgid "_proto: _tcp, _udp, _sctp, _quic, … ."
+msgstr "_proto: _tcp, _udp, _sctp, _quic, … ."
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:557
+msgid ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Note: while _http is "
+"possible, no browsers support SRV records.)"
+msgstr ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Bemærk: _http er "
+"muligt, men ingen browsere understøtter SRV-poster.)"
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:454
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:152
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:163
msgid "any"
msgid "e.g: dump"
msgstr "f.eks.: dump"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:726
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:756
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:797
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:827
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:101
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:148
msgid "expired"
msgid "unknown"
msgstr "ukendt"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:456
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:724
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:754
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:461
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:795
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:825
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:99
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:146
msgid "unlimited"
msgid "« Back"
msgstr "« Tilbage"
+#~ msgid "Back to configuration"
+#~ msgstr "Tilbage til konfiguration"
+
+#~ msgid "Close list..."
+#~ msgstr "Luk liste..."
+
+#~ msgid "Internal Server Error"
+#~ msgstr "Intern serverfejl"
+
+#~ msgid "No files found"
+#~ msgstr "Ingen filer fundet"
+
+#~ msgid "Sorry, the server encountered an unexpected error."
+#~ msgstr "Beklager, serveren stødte på en uventet fejl."
+
#~ msgid "Do not forward queries that cannot be answered by public resolvers."
#~ msgstr ""
#~ "Videresend ikke forespørgsler, som ikke kan besvares af offentlige "
msgid "<abbr title=\"Router Advertisement\">RA</abbr>-Service"
msgstr "<abbr title=\"Router Advertisement\">RA</abbr>-Service"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:294
+msgid ""
+"<code>/#/</code> matches any domain. <code>/example.com/</code> returns "
+"NXDOMAIN."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+msgid ""
+"<code>/example.com/#</code> returns NULL addresses (<code>0.0.0.0</code> and "
+"<code>::</code>) for example.com and its subdomains."
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:87
msgctxt "nft relational \">\" operator expression"
msgid "<var>%s</var> greater than <strong>%s</strong>"
msgid "ATM device number"
msgstr "ATM Adapterindex"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
msgid "ATU-C System Vendor ID"
msgstr "<abbr title=\"Internet Protokoll Version 4\">IPv4</abbr>-Adresse"
msgid "Absent Interface"
msgstr "Nicht vorhandener Adapter"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:320
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
msgid "Accept DNS queries only from hosts whose address is on a local subnet."
msgstr ""
"DNS-Dienste auf direkte lokale Subnetze beschränken um Missbrauch durch "
msgid "Add key"
msgstr "Schlüssel hinzufügen"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:410
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:415
msgid "Add local domain suffix to names served from hosts files."
msgstr "Lokalen Domainsuffx an Namen aus der Hosts-Datei anhängen"
msgid "Add to Whitelist"
msgstr "Zur Whitelist hinzufügen"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:367
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
msgid "Additional hosts files"
msgstr "Zusätzliche Hosts-Dateien"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:417
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
msgid "Additional servers file"
msgstr "Zusätzliche Nameserver-Datei"
msgid "Address to access local relay bridge"
msgstr "Adresse der lokalen Relay-Brücke"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:289
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:291
msgid "Addresses"
msgstr "Adressen"
msgid "Aggregate Originator Messages"
msgstr "Originator-Nachrichten aggregieren"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
msgid "Aggregate Transmit Power (ACTATP)"
msgstr "Vollständige Sendeleistung (ACTATP)"
msgid "Alias of \"%s\""
msgstr "Alias von \"%s\""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
msgid "All servers"
msgstr "Alle Server"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
msgid ""
"Allocate IP addresses sequentially, starting from the lowest available "
"address."
"IP-Adressen sequenziell vergeben, beginnend mit der kleinsten verfügbaren "
"Adresse"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
msgid "Allocate IPs sequentially"
msgstr "IPs sequenziell vergeben"
msgid "Allow listed only"
msgstr "Nur gelistete erlauben"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
msgid "Allow localhost"
msgstr "Erlaube localhost"
msgid "Always on (kernel: default-on)"
msgstr "Immer ein (kernel: default-on)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:538
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
msgid "Always send DHCP Options. Sometimes needed, with e.g. PXELinux."
msgstr "Immer DHCP Optionen senden. Wird manchmal benötigt, z.B. mit PXELinux."
msgstr "Kurze, optionale Beschreibung dieses Gerätes"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1484
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
msgid "Annex"
msgstr "Anhang"
msgid "Any zone"
msgstr "Beliebige Zone"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:532
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
msgid "Apply DHCP Options to this net. (Empty = all clients)."
msgstr "DHCP Optionen auf dieses Netz anwenden. (Leer = alle clients)."
msgid "Authentication Type"
msgstr "Authentifizierungstyp"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:265
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:267
msgid "Authoritative"
msgstr "Authoritativ"
-#: modules/luci-base/luasrc/view/sysauth.htm:17
+#: modules/luci-base/ucode/template/sysauth.ut:17
#: themes/luci-theme-bootstrap/htdocs/luci-static/resources/view/bootstrap/sysauth.js:11
msgid "Authorization Required"
msgstr "Autorisierung benötigt"
msgid "Avoid Bridge Loops"
msgstr "Bridge-Schleifen vermeiden"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
msgid ""
"Avoid uselessly triggering dial-on-demand links (filters SRV/SOA records and "
"names with underscores)."
msgid "Back to Overview"
msgstr "Zurück zur Übersicht"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:48
-msgid "Back to configuration"
-msgstr "Zurück zur Konfiguration"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:826
msgid "Back to peer configuration"
msgstr "Zurück zur Konfiguration des Verbindungspartners"
msgstr "Backup / Firmware Update"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:351
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:12
msgid "Backup file list"
msgstr "Liste zu sichernder Dateien"
msgstr "Beacon-Intervall"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:352
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:46
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
msgid "Bind NTP server"
msgstr "Schnittstelle"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:326
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:331
msgid "Bind dynamically to interfaces rather than wildcard address."
msgstr ""
"Dynamisch an Netzwerkadapter binden statt die globale Standardadresse zu "
msgid "Bind interface"
msgstr "An Adapter binden"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:595
+msgid ""
+"Bind service records to a domain name: specify the location of services."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:556
+msgid ""
+"Bind service records to a domain name: specify the location of services. See "
+"<a href=\"%s\">RFC2782</a>."
+msgstr ""
+
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gre.js:59
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gretap.js:64
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/grev6.js:64
msgid "CLAT configuration failed"
msgstr "CLAT-Konfiguration fehlgeschlagen"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
+msgid "CNAME or fqdn"
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/processes.js:72
msgid "CPU usage (%)"
msgstr "CPU-Nutzung (%)"
"Inaktive Verbindungen nach Ablauf dieser Zeit in Sekunden schließen (0 um "
"die Verbindung immer aufrecht zu erhalten)"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:49
-msgid "Close list..."
-msgstr "Schließe Liste..."
-
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:44
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:63
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2184
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:391
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:352
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:355
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:72
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:66
msgid "Collecting data..."
msgstr "Sammle Daten..."
msgid "Compute outgoing checksum (optional)."
msgstr "Prüfsummen für zu sendende Pakete berechnet (optional)"
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Config File"
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4375
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
msgid "Configuration"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:764
msgid ""
-"Configures the operation mode of the <abbr title=\"Router "
-"Advertisement\">RA</abbr> service on this interface."
+"Configures the operation mode of the <abbr title=\"Router Advertisement"
+"\">RA</abbr> service on this interface."
msgstr ""
"Konfiguriert den Betriebsmodus des <abbr title=\"Router Advertisement\">RA</"
"abbr>-Dienstes an dieser Schnittstelle."
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/leds.js:59
msgid ""
-"Customizes the behaviour of the device <abbr title=\"Light Emitting "
-"Diode\">LED</abbr>s if possible."
+"Customizes the behaviour of the device <abbr title=\"Light Emitting Diode"
+"\">LED</abbr>s if possible."
msgstr ""
"Passt das Verhalten der Geräte-<abbr title=\"Light Emitting Diode\">LED</"
"abbr>s an - wenn dies möglich ist."
msgid "DAE-Secret"
msgstr "DAE-Geheimnis"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:530
msgid "DHCP Options"
msgstr "DHCP Optionen"
msgid "DNS"
msgstr "DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:282
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:284
msgid "DNS forwardings"
msgstr "DNS-Weiterleitungen"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:445
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:450
msgid "DNS query port"
msgstr "<abbr title=\"Domain Name System\">DNS</abbr> Abfrageport"
msgid "DNS search domains"
msgstr "DNS-Suchdomänen"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:443
msgid "DNS server port"
msgstr "<abbr title=\"Domain Name System\">DNS</abbr> Serverport"
msgid "DNS-Label / FQDN"
msgstr "DNS-Label / FQDN"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
msgid "DNSSEC"
msgstr "DNSSEC"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:407
msgid "DNSSEC check unsigned"
msgstr "DNSSEC Signaturstatus prüfen"
msgstr "DS-Lite AFTR-Adresse"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1481
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:44
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:45
msgid "DSL"
msgstr "DSL"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:14
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:15
msgid "DSL Status"
msgstr "DSL-Status"
msgstr "DTIM-Intervall"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:59
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:700
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:771
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:136
msgid "DUID"
msgstr "DUID"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
msgid "Data Rate"
msgstr "Datenrate"
msgid "Disassociate On Low Acknowledgement"
msgstr "Trennung bei schlechtem Antwortverhalten"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:302
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
msgid ""
"Discard upstream responses containing <a href=\"%s\">RFC1918</a> addresses."
msgstr "Eingehende RFC1918-Antworten verwerfen."
msgid "Distributed ARP Table"
msgstr "Verteilte ARP-Tabelle"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:548
msgid ""
"Dnsmasq instance to which this boot section is bound. If unspecified, the "
"section is valid for all dnsmasq instances."
# Nur für NAT-Firewalls?
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:246
msgid ""
-"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</"
-"abbr> forwarder."
+"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</abbr> "
+"forwarder."
msgstr ""
"Dnsmasq ist ein kombinierter <abbr title=\"Dynamic Host Configuration "
"Protocol\">DHCP</abbr>-Server und <abbr title=\"Domain Name System\">DNS</"
"abbr>-Forwarder für <abbr title=\"Network Address Translation\">NAT</abbr> "
"Router"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:419
msgid "Do not cache negative replies, e.g. for non-existent domains."
msgstr ""
"Negative Antworten nicht zwischenspeichern, z.B. bei nicht existierenden "
msgid "Do not create host route to peer (optional)."
msgstr "Keine Hostroute zum Peer erstellen (optional)."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:262
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:264
msgid "Do not forward DNS queries without dots or domain parts."
msgstr ""
-"<abbr title=\"Domain Name System\">DNS</abbr>-Anfragen ohne <abbr "
-"title=\"Domain Name System\">DNS</abbr>-Name nicht weiterleiten"
+"<abbr title=\"Domain Name System\">DNS</abbr>-Anfragen ohne <abbr title="
+"\"Domain Name System\">DNS</abbr>-Name nicht weiterleiten"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
msgid "Do not forward reverse lookups for local networks."
msgstr "Keine Rückwärtsauflösungen für lokale Netzwerke weiterleiten"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:339
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
msgid "Do not listen on the specified interfaces."
msgstr "Verhindert das Binden an diese Netzwerkadapter."
msgid "Do you want to replace the current keys?"
msgstr "Soll das derzeitige Schlüsselpaar ersetzt werden?"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:593
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:606
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:664
msgid "Domain"
msgstr "Domain"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:261
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:263
msgid "Domain required"
msgstr "Anfragen nur mit Domain"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:316
msgid "Domain whitelist"
msgstr "Domain-Whitelist"
"and an integrated <abbr title=\"Secure Copy\">SCP</abbr> server"
msgstr ""
"Der <abbr title=\"Secure Shell\">SSH</abbr>-Server ermöglicht Shell-Zugriff "
-"über das Netzwerk und bietet einen integrierten <abbr title=\"Secure "
-"Copy\">SCP</abbr>-Dienst"
+"über das Netzwerk und bietet einen integrierten <abbr title=\"Secure Copy"
+"\">SCP</abbr>-Dienst"
#: modules/luci-compat/luasrc/model/network/proto_4x6.lua:14
#: protocols/luci-proto-ipv6/htdocs/luci-static/resources/protocol/dslite.js:11
msgid "Enable Single DES"
msgstr "Single-DES aktivieren"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:480
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
msgid "Enable TFTP server"
msgstr "TFTP-Server aktivieren"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/uhttpd.js:14
msgid ""
-"Enable automatic redirection of <abbr title=\"Hypertext Transfer "
-"Protocol\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol "
-"Secure\">HTTPS</abbr> port."
+"Enable automatic redirection of <abbr title=\"Hypertext Transfer Protocol"
+"\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol Secure"
+"\">HTTPS</abbr> port."
msgstr ""
-"Automatische Weiterleitung von <abbr title=\"Hypertext Transfer "
-"Protocol\">HTTP</abbr> Anfragen zum <abbr title=\"Hypertext Transfer "
-"Protocol Secure\">HTTPS</abbr> Port."
+"Automatische Weiterleitung von <abbr title=\"Hypertext Transfer Protocol"
+"\">HTTP</abbr> Anfragen zum <abbr title=\"Hypertext Transfer Protocol Secure"
+"\">HTTPS</abbr> Port."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:977
msgid ""
msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets."
msgstr "Das DF-Bit (Nicht fragmentieren) auf gekapselten Paketen setzen."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:481
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
msgid "Enable the built-in single-instance TFTP server."
msgstr "Den eingebauten einzel-instanz TFTP Server aktivieren."
msgid "Error getting PublicKey"
msgstr "Fehler beim Abruf des öffentlichen Schlüssels"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
msgid "Errored seconds (ES)"
msgstr "Fehlersekunden (ES)"
msgid "Every second (fast, 1)"
msgstr "Jede Sekunde (schnell, 1)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:343
msgid "Exclude interfaces"
msgstr "Netzwerkadapter ausschließen"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
msgid ""
"Exempt <code>127.0.0.0/8</code> and <code>::1</code> from rebinding checks, "
"e.g. for RBL services."
msgid "Existing device"
msgstr "Existierender Netzwerkadapter"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:409
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
msgid "Expand hosts"
msgstr "Hosts vervollständigen"
msgid "File"
msgstr "Datei"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
msgid ""
"File listing upstream resolvers, optionally domain-specific, e.g. "
"<code>server=1.2.3.4</code>, <code>server=/domain/1.2.3.4</code>."
msgid "File not accessible"
msgstr "Datei nicht verfügbar"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:354
msgid "File to store DHCP lease information."
msgstr ""
-"Speicherort für vergebene <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr>-Adressen"
+"Speicherort für vergebene <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr>-Adressen"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:362
msgid "File with upstream resolvers."
msgstr "Lokale <abbr title=\"Domain Name System\">DNS</abbr>-Datei"
#: modules/luci-base/htdocs/luci-static/resources/ui.js:2846
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:507
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:512
msgid "Filename"
msgstr "Dateiname"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:493
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:498
msgid "Filename of the boot image advertised to clients."
msgstr "Dateiname des Boot-Images welches den Clients mitgeteilt wird"
msgid "Filesystem"
msgstr "Dateisystem"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
msgid "Filter private"
msgstr "Private Anfragen filtern"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
msgid "Filter useless"
msgstr "Windowsanfragen filtern"
msgid "Firmware Version"
msgstr "Firmware-Version"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:446
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:451
msgid "Fixed source port for outbound DNS queries."
msgstr "Fester Port für ausgehende DNS-Anfragen"
msgid "Flashing…"
msgstr "Aktualisieren…"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:686
msgid "Force"
msgstr "Start erzwingen"
msgid "Force use of NAT-T"
msgstr "Benutzung von NAT-T erzwingen"
-#: modules/luci-base/luasrc/view/csrftoken.htm:8
+#: modules/luci-base/ucode/template/csrftoken.ut:8
msgid "Form token mismatch"
msgstr "Abweichendes Formular-Token"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:919
msgid ""
-"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr "
-"title=\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr "
-"title=\"Neighbour Advertisement, Type 136\">NA</abbr> messages between the "
-"designated master interface and downstream interfaces."
+"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr title="
+"\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr title=\"Neighbour "
+"Advertisement, Type 136\">NA</abbr> messages between the designated master "
+"interface and downstream interfaces."
msgstr ""
-"<abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr "
-"title=\"Neighbour Solicitation, Type 135\">NS</abbr>- und <abbr "
-"title=\"Neighbour Advertisement, Type 136\">NA</abbr>-Nachrichten zwischen "
-"der Master-Schnittstellen und nachgelagerten Schnittstellen weiterleiten."
+"<abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr title="
+"\"Neighbour Solicitation, Type 135\">NS</abbr>- und <abbr title=\"Neighbour "
+"Advertisement, Type 136\">NA</abbr>-Nachrichten zwischen der Master-"
+"Schnittstellen und nachgelagerten Schnittstellen weiterleiten."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:770
msgid ""
"DHCPv6-Nachrichten zwischen der Master-Schnittstelle und nachgelagerten "
"Schnittstellen weiterleiten."
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
msgid "Forward Error Correction Seconds (FECS)"
msgstr "Fehlerkorrektursekunden (FECS)"
msgid "Global network options"
msgstr "Globale Netzwerkeinstellungen"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:82
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:74
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:70
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:84
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:67
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:92
msgid "Go to firmware upgrade..."
msgstr "Gehe zum Firmware Upgrade..."
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:72
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:64
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:60
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:57
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:82
msgid "Go to password configuration..."
msgstr "Zur Passwortkonfiguration..."
msgid "Hang Up"
msgstr "Auflegen"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
msgid "Header Error Code Errors (HEC)"
msgstr "Anzahl Header-Error-Code-Fehler (HEC)"
msgid "Host expiry timeout"
msgstr "Host Verfallsdatum"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
msgid "Host requests this filename from the boot server."
msgstr "Vom Boot-Server angeforderter Dateiname."
msgstr "\"Host-Uniq\"-Bezeichner"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:38
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:607
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:678
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:54
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:87
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:135
msgid "Hostnames"
msgstr "Rechnernamen"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:551
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:622
msgid ""
"Hostnames are used to bind a domain name to an IP address. This setting is "
"redundant for hostnames already configured with static leases, but it can be "
msgid "IP Protocol"
msgstr "IP-Protokoll"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:260
msgid "IP Sets"
msgstr "IP-Sets"
msgid "IP Type"
msgstr "IP-Typ"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:563
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:634
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:178
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:204
msgid "IP address"
msgid "IP protocol"
msgstr "IP-Protokoll"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:660
msgid "IP set"
msgstr "IP-Sets"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:300
msgid "IP sets"
msgstr "IP-Sets"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:437
msgid "IPs to override with NXDOMAIN"
msgstr "Ungültige \"NX-Domain\" Antworten ignorieren"
#: modules/luci-base/htdocs/luci-static/resources/protocol/static.js:178
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:736
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:88
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:164
msgid "IPv4 address"
msgid "IPv6 suffix"
msgstr "IPv6 Endung"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:706
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:777
msgid "IPv6 suffix (hex)"
msgstr ""
"<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Suffix (hexadezimal)"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:340
msgid ""
"If your physical memory is insufficient unused data can be temporarily "
-"swapped to a swap-device resulting in a higher amount of usable <abbr "
-"title=\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a "
-"very slow process as the swap-device cannot be accessed with the high "
-"datarates of the <abbr title=\"Random Access Memory\">RAM</abbr>."
+"swapped to a swap-device resulting in a higher amount of usable <abbr title="
+"\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a very "
+"slow process as the swap-device cannot be accessed with the high datarates "
+"of the <abbr title=\"Random Access Memory\">RAM</abbr>."
msgstr ""
"Falls der Arbeitsspeicher des Routers nicht ausreicht, kann dieser nicht "
"benutzte Daten zeitweise auf einem SWAP-Laufwerk auslagern um so die "
"effektive Größe des Arbeitsspeichers zu erhöhen. Die Auslagerung der Daten "
"ist natürlich bedeutend langsamer als direkte Arbeitsspeicherzugriffe."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:363
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:368
msgid "Ignore <code>/etc/hosts</code>"
msgstr "Ignoriere <code>/etc/hosts</code>"
msgid "Ignore interface"
msgstr "Schnittstelle ignorieren"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:352
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
msgid "Ignore resolv file"
msgstr "Resolv-Datei ignorieren"
"Vermeidung zu aktivieren um Broadcast-Schleifen zu vermeiden welche das "
"Netzwerk stark beeinträchtigen können."
-#: modules/luci-base/luasrc/view/csrftoken.htm:13
+#: modules/luci-base/ucode/template/csrftoken.ut:13
msgid ""
"In order to prevent unauthorized access to the system, your request has been "
"blocked. Click \"Continue »\" below to return to the previous page."
msgid "Install protocol extensions..."
msgstr "Installiere Protokoll-Erweiterungen..."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:547
msgid "Instance"
msgstr "Instanz"
msgid "Internal"
msgstr "Intern"
-#: modules/luci-base/luasrc/view/error500.htm:8
-msgid "Internal Server Error"
-msgstr "Interner Serverfehler"
-
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:285
msgid "Interval For Sending Learning Packets"
msgstr "Intervall für das Senden von Lernpaketen"
msgid "Invalid hexadecimal value"
msgstr "Ungültiger Hexadezimalwert"
-#: modules/luci-base/luasrc/view/sysauth.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:37
+#: modules/luci-base/ucode/template/sysauth.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:32
msgid "Invalid username and/or password! Please try again."
msgstr ""
"Ungültiger Benutzername oder ungültiges Passwort! Bitte erneut versuchen."
"Das verwendete Image scheint zu groß für den internen Flash-Speicher zu "
"sein. Überprüfen Sie die Imagedatei!"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:89
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:96
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:77
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:91
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:72
msgid "JavaScript required!"
msgstr "JavaScript benötigt!"
msgid "Language and Style"
msgstr "Sprache und Aussehen"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:560
+msgid ""
+"Larger weights (of the same prio) are given a proportionately higher "
+"probability of being selected."
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:575
msgid "Last member interval"
msgstr "Letzter-Teilnehmer-Intervall"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
msgid "Latency"
msgstr "Latenz"
msgid "Learn routes"
msgstr "Routen lernen"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:348
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:353
msgid "Lease file"
msgstr "Leasedatei"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:697
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:768
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:679
msgid "Lease time"
msgstr "Laufzeit"
msgid "Limit"
msgstr "Limit"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
msgid "Line Attenuation (LATN)"
msgstr "Dämpfung (LATN)"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
msgid "Line Mode"
msgstr "Verbindungsmodus"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:17
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
msgid "Line State"
msgstr "Verbindungsstatus"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
msgid "Line Uptime"
msgstr "Verbindungsdauer"
msgid "Link layer header bits %d-%d"
msgstr "Link-Layer-Bits %d-%d"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
msgid "List of IP addresses to convert into NXDOMAIN responses."
msgstr "Liste von Servern die falsche \"NX Domain\" Antworten liefern"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:296
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:581
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:652
msgid "List of IP sets to populate with the specified domain IPs."
msgstr ""
"Liste von IP-Sets welche mit den aufgelösten IPs der angegebenen Domains "
msgid "List of SSH key files for auth"
msgstr "Liste der SSH Schlüssel zur Authentifikation"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:317
msgid "List of domains to allow RFC1918 responses for."
msgstr "Liste von Domains für welche RFC1918-Antworten erlaubt sind"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:290
-msgid "List of domains to force to an IP address."
-msgstr "Liste von erzwungenen Domain-IP-Adressen-Zuordnungen."
-
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:283
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:285
msgid "List of upstream resolvers to forward queries to."
msgstr ""
"Liste von <abbr title=\"Domain Name System\">DNS</abbr>-Servern an welche "
msgid "Listen Port"
msgstr "Listening-Port"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:332
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:337
msgid "Listen interfaces"
msgstr "Aktive Adapter"
"Nur auf die gegebene Schnittstelle reagieren, nutze alle wenn nicht "
"spezifiziert"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:333
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
msgid ""
"Listen only on the specified interfaces, and loopback if not excluded "
"explicitly."
msgid "ListenPort setting is invalid"
msgstr "ListenPort-Parameter ist ungültig"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:439
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:444
msgid "Listening port for inbound DNS queries."
msgstr "Serverport für eingehende DNS Abfragen"
msgstr "Lade Verzeichniseinträge…"
#: modules/luci-base/htdocs/luci-static/resources/luci.js:1942
-#: modules/luci-base/luasrc/view/view.htm:4
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:45
+#: modules/luci-base/ucode/template/view.ut:4
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:40
msgid "Loading view…"
msgstr "Lade Seite…"
msgid "Local ULA"
msgstr "Lokales ULA-Präfix"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:273
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:275
msgid "Local domain"
msgstr "Lokale Domain"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:274
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:276
msgid "Local domain suffix appended to DHCP names and hosts file entries."
msgstr ""
"Lokaler Domain-Suffix welcher an DHCP Namen und Host-Datei Einträge "
"angehangen wird"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:269
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:271
msgid "Local server"
msgstr "Lokaler Server"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:319
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:324
msgid "Local service only"
msgstr "Nur lokale Dienste"
msgid "Local wireguard key"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
msgid "Localise queries"
msgstr "Lokalisiere Anfragen"
msgid "Log output level"
msgstr "Protokolllevel"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:277
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:279
msgid "Log queries"
msgstr "Schreibe Abfragelog"
"Logisches Netzwerk, zu dem der Tunnel hinzugefügt wird (überbrückt) "
"(optional)."
-#: modules/luci-base/luasrc/view/sysauth.htm:38
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:41
+#: modules/luci-base/ucode/template/sysauth.ut:38
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:36
msgid "Login"
msgstr "Anmelden"
msgid "Loose filtering"
msgstr "offene Filterung"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
msgid "Loss of Signal Seconds (LOSS)"
msgstr "Signalverlustsekunden (LOSS)"
msgid "Lowest leased address as offset from the network address."
msgstr "Kleinste vergebene Adresse (Netzwerkadresse + x)."
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/footer.ut:12
+msgid "Lua compatibility mode active"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:48
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:83
msgid "MAC"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:591
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:40
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:619
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1164
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2177
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:56
msgid "MTU"
msgstr "MTU"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:259
+msgid "MX"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:303
msgid ""
"Make sure to clone the root filesystem using something like the commands "
msgid "Max <abbr title=\"Router Advertisement\">RA</abbr> interval"
msgstr "Maximales <abbr title=\"Router Advertisement\">RA</abbr>-Intervall"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
msgid "Max. Attainable Data Rate (ATTNDR)"
msgstr "Maximal erreichbare Datenrate (ATTNDR)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:457
msgid "Max. DHCP leases"
msgstr ""
"<abbr title=\"maximal\">Max.</abbr> Anzahl von <abbr title=\"Dynamic Host "
"Configuration Protocol\">DHCP</abbr>-Leases"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:459
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:464
msgid "Max. EDNS0 packet size"
msgstr ""
"<abbr title=\"maximal\">Max.</abbr> Größe von <abbr title=\"Extension "
"Mechanisms for Domain Name System\">EDNS0</abbr>-Paketen"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:466
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:471
msgid "Max. concurrent queries"
msgstr "<abbr title=\"maximal\">Max.</abbr> Anzahl gleichzeitiger Abfragen"
msgid "Maximum allowed Listen Interval"
msgstr "Maximal erlaubter Inaktivitätszeitraum"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:453
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:458
msgid "Maximum allowed number of active DHCP leases."
msgstr "Maximal zulässige Anzahl von aktiven DHCP-Leases"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:467
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:472
msgid "Maximum allowed number of concurrent DNS queries."
msgstr "Maximal zulässige Anzahl an gleichzeitigen DNS-Anfragen"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:460
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:465
msgid "Maximum allowed size of EDNS0 UDP packets."
msgstr "Maximal zulässige Größe von EDNS.0 UDP Paketen"
msgid "Maximum transmit power"
msgstr "Maximale Sendeleistung"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:394
msgid "May prevent VoIP or other services from working."
msgstr ""
msgid "Name of the tunnel device"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:46
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:39
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:50
msgid "Navigation"
msgstr "Navigation"
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:10
+msgid "Nebula Network"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:653
msgid "Neighbour cache validity"
msgstr "Neighbour-Cache-Gültigkeitsdauer"
msgid "Network address"
msgstr "Netzwerkadresse"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:492
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:497
msgid "Network boot image"
msgstr "Netzwerk-Boot-Image"
msgid "Network interface"
msgstr "Netzwerkschnittstelle"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:536
msgid "Network-ID"
msgstr "Netzwerk-ID"
msgid "Never"
msgstr "Niemals"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:270
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:272
msgid ""
"Never forward matching domains and subdomains, resolve from DHCP or hosts "
"files only."
msgid "No RX signal"
msgstr "Kein Signal empfangen"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:80
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:87
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:68
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:82
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:65
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:90
msgid ""
"No changes to settings will be stored and are lost after rebooting. This "
msgid "No entries in this directory"
msgstr "Keine Einträge in diesem Verzeichnis"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:82
-msgid "No files found"
-msgstr "Keine Dateien gefunden"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:833
msgid ""
"No fixed interface listening port defined, peers might not be able to "
"Keine Slaves mehr verfügbar, Schnittstellenkonfiguration kann nicht "
"gespeichert werden"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:413
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
msgid "No negative cache"
msgstr "Kein Negativ-Cache"
msgid "No nftables ruleset loaded."
msgstr "Kein nftables-Regelwerk geladen."
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:69
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:61
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:57
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:54
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:79
msgid "No password set!"
msgstr "Kein Passwort gesetzt!"
msgid "Noise"
msgstr "Rauschen"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
msgid "Noise Margin (SNR)"
msgstr "Signal-Rausch-Abstand (SNR)"
msgid "Noise:"
msgstr "Rauschen:"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
msgid "Non Pre-emptive CRC errors (CRC_P)"
msgstr "Nicht-präemptive CRC-Fehler (CRC_P)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:330
msgid "Non-wildcard"
msgstr "An Schnittstellen binden"
msgid "Normal"
msgstr "Normal"
-#: modules/luci-base/luasrc/view/error404.htm:8
+#: modules/luci-base/ucode/template/error404.ut:9
msgid "Not Found"
msgstr "Nicht Gefunden"
msgid "Number of IGMP membership reports"
msgstr "Anzahl der IGMP-Mitgliedschaftsberichte"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:474
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:479
msgid "Number of cached DNS entries, 10000 is maximum, 0 is no caching."
msgstr ""
"Anzahl der zwischengespeicherten DNS-Einträge. Maximum sind 10000 Einträge, "
msgid "On-link"
msgstr "Link-lokale Route"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:672
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:743
msgid "One of hostname or MAC address must be specified!"
msgstr "Es muss entweder ein Hostname oder eine MAC-Adresse angegeben werden!"
msgstr "Übersicht der iptables-Regeln öffnen…"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:472
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:19
msgid "Open list..."
msgstr "Liste öffnen..."
"Protocol\">NDP</abbr> proxying."
msgstr ""
"Im <em>Relay-Modus</em> operieren wenn eine Master-Schnittstelle festgelegt "
-"und aktiv ist, andernfalls den <abbr title=\"Neighbour Discovery "
-"Protocol\">NDP</abbr>-Proxy-Dienst deaktivieren."
+"und aktiv ist, andernfalls den <abbr title=\"Neighbour Discovery Protocol"
+"\">NDP</abbr>-Proxy-Dienst deaktivieren."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:723
msgid ""
msgid "Options"
msgstr "Optionen"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:526
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
msgid ""
"Options for the Network-ID. (Note: needs also Network-ID.) E.g. "
-"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</"
-"code>\" for default route. <code>0.0.0.0</code> means \"the address of the "
-"system running dnsmasq\"."
+"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</code>"
+"\" for default route. <code>0.0.0.0</code> means \"the address of the system "
+"running dnsmasq\"."
msgstr ""
"Optionen für die Netzwerk-ID. (Netzwerk-ID-Wert benötigt). Beispiel: "
"\"<code>42,192.168.1.4</code>\" für NTP-Server oder \"<code>3,192.168.4.4</"
msgid "Options:"
msgstr "Optionen:"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
+msgid "Ordinal: lower comes first."
+msgstr ""
+
#: protocols/luci-proto-batman-adv/htdocs/luci-static/resources/protocol/batadv.js:55
msgid "Originator Interval"
msgstr "Originator-Intervall."
msgstr ""
"Pass-through (Physischen Netzwerkadapter auf einzelnes MAC-VLAN spiegeln)"
-#: modules/luci-base/luasrc/view/sysauth.htm:29
+#: modules/luci-base/ucode/template/sysauth.ut:29
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1690
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:51
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:114
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:103
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:24
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:19
msgid "Password"
msgstr "Passwort"
msgid "Pkts."
msgstr "Pkte."
-#: modules/luci-base/luasrc/view/sysauth.htm:19
+#: modules/luci-base/ucode/template/sysauth.ut:19
msgid "Please enter your username and password."
msgstr "Bitte Benutzernamen und Passwort eingeben."
msgid "Policy: <strong>%h</strong> (%h)"
msgstr "Grundregel: <strong>%h</strong> (%h)"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:579
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:21
msgid "Port"
msgstr "Port"
msgid "Potential negation of: %s"
msgstr "Mögliche Negation von: %s"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:38
msgid "Power Management Mode"
msgstr "Energiesparmodus"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
msgid "Pre-emptive CRC errors (CRCP_P)"
msgstr "Präemptive CRC-Fehler (CRCP_P)"
"(immer 0)"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:129
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:197
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:223
msgid "Quality"
msgstr "Qualität"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
msgid "Query all available upstream resolvers."
msgstr ""
"Alle verfügbaren übergeordneten <abbr title=\"Domain Name System\">DNS</"
"Hexadezimal-kodierte Zeichensequenz. Nur angeben wenn der Internetanbieter "
"einen bestimmten Wert erwartet"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:345
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:350
msgid "Read <code>/etc/ethers</code> to configure the DHCP server."
msgstr ""
"Lese <code>/etc/ethers</code> um den <abbr title=\"Dynamic Host "
msgid "Reassociation Deadline"
msgstr "Reassoziierungsfrist"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
msgid "Rebind protection"
msgstr "DNS-Rebind-Schutz"
"angegebenem Wert ablehnen"
#: modules/luci-compat/luasrc/model/network/proto_relay.lua:153
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:611
#: protocols/luci-proto-relay/htdocs/luci-static/resources/protocol/relay.js:39
msgid "Relay"
msgstr "Relay"
msgid "Required. Base64-encoded private key for this interface."
msgstr "Benötigt. Base64-kodierter privater Schlüssel für diese Schnittstelle."
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Required. Path to the .yml config file for this interface."
+msgstr ""
+
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:587
msgid "Required. Public key of the WireGuard peer."
msgstr "Benötigt. Öffentlicher Schlüssel des WireGuard Verbindungspartners."
msgstr "Neuauswahlrichtlinie für primären Slave"
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2197
-#: modules/luci-base/luasrc/view/sysauth.htm:39
+#: modules/luci-base/ucode/template/sysauth.ut:39
#: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
#: modules/luci-compat/luasrc/view/cbi/footer.htm:30
#: modules/luci-compat/luasrc/view/cbi/simpleform.htm:66
msgid "Resolv and Hosts Files"
msgstr "Resolv- und Hosts-Dateien"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:356
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:361
msgid "Resolv file"
msgstr "Resolv-Datei"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:292
+msgid "Resolve specified FQDNs to an IP."
+msgstr "Liste von erzwungenen Domain-IP-Adressen-Zuordnungen."
+
#: modules/luci-base/htdocs/luci-static/resources/rpc.js:405
msgid "Resource not found"
msgstr "Resource nicht gefunden"
msgid "Restore backup"
msgstr "Sicherung wiederherstellen"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
msgid ""
"Return answers to DNS queries matching the subnet from which the query was "
"received if multiple IPs are available."
msgid "Robustness"
msgstr "Robustheit"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:491
msgid ""
"Root directory for files served via TFTP. <em>Enable TFTP server</em> and "
"<em>TFTP server root</em> turn on the TFTP server and serve files from "
msgid "SNR"
msgstr "SNR"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "SRV"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:10
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:38
msgid "SSH Access"
msgid "Server"
msgstr "Server"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:524
msgid "Server address"
msgstr "Serveradresse"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:518
msgid "Server name"
msgstr "Servername"
"Netzwerkrouten für IPv6-Nachbarn installieren, die durch den NDP-Proxy "
"behandelt werden."
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
msgid "Severely Errored Seconds (SES)"
msgstr "schwerwiegende Fehlersekunden (SES)"
msgstr "Kurze Präambel"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:470
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:18
msgid "Show current backup file list"
msgstr "Zeige aktuelle Liste der gesicherten Dateien"
msgid "Signal / Noise"
msgstr "Signal / Rauschen"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
msgid "Signal Attenuation (SATN)"
msgstr "Signaldämpfung (SATN)"
msgid "Size"
msgstr "Größe"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:473
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:478
msgid "Size of DNS query cache"
msgstr "Größe des DNS-Caches"
msgid "Skip from backup files that are equal to those in /rom"
msgstr "Mit dem ROM-Speicher identische Dateien nicht sichern"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:42
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:35
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:46
msgid "Skip to content"
msgstr "Zum Inhalt springen"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:41
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:34
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:45
msgid "Skip to navigation"
msgstr "Zur Navigation springen"
msgid "Some fields are invalid, cannot save values!"
msgstr "Einige Felder sind ungültig, kann das Formular nicht speichern!"
-#: modules/luci-base/luasrc/view/error404.htm:9
+#: modules/luci-base/ucode/template/error404.ut:10
msgid "Sorry, the object you requested was not found."
msgstr "Entschuldigung, das anfgeforderte Objekt wurde nicht gefunden."
-#: modules/luci-base/luasrc/view/error500.htm:9
-msgid "Sorry, the server encountered an unexpected error."
-msgstr ""
-"Entschuldigung, auf dem Server ist ein unerwarteter Fehler aufgetreten."
-
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:442
msgid ""
"Sorry, there is no sysupgrade support present; a new firmware image must be "
msgid "Source port"
msgstr "Quell-Port"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:505
msgid ""
"Special <abbr title=\"Preboot eXecution Environment\">PXE</abbr> boot "
"options for Dnsmasq."
msgid "Static address"
msgstr "Statische Adresse"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:598
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:669
msgid ""
"Static leases are used to assign fixed IP addresses and symbolic hostnames "
"to DHCP clients. They are also required for non-dynamic interface "
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:16
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:541
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:929
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:9
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:9
msgid "Status"
msgstr "Status"
msgid "Strict filtering"
msgstr "strikte Filterung"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
msgid "Strict order"
msgstr "Strikte Reihenfolge"
msgid "Submit"
msgstr "Absenden"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
msgid "Suppress logging"
msgstr "Logeinträge unterdrücken"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:373
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
msgid "Suppress logging of the routine operation for the DHCP protocol."
msgstr ""
"Logeinträge für erfolgreiche Operationen dieser Protokolle unterdrücken"
msgid "Sync with browser"
msgstr "Mit Browser synchronisieren"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:293
+msgid "Syntax: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "Syntax: <code>_service._proto.example.com</code>."
+msgstr ""
+
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:26
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:17
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:113
msgid "System log buffer size"
msgstr "Größe des Systemprotokoll-Puffers"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:79
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:86
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:71
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:67
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:81
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:64
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:89
msgid "System running in recovery (initramfs) mode."
msgstr "System läuft im Wiederherstellungsmodus (initramfs-Modus)."
msgid "TCP:"
msgstr "TCP:"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:490
msgid "TFTP server root"
msgstr "TFTP Wurzelverzeichnis"
msgid "Table"
msgstr "Tabelle"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:56
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:66
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:187
"Die Updateprozedur für HE.net Tunnel-IP-Adrerssen hat sich geändert, statt "
"der numerischen User-ID muss nun der normale Benutzername angegeben werden!"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:681
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:752
msgid "The IP address %h is already used by another static lease"
msgstr ""
"Die IP-Adresse %h wird bereits von einem anderem statischen Lease verwendet"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:761
msgid "The IP address is outside of any DHCP pool address range"
msgstr "Die IP-Adresse liegt außerhalb jedes DHCP-Adressbereiches"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:520
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
msgid "The IP address of the boot server"
msgstr "Die IP-Adresse des Boot-Servers"
"The device file of the memory or partition (<abbr title=\"for example\">e.g."
"</abbr> <code>/dev/sda1</code>)"
msgstr ""
-"Die Gerätedatei des Speichers oder der Partition (<abbr title=\"zum "
-"Beispiel\">z.B.</abbr>: <code>/dev/sda1</code>)"
+"Die Gerätedatei des Speichers oder der Partition (<abbr title=\"zum Beispiel"
+"\">z.B.</abbr>: <code>/dev/sda1</code>)"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:450
msgid "The device name \"%s\" is already taken"
"eines weiteren Hops zu propagieren (Pakete müssen empfangen und "
"weitergesendet werden, was Funkspektrumszeit kostet)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:514
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
msgid "The hostname of the boot server"
msgstr "Der Hostname des Boot-Servers"
"The maximum hops to be published in <abbr title=\"Router Advertisement\">RA</"
"abbr> messages. Maximum is 255 hops."
msgstr ""
-"Die maximale Anzahl von Hops welche in <abbr title=\"Router "
-"Advertisement\">RA</abbr>-Nachrichten annonciert werden. Maximum ist 255 "
-"Hops."
+"Die maximale Anzahl von Hops welche in <abbr title=\"Router Advertisement"
+"\">RA</abbr>-Nachrichten annonciert werden. Maximum ist 255 Hops."
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4638
msgid ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/switch.js:139
msgid ""
-"The network ports on this device can be combined to several <abbr "
-"title=\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
+"The network ports on this device can be combined to several <abbr title="
+"\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
"communicate directly with each other. <abbr title=\"Virtual Local Area "
"Network\">VLAN</abbr>s are often used to separate different network "
"segments. Often there is by default one Uplink port for a connection to the "
"next greater network like the internet and other ports for a local network."
msgstr ""
-"Die Netzwerkanschlüsse dieses Geräts können zu mehreren <abbr "
-"title=\"Virtual Local Area Network\">VLAN</abbr>s kombiniert werden, in "
-"denen Computer direkt miteinander kommunizieren können. <abbr "
-"title=\"Virtual Local Area Network\">VLAN</abbr>s werden häufig zur Trennung "
-"verschiedener Netzwerksegmente verwendet. Oftmals gibt es standardmäßig "
-"einen Uplink-Port für eine Verbindung zum nächst größeren Netzwerk wie dem "
-"Internet und andere Ports für ein lokales Netzwerk."
+"Die Netzwerkanschlüsse dieses Geräts können zu mehreren <abbr title="
+"\"Virtual Local Area Network\">VLAN</abbr>s kombiniert werden, in denen "
+"Computer direkt miteinander kommunizieren können. <abbr title=\"Virtual "
+"Local Area Network\">VLAN</abbr>s werden häufig zur Trennung verschiedener "
+"Netzwerksegmente verwendet. Oftmals gibt es standardmäßig einen Uplink-Port "
+"für eine Verbindung zum nächst größeren Netzwerk wie dem Internet und andere "
+"Ports für ein lokales Netzwerk."
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:759
msgid ""
"Der ausgewählte \"%s\" Betriebsmodus ist nicht kompatibel mit %s-"
"Verschlüsselung"
-#: modules/luci-base/luasrc/view/csrftoken.htm:11
+#: modules/luci-base/ucode/template/csrftoken.ut:11
msgid "The submitted security token is invalid or already expired!"
msgstr ""
"Das mitgesendete Sicherheits-Token ist ungültig oder bereits abgelaufen!"
"iptables und nftables-Regeln wird nicht empfohlen und könnte zur "
"unvollständigen Filterung von Netzwerkverkehr führen."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:746
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:778
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:817
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:849
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:130
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:179
msgid "There are no active leases"
msgid "There are no changes to apply"
msgstr "Es gibt keine anzuwendenden Änderungen"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:70
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:58
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:55
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:80
msgid ""
"There is no password set on this router. Please configure a root password to "
msgstr "Dies scheint keine gültige PEM-Datei zu sein"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:16
msgid ""
"This is a list of shell glob patterns for matching files and directories to "
"include during sysupgrade. Modified files in /etc/config/ and certain other "
"Dies ist die lokale, vom Broker zugewiesene IPv6-Adresse, sie endet "
"üblicherweise mit <code>...:2/64</code>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:266
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:268
msgid "This is the only DHCP server in the local network."
msgstr ""
-"Dies ist der einzige <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr>-Server im lokalen Netzwerk"
+"Dies ist der einzige <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr>-Server im lokalen Netzwerk"
#: protocols/luci-proto-ipv6/htdocs/luci-static/resources/protocol/6in4.js:73
msgid "This is the plain username for logging into the account"
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:440
msgid ""
"To fully configure the local WireGuard interface from an existing (e.g. "
-"provider supplied) configuration file, use the <strong><a class=\"full-"
-"import\" href=\"#\">configuration import</a></strong> instead."
+"provider supplied) configuration file, use the <strong><a class=\"full-import"
+"\" href=\"#\">configuration import</a></strong> instead."
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2674
msgid "Unable to determine upstream interface"
msgstr "Upstream-Netzwerkadapter konnte nicht bestimmt werden"
-#: modules/luci-base/luasrc/view/error404.htm:11
+#: modules/luci-base/ucode/template/error404.ut:12
msgid "Unable to dispatch"
msgstr "Kann Anfrage nicht zustellen"
msgid "Unable to verify PIN"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
msgid "Unavailable Seconds (UAS)"
msgstr "Nicht verfügbare Sekunden (UAS)"
"Beim Fortfahren werden \"ifname\"-Option umbenannt und das Netzwerk neu "
"gestartet um die Veränderungen anzuwenden."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
msgid "Upstream resolvers will be queried in the order of the resolv file."
msgstr ""
"<abbr title=\"Domain Name System\">DNS</abbr>-Server in der Reihenfolge der "
msgid "Uptime"
msgstr "Laufzeit"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
msgid "Use <code>/etc/ethers</code>"
msgstr "Verwende <code>/etc/ethers</code>"
msgid "Use system certificates for inner-tunnel"
msgstr "Benutze Systemzertifikate für inneren Tunnel"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:599
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:670
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC address</"
"em> identifies the host, the <em>IPv4 address</em> specifies the fixed "
msgid "User key (PEM encoded)"
msgstr "PEM-kodierter Benutzerschlüssel"
-#: modules/luci-base/luasrc/view/sysauth.htm:23
+#: modules/luci-base/ucode/template/sysauth.ut:23
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:112
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:101
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:56
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:18
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:13
msgid "Username"
msgstr "Benutzername"
msgid "VXLANv6 (RFC7348)"
msgstr "VXLANv6 (RFC7348)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
msgid ""
"Validate DNS replies and cache DNSSEC data, requires upstream to support "
"DNSSEC."
msgid "Vendor Class to send when requesting DHCP"
msgstr "Bei DHCP-Anfragen gesendete Vendor-Klasse"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:408
msgid "Verify unsigned domain responses really come from unsigned domains."
msgstr ""
"Prüfen das nicht signierte Domain-Antworten tatsächlich von unsignierten "
msgid "Weak"
msgstr "Schwach"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+msgid "Weight"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1029
msgid ""
"When delegating prefixes to multiple downstreams, interfaces with a higher "
msgid "Wireless network is enabled"
msgstr "Das WLAN-Netzwerk ist aktiviert"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:278
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:280
msgid "Write received DNS queries to syslog."
msgstr "Empfangene DNS-Anfragen in das Systemprotokoll schreiben"
"><strong>Warnung: Wenn essentielle Startscripte wie \"network\" deaktiviert "
"werden könnte das Gerät unerreichbar werden!</strong>"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:90
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:97
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
+msgid "You may add multiple records for the same Target."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:596
+msgid "You may add multiple records for the same domain."
+msgstr ""
+
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:78
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:92
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:73
msgid ""
"You must enable JavaScript in your browser or LuCI will not work properly."
msgid "ZRam Size"
msgstr "ZRAM Größe"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:558
+msgid "_proto: _tcp, _udp, _sctp, _quic, … ."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:557
+msgid ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Note: while _http is "
+"possible, no browsers support SRV records.)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:454
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:152
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:163
msgid "any"
msgid "e.g: dump"
msgstr "z.B.: abwerfen"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:726
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:756
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:797
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:827
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:101
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:148
msgid "expired"
msgid "unknown"
msgstr "unbekannt"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:456
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:724
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:754
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:461
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:795
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:825
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:99
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:146
msgid "unlimited"
msgid "« Back"
msgstr "« Zurück"
+#~ msgid "Back to configuration"
+#~ msgstr "Zurück zur Konfiguration"
+
+#~ msgid "Close list..."
+#~ msgstr "Schließe Liste..."
+
+#~ msgid "Internal Server Error"
+#~ msgstr "Interner Serverfehler"
+
+#~ msgid "No files found"
+#~ msgstr "Keine Dateien gefunden"
+
+#~ msgid "Sorry, the server encountered an unexpected error."
+#~ msgstr ""
+#~ "Entschuldigung, auf dem Server ist ein unerwarteter Fehler aufgetreten."
+
#~ msgid "Do not forward queries that cannot be answered by public resolvers."
#~ msgstr ""
#~ "Keine Anfragen weiterleiten welche nicht durch öffentliche Server "
#~ msgid ""
#~ "The filesystem that was used to format the memory (<abbr title=\"for "
-#~ "example\">e.g.</abbr> <samp><abbr title=\"Third Extended "
-#~ "Filesystem\">ext3</abbr></samp>)"
+#~ "example\">e.g.</abbr> <samp><abbr title=\"Third Extended Filesystem"
+#~ "\">ext3</abbr></samp>)"
#~ msgstr "Das Dateisystem mit dem der Speicher formatiert ist (z.B.: ext3)"
#~ msgid ""
#~ msgstr "Frame Bursting"
#~ msgid ""
-#~ "Further information about WireGuard interfaces and peers at <a "
-#~ "href=\"http://wireguard.com\">wireguard.com</a>."
+#~ "Further information about WireGuard interfaces and peers at <a href="
+#~ "\"http://wireguard.com\">wireguard.com</a>."
#~ msgstr ""
-#~ "Weitere Informationen zu WireGuard-Schnittstellen und Peers unter <a "
-#~ "href=\"http://wireguard.com\">wireguard.com</a>."
+#~ "Weitere Informationen zu WireGuard-Schnittstellen und Peers unter <a href="
+#~ "\"http://wireguard.com\">wireguard.com</a>."
#~ msgid "Generic 802.11%s Wireless Controller"
#~ msgstr "Generischer 802.11%s WLAN Adapter"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1020
msgid "<abbr title=\"Basic Service Set Identifier\">BSSID</abbr>"
-msgstr "<abbr title=\"Basic Service Set Identifier\">BSSID</abbr>"
+msgstr "<abbr title=\"Αναγνωριστικό βασικού συνόλου υπηρεσιών\">BSSID</abbr>"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1009
msgid "<abbr title=\"Extended Service Set Identifier\">ESSID</abbr>"
-msgstr "<abbr title=\"Extended Service Set Identifier\">ESSID</abbr>"
+msgstr ""
+"<abbr title=\"Αναγνωριστικό εκτεταμένου συνόλου υπηρεσιών\">ESSID</abbr>"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:691
msgid "<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Netmask"
-msgstr "Μάσκα <abbr title=\"Internet Protocol Version 4\">IPv4</abbr>"
+msgstr "Μάσκα <abbr title=\"Πρωτόκολλο Διαδικτύου Έκδοση 4\">IPv4</abbr>"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/leds.js:58
msgid "<abbr title=\"Light Emitting Diode\">LED</abbr> Configuration"
-msgstr "Παραμετροποίηση <abbr title=\"Light Emitting Diode\">LED</abbr>"
+msgstr "Παραμετροποίηση <abbr title=\"Δίοδος εκπομπής φωτός\">LED</abbr>"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/leds.js:70
msgid "<abbr title=\"Light Emitting Diode\">LED</abbr> Name"
-msgstr "Όνομα <abbr title=\"Light Emitting Diode\">LED</abbr>"
+msgstr "Όνομα <abbr title=\"Δίοδος εκπομπής φωτός\">LED</abbr>"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:914
msgid "<abbr title=\"Neighbour Discovery Protocol\">NDP</abbr>-Proxy"
msgid "<abbr title=\"Router Advertisement\">RA</abbr>-Service"
msgstr "<abbr title=\"Router Advertisement\">RA</abbr>-Υπηρεσία"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:294
+msgid ""
+"<code>/#/</code> matches any domain. <code>/example.com/</code> returns "
+"NXDOMAIN."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+msgid ""
+"<code>/example.com/#</code> returns NULL addresses (<code>0.0.0.0</code> and "
+"<code>::</code>) for example.com and its subdomains."
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:87
msgctxt "nft relational \">\" operator expression"
msgid "<var>%s</var> greater than <strong>%s</strong>"
msgid "ATM device number"
msgstr "Αριθμός συσκευής ATM"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
msgid "ATU-C System Vendor ID"
msgstr "Αναγνωριστικό προμηθευτή συστήματος ATU-C"
msgid "Absent Interface"
msgstr "Απουσία διεπαφής"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:320
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
msgid "Accept DNS queries only from hosts whose address is on a local subnet."
msgstr ""
"Αποδεχτείτε ερωτήματα DNS μόνο από κεντρικούς υπολογιστές των οποίων η "
msgid "Add key"
msgstr "Προσθήκη κλειδιού"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:410
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:415
msgid "Add local domain suffix to names served from hosts files."
msgstr ""
"Προσθήκη κατάληξης τοπικού τομέα για ονόματα εξυπηρετούμενα από αρχεία hosts"
msgid "Add to Whitelist"
msgstr "Προσθήκη στο Whitelist"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:367
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
msgid "Additional hosts files"
msgstr "Επιπλέον αρχεία Hosts"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:417
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
msgid "Additional servers file"
msgstr "Πρόσθετο αρχείο διακομιστών"
msgid "Address to access local relay bridge"
msgstr "Διεύθυνση για πρόσβαση σε την τοπική γέφυρα αναμετάδοσης"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:289
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:291
msgid "Addresses"
msgstr "Διευθύνσεις"
msgid "Aggregate Originator Messages"
msgstr "Συγκεντρωτικά μηνύματα προέλευσης"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
msgid "Aggregate Transmit Power (ACTATP)"
msgstr "Συνολική ισχύς μετάδοσης (ACTATP)"
msgid "Alias of \"%s\""
msgstr "Ψευδώνυμο του \"%s\","
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
msgid "All servers"
msgstr "Όλοι οι διακομιστές"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
msgid ""
"Allocate IP addresses sequentially, starting from the lowest available "
"address."
"Κατανομή διευθύνσεων IP διαδοχικά, ξεκινώντας από τη χαμηλότερη διαθέσιμη "
"διεύθυνση."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
msgid "Allocate IPs sequentially"
msgstr "Διαδοχική κατανομή ip"
msgid "Allow listed only"
msgstr "Να επιτρέπονται μόνο αυτές στην λίστα"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
msgid "Allow localhost"
msgstr "Να επιτρέπεται το localhost"
msgid "Always on (kernel: default-on)"
msgstr "Πάντα ενεργό (kernel: default-on)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:538
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
msgid "Always send DHCP Options. Sometimes needed, with e.g. PXELinux."
msgstr ""
"Να στέλνετε πάντα τις Επιλογές DHCP. Μερικές φορές χρειάζεται, με π.χ. "
msgstr "Μια προαιρετική, σύντομη περιγραφή για αυτήν τη συσκευή"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1484
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
msgid "Annex"
msgstr "Annex"
msgid "Any zone"
msgstr "Οιαδήποτε ζώνη"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:532
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
msgid "Apply DHCP Options to this net. (Empty = all clients)."
msgstr ""
"Εφαρμόστε τις επιλογές DHCP σε αυτό το δίκτυο. (Άδειο = όλοι οι πελάτες)."
msgid "Authentication Type"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:265
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:267
msgid "Authoritative"
msgstr "Κύριος"
-#: modules/luci-base/luasrc/view/sysauth.htm:17
+#: modules/luci-base/ucode/template/sysauth.ut:17
#: themes/luci-theme-bootstrap/htdocs/luci-static/resources/view/bootstrap/sysauth.js:11
msgid "Authorization Required"
msgstr "Απαιτείται Εξουσιοδότηση"
msgid "Avoid Bridge Loops"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
msgid ""
"Avoid uselessly triggering dial-on-demand links (filters SRV/SOA records and "
"names with underscores)."
msgid "Back to Overview"
msgstr "Πίσω προς Επισκόπηση"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:48
-msgid "Back to configuration"
-msgstr "Πίσω προς παραμετροποίηση"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:826
msgid "Back to peer configuration"
msgstr ""
msgstr "Αντίγραφο ασφαλείας / Εγγραφή FLASH Υλικολογισμικό"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:351
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:12
msgid "Backup file list"
msgstr "Λίστα αρχείων για αντίγραφο ασφαλείας"
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:352
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:46
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
msgid "Bind NTP server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:326
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:331
msgid "Bind dynamically to interfaces rather than wildcard address."
msgstr ""
msgid "Bind interface"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:595
+msgid ""
+"Bind service records to a domain name: specify the location of services."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:556
+msgid ""
+"Bind service records to a domain name: specify the location of services. See "
+"<a href=\"%s\">RFC2782</a>."
+msgstr ""
+
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gre.js:59
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gretap.js:64
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/grev6.js:64
msgid "CLAT configuration failed"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
+msgid "CNAME or fqdn"
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/processes.js:72
msgid "CPU usage (%)"
msgstr "Χρήση CPU (%)"
"δευτερολέπτων, χρησιμοποιήστε 0 για να εξακολουθούν να υφίστανται επ' "
"αόριστον"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:49
-msgid "Close list..."
-msgstr "Κλείσιμο λίστας..."
-
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:44
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:63
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2184
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:391
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:352
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:355
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:72
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:66
msgid "Collecting data..."
msgstr "Συλλογή δεδομένων..."
msgid "Compute outgoing checksum (optional)."
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Config File"
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4375
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
msgid "Configuration"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:764
msgid ""
-"Configures the operation mode of the <abbr title=\"Router "
-"Advertisement\">RA</abbr> service on this interface."
+"Configures the operation mode of the <abbr title=\"Router Advertisement"
+"\">RA</abbr> service on this interface."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:879
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/leds.js:59
msgid ""
-"Customizes the behaviour of the device <abbr title=\"Light Emitting "
-"Diode\">LED</abbr>s if possible."
+"Customizes the behaviour of the device <abbr title=\"Light Emitting Diode"
+"\">LED</abbr>s if possible."
msgstr ""
"Ρυθμίζει, αν είναι δυνατόν, την συμπεριφορά των <abbr title=\"Light Emitting "
"Diode\">LED</abbr> της συσκευής."
msgid "DAE-Secret"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:530
msgid "DHCP Options"
msgstr ""
msgid "DNS"
msgstr "DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:282
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:284
msgid "DNS forwardings"
msgstr "Προωθήσεις DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:445
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:450
msgid "DNS query port"
msgstr "Θύρα ερωτημάτων <abbr title=\"Σύστημα Ονόματος Τομέα\">DNS</abbr>"
msgid "DNS search domains"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:443
msgid "DNS server port"
msgstr "Θύρα εξυπηρετητή <abbr title=\"Σύστημα Ονόματος Τομέα\">DNS</abbr>"
msgid "DNS-Label / FQDN"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
msgid "DNSSEC"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:407
msgid "DNSSEC check unsigned"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1481
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:44
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:45
msgid "DSL"
msgstr "DSL"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:14
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:15
msgid "DSL Status"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:59
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:700
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:771
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:136
msgid "DUID"
msgstr "DUID"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
msgid "Data Rate"
msgstr ""
"Disable <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</abbr> for "
"this interface."
msgstr ""
-"Απενεργοποίηση <abbr title=\"Πρωτόκολλο Δυναμικής Απόδοσης "
-"Διεύθυνσης\">DHCP</abbr> για αυτή τη διεπαφή."
+"Απενεργοποίηση <abbr title=\"Πρωτόκολλο Δυναμικής Απόδοσης Διεύθυνσης"
+"\">DHCP</abbr> για αυτή τη διεπαφή."
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:174
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:375
msgid "Disassociate On Low Acknowledgement"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:302
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
msgid ""
"Discard upstream responses containing <a href=\"%s\">RFC1918</a> addresses."
msgstr "Αγνόησε τις απαντήσεις ανοδικής ροής RFC1918."
msgid "Distributed ARP Table"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:548
msgid ""
"Dnsmasq instance to which this boot section is bound. If unspecified, the "
"section is valid for all dnsmasq instances."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:246
msgid ""
-"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</"
-"abbr> forwarder."
+"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</abbr> "
+"forwarder."
msgstr ""
"Ο Dnsmasq είναι ένας συνδυασμός εξυπηρετητή <abbr title=\"Πρωτόκολλο "
"Δυναμικής Απόδοσης Παραμέτρων Συστήματος\">DHCP</abbr> και προωθητή<abbr "
-"title=\"Σύστημα Ονόματος Τομέα\">DNS</abbr> για τείχη προστασίας <abbr "
-"title=\"Μεταφραστή Διεύθυνσης Δικτύου\">NAT</abbr>"
+"title=\"Σύστημα Ονόματος Τομέα\">DNS</abbr> για τείχη προστασίας <abbr title="
+"\"Μεταφραστή Διεύθυνσης Δικτύου\">NAT</abbr>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:419
msgid "Do not cache negative replies, e.g. for non-existent domains."
msgstr ""
"Να μην αποθηκεύονται στη λανθάνουσα μνήμη οι αρνητικές απαντήσεις, π.χ. για "
msgid "Do not create host route to peer (optional)."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:262
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:264
msgid "Do not forward DNS queries without dots or domain parts."
msgstr ""
"Να μην προωθούνται ερωτήματα <abbr title=\"Domain Name System\">DNS</abbr> "
"χωρίς όνομα τομέα <abbr title=\"Domain Name System\">DNS</abbr>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
msgid "Do not forward reverse lookups for local networks."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:339
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
msgid "Do not listen on the specified interfaces."
msgstr ""
msgid "Do you want to replace the current keys?"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:593
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:606
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:664
msgid "Domain"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:261
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:263
msgid "Domain required"
msgstr "Απαίτηση για όνομα τομέα"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:316
msgid "Domain whitelist"
msgstr "Λευκή λίστα τομέων"
msgid "Enable Single DES"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:480
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
msgid "Enable TFTP server"
msgstr "Ενεργοποίηση εξυπηρετητή TFTP"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/uhttpd.js:14
msgid ""
-"Enable automatic redirection of <abbr title=\"Hypertext Transfer "
-"Protocol\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol "
-"Secure\">HTTPS</abbr> port."
+"Enable automatic redirection of <abbr title=\"Hypertext Transfer Protocol"
+"\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol Secure"
+"\">HTTPS</abbr> port."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:977
msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:481
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
msgid "Enable the built-in single-instance TFTP server."
msgstr ""
msgid "Error getting PublicKey"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
msgid "Errored seconds (ES)"
msgstr ""
msgid "Every second (fast, 1)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:343
msgid "Exclude interfaces"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
msgid ""
"Exempt <code>127.0.0.0/8</code> and <code>::1</code> from rebinding checks, "
"e.g. for RBL services."
msgid "Existing device"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:409
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
msgid "Expand hosts"
msgstr ""
msgid "File"
msgstr "Αρχείο"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
msgid ""
"File listing upstream resolvers, optionally domain-specific, e.g. "
"<code>server=1.2.3.4</code>, <code>server=/domain/1.2.3.4</code>."
msgid "File not accessible"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:354
msgid "File to store DHCP lease information."
msgstr ""
"αρχείο όπου θα αποθηκεύονται τα Leases του <abbr title=\"Dynamic Host "
"Configuration Protocol\">DHCP</abbr>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:362
msgid "File with upstream resolvers."
msgstr "τοπικό αρχείο <abbr title=\"Domain Name System\">DNS</abbr>"
#: modules/luci-base/htdocs/luci-static/resources/ui.js:2846
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:507
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:512
msgid "Filename"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:493
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:498
msgid "Filename of the boot image advertised to clients."
msgstr "Όνομα αρχείου της εικόνας εκκίνησης που διαφημίζετε στους πελάτες"
msgid "Filesystem"
msgstr "Σύστημα Αρχείων"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
msgid "Filter private"
msgstr "Φιλτράρισμα ιδιωτικών"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
msgid "Filter useless"
msgstr "Φιλτράρισμα άχρηστων"
msgid "Firmware Version"
msgstr "Έκδοση υλικολογισμικού"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:446
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:451
msgid "Fixed source port for outbound DNS queries."
msgstr ""
msgid "Flashing…"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:686
msgid "Force"
msgstr "Επιβολή"
msgid "Force use of NAT-T"
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:8
+#: modules/luci-base/ucode/template/csrftoken.ut:8
msgid "Form token mismatch"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:919
msgid ""
-"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr "
-"title=\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr "
-"title=\"Neighbour Advertisement, Type 136\">NA</abbr> messages between the "
-"designated master interface and downstream interfaces."
+"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr title="
+"\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr title=\"Neighbour "
+"Advertisement, Type 136\">NA</abbr> messages between the designated master "
+"interface and downstream interfaces."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:770
"downstream interfaces."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
msgid "Forward Error Correction Seconds (FECS)"
msgstr ""
msgid "Global network options"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:82
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:74
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:70
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:84
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:67
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:92
msgid "Go to firmware upgrade..."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:72
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:64
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:60
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:57
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:82
msgid "Go to password configuration..."
msgstr ""
msgid "Hang Up"
msgstr "Κρέμασμα"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
msgid "Header Error Code Errors (HEC)"
msgstr ""
msgid "Host expiry timeout"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
msgid "Host requests this filename from the boot server."
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:38
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:607
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:678
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:54
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:87
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:135
msgid "Hostnames"
msgstr "Ονόματα Υπολογιστών"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:551
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:622
msgid ""
"Hostnames are used to bind a domain name to an IP address. This setting is "
"redundant for hostnames already configured with static leases, but it can be "
msgid "IP Protocol"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:260
msgid "IP Sets"
msgstr ""
msgid "IP Type"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:563
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:634
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:178
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:204
msgid "IP address"
msgid "IP protocol"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:660
msgid "IP set"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:300
msgid "IP sets"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:437
msgid "IPs to override with NXDOMAIN"
msgstr "Παράκαμψη Ψευδούς Τομέα NX"
#: modules/luci-base/htdocs/luci-static/resources/protocol/static.js:178
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:736
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:88
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:164
msgid "IPv4 address"
msgid "IPv6 suffix"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:706
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:777
msgid "IPv6 suffix (hex)"
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:340
msgid ""
"If your physical memory is insufficient unused data can be temporarily "
-"swapped to a swap-device resulting in a higher amount of usable <abbr "
-"title=\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a "
-"very slow process as the swap-device cannot be accessed with the high "
-"datarates of the <abbr title=\"Random Access Memory\">RAM</abbr>."
+"swapped to a swap-device resulting in a higher amount of usable <abbr title="
+"\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a very "
+"slow process as the swap-device cannot be accessed with the high datarates "
+"of the <abbr title=\"Random Access Memory\">RAM</abbr>."
msgstr ""
"Αν η φυσική μνήμη δεν είναι αρκετή, μη-χρησιμοποιούμενα δεδομένα μπορούν "
"προσωρινά να εναλλάσσονται σε μία συσκευή swap με αποτέλεσμα περισσότερη "
"προσπελαστεί με τους υψηλούς ρυθμούς μεταφοράς δεδομένων που διαθέτει η "
"<abbr title=\"Random Access Memory\">RAM</abbr>."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:363
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:368
msgid "Ignore <code>/etc/hosts</code>"
msgstr "Αγνόησε <code>/etc/hosts</code>"
msgid "Ignore interface"
msgstr "Αγνόησε διεπαφή"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:352
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
msgid "Ignore resolv file"
msgstr "Αγνόησε αρχείο resolve"
"order to avoid broadcast loops that can bring the entire LAN to a standstill."
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:13
+#: modules/luci-base/ucode/template/csrftoken.ut:13
msgid ""
"In order to prevent unauthorized access to the system, your request has been "
"blocked. Click \"Continue »\" below to return to the previous page."
msgid "Install protocol extensions..."
msgstr "Εγκατάσταση επεκτάσεων πρωτοκόλλου..."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:547
msgid "Instance"
msgstr ""
msgid "Internal"
msgstr ""
-#: modules/luci-base/luasrc/view/error500.htm:8
-msgid "Internal Server Error"
-msgstr ""
-
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:285
msgid "Interval For Sending Learning Packets"
msgstr ""
msgid "Invalid hexadecimal value"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:37
+#: modules/luci-base/ucode/template/sysauth.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:32
msgid "Invalid username and/or password! Please try again."
msgstr "Άκυρο όνομα χρήστη και/ή κωδικός πρόσβασης! Παρακαλώ προσπαθήστε ξανά."
"Φαίνεται πως προσπαθείτε να φλασάρετε μια εικόνα που δεν χωράει στην μνήμη "
"flash, παρακαλώ επιβεβαιώστε το αρχείο εικόνας!"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:89
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:96
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:77
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:91
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:72
msgid "JavaScript required!"
msgstr "Απαιτείται JavaScript!"
msgid "Language and Style"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:560
+msgid ""
+"Larger weights (of the same prio) are given a proportionately higher "
+"probability of being selected."
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:575
msgid "Last member interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
msgid "Latency"
msgstr ""
msgid "Learn routes"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:348
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:353
msgid "Lease file"
msgstr "Αρχείο Leases"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:697
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:768
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:679
msgid "Lease time"
msgstr ""
msgid "Limit"
msgstr "Όριο"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
msgid "Line Attenuation (LATN)"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
msgid "Line Mode"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:17
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
msgid "Line State"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
msgid "Line Uptime"
msgstr ""
msgid "Link layer header bits %d-%d"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
msgid "List of IP addresses to convert into NXDOMAIN responses."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:296
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:581
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:652
msgid "List of IP sets to populate with the specified domain IPs."
msgstr ""
msgid "List of SSH key files for auth"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:317
msgid "List of domains to allow RFC1918 responses for."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:290
-msgid "List of domains to force to an IP address."
-msgstr ""
-
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:283
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:285
msgid "List of upstream resolvers to forward queries to."
msgstr ""
msgid "Listen Port"
msgstr "Θύρα ακρόασης"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:332
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:337
msgid "Listen interfaces"
msgstr ""
msgid "Listen only on the given interface or, if unspecified, on all"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:333
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
msgid ""
"Listen only on the specified interfaces, and loopback if not excluded "
"explicitly."
msgid "ListenPort setting is invalid"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:439
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:444
msgid "Listening port for inbound DNS queries."
msgstr ""
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:1942
-#: modules/luci-base/luasrc/view/view.htm:4
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:45
+#: modules/luci-base/ucode/template/view.ut:4
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:40
msgid "Loading view…"
msgstr ""
msgid "Local ULA"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:273
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:275
msgid "Local domain"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:274
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:276
msgid "Local domain suffix appended to DHCP names and hosts file entries."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:269
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:271
msgid "Local server"
msgstr "Τοπικός εξυπηρετητής"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:319
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:324
msgid "Local service only"
msgstr ""
msgid "Local wireguard key"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
msgid "Localise queries"
msgstr "Τοπικά ερωτήματα"
msgid "Log output level"
msgstr "Επίπεδο εξόδου αρχείων καταγραφής"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:277
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:279
msgid "Log queries"
msgstr "Καταγραφή ερωτημάτων"
msgid "Logical network to which the tunnel will be added (bridged) (optional)."
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:38
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:41
+#: modules/luci-base/ucode/template/sysauth.ut:38
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:36
msgid "Login"
msgstr "Σύνδεση"
msgid "Loose filtering"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
msgid "Loss of Signal Seconds (LOSS)"
msgstr ""
msgid "Lowest leased address as offset from the network address."
msgstr ""
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/footer.ut:12
+msgid "Lua compatibility mode active"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:48
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:83
msgid "MAC"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:591
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:40
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:619
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1164
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2177
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:56
msgid "MTU"
msgstr "MTU"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:259
+msgid "MX"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:303
msgid ""
"Make sure to clone the root filesystem using something like the commands "
msgid "Max <abbr title=\"Router Advertisement\">RA</abbr> interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
msgid "Max. Attainable Data Rate (ATTNDR)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:457
msgid "Max. DHCP leases"
msgstr ""
"<abbr title=\"μέγιστο\">Μεγ.</abbr> πλήθος <abbr title=\"Πρωτόκολλο "
"Παραμετροποίησης Δυναμικού Συστήματος\">DHCP</abbr> leases"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:459
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:464
msgid "Max. EDNS0 packet size"
msgstr ""
"<abbr title=\"μέγιστο\">Μεγ.</abbr> μέγεθος πακέτου <abbr title=\"Μηχανισμοί "
"επεκτάσεων για Συστήματα Ονόματος Τομέα\">EDNS0</abbr>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:466
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:471
msgid "Max. concurrent queries"
msgstr "<abbr title=\"μέγιστο\">Μεγ.</abbr> πλήθος ταυτόχρονων ερωτηματων"
msgid "Maximum allowed Listen Interval"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:453
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:458
msgid "Maximum allowed number of active DHCP leases."
msgstr "Μέγιστος επιτρεπόμενος αριθμός ενεργών DHCP leases"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:467
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:472
msgid "Maximum allowed number of concurrent DNS queries."
msgstr "Μέγιστος επιτρεπόμενος αριθμός ταυτόχρονων ερωτημάτων DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:460
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:465
msgid "Maximum allowed size of EDNS0 UDP packets."
msgstr "Μέγιστο επιτρεπόμενο μέγεθος EDNS.0 UDP πακέτων"
msgid "Maximum transmit power"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:394
msgid "May prevent VoIP or other services from working."
msgstr ""
msgid "Name of the tunnel device"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:46
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:39
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:50
msgid "Navigation"
msgstr "Πλοήγηση"
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:10
+msgid "Nebula Network"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:653
msgid "Neighbour cache validity"
msgstr ""
msgid "Network address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:492
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:497
msgid "Network boot image"
msgstr ""
msgid "Network interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:536
msgid "Network-ID"
msgstr ""
msgid "Never"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:270
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:272
msgid ""
"Never forward matching domains and subdomains, resolve from DHCP or hosts "
"files only."
msgid "No RX signal"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:80
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:87
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:68
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:82
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:65
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:90
msgid ""
"No changes to settings will be stored and are lost after rebooting. This "
msgid "No entries in this directory"
msgstr ""
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:82
-msgid "No files found"
-msgstr "Δε βρέθηκαν αρχεία"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:833
msgid ""
"No fixed interface listening port defined, peers might not be able to "
msgid "No more slaves available, can not save interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:413
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
msgid "No negative cache"
msgstr ""
msgid "No nftables ruleset loaded."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:69
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:61
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:57
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:54
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:79
msgid "No password set!"
msgstr "Δεν έχει οριστεί κωδικός πρόσβασης!"
msgid "Noise"
msgstr "Θόρυβος"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
msgid "Noise Margin (SNR)"
msgstr ""
msgid "Noise:"
msgstr "Θόρυβος:"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
msgid "Non Pre-emptive CRC errors (CRC_P)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:330
msgid "Non-wildcard"
msgstr ""
msgid "Normal"
msgstr "Φυσιολογικό"
-#: modules/luci-base/luasrc/view/error404.htm:8
+#: modules/luci-base/ucode/template/error404.ut:9
msgid "Not Found"
msgstr ""
msgid "Number of IGMP membership reports"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:474
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:479
msgid "Number of cached DNS entries, 10000 is maximum, 0 is no caching."
msgstr ""
msgid "On-link"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:672
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:743
msgid "One of hostname or MAC address must be specified!"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:472
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:19
msgid "Open list..."
msgstr ""
msgid "Options"
msgstr "Επιλογές"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:526
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
msgid ""
"Options for the Network-ID. (Note: needs also Network-ID.) E.g. "
-"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</"
-"code>\" for default route. <code>0.0.0.0</code> means \"the address of the "
-"system running dnsmasq\"."
+"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</code>"
+"\" for default route. <code>0.0.0.0</code> means \"the address of the system "
+"running dnsmasq\"."
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:125
msgid "Options:"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
+msgid "Ordinal: lower comes first."
+msgstr ""
+
#: protocols/luci-proto-batman-adv/htdocs/luci-static/resources/protocol/batadv.js:55
msgid "Originator Interval"
msgstr ""
msgid "Pass-through (Mirror physical device to single MAC VLAN)"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:29
+#: modules/luci-base/ucode/template/sysauth.ut:29
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1690
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:51
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:114
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:103
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:24
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:19
msgid "Password"
msgstr "Κωδικός Πρόσβασης"
msgid "Pkts."
msgstr "Πκτ."
-#: modules/luci-base/luasrc/view/sysauth.htm:19
+#: modules/luci-base/ucode/template/sysauth.ut:19
msgid "Please enter your username and password."
msgstr "Παρακαλώ εισάγετε όνομα χρήστη και κωδικό πρόσβασης."
msgid "Policy: <strong>%h</strong> (%h)"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:579
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:21
msgid "Port"
msgstr "Θύρα"
msgid "Potential negation of: %s"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:38
msgid "Power Management Mode"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
msgid "Pre-emptive CRC errors (CRCP_P)"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:129
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:197
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:223
msgid "Quality"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
msgid "Query all available upstream resolvers."
msgstr ""
msgid "Raw hex-encoded bytes. Leave empty unless your ISP require this"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:345
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:350
msgid "Read <code>/etc/ethers</code> to configure the DHCP server."
msgstr ""
"Διάβασμα του <code>/etc/ethers</code> για την παραμετροποίηση του "
msgid "Reassociation Deadline"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
msgid "Rebind protection"
msgstr ""
msgstr ""
#: modules/luci-compat/luasrc/model/network/proto_relay.lua:153
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:611
#: protocols/luci-proto-relay/htdocs/luci-static/resources/protocol/relay.js:39
msgid "Relay"
msgstr ""
msgid "Required. Base64-encoded private key for this interface."
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Required. Path to the .yml config file for this interface."
+msgstr ""
+
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:587
msgid "Required. Public key of the WireGuard peer."
msgstr ""
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2197
-#: modules/luci-base/luasrc/view/sysauth.htm:39
+#: modules/luci-base/ucode/template/sysauth.ut:39
#: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
#: modules/luci-compat/luasrc/view/cbi/footer.htm:30
#: modules/luci-compat/luasrc/view/cbi/simpleform.htm:66
msgid "Resolv and Hosts Files"
msgstr "Αρχεία Resolv και Hosts"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:356
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:361
msgid "Resolv file"
msgstr "Αρχείο Resolve"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:292
+msgid "Resolve specified FQDNs to an IP."
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/rpc.js:405
msgid "Resource not found"
msgstr ""
msgid "Restore backup"
msgstr "Επαναφορά αντιγράφου ασφαλείας"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
msgid ""
"Return answers to DNS queries matching the subnet from which the query was "
"received if multiple IPs are available."
msgid "Robustness"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:491
msgid ""
"Root directory for files served via TFTP. <em>Enable TFTP server</em> and "
"<em>TFTP server root</em> turn on the TFTP server and serve files from "
msgid "SNR"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "SRV"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:10
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:38
msgid "SSH Access"
msgid "Server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:524
msgid "Server address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:518
msgid "Server name"
msgstr ""
msgid "Setup routes for proxied IPv6 neighbours."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
msgid "Severely Errored Seconds (SES)"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:470
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:18
msgid "Show current backup file list"
msgstr ""
msgid "Signal / Noise"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
msgid "Signal Attenuation (SATN)"
msgstr ""
msgid "Size"
msgstr "Μέγεθος"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:473
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:478
msgid "Size of DNS query cache"
msgstr ""
msgid "Skip from backup files that are equal to those in /rom"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:42
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:35
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:46
msgid "Skip to content"
msgstr "Παράκαμψη σε περιεχόμενο"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:41
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:34
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:45
msgid "Skip to navigation"
msgstr "Παράκαμψη σε πλοήγηση"
msgid "Some fields are invalid, cannot save values!"
msgstr "Κάποια πεδία δεν είναι έγκυρα, δεν μπορούν να αποθηκευτούν οι τιμές!"
-#: modules/luci-base/luasrc/view/error404.htm:9
+#: modules/luci-base/ucode/template/error404.ut:10
msgid "Sorry, the object you requested was not found."
msgstr ""
-#: modules/luci-base/luasrc/view/error500.htm:9
-msgid "Sorry, the server encountered an unexpected error."
-msgstr ""
-
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:442
msgid ""
"Sorry, there is no sysupgrade support present; a new firmware image must be "
msgid "Source port"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:505
msgid ""
"Special <abbr title=\"Preboot eXecution Environment\">PXE</abbr> boot "
"options for Dnsmasq."
msgid "Static address"
msgstr "Στατική διεύθυνση"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:598
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:669
msgid ""
"Static leases are used to assign fixed IP addresses and symbolic hostnames "
"to DHCP clients. They are also required for non-dynamic interface "
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:16
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:541
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:929
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:9
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:9
msgid "Status"
msgstr "Κατάσταση"
msgid "Strict filtering"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
msgid "Strict order"
msgstr "Αυστηρή σειρά"
msgid "Submit"
msgstr "Υποβολή"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
msgid "Suppress logging"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:373
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
msgid "Suppress logging of the routine operation for the DHCP protocol."
msgstr ""
msgid "Sync with browser"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:293
+msgid "Syntax: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "Syntax: <code>_service._proto.example.com</code>."
+msgstr ""
+
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:26
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:17
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:113
msgid "System log buffer size"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:79
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:86
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:71
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:67
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:81
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:64
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:89
msgid "System running in recovery (initramfs) mode."
msgstr ""
msgid "TCP:"
msgstr "TCP:"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:490
msgid "TFTP server root"
msgstr ""
msgid "Table"
msgstr "Πίνακας"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:56
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:66
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:187
"username instead of the user ID!"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:681
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:752
msgid "The IP address %h is already used by another static lease"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:761
msgid "The IP address is outside of any DHCP pool address range"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:520
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
msgid "The IP address of the boot server"
msgstr ""
"The device file of the memory or partition (<abbr title=\"for example\">e.g."
"</abbr> <code>/dev/sda1</code>)"
msgstr ""
-"Το αρχείο συσκευής της μνήμης ή του διαμέρισματος (<abbr "
-"title=\"παραδείγματος χάρην\">π.χ.</abbr> <code>/dev/sda1</code>)"
+"Το αρχείο συσκευής της μνήμης ή του διαμέρισματος (<abbr title="
+"\"παραδείγματος χάρην\">π.χ.</abbr> <code>/dev/sda1</code>)"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:450
msgid "The device name \"%s\" is already taken"
"to be received and retransmitted which costs airtime)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:514
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
msgid "The hostname of the boot server"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/switch.js:139
msgid ""
-"The network ports on this device can be combined to several <abbr "
-"title=\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
+"The network ports on this device can be combined to several <abbr title="
+"\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
"communicate directly with each other. <abbr title=\"Virtual Local Area "
"Network\">VLAN</abbr>s are often used to separate different network "
"segments. Often there is by default one Uplink port for a connection to the "
msgid "The selected %s mode is incompatible with %s encryption"
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:11
+#: modules/luci-base/ucode/template/csrftoken.ut:11
msgid "The submitted security token is invalid or already expired!"
msgstr ""
"nftables rules is discouraged and may lead to incomplete traffic filtering."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:746
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:778
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:817
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:849
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:130
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:179
msgid "There are no active leases"
msgid "There are no changes to apply"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:70
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:58
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:55
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:80
msgid ""
"There is no password set on this router. Please configure a root password to "
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:16
msgid ""
"This is a list of shell glob patterns for matching files and directories to "
"include during sysupgrade. Modified files in /etc/config/ and certain other "
"ends with <code>...:2/64</code>"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:266
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:268
msgid "This is the only DHCP server in the local network."
msgstr ""
-"Αυτός είναι ο μόνος <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> στο τοπικό δίκτυο"
+"Αυτός είναι ο μόνος <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> στο τοπικό δίκτυο"
#: protocols/luci-proto-ipv6/htdocs/luci-static/resources/protocol/6in4.js:73
msgid "This is the plain username for logging into the account"
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:440
msgid ""
"To fully configure the local WireGuard interface from an existing (e.g. "
-"provider supplied) configuration file, use the <strong><a class=\"full-"
-"import\" href=\"#\">configuration import</a></strong> instead."
+"provider supplied) configuration file, use the <strong><a class=\"full-import"
+"\" href=\"#\">configuration import</a></strong> instead."
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2674
msgid "Unable to determine upstream interface"
msgstr ""
-#: modules/luci-base/luasrc/view/error404.htm:11
+#: modules/luci-base/ucode/template/error404.ut:12
msgid "Unable to dispatch"
msgstr ""
msgid "Unable to verify PIN"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
msgid "Unavailable Seconds (UAS)"
msgstr ""
"will be restarted to apply the updated configuration."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
msgid "Upstream resolvers will be queried in the order of the resolv file."
msgstr ""
"Οι <abbr title=\"Σύστημα Ονόματος Τομέα\">DNS</abbr> εξυπηρετητές θα "
msgid "Uptime"
msgstr "Χρόνος λειτουργίας"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
msgid "Use <code>/etc/ethers</code>"
msgstr "Χρήση <code>/etc/ethers</code>"
msgid "Use system certificates for inner-tunnel"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:599
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:670
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC address</"
"em> identifies the host, the <em>IPv4 address</em> specifies the fixed "
msgid "User key (PEM encoded)"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:23
+#: modules/luci-base/ucode/template/sysauth.ut:23
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:112
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:101
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:56
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:18
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:13
msgid "Username"
msgstr "Όνομα Χρήστη"
msgid "VXLANv6 (RFC7348)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
msgid ""
"Validate DNS replies and cache DNSSEC data, requires upstream to support "
"DNSSEC."
msgid "Vendor Class to send when requesting DHCP"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:408
msgid "Verify unsigned domain responses really come from unsigned domains."
msgstr ""
msgid "Weak"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+msgid "Weight"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1029
msgid ""
"When delegating prefixes to multiple downstreams, interfaces with a higher "
msgid "Wireless network is enabled"
msgstr "Το ασύρματο δίκτυο είναι ενεργό"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:278
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:280
msgid "Write received DNS queries to syslog."
msgstr "Καταγραφή των ληφθέντων DNS αιτήσεων στο syslog"
"><strong>Προειδοποίηση: Αν απενεργοποιήσετε απαραίτητα σενάρια εκκίνησης "
"όπως το \"network\", η συσκευή σας μπορεί να καταστεί μη-προσβάσιμη!</strong>"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:90
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:97
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
+msgid "You may add multiple records for the same Target."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:596
+msgid "You may add multiple records for the same domain."
+msgstr ""
+
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:78
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:92
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:73
msgid ""
"You must enable JavaScript in your browser or LuCI will not work properly."
msgid "ZRam Size"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:558
+msgid "_proto: _tcp, _udp, _sctp, _quic, … ."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:557
+msgid ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Note: while _http is "
+"possible, no browsers support SRV records.)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:454
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:152
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:163
msgid "any"
msgid "e.g: dump"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:726
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:756
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:797
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:827
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:101
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:148
msgid "expired"
msgid "unknown"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:456
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:724
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:754
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:461
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:795
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:825
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:99
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:146
msgid "unlimited"
msgid "« Back"
msgstr "« Πίσω"
+#~ msgid "Back to configuration"
+#~ msgstr "Πίσω προς παραμετροποίηση"
+
+#~ msgid "Close list..."
+#~ msgstr "Κλείσιμο λίστας..."
+
+#~ msgid "No files found"
+#~ msgstr "Δε βρέθηκαν αρχεία"
+
#~ msgid "Do not forward queries that cannot be answered by public resolvers."
#~ msgstr ""
#~ "Να μην προωθούνται αιτήματα τα οποία δεν μπορούν να απαντηθούν από "
#~ msgid ""
#~ "The filesystem that was used to format the memory (<abbr title=\"for "
-#~ "example\">e.g.</abbr> <samp><abbr title=\"Third Extended "
-#~ "Filesystem\">ext3</abbr></samp>)"
+#~ "example\">e.g.</abbr> <samp><abbr title=\"Third Extended Filesystem"
+#~ "\">ext3</abbr></samp>)"
#~ msgstr ""
-#~ "Το σύστημα αρχείων που χρησιμοποιήθηκε για διαμόρφωση (<abbr "
-#~ "title=\"παραδείγματος χάρην\">π.χ.</abbr> <samp><abbr title=\"Third "
-#~ "Extended Filesystem\">ext3</abbr></samp>)"
+#~ "Το σύστημα αρχείων που χρησιμοποιήθηκε για διαμόρφωση (<abbr title="
+#~ "\"παραδείγματος χάρην\">π.χ.</abbr> <samp><abbr title=\"Third Extended "
+#~ "Filesystem\">ext3</abbr></samp>)"
#, fuzzy
#~ msgid "Specifies the listening port of this <em>Dropbear</em> instance"
msgid "<abbr title=\"Router Advertisement\">RA</abbr>-Service"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:294
+msgid ""
+"<code>/#/</code> matches any domain. <code>/example.com/</code> returns "
+"NXDOMAIN."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+msgid ""
+"<code>/example.com/#</code> returns NULL addresses (<code>0.0.0.0</code> and "
+"<code>::</code>) for example.com and its subdomains."
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:87
msgctxt "nft relational \">\" operator expression"
msgid "<var>%s</var> greater than <strong>%s</strong>"
msgid "ATM device number"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
msgid "ATU-C System Vendor ID"
msgstr ""
msgid "Absent Interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:320
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
msgid "Accept DNS queries only from hosts whose address is on a local subnet."
msgstr ""
msgid "Add key"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:410
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:415
msgid "Add local domain suffix to names served from hosts files."
msgstr ""
msgid "Add to Whitelist"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:367
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
msgid "Additional hosts files"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:417
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
msgid "Additional servers file"
msgstr ""
msgid "Address to access local relay bridge"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:289
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:291
msgid "Addresses"
msgstr ""
msgid "Aggregate Originator Messages"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
msgid "Aggregate Transmit Power (ACTATP)"
msgstr ""
msgid "Alias of \"%s\""
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
msgid "All servers"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
msgid ""
"Allocate IP addresses sequentially, starting from the lowest available "
"address."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
msgid "Allocate IPs sequentially"
msgstr ""
msgid "Allow listed only"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
msgid "Allow localhost"
msgstr ""
msgid "Always on (kernel: default-on)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:538
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
msgid "Always send DHCP Options. Sometimes needed, with e.g. PXELinux."
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1484
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
msgid "Annex"
msgstr ""
msgid "Any zone"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:532
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
msgid "Apply DHCP Options to this net. (Empty = all clients)."
msgstr ""
msgid "Authentication Type"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:265
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:267
msgid "Authoritative"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:17
+#: modules/luci-base/ucode/template/sysauth.ut:17
#: themes/luci-theme-bootstrap/htdocs/luci-static/resources/view/bootstrap/sysauth.js:11
msgid "Authorization Required"
msgstr ""
msgid "Avoid Bridge Loops"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
msgid ""
"Avoid uselessly triggering dial-on-demand links (filters SRV/SOA records and "
"names with underscores)."
msgid "Back to Overview"
msgstr ""
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:48
-msgid "Back to configuration"
-msgstr ""
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:826
msgid "Back to peer configuration"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:351
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:12
msgid "Backup file list"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:352
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:46
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
msgid "Bind NTP server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:326
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:331
msgid "Bind dynamically to interfaces rather than wildcard address."
msgstr ""
msgid "Bind interface"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:595
+msgid ""
+"Bind service records to a domain name: specify the location of services."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:556
+msgid ""
+"Bind service records to a domain name: specify the location of services. See "
+"<a href=\"%s\">RFC2782</a>."
+msgstr ""
+
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gre.js:59
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gretap.js:64
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/grev6.js:64
msgid "CLAT configuration failed"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
+msgid "CNAME or fqdn"
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/processes.js:72
msgid "CPU usage (%)"
msgstr ""
"persist connection"
msgstr ""
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:49
-msgid "Close list..."
-msgstr ""
-
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:44
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:63
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2184
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:391
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:352
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:355
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:72
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:66
msgid "Collecting data..."
msgstr ""
msgid "Compute outgoing checksum (optional)."
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Config File"
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4375
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
msgid "Configuration"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:764
msgid ""
-"Configures the operation mode of the <abbr title=\"Router "
-"Advertisement\">RA</abbr> service on this interface."
+"Configures the operation mode of the <abbr title=\"Router Advertisement"
+"\">RA</abbr> service on this interface."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:879
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/leds.js:59
msgid ""
-"Customizes the behaviour of the device <abbr title=\"Light Emitting "
-"Diode\">LED</abbr>s if possible."
+"Customizes the behaviour of the device <abbr title=\"Light Emitting Diode"
+"\">LED</abbr>s if possible."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:673
msgid "DAE-Secret"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:530
msgid "DHCP Options"
msgstr ""
msgid "DNS"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:282
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:284
msgid "DNS forwardings"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:445
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:450
msgid "DNS query port"
msgstr ""
msgid "DNS search domains"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:443
msgid "DNS server port"
msgstr ""
msgid "DNS-Label / FQDN"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
msgid "DNSSEC"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:407
msgid "DNSSEC check unsigned"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1481
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:44
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:45
msgid "DSL"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:14
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:15
msgid "DSL Status"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:59
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:700
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:771
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:136
msgid "DUID"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
msgid "Data Rate"
msgstr ""
msgid "Disassociate On Low Acknowledgement"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:302
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
msgid ""
"Discard upstream responses containing <a href=\"%s\">RFC1918</a> addresses."
msgstr ""
msgid "Distributed ARP Table"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:548
msgid ""
"Dnsmasq instance to which this boot section is bound. If unspecified, the "
"section is valid for all dnsmasq instances."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:246
msgid ""
-"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</"
-"abbr> forwarder."
+"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</abbr> "
+"forwarder."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:419
msgid "Do not cache negative replies, e.g. for non-existent domains."
msgstr ""
msgid "Do not create host route to peer (optional)."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:262
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:264
msgid "Do not forward DNS queries without dots or domain parts."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
msgid "Do not forward reverse lookups for local networks."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:339
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
msgid "Do not listen on the specified interfaces."
msgstr ""
msgid "Do you want to replace the current keys?"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:593
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:606
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:664
msgid "Domain"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:261
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:263
msgid "Domain required"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:316
msgid "Domain whitelist"
msgstr ""
msgid "Enable Single DES"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:480
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
msgid "Enable TFTP server"
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/uhttpd.js:14
msgid ""
-"Enable automatic redirection of <abbr title=\"Hypertext Transfer "
-"Protocol\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol "
-"Secure\">HTTPS</abbr> port."
+"Enable automatic redirection of <abbr title=\"Hypertext Transfer Protocol"
+"\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol Secure"
+"\">HTTPS</abbr> port."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:977
msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:481
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
msgid "Enable the built-in single-instance TFTP server."
msgstr ""
msgid "Error getting PublicKey"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
msgid "Errored seconds (ES)"
msgstr ""
msgid "Every second (fast, 1)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:343
msgid "Exclude interfaces"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
msgid ""
"Exempt <code>127.0.0.0/8</code> and <code>::1</code> from rebinding checks, "
"e.g. for RBL services."
msgid "Existing device"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:409
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
msgid "Expand hosts"
msgstr ""
msgid "File"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
msgid ""
"File listing upstream resolvers, optionally domain-specific, e.g. "
"<code>server=1.2.3.4</code>, <code>server=/domain/1.2.3.4</code>."
msgid "File not accessible"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:354
msgid "File to store DHCP lease information."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:362
msgid "File with upstream resolvers."
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/ui.js:2846
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:507
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:512
msgid "Filename"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:493
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:498
msgid "Filename of the boot image advertised to clients."
msgstr ""
msgid "Filesystem"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
msgid "Filter private"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
msgid "Filter useless"
msgstr ""
msgid "Firmware Version"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:446
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:451
msgid "Fixed source port for outbound DNS queries."
msgstr ""
msgid "Flashing…"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:686
msgid "Force"
msgstr ""
msgid "Force use of NAT-T"
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:8
+#: modules/luci-base/ucode/template/csrftoken.ut:8
msgid "Form token mismatch"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:919
msgid ""
-"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr "
-"title=\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr "
-"title=\"Neighbour Advertisement, Type 136\">NA</abbr> messages between the "
-"designated master interface and downstream interfaces."
+"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr title="
+"\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr title=\"Neighbour "
+"Advertisement, Type 136\">NA</abbr> messages between the designated master "
+"interface and downstream interfaces."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:770
"downstream interfaces."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
msgid "Forward Error Correction Seconds (FECS)"
msgstr ""
msgid "Global network options"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:82
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:74
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:70
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:84
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:67
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:92
msgid "Go to firmware upgrade..."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:72
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:64
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:60
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:57
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:82
msgid "Go to password configuration..."
msgstr ""
msgid "Hang Up"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
msgid "Header Error Code Errors (HEC)"
msgstr ""
msgid "Host expiry timeout"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
msgid "Host requests this filename from the boot server."
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:38
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:607
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:678
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:54
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:87
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:135
msgid "Hostnames"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:551
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:622
msgid ""
"Hostnames are used to bind a domain name to an IP address. This setting is "
"redundant for hostnames already configured with static leases, but it can be "
msgid "IP Protocol"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:260
msgid "IP Sets"
msgstr ""
msgid "IP Type"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:563
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:634
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:178
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:204
msgid "IP address"
msgid "IP protocol"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:660
msgid "IP set"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:300
msgid "IP sets"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:437
msgid "IPs to override with NXDOMAIN"
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/protocol/static.js:178
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:736
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:88
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:164
msgid "IPv4 address"
msgid "IPv6 suffix"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:706
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:777
msgid "IPv6 suffix (hex)"
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:340
msgid ""
"If your physical memory is insufficient unused data can be temporarily "
-"swapped to a swap-device resulting in a higher amount of usable <abbr "
-"title=\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a "
-"very slow process as the swap-device cannot be accessed with the high "
-"datarates of the <abbr title=\"Random Access Memory\">RAM</abbr>."
+"swapped to a swap-device resulting in a higher amount of usable <abbr title="
+"\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a very "
+"slow process as the swap-device cannot be accessed with the high datarates "
+"of the <abbr title=\"Random Access Memory\">RAM</abbr>."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:363
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:368
msgid "Ignore <code>/etc/hosts</code>"
msgstr ""
msgid "Ignore interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:352
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
msgid "Ignore resolv file"
msgstr ""
"order to avoid broadcast loops that can bring the entire LAN to a standstill."
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:13
+#: modules/luci-base/ucode/template/csrftoken.ut:13
msgid ""
"In order to prevent unauthorized access to the system, your request has been "
"blocked. Click \"Continue »\" below to return to the previous page."
msgid "Install protocol extensions..."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:547
msgid "Instance"
msgstr ""
msgid "Internal"
msgstr ""
-#: modules/luci-base/luasrc/view/error500.htm:8
-msgid "Internal Server Error"
-msgstr ""
-
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:285
msgid "Interval For Sending Learning Packets"
msgstr ""
msgid "Invalid hexadecimal value"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:37
+#: modules/luci-base/ucode/template/sysauth.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:32
msgid "Invalid username and/or password! Please try again."
msgstr ""
"flash memory, please verify the image file!"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:89
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:96
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:77
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:91
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:72
msgid "JavaScript required!"
msgstr ""
msgid "Language and Style"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:560
+msgid ""
+"Larger weights (of the same prio) are given a proportionately higher "
+"probability of being selected."
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:575
msgid "Last member interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
msgid "Latency"
msgstr ""
msgid "Learn routes"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:348
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:353
msgid "Lease file"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:697
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:768
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:679
msgid "Lease time"
msgstr ""
msgid "Limit"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
msgid "Line Attenuation (LATN)"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
msgid "Line Mode"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:17
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
msgid "Line State"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
msgid "Line Uptime"
msgstr ""
msgid "Link layer header bits %d-%d"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
msgid "List of IP addresses to convert into NXDOMAIN responses."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:296
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:581
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:652
msgid "List of IP sets to populate with the specified domain IPs."
msgstr ""
msgid "List of SSH key files for auth"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:317
msgid "List of domains to allow RFC1918 responses for."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:290
-msgid "List of domains to force to an IP address."
-msgstr ""
-
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:283
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:285
msgid "List of upstream resolvers to forward queries to."
msgstr ""
msgid "Listen Port"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:332
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:337
msgid "Listen interfaces"
msgstr ""
msgid "Listen only on the given interface or, if unspecified, on all"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:333
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
msgid ""
"Listen only on the specified interfaces, and loopback if not excluded "
"explicitly."
msgid "ListenPort setting is invalid"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:439
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:444
msgid "Listening port for inbound DNS queries."
msgstr ""
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:1942
-#: modules/luci-base/luasrc/view/view.htm:4
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:45
+#: modules/luci-base/ucode/template/view.ut:4
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:40
msgid "Loading view…"
msgstr ""
msgid "Local ULA"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:273
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:275
msgid "Local domain"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:274
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:276
msgid "Local domain suffix appended to DHCP names and hosts file entries."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:269
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:271
msgid "Local server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:319
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:324
msgid "Local service only"
msgstr ""
msgid "Local wireguard key"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
msgid "Localise queries"
msgstr ""
msgid "Log output level"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:277
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:279
msgid "Log queries"
msgstr ""
msgid "Logical network to which the tunnel will be added (bridged) (optional)."
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:38
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:41
+#: modules/luci-base/ucode/template/sysauth.ut:38
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:36
msgid "Login"
msgstr ""
msgid "Loose filtering"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
msgid "Loss of Signal Seconds (LOSS)"
msgstr ""
msgid "Lowest leased address as offset from the network address."
msgstr ""
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/footer.ut:12
+msgid "Lua compatibility mode active"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:48
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:83
msgid "MAC"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:591
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:40
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:619
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1164
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2177
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:56
msgid "MTU"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:259
+msgid "MX"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:303
msgid ""
"Make sure to clone the root filesystem using something like the commands "
msgid "Max <abbr title=\"Router Advertisement\">RA</abbr> interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
msgid "Max. Attainable Data Rate (ATTNDR)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:457
msgid "Max. DHCP leases"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:459
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:464
msgid "Max. EDNS0 packet size"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:466
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:471
msgid "Max. concurrent queries"
msgstr ""
msgid "Maximum allowed Listen Interval"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:453
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:458
msgid "Maximum allowed number of active DHCP leases."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:467
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:472
msgid "Maximum allowed number of concurrent DNS queries."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:460
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:465
msgid "Maximum allowed size of EDNS0 UDP packets."
msgstr ""
msgid "Maximum transmit power"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:394
msgid "May prevent VoIP or other services from working."
msgstr ""
msgid "Name of the tunnel device"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:46
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:39
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:50
msgid "Navigation"
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:10
+msgid "Nebula Network"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:653
msgid "Neighbour cache validity"
msgstr ""
msgid "Network address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:492
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:497
msgid "Network boot image"
msgstr ""
msgid "Network interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:536
msgid "Network-ID"
msgstr ""
msgid "Never"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:270
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:272
msgid ""
"Never forward matching domains and subdomains, resolve from DHCP or hosts "
"files only."
msgid "No RX signal"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:80
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:87
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:68
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:82
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:65
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:90
msgid ""
"No changes to settings will be stored and are lost after rebooting. This "
msgid "No entries in this directory"
msgstr ""
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:82
-msgid "No files found"
-msgstr ""
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:833
msgid ""
"No fixed interface listening port defined, peers might not be able to "
msgid "No more slaves available, can not save interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:413
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
msgid "No negative cache"
msgstr ""
msgid "No nftables ruleset loaded."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:69
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:61
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:57
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:54
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:79
msgid "No password set!"
msgstr ""
msgid "Noise"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
msgid "Noise Margin (SNR)"
msgstr ""
msgid "Noise:"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
msgid "Non Pre-emptive CRC errors (CRC_P)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:330
msgid "Non-wildcard"
msgstr ""
msgid "Normal"
msgstr ""
-#: modules/luci-base/luasrc/view/error404.htm:8
+#: modules/luci-base/ucode/template/error404.ut:9
msgid "Not Found"
msgstr ""
msgid "Number of IGMP membership reports"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:474
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:479
msgid "Number of cached DNS entries, 10000 is maximum, 0 is no caching."
msgstr ""
msgid "On-link"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:672
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:743
msgid "One of hostname or MAC address must be specified!"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:472
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:19
msgid "Open list..."
msgstr ""
msgid "Options"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:526
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
msgid ""
"Options for the Network-ID. (Note: needs also Network-ID.) E.g. "
-"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</"
-"code>\" for default route. <code>0.0.0.0</code> means \"the address of the "
-"system running dnsmasq\"."
+"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</code>"
+"\" for default route. <code>0.0.0.0</code> means \"the address of the system "
+"running dnsmasq\"."
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:125
msgid "Options:"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
+msgid "Ordinal: lower comes first."
+msgstr ""
+
#: protocols/luci-proto-batman-adv/htdocs/luci-static/resources/protocol/batadv.js:55
msgid "Originator Interval"
msgstr ""
msgid "Pass-through (Mirror physical device to single MAC VLAN)"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:29
+#: modules/luci-base/ucode/template/sysauth.ut:29
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1690
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:51
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:114
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:103
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:24
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:19
msgid "Password"
msgstr ""
msgid "Pkts."
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:19
+#: modules/luci-base/ucode/template/sysauth.ut:19
msgid "Please enter your username and password."
msgstr ""
msgid "Policy: <strong>%h</strong> (%h)"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:579
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:21
msgid "Port"
msgstr ""
msgid "Potential negation of: %s"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:38
msgid "Power Management Mode"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
msgid "Pre-emptive CRC errors (CRCP_P)"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:129
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:197
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:223
msgid "Quality"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
msgid "Query all available upstream resolvers."
msgstr ""
msgid "Raw hex-encoded bytes. Leave empty unless your ISP require this"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:345
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:350
msgid "Read <code>/etc/ethers</code> to configure the DHCP server."
msgstr ""
msgid "Reassociation Deadline"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
msgid "Rebind protection"
msgstr ""
msgstr ""
#: modules/luci-compat/luasrc/model/network/proto_relay.lua:153
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:611
#: protocols/luci-proto-relay/htdocs/luci-static/resources/protocol/relay.js:39
msgid "Relay"
msgstr ""
msgid "Required. Base64-encoded private key for this interface."
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Required. Path to the .yml config file for this interface."
+msgstr ""
+
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:587
msgid "Required. Public key of the WireGuard peer."
msgstr ""
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2197
-#: modules/luci-base/luasrc/view/sysauth.htm:39
+#: modules/luci-base/ucode/template/sysauth.ut:39
#: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
#: modules/luci-compat/luasrc/view/cbi/footer.htm:30
#: modules/luci-compat/luasrc/view/cbi/simpleform.htm:66
msgid "Resolv and Hosts Files"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:356
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:361
msgid "Resolv file"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:292
+msgid "Resolve specified FQDNs to an IP."
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/rpc.js:405
msgid "Resource not found"
msgstr ""
msgid "Restore backup"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
msgid ""
"Return answers to DNS queries matching the subnet from which the query was "
"received if multiple IPs are available."
msgid "Robustness"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:491
msgid ""
"Root directory for files served via TFTP. <em>Enable TFTP server</em> and "
"<em>TFTP server root</em> turn on the TFTP server and serve files from "
msgid "SNR"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "SRV"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:10
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:38
msgid "SSH Access"
msgid "Server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:524
msgid "Server address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:518
msgid "Server name"
msgstr ""
msgid "Setup routes for proxied IPv6 neighbours."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
msgid "Severely Errored Seconds (SES)"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:470
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:18
msgid "Show current backup file list"
msgstr ""
msgid "Signal / Noise"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
msgid "Signal Attenuation (SATN)"
msgstr ""
msgid "Size"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:473
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:478
msgid "Size of DNS query cache"
msgstr ""
msgid "Skip from backup files that are equal to those in /rom"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:42
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:35
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:46
msgid "Skip to content"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:41
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:34
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:45
msgid "Skip to navigation"
msgstr ""
msgid "Some fields are invalid, cannot save values!"
msgstr ""
-#: modules/luci-base/luasrc/view/error404.htm:9
+#: modules/luci-base/ucode/template/error404.ut:10
msgid "Sorry, the object you requested was not found."
msgstr ""
-#: modules/luci-base/luasrc/view/error500.htm:9
-msgid "Sorry, the server encountered an unexpected error."
-msgstr ""
-
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:442
msgid ""
"Sorry, there is no sysupgrade support present; a new firmware image must be "
msgid "Source port"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:505
msgid ""
"Special <abbr title=\"Preboot eXecution Environment\">PXE</abbr> boot "
"options for Dnsmasq."
msgid "Static address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:598
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:669
msgid ""
"Static leases are used to assign fixed IP addresses and symbolic hostnames "
"to DHCP clients. They are also required for non-dynamic interface "
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:16
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:541
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:929
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:9
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:9
msgid "Status"
msgstr ""
msgid "Strict filtering"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
msgid "Strict order"
msgstr ""
msgid "Submit"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
msgid "Suppress logging"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:373
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
msgid "Suppress logging of the routine operation for the DHCP protocol."
msgstr ""
msgid "Sync with browser"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:293
+msgid "Syntax: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "Syntax: <code>_service._proto.example.com</code>."
+msgstr ""
+
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:26
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:17
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:113
msgid "System log buffer size"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:79
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:86
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:71
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:67
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:81
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:64
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:89
msgid "System running in recovery (initramfs) mode."
msgstr ""
msgid "TCP:"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:490
msgid "TFTP server root"
msgstr ""
msgid "Table"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:56
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:66
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:187
"username instead of the user ID!"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:681
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:752
msgid "The IP address %h is already used by another static lease"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:761
msgid "The IP address is outside of any DHCP pool address range"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:520
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
msgid "The IP address of the boot server"
msgstr ""
"to be received and retransmitted which costs airtime)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:514
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
msgid "The hostname of the boot server"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/switch.js:139
msgid ""
-"The network ports on this device can be combined to several <abbr "
-"title=\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
+"The network ports on this device can be combined to several <abbr title="
+"\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
"communicate directly with each other. <abbr title=\"Virtual Local Area "
"Network\">VLAN</abbr>s are often used to separate different network "
"segments. Often there is by default one Uplink port for a connection to the "
msgid "The selected %s mode is incompatible with %s encryption"
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:11
+#: modules/luci-base/ucode/template/csrftoken.ut:11
msgid "The submitted security token is invalid or already expired!"
msgstr ""
"nftables rules is discouraged and may lead to incomplete traffic filtering."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:746
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:778
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:817
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:849
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:130
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:179
msgid "There are no active leases"
msgid "There are no changes to apply"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:70
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:58
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:55
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:80
msgid ""
"There is no password set on this router. Please configure a root password to "
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:16
msgid ""
"This is a list of shell glob patterns for matching files and directories to "
"include during sysupgrade. Modified files in /etc/config/ and certain other "
"ends with <code>...:2/64</code>"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:266
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:268
msgid "This is the only DHCP server in the local network."
msgstr ""
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:440
msgid ""
"To fully configure the local WireGuard interface from an existing (e.g. "
-"provider supplied) configuration file, use the <strong><a class=\"full-"
-"import\" href=\"#\">configuration import</a></strong> instead."
+"provider supplied) configuration file, use the <strong><a class=\"full-import"
+"\" href=\"#\">configuration import</a></strong> instead."
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2674
msgid "Unable to determine upstream interface"
msgstr ""
-#: modules/luci-base/luasrc/view/error404.htm:11
+#: modules/luci-base/ucode/template/error404.ut:12
msgid "Unable to dispatch"
msgstr ""
msgid "Unable to verify PIN"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
msgid "Unavailable Seconds (UAS)"
msgstr ""
"will be restarted to apply the updated configuration."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
msgid "Upstream resolvers will be queried in the order of the resolv file."
msgstr ""
msgid "Uptime"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
msgid "Use <code>/etc/ethers</code>"
msgstr ""
msgid "Use system certificates for inner-tunnel"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:599
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:670
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC address</"
"em> identifies the host, the <em>IPv4 address</em> specifies the fixed "
msgid "User key (PEM encoded)"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:23
+#: modules/luci-base/ucode/template/sysauth.ut:23
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:112
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:101
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:56
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:18
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:13
msgid "Username"
msgstr ""
msgid "VXLANv6 (RFC7348)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
msgid ""
"Validate DNS replies and cache DNSSEC data, requires upstream to support "
"DNSSEC."
msgid "Vendor Class to send when requesting DHCP"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:408
msgid "Verify unsigned domain responses really come from unsigned domains."
msgstr ""
msgid "Weak"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+msgid "Weight"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1029
msgid ""
"When delegating prefixes to multiple downstreams, interfaces with a higher "
msgid "Wireless network is enabled"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:278
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:280
msgid "Write received DNS queries to syslog."
msgstr ""
"scripts like \"network\", your device might become inaccessible!</strong>"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:90
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:97
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
+msgid "You may add multiple records for the same Target."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:596
+msgid "You may add multiple records for the same domain."
+msgstr ""
+
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:78
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:92
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:73
msgid ""
"You must enable JavaScript in your browser or LuCI will not work properly."
msgid "ZRam Size"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:558
+msgid "_proto: _tcp, _udp, _sctp, _quic, … ."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:557
+msgid ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Note: while _http is "
+"possible, no browsers support SRV records.)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:454
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:152
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:163
msgid "any"
msgid "e.g: dump"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:726
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:756
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:797
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:827
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:101
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:148
msgid "expired"
msgid "unknown"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:456
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:724
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:754
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:461
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:795
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:825
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:99
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:146
msgid "unlimited"
#~ msgid ""
#~ "The filesystem that was used to format the memory (<abbr title=\"for "
-#~ "example\">e.g.</abbr> <samp><abbr title=\"Third Extended "
-#~ "Filesystem\">ext3</abbr></samp>)"
+#~ "example\">e.g.</abbr> <samp><abbr title=\"Third Extended Filesystem"
+#~ "\">ext3</abbr></samp>)"
#~ msgstr ""
#~ "The filesystem that was used to format the memory (<abbr title=\"for "
-#~ "example\">e.g.</abbr> <samp><abbr title=\"Third Extended "
-#~ "Filesystem\">ext3</abbr></samp>)"
+#~ "example\">e.g.</abbr> <samp><abbr title=\"Third Extended Filesystem"
+#~ "\">ext3</abbr></samp>)"
#~ msgid "Antenna 1"
#~ msgstr "Antenna 1"
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-06-10 03:41+0200\n"
-"PO-Revision-Date: 2022-10-05 06:41+0000\n"
+"PO-Revision-Date: 2022-10-25 10:20+0000\n"
"Last-Translator: Franco Castillo <castillofrancodamian@gmail.com>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/openwrt/luci/es/>"
"\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.14.1\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:643
#, fuzzy
msgid "<abbr title=\"Router Advertisement\">RA</abbr>-Service"
msgstr "Servicio <abbr title=\"Router Advertisement\">RA</abbr>"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:294
+msgid ""
+"<code>/#/</code> matches any domain. <code>/example.com/</code> returns "
+"NXDOMAIN."
+msgstr ""
+"<code>/#/</code> coincide con cualquier dominio. <code>/example.com/</code> "
+"devuelve NXDOMAIN."
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+msgid ""
+"<code>/example.com/#</code> returns NULL addresses (<code>0.0.0.0</code> and "
+"<code>::</code>) for example.com and its subdomains."
+msgstr ""
+"<code>/example.com/#</code> devuelve direcciones NULL (<code>0.0.0.0</code> "
+"y <code>::</code>) para example.com y sus subdominios."
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:87
msgctxt "nft relational \">\" operator expression"
msgid "<var>%s</var> greater than <strong>%s</strong>"
msgid "ATM device number"
msgstr "Número de dispositivo ATM"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
msgid "ATU-C System Vendor ID"
msgstr "ID del proveedor del sistema ATU-C"
msgid "Absent Interface"
msgstr "Interfaz ausente"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:320
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
msgid "Accept DNS queries only from hosts whose address is on a local subnet."
msgstr ""
"Aceptar consultas de DNS solo de hosts cuya dirección se encuentre en una "
msgid "Add key"
msgstr "Añadir clave"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:410
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:415
msgid "Add local domain suffix to names served from hosts files."
msgstr ""
"Añadir el sufijo de dominio local a los nombres servidos desde el archivo de "
msgid "Add to Whitelist"
msgstr "Añadir a la lista blanca"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:367
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
msgid "Additional hosts files"
msgstr "Archivos de hosts adicionales"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:417
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
msgid "Additional servers file"
msgstr "Archivo de servidores adicionales"
msgid "Address to access local relay bridge"
msgstr "Dirección para acceder al puente de relé local"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:289
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:291
msgid "Addresses"
msgstr "Direcciones"
msgid "Aggregate Originator Messages"
msgstr "Mensajes de originador agregados"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
msgid "Aggregate Transmit Power (ACTATP)"
msgstr "Potencia de transmisión agregada (ACTATP)"
msgid "Alias of \"%s\""
msgstr "Apodo de \"%s\""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
msgid "All servers"
msgstr "Todos los servidores"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
msgid ""
"Allocate IP addresses sequentially, starting from the lowest available "
"address."
"Asigna direcciones IP secuencialmente, comenzando desde la dirección más "
"baja disponible."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
msgid "Allocate IPs sequentially"
msgstr "Asignar IPs secuencialmente"
msgid "Allow listed only"
msgstr "Permitir a los pertenecientes en la lista"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
msgid "Allow localhost"
msgstr "Permitir host local"
msgid "Always on (kernel: default-on)"
msgstr "Siempre encendido (kernel: predeterminado)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:538
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
msgid "Always send DHCP Options. Sometimes needed, with e.g. PXELinux."
msgstr "Envía siempre las Opciones DHCP. A veces es necesario, eje. PXELinux."
msgstr "Una breve descripción opcional de este dispositivo"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1484
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
msgid "Annex"
msgstr "Anexo"
msgid "Any zone"
msgstr "Cualquier zona"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:532
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
msgid "Apply DHCP Options to this net. (Empty = all clients)."
msgstr "Aplica las Opciones DHCP a esta red. (Vacío = todos los clientes)."
"At most <strong>%h</strong> per <strong>%h</strong>, burst of <strong>%h</"
"strong>"
msgstr ""
-"Como máximo <strong>%h</strong> por <strong>%h</strong>, ráfaga de "
-"<strong>%h</strong>"
+"Como máximo <strong>%h</strong> por <strong>%h</strong>, ráfaga de <strong>"
+"%h</strong>"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:154
msgid "Attempt to enable configured mount points for attached devices"
msgid "Authentication Type"
msgstr "Tipo de autenticación"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:265
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:267
msgid "Authoritative"
msgstr "Autorizado"
-#: modules/luci-base/luasrc/view/sysauth.htm:17
+#: modules/luci-base/ucode/template/sysauth.ut:17
#: themes/luci-theme-bootstrap/htdocs/luci-static/resources/view/bootstrap/sysauth.js:11
msgid "Authorization Required"
msgstr "Autorización requerida"
msgid "Avoid Bridge Loops"
msgstr "Evitar bucles de puente"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
#, fuzzy
msgid ""
"Avoid uselessly triggering dial-on-demand links (filters SRV/SOA records and "
msgid "Back to Overview"
msgstr "Volver al resumen"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:48
-msgid "Back to configuration"
-msgstr "Volver a la configuración"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:826
msgid "Back to peer configuration"
msgstr "Volver a la configuración de pares"
msgstr "Respaldo / Grabar firmware"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:351
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:12
msgid "Backup file list"
msgstr "Copia de seguridad de la lista de archivos"
msgstr "Intervalo de baliza"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:352
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:46
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
msgid "Bind NTP server"
msgstr "Vincular servidor NTP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:326
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:331
msgid "Bind dynamically to interfaces rather than wildcard address."
msgstr ""
"Enlaza dinámicamente a las interfaces en lugar de a la dirección comodín."
msgid "Bind interface"
msgstr "Interfaz de enlace"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:595
+#, fuzzy
+msgid ""
+"Bind service records to a domain name: specify the location of services."
+msgstr ""
+"Vincular los registros de servicios a un nombre de dominio: especifique la "
+"ubicación de los servicios."
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:556
+#, fuzzy
+msgid ""
+"Bind service records to a domain name: specify the location of services. See "
+"<a href=\"%s\">RFC2782</a>."
+msgstr ""
+"Vincular los registros de servicios a un nombre de dominio: especifique la "
+"ubicación de los servicios. Consulte <a href=\"%s\">RFC2782</a>."
+
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gre.js:59
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gretap.js:64
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/grev6.js:64
msgid "CLAT configuration failed"
msgstr "Configuración CLAT fallida"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
+msgid "CNAME or fqdn"
+msgstr "CNAME o fqdn"
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/processes.js:72
msgid "CPU usage (%)"
msgstr "Uso de CPU (%)"
"Cerrar las conexiones inactivas tras los segundos dados. Use 0 para una "
"conexión permanente"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:49
-msgid "Close list..."
-msgstr "Cerrar lista..."
-
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:44
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:63
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2184
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:391
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:352
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:355
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:72
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:66
msgid "Collecting data..."
msgstr "Recolectando datos…"
msgid "Compute outgoing checksum (optional)."
msgstr "Calcular la suma de verificación saliente (opcional)."
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Config File"
+msgstr "Archivo de configuración"
+
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4375
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
msgid "Configuration"
"Configures the default router advertisement in <abbr title=\"Router "
"Advertisement\">RA</abbr> messages."
msgstr ""
-"Configura el anuncio de enrutador predeterminado en los mensajes <abbr "
-"title=\"Router Advertisement\">RA</abbr>."
+"Configura el anuncio de enrutador predeterminado en los mensajes <abbr title="
+"\"Router Advertisement\">RA</abbr>."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:764
msgid ""
-"Configures the operation mode of the <abbr title=\"Router "
-"Advertisement\">RA</abbr> service on this interface."
+"Configures the operation mode of the <abbr title=\"Router Advertisement"
+"\">RA</abbr> service on this interface."
msgstr ""
"Configura el modo de operación del servicio <abbr title=\"Router "
"Advertisement\">RA</abbr> en esta interfaz."
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/leds.js:59
msgid ""
-"Customizes the behaviour of the device <abbr title=\"Light Emitting "
-"Diode\">LED</abbr>s if possible."
+"Customizes the behaviour of the device <abbr title=\"Light Emitting Diode"
+"\">LED</abbr>s if possible."
msgstr ""
-"Personaliza el comportamiento de los <abbr title=\"Light Emitting "
-"Diode\">LED</abbr>s del dispositivo, si es posible."
+"Personaliza el comportamiento de los <abbr title=\"Light Emitting Diode"
+"\">LED</abbr>s del dispositivo, si es posible."
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:673
#, fuzzy
msgid "DAE-Secret"
msgstr "Secreto DAE"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:530
msgid "DHCP Options"
msgstr "Opciones DHCP"
msgid "DNS"
msgstr "DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:282
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:284
msgid "DNS forwardings"
msgstr "Reenvíos de DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:445
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:450
msgid "DNS query port"
msgstr "Puerto de consultas DNS"
msgid "DNS search domains"
msgstr "Dominios de búsqueda de DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:443
msgid "DNS server port"
msgstr "Puerto del servidor DNS"
msgid "DNS-Label / FQDN"
msgstr "Etiqueta DNS / FQDN"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
msgid "DNSSEC"
msgstr "DNSSEC"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:407
msgid "DNSSEC check unsigned"
msgstr "Comprobación DNSSEC sin firmar"
msgstr "Dirección DS-Lite AFTR"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1481
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:44
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:45
msgid "DSL"
msgstr "DSL"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:14
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:15
msgid "DSL Status"
msgstr "Estado DSL"
msgstr "Intervalo DTIM"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:59
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:700
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:771
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:136
msgid "DUID"
msgstr "DUID"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
msgid "Data Rate"
msgstr "Velocidad de datos"
msgid "Disassociate On Low Acknowledgement"
msgstr "Desasociarse en un reconocimiento bajo"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:302
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
msgid ""
"Discard upstream responses containing <a href=\"%s\">RFC1918</a> addresses."
msgstr ""
-"Descarta respuestas ascendentes que contengan direcciones <a "
-"href=\"%s\">RFC1918</a>."
+"Descarta respuestas ascendentes que contengan direcciones <a href=\"%s"
+"\">RFC1918</a>."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:198
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:723
msgid "Distributed ARP Table"
msgstr "Tabla ARP distribuida"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:548
msgid ""
"Dnsmasq instance to which this boot section is bound. If unspecified, the "
"section is valid for all dnsmasq instances."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:246
msgid ""
-"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</"
-"abbr> forwarder."
+"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</abbr> "
+"forwarder."
msgstr ""
-"Dnsmasq es un servidor <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> ligero y un reenviador <abbr title=\"Domain Name "
-"System\">DNS</abbr>."
+"Dnsmasq es un servidor <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> ligero y un reenviador <abbr title=\"Domain Name System"
+"\">DNS</abbr>."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:419
msgid "Do not cache negative replies, e.g. for non-existent domains."
msgstr ""
"No almacene en caché las respuestas negativas, p. e. para dominios "
msgid "Do not create host route to peer (optional)."
msgstr "No crear una ruta de host al par (opcional)."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:262
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:264
msgid "Do not forward DNS queries without dots or domain parts."
msgstr "No reenviar consultas de DNS sin puntos o partes de dominio."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
msgid "Do not forward reverse lookups for local networks."
msgstr "No reenviar búsquedas inversas para redes locales"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:339
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
msgid "Do not listen on the specified interfaces."
msgstr "No escuchar en las interfaces especificadas."
"Do not proxy any <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> "
"packets."
msgstr ""
-"No haga proxy de ningún paquete <abbr title=\"Neighbour Discovery "
-"Protocol\">NDP</abbr>."
+"No haga proxy de ningún paquete <abbr title=\"Neighbour Discovery Protocol"
+"\">NDP</abbr>."
#: modules/luci-base/htdocs/luci-static/resources/protocol/dhcp.js:25
msgid "Do not send a hostname"
msgid "Do you want to replace the current keys?"
msgstr "¿Quieres reemplazar las claves actuales?"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:593
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:606
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:664
msgid "Domain"
msgstr "Dominio"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:261
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:263
msgid "Domain required"
msgstr "Requerir dominio"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:316
msgid "Domain whitelist"
msgstr "Lista blanca de dominios"
msgid "Enable Single DES"
msgstr "Activar sólo DES"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:480
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
msgid "Enable TFTP server"
msgstr "Activar servidor TFTP"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/uhttpd.js:14
msgid ""
-"Enable automatic redirection of <abbr title=\"Hypertext Transfer "
-"Protocol\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol "
-"Secure\">HTTPS</abbr> port."
+"Enable automatic redirection of <abbr title=\"Hypertext Transfer Protocol"
+"\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol Secure"
+"\">HTTPS</abbr> port."
msgstr ""
"Activar la redirección automática de peticiones <abbr title=\"Hypertext "
"Transfer Protocol\">HTTP</abbr> al puerto <abbr title=\"Hypertext Transfer "
msgstr ""
"Activar el indicador DF (No fragmentar) de los paquetes de encapsulación."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:481
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
msgid "Enable the built-in single-instance TFTP server."
msgstr "Activa el servidor TFTP de instancia única integrado."
msgid "Error getting PublicKey"
msgstr "Error al obtener PublicKey"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
msgid "Errored seconds (ES)"
msgstr "Segundos errados (ES)"
msgid "Every second (fast, 1)"
msgstr "Cada segundo (rápido, 1)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:343
msgid "Exclude interfaces"
msgstr "Excluir interfaces"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
msgid ""
"Exempt <code>127.0.0.0/8</code> and <code>::1</code> from rebinding checks, "
"e.g. for RBL services."
msgid "Existing device"
msgstr "Dispositivo existente"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:409
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
msgid "Expand hosts"
msgstr "Expandir hosts"
msgid "File"
msgstr "Archivo"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
msgid ""
"File listing upstream resolvers, optionally domain-specific, e.g. "
"<code>server=1.2.3.4</code>, <code>server=/domain/1.2.3.4</code>."
msgid "File not accessible"
msgstr "Archivo no accesible"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:354
msgid "File to store DHCP lease information."
msgstr "Archivo para almacenar información de asignaciones de DHCP."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:362
msgid "File with upstream resolvers."
msgstr "Archivo con resolutores ascendentes."
#: modules/luci-base/htdocs/luci-static/resources/ui.js:2846
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:507
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:512
msgid "Filename"
msgstr "Nombre de archivo"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:493
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:498
msgid "Filename of the boot image advertised to clients."
msgstr "Nombre del archivo de la imagen de inicio anunciada a los clientes."
msgid "Filesystem"
msgstr "Sistema de archivos"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
msgid "Filter private"
msgstr "Filtro privado"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
msgid "Filter useless"
msgstr "Filtro inútil"
msgid "Firmware Version"
msgstr "Versión del firmware"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:446
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:451
msgid "Fixed source port for outbound DNS queries."
msgstr "Puerto origen fijo para peticiones de DNS salientes"
msgid "Flashing…"
msgstr "Instalando…"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:686
msgid "Force"
msgstr "Forzar"
msgid "Force use of NAT-T"
msgstr "Forzar uso de NAT-T"
-#: modules/luci-base/luasrc/view/csrftoken.htm:8
+#: modules/luci-base/ucode/template/csrftoken.ut:8
msgid "Form token mismatch"
msgstr "No coincide el token del formulario"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:919
#, fuzzy
msgid ""
-"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr "
-"title=\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr "
-"title=\"Neighbour Advertisement, Type 136\">NA</abbr> messages between the "
-"designated master interface and downstream interfaces."
+"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr title="
+"\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr title=\"Neighbour "
+"Advertisement, Type 136\">NA</abbr> messages between the designated master "
+"interface and downstream interfaces."
msgstr ""
-"Reenviar <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr "
-"title=\"Neighbour Solicitation, Type 135\">NS</abbr> y mensajes \n"
+"Reenviar <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr title="
+"\"Neighbour Solicitation, Type 135\">NS</abbr> y mensajes \n"
"<abbr title=\"Neighbour Advertisement, Type 136\">NA</abbr> entre la "
"interfaz maestra designada y las interfaces posteriores."
"Reenvíe mensajes DHCPv6 entre la interfaz maestra designada y las interfaces "
"descendentes."
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
msgid "Forward Error Correction Seconds (FECS)"
msgstr "Segundos de corrección de errores de reenvío (FECS)"
msgid "Global network options"
msgstr "Opciones globales de red"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:82
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:74
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:70
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:84
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:67
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:92
msgid "Go to firmware upgrade..."
msgstr "Ir a actualización de firmware..."
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:72
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:64
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:60
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:57
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:82
msgid "Go to password configuration..."
msgstr "Ir a la configuración de la contraseña..."
msgid "Hang Up"
msgstr "Suspender"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
msgid "Header Error Code Errors (HEC)"
msgstr "Errores de código de error de encabezado (HEC)"
msgid "Host expiry timeout"
msgstr "Tiempo de espera de expiración del host"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
#, fuzzy
msgid "Host requests this filename from the boot server."
msgstr "El host solicita este nombre de archivo al servidor de arranque."
msgstr "Contenido de la etiqueta Host-Uniq"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:38
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:607
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:678
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:54
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:87
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:135
msgid "Hostnames"
msgstr "Nombres de host"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:551
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:622
msgid ""
"Hostnames are used to bind a domain name to an IP address. This setting is "
"redundant for hostnames already configured with static leases, but it can be "
msgid "IP Protocol"
msgstr "Protocolo IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:260
msgid "IP Sets"
msgstr "Conjuntos de IP"
msgid "IP Type"
msgstr "Tipo de IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:563
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:634
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:178
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:204
msgid "IP address"
msgid "IP protocol"
msgstr "Protocolo IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:660
msgid "IP set"
msgstr "Conjunto de IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:300
msgid "IP sets"
msgstr "Conjuntos de IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:437
msgid "IPs to override with NXDOMAIN"
msgstr "IPs a anular con NXDOMAIN"
#: modules/luci-base/htdocs/luci-static/resources/protocol/static.js:178
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:736
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:88
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:164
msgid "IPv4 address"
msgid "IPv6 suffix"
msgstr "Sufijo IPv6"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:706
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:777
msgid "IPv6 suffix (hex)"
msgstr "Sufijo IPv6 (hex)"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:340
msgid ""
"If your physical memory is insufficient unused data can be temporarily "
-"swapped to a swap-device resulting in a higher amount of usable <abbr "
-"title=\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a "
-"very slow process as the swap-device cannot be accessed with the high "
-"datarates of the <abbr title=\"Random Access Memory\">RAM</abbr>."
+"swapped to a swap-device resulting in a higher amount of usable <abbr title="
+"\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a very "
+"slow process as the swap-device cannot be accessed with the high datarates "
+"of the <abbr title=\"Random Access Memory\">RAM</abbr>."
msgstr ""
"Si su dispositivo no tiene <abbr title=\"Random Access Memory\">RAM</abbr> "
"suficiente, los datos no utilizados pueden ser guardados temporalmente en un "
"puede transferir volúmenes de información a alta velocidad tal y como hace "
"la <abbr title=\"Random Access Memory\">RAM</abbr>."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:363
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:368
msgid "Ignore <code>/etc/hosts</code>"
msgstr "Ignorar <code>/etc/hosts</code>"
msgid "Ignore interface"
msgstr "Desactivar DHCP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:352
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
msgid "Ignore resolv file"
msgstr "Ignorar el archivo resolve"
"prevención de bucles de puente para evitar bucles de difusión que pueden "
"paralizar toda la LAN."
-#: modules/luci-base/luasrc/view/csrftoken.htm:13
+#: modules/luci-base/ucode/template/csrftoken.ut:13
msgid ""
"In order to prevent unauthorized access to the system, your request has been "
"blocked. Click \"Continue »\" below to return to the previous page."
msgid "Install protocol extensions..."
msgstr "Instalar extensiones de protocolo..."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:547
msgid "Instance"
msgstr "Instancia"
msgid "Internal"
msgstr "Interno"
-#: modules/luci-base/luasrc/view/error500.htm:8
-msgid "Internal Server Error"
-msgstr "Error interno del servidor"
-
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:285
msgid "Interval For Sending Learning Packets"
msgstr "Intervalo para enviar paquetes de aprendizaje"
msgid "Invalid hexadecimal value"
msgstr "Valor hexadecimal inválido"
-#: modules/luci-base/luasrc/view/sysauth.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:37
+#: modules/luci-base/ucode/template/sysauth.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:32
msgid "Invalid username and/or password! Please try again."
msgstr "¡Nombre de usuario y/o contraseña no válidos! Por favor reintente."
"Parece que está intentando grabar una imagen de firmware mayor que la "
"memoria flash de su equipo. ¡Por favor, verifique el archivo!"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:89
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:96
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:77
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:91
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:72
msgid "JavaScript required!"
msgstr "¡Se necesita JavaScript!"
msgid "Language and Style"
msgstr "Idioma y Estilo"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:560
+msgid ""
+"Larger weights (of the same prio) are given a proportionately higher "
+"probability of being selected."
+msgstr ""
+"Los pesos más grandes (del mismo prio) tienen una probabilidad "
+"proporcionalmente mayor de ser seleccionados."
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:575
msgid "Last member interval"
msgstr "Intervalo del último miembro"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
msgid "Latency"
msgstr "Latencia"
msgid "Learn routes"
msgstr "Aprender rutas"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:348
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:353
msgid "Lease file"
msgstr "Archivo de asignación"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:697
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:768
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:679
msgid "Lease time"
msgstr "Tiempo de asignación"
msgid "Limit"
msgstr "Límite"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
msgid "Line Attenuation (LATN)"
msgstr "Atenuación de línea (LATN)"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
msgid "Line Mode"
msgstr "Modo de línea"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:17
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
msgid "Line State"
msgstr "Estado de línea"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
msgid "Line Uptime"
msgstr "Tiempo de actividad de línea"
msgid "Link layer header bits %d-%d"
msgstr "Bits de encabezado de capa de enlace %d-%d"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
msgid "List of IP addresses to convert into NXDOMAIN responses."
msgstr "Lista de direcciones IP para convertir en respuestas NXDOMAIN."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:296
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:581
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:652
msgid "List of IP sets to populate with the specified domain IPs."
msgstr ""
"Lista de conjuntos de IP para completar con las IP de dominio especificadas."
msgid "List of SSH key files for auth"
msgstr "Lista de archivos de claves SSH para autenticación"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:317
msgid "List of domains to allow RFC1918 responses for."
msgstr "Lista de dominios para permitir respuestas RFC1918."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:290
-msgid "List of domains to force to an IP address."
-msgstr "Lista de dominios para forzar a una dirección IP."
-
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:283
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:285
msgid "List of upstream resolvers to forward queries to."
msgstr "Lista de resolutores ascendentes a los que reenviar consultas."
msgid "Listen Port"
msgstr "Puerto de escucha"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:332
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:337
msgid "Listen interfaces"
msgstr "Interfaces de escucha"
msgid "Listen only on the given interface or, if unspecified, on all"
msgstr "Escucha solo en la interfaz dada o, si no se especifica, en todas"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:333
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
msgid ""
"Listen only on the specified interfaces, and loopback if not excluded "
"explicitly."
msgid "ListenPort setting is invalid"
msgstr "La configuración de ListenPort no es válida"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:439
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:444
msgid "Listening port for inbound DNS queries."
msgstr "Puerto de escucha para consultas DNS entrantes"
msgstr "Cargando el contenido del directorio…"
#: modules/luci-base/htdocs/luci-static/resources/luci.js:1942
-#: modules/luci-base/luasrc/view/view.htm:4
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:45
+#: modules/luci-base/ucode/template/view.ut:4
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:40
msgid "Loading view…"
msgstr "Cargando vista…"
msgid "Local ULA"
msgstr "ULA local"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:273
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:275
msgid "Local domain"
msgstr "Dominio local"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:274
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:276
msgid "Local domain suffix appended to DHCP names and hosts file entries."
msgstr ""
"Sufijo de dominio local que se añade a los nombres de DHCP y a las entradas "
"del archivo de hosts"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:269
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:271
msgid "Local server"
msgstr "Servidor local"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:319
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:324
msgid "Local service only"
msgstr "Solo servicio local"
msgid "Local wireguard key"
msgstr "Clave local de WireGuard"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
msgid "Localise queries"
msgstr "Localizar consultas"
msgid "Log output level"
msgstr "Nivel de registro"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:277
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:279
msgid "Log queries"
msgstr "Registrar consultas"
msgid "Logical network to which the tunnel will be added (bridged) (optional)."
msgstr "Red lógica a la que se agregará al túnel (puenteado) (opcional)."
-#: modules/luci-base/luasrc/view/sysauth.htm:38
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:41
+#: modules/luci-base/ucode/template/sysauth.ut:38
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:36
msgid "Login"
msgstr "Iniciar sesión"
msgid "Loose filtering"
msgstr "Filtrado suelto"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
msgid "Loss of Signal Seconds (LOSS)"
msgstr "Pérdida de segundos de señal (LOSS)"
msgid "Lowest leased address as offset from the network address."
msgstr "Dirección asignada más baja como compensación de la dirección de red."
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/footer.ut:12
+msgid "Lua compatibility mode active"
+msgstr "Modo de compatibilidad de Lua activo"
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:48
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:83
msgid "MAC"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:591
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:40
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:619
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1164
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2177
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:56
msgid "MTU"
msgstr "MTU"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:259
+msgid "MX"
+msgstr "MX"
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:303
msgid ""
"Make sure to clone the root filesystem using something like the commands "
msgid "Max <abbr title=\"Router Advertisement\">RA</abbr> interval"
msgstr "Intervalo máximo de <abbr title=\"Router Advertisement\">RA</abbr>"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
msgid "Max. Attainable Data Rate (ATTNDR)"
msgstr "Max. velocidad de datos alcanzable (ATTNDR)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:457
msgid "Max. DHCP leases"
msgstr "Máx. de asignaciones de DHCP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:459
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:464
msgid "Max. EDNS0 packet size"
msgstr "Máx. tamaño de paquete EDNS0"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:466
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:471
msgid "Max. concurrent queries"
msgstr "Máx. consultas simultáneas"
msgid "Maximum allowed Listen Interval"
msgstr "Intervalo de escucha máximo permitido"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:453
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:458
msgid "Maximum allowed number of active DHCP leases."
msgstr "Número máximo permitido de asignaciones DHCP activas"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:467
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:472
msgid "Maximum allowed number of concurrent DNS queries."
msgstr "Número máximo permitido de consultas de DNS simultáneas."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:460
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:465
msgid "Maximum allowed size of EDNS0 UDP packets."
msgstr "Tamaño máximo permitido de paquetes UDP EDNS0."
msgid "Maximum transmit power"
msgstr "Potencia máxima de transmisión"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:394
msgid "May prevent VoIP or other services from working."
msgstr "Puede impedir que VoIP u otros servicios funcionen."
msgid "Name of the tunnel device"
msgstr "Nombre del dispositivo de túnel"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:46
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:39
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:50
msgid "Navigation"
msgstr "Navegación"
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:10
+#, fuzzy
+msgid "Nebula Network"
+msgstr "Red Nebula"
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:653
msgid "Neighbour cache validity"
msgstr "Validez de la caché de vecinos"
msgid "Network address"
msgstr "Dirección de red"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:492
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:497
msgid "Network boot image"
msgstr "Imagen de arranque en red"
msgid "Network interface"
msgstr "Interfaz de red"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:536
msgid "Network-ID"
msgstr "ID de red"
msgid "Never"
msgstr "Nunca"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:270
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:272
msgid ""
"Never forward matching domains and subdomains, resolve from DHCP or hosts "
"files only."
msgid "No RX signal"
msgstr "No hay señal RX"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:80
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:87
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:68
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:82
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:65
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:90
msgid ""
"No changes to settings will be stored and are lost after rebooting. This "
msgid "No entries in this directory"
msgstr "No hay entradas en este directorio"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:82
-msgid "No files found"
-msgstr "No se han encontrado archivos"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:833
#, fuzzy
msgid ""
msgid "No more slaves available, can not save interface"
msgstr "No hay más esclavos disponibles, no se puede guardar la interfaz"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:413
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
msgid "No negative cache"
msgstr "Sin caché negativa"
msgid "No nftables ruleset loaded."
msgstr "No se ha cargado ningún conjunto de reglas de nftables."
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:69
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:61
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:57
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:54
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:79
msgid "No password set!"
msgstr "¡Sin contraseña!"
msgid "Noise"
msgstr "Ruido"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
msgid "Noise Margin (SNR)"
msgstr "Margen de ruido (SNR)"
msgid "Noise:"
msgstr "Ruido:"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
msgid "Non Pre-emptive CRC errors (CRC_P)"
msgstr "Errores de CRC no preventivos (CRC P)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:330
msgid "Non-wildcard"
msgstr "Sin comodín"
msgid "Normal"
msgstr "Normal"
-#: modules/luci-base/luasrc/view/error404.htm:8
+#: modules/luci-base/ucode/template/error404.ut:9
msgid "Not Found"
msgstr "No encontrado"
msgid "Number of IGMP membership reports"
msgstr "Número de informes de membresía IGMP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:474
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:479
msgid "Number of cached DNS entries, 10000 is maximum, 0 is no caching."
msgstr ""
"Número de entradas de DNS en caché, 10000 es el máximo, 0 es sin "
msgid "On-link"
msgstr "En enlace"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:672
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:743
msgid "One of hostname or MAC address must be specified!"
msgstr "¡Debe especificar al menos un nombre de host o dirección MAC!"
msgstr "Abra la descripción general de las reglas de iptables…"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:472
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:19
msgid "Open list..."
msgstr "Abrir lista..."
"Protocol\">NDP</abbr> proxying."
msgstr ""
"Opere en <em>modo relé</em> si una interfaz maestra designada está "
-"configurada y activa; de lo contrario, desactive el proxy de <abbr "
-"title=\"Neighbour Discovery Protocol\">NDP</abbr>."
+"configurada y activa; de lo contrario, desactive el proxy de <abbr title="
+"\"Neighbour Discovery Protocol\">NDP</abbr>."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:723
msgid ""
msgid "Options"
msgstr "Opciones"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:526
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
#, fuzzy
msgid ""
"Options for the Network-ID. (Note: needs also Network-ID.) E.g. "
-"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</"
-"code>\" for default route. <code>0.0.0.0</code> means \"the address of the "
-"system running dnsmasq\"."
+"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</code>"
+"\" for default route. <code>0.0.0.0</code> means \"the address of the system "
+"running dnsmasq\"."
msgstr ""
"Opciones para el ID de red. (Nota: también necesita ID de red) P. ej. "
"\"<code>42,192.168.1.4</code>\" para el servidor NTP, \"<code>3,192.168.4.4</"
msgid "Options:"
msgstr "Opciones:"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
+msgid "Ordinal: lower comes first."
+msgstr "Ordinal: el bajo va primero."
+
#: protocols/luci-proto-batman-adv/htdocs/luci-static/resources/protocol/batadv.js:55
msgid "Originator Interval"
msgstr "Intervalo de originador"
msgid "Pass-through (Mirror physical device to single MAC VLAN)"
msgstr "Traspasar (Duplicar dispositivo físico a una sola MAC VLAN)"
-#: modules/luci-base/luasrc/view/sysauth.htm:29
+#: modules/luci-base/ucode/template/sysauth.ut:29
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1690
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:51
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:114
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:103
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:24
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:19
msgid "Password"
msgstr "Contraseña"
msgid "Pkts."
msgstr "Paq."
-#: modules/luci-base/luasrc/view/sysauth.htm:19
+#: modules/luci-base/ucode/template/sysauth.ut:19
msgid "Please enter your username and password."
msgstr "Por favor, introduzca su nombre de usuario y contraseña."
msgid "Policy: <strong>%h</strong> (%h)"
msgstr "Política: <strong>%h</strong> (%h)"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:579
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:21
msgid "Port"
msgstr "Puerto"
msgid "Potential negation of: %s"
msgstr "negación potencial de: %s"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:38
msgid "Power Management Mode"
msgstr "Modo de administración de energía"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
msgid "Pre-emptive CRC errors (CRCP_P)"
msgstr "Errores preventivos de CRC (CRC P)"
"(siempre, 0)"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:129
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:197
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:223
msgid "Quality"
msgstr "Calidad"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
msgid "Query all available upstream resolvers."
msgstr "Consulta todos los resolutores ascendentes disponibles."
"Bytes en bruto codificados en hexadecimal. Deje en blanco a menos que su ISP "
"lo requiera"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:345
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:350
msgid "Read <code>/etc/ethers</code> to configure the DHCP server."
msgstr "Leer <code>/etc/ethers</code> para configurar el servidor DHCP."
msgid "Reassociation Deadline"
msgstr "Fecha límite de reasociación"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
msgid "Rebind protection"
msgstr "Protección contra reasociación"
"o igual que el valor especificado"
#: modules/luci-compat/luasrc/model/network/proto_relay.lua:153
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:611
#: protocols/luci-proto-relay/htdocs/luci-static/resources/protocol/relay.js:39
msgid "Relay"
msgstr "Relé (relayd)"
msgid "Required. Base64-encoded private key for this interface."
msgstr "Requerido. Clave privada codificada en base64 para esta interfaz."
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Required. Path to the .yml config file for this interface."
+msgstr "Requerido. Ruta al archivo de configuración .yml para esta interfaz."
+
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:587
msgid "Required. Public key of the WireGuard peer."
msgstr "Requerido. Clave pública del par de WireGuard."
msgstr "Política de reselección para esclavo primario"
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2197
-#: modules/luci-base/luasrc/view/sysauth.htm:39
+#: modules/luci-base/ucode/template/sysauth.ut:39
#: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
#: modules/luci-compat/luasrc/view/cbi/footer.htm:30
#: modules/luci-compat/luasrc/view/cbi/simpleform.htm:66
msgid "Resolv and Hosts Files"
msgstr "Archivos Resolv y Hosts"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:356
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:361
msgid "Resolv file"
msgstr "Archivo de resolución"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:292
+msgid "Resolve specified FQDNs to an IP."
+msgstr "Lista de dominios para forzar a una dirección IP."
+
#: modules/luci-base/htdocs/luci-static/resources/rpc.js:405
msgid "Resource not found"
msgstr "Recurso no encontrado"
msgid "Restore backup"
msgstr "Restaurar copia de seguridad"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
msgid ""
"Return answers to DNS queries matching the subnet from which the query was "
"received if multiple IPs are available."
msgid "Robustness"
msgstr "Robustez"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:491
msgid ""
"Root directory for files served via TFTP. <em>Enable TFTP server</em> and "
"<em>TFTP server root</em> turn on the TFTP server and serve files from "
msgid "SNR"
msgstr "SNR"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "SRV"
+msgstr "SRV"
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:10
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:38
msgid "SSH Access"
msgid "Server"
msgstr "Servidor"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:524
msgid "Server address"
msgstr "Dirección del servidor"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:518
msgid "Server name"
msgstr "Nombre del servidor"
msgid "Setup routes for proxied IPv6 neighbours."
msgstr "Configurar rutas para vecinos IPv6 con proxy."
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
msgid "Severely Errored Seconds (SES)"
msgstr "Segundos con errores graves (SES)"
msgstr "Preámbulo corto"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:470
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:18
msgid "Show current backup file list"
msgstr "Mostrar la lista actual de archivos a respaldar"
msgid "Signal / Noise"
msgstr "Señal / Ruido"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
msgid "Signal Attenuation (SATN)"
msgstr "Atenuación de señal (SATN)"
msgid "Size"
msgstr "Tamaño"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:473
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:478
msgid "Size of DNS query cache"
msgstr "Tamaño de la caché de consultas de DNS"
msgstr ""
"Omitir archivos de la copia de seguridad que sean iguales a los de /rom"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:42
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:35
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:46
msgid "Skip to content"
msgstr "Saltar al contenido"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:41
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:34
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:45
msgid "Skip to navigation"
msgstr "Saltar a navegación"
msgid "Some fields are invalid, cannot save values!"
msgstr "Algunos campos son inválidos, ¡no se pueden guardar!"
-#: modules/luci-base/luasrc/view/error404.htm:9
+#: modules/luci-base/ucode/template/error404.ut:10
msgid "Sorry, the object you requested was not found."
msgstr "Objeto no encontrado."
-#: modules/luci-base/luasrc/view/error500.htm:9
-msgid "Sorry, the server encountered an unexpected error."
-msgstr "El servidor encontró un error inesperado."
-
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:442
msgid ""
"Sorry, there is no sysupgrade support present; a new firmware image must be "
msgid "Source port"
msgstr "Puerto de origen"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:505
msgid ""
"Special <abbr title=\"Preboot eXecution Environment\">PXE</abbr> boot "
"options for Dnsmasq."
msgid "Static address"
msgstr "Dirección estática"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:598
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:669
msgid ""
"Static leases are used to assign fixed IP addresses and symbolic hostnames "
"to DHCP clients. They are also required for non-dynamic interface "
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:16
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:541
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:929
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:9
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:9
msgid "Status"
msgstr "Estado"
msgid "Strict filtering"
msgstr "Filtrado estricto"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
msgid "Strict order"
msgstr "Orden estricto"
msgid "Submit"
msgstr "Enviar"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
msgid "Suppress logging"
msgstr "Suprimir registro"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:373
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
msgid "Suppress logging of the routine operation for the DHCP protocol."
msgstr "Suprime el registro de la operación de rutina para el protocolo DHCP."
msgid "Sync with browser"
msgstr "Sincronizar con el navegador"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:293
+msgid "Syntax: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+msgstr "Sintaxis: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "Syntax: <code>_service._proto.example.com</code>."
+msgstr "Sintaxis: <code>_service._proto.example.com</code>."
+
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:26
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:17
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:113
msgid "System log buffer size"
msgstr "Tamaño del buffer de registro del sistema"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:79
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:86
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:71
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:67
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:81
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:64
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:89
msgid "System running in recovery (initramfs) mode."
msgstr "El sistema se ejecuta en modo de recuperación (initramfs)."
msgid "TCP:"
msgstr "TCP:"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:490
msgid "TFTP server root"
msgstr "Raíz del servidor TFTP"
msgstr "Tabla"
# Target = Meta --> Objetivo --> Destino?
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:56
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:66
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:187
"La configuración de actualización de punto final de HE.net cambió, ¡ahora "
"debe usar el nombre de usuario simple en lugar de la ID de usuario!"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:681
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:752
msgid "The IP address %h is already used by another static lease"
msgstr ""
"La dirección IP %h ya está siendo utilizada por otra asignación estática"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:761
msgid "The IP address is outside of any DHCP pool address range"
msgstr ""
"La dirección IP está fuera de cualquier rango de direcciones del grupo DHCP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:520
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
msgid "The IP address of the boot server"
msgstr "La dirección IP del servidor de arranque"
"The device file of the memory or partition (<abbr title=\"for example\">e.g."
"</abbr> <code>/dev/sda1</code>)"
msgstr ""
-"El archivo de dispositivo de memoria o partición (<abbr title=\"Por "
-"ejemplo\">e.j.</abbr> <code>/dev/sda1</code>)"
+"El archivo de dispositivo de memoria o partición (<abbr title=\"Por ejemplo"
+"\">e.j.</abbr> <code>/dev/sda1</code>)"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:450
msgid "The device name \"%s\" is already taken"
msgstr ""
"Se ha subido la imagen a grabar. A continuación se muestra la suma de "
"comprobación y el tamaño del archivo, compárelos con el archivo original "
-"para garantizar la integridad de los datos. <br /> Haga clic en "
-"\"Continuar\" a continuación para iniciar el procedimiento de instalación."
+"para garantizar la integridad de los datos. <br /> Haga clic en \"Continuar"
+"\" a continuación para iniciar el procedimiento de instalación."
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:249
msgid "The following rules are currently active on this system."
"adicional (el paquete debe recibirse y retransmitirse, lo que cuesta tiempo "
"aire)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:514
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
msgid "The hostname of the boot server"
msgstr "El nombre de host del servidor de arranque"
"El tiempo de respuesta máximo en centisegundos insertado en consultas "
"específicas de grupo enviadas en respuesta a dejar mensajes de grupo. "
"También es la cantidad de tiempo entre los mensajes de consulta específicos "
-"del grupo. Este valor puede ajustarse para modificar la \"latencia de "
-"salida\" de la red. Un valor reducido resulta en un tiempo reducido para "
-"detectar la pérdida del último miembro de un grupo"
+"del grupo. Este valor puede ajustarse para modificar la \"latencia de salida"
+"\" de la red. Un valor reducido resulta en un tiempo reducido para detectar "
+"la pérdida del último miembro de un grupo"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:561
msgid ""
"The maximum hops to be published in <abbr title=\"Router Advertisement\">RA</"
"abbr> messages. Maximum is 255 hops."
msgstr ""
-"El número máximo de saltos que se publicarán en los mensajes <abbr "
-"title=\"Router Advertisement\">RA</abbr>. El máximo es 255 saltos."
+"El número máximo de saltos que se publicarán en los mensajes <abbr title="
+"\"Router Advertisement\">RA</abbr>. El máximo es 255 saltos."
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4638
msgid ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/switch.js:139
msgid ""
-"The network ports on this device can be combined to several <abbr "
-"title=\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
+"The network ports on this device can be combined to several <abbr title="
+"\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
"communicate directly with each other. <abbr title=\"Virtual Local Area "
"Network\">VLAN</abbr>s are often used to separate different network "
"segments. Often there is by default one Uplink port for a connection to the "
msgid "The selected %s mode is incompatible with %s encryption"
msgstr "El modo %s seleccionado es incompatible con la encriptación %s"
-#: modules/luci-base/luasrc/view/csrftoken.htm:11
+#: modules/luci-base/ucode/template/csrftoken.ut:11
msgid "The submitted security token is invalid or already expired!"
msgstr "¡El token de seguridad enviado no es válido o ya está vencido!"
"mezclar las reglas de iptables y nftables, ya que puede dar lugar a un "
"filtrado de tráfico incompleto."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:746
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:778
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:817
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:849
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:130
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:179
msgid "There are no active leases"
msgid "There are no changes to apply"
msgstr "No hay cambios para aplicar"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:70
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:58
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:55
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:80
msgid ""
"There is no password set on this router. Please configure a root password to "
msgstr "Esto no parece un archivo PEM válido"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:16
msgid ""
"This is a list of shell glob patterns for matching files and directories to "
"include during sysupgrade. Modified files in /etc/config/ and certain other "
"Esta es la dirección de punto final asignada por el broker del túnel, suele "
"terminar con <code>...:2/64</code>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:266
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:268
msgid "This is the only DHCP server in the local network."
msgstr "Este es el único servidor DHCP en la red local."
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:440
msgid ""
"To fully configure the local WireGuard interface from an existing (e.g. "
-"provider supplied) configuration file, use the <strong><a class=\"full-"
-"import\" href=\"#\">configuration import</a></strong> instead."
+"provider supplied) configuration file, use the <strong><a class=\"full-import"
+"\" href=\"#\">configuration import</a></strong> instead."
msgstr ""
"Para configurar completamente la interfaz local de WireGuard desde un "
"archivo de configuración existente (p. ej., proporcionado por el proveedor), "
msgid "Unable to determine upstream interface"
msgstr "No se puede determinar la interfaz ascendente"
-#: modules/luci-base/luasrc/view/error404.htm:11
+#: modules/luci-base/ucode/template/error404.ut:12
msgid "Unable to dispatch"
msgstr "Imposible repartir"
msgid "Unable to verify PIN"
msgstr "No se puede verificar el PIN"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
msgid "Unavailable Seconds (UAS)"
msgstr "Segundos no disponibles (UAS)"
"Al presionar \"Continuar\", las opciones de ifname cambiarán de nombre y la "
"red se reiniciará para aplicar la configuración actualizada."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
msgid "Upstream resolvers will be queried in the order of the resolv file."
msgstr ""
"Los resolutores ascendentes se consultarán en el orden del archivo resolv."
msgid "Uptime"
msgstr "Tiempo de actividad"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
msgid "Use <code>/etc/ethers</code>"
msgstr "Usar <code>/etc/ethers</code>"
msgid "Use system certificates for inner-tunnel"
msgstr "Usar certificados del sistema para túnel interno"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:599
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:670
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC address</"
"em> identifies the host, the <em>IPv4 address</em> specifies the fixed "
msgid "User key (PEM encoded)"
msgstr "Clave de usuario (codificada PEM)"
-#: modules/luci-base/luasrc/view/sysauth.htm:23
+#: modules/luci-base/ucode/template/sysauth.ut:23
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:112
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:101
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:56
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:18
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:13
msgid "Username"
msgstr "Nombre de usuario"
#: protocols/luci-proto-vti/htdocs/luci-static/resources/protocol/vti.js:10
msgid "VTI"
-msgstr ""
+msgstr "VTI"
#: protocols/luci-proto-vxlan/htdocs/luci-static/resources/protocol/vxlan.js:10
msgid "VXLAN (RFC7348)"
msgid "VXLANv6 (RFC7348)"
msgstr "VXLANv6 (RFC7348)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
msgid ""
"Validate DNS replies and cache DNSSEC data, requires upstream to support "
"DNSSEC."
msgid "Vendor Class to send when requesting DHCP"
msgstr "Clase de vendedor a enviar cuando solicite DHCP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:408
msgid "Verify unsigned domain responses really come from unsigned domains."
msgstr ""
"Verifique que las respuestas de dominio sin firmar realmente provengan de "
msgid "Weak"
msgstr "Débil"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+msgid "Weight"
+msgstr "Peso"
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1029
msgid ""
"When delegating prefixes to multiple downstreams, interfaces with a higher "
msgid "Wireless network is enabled"
msgstr "Red Wi-Fi activada"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:278
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:280
msgid "Write received DNS queries to syslog."
msgstr "Escribe las peticiones de DNS recibidas en el registro del sistema"
"<strong>Advertencia: Si desactivas los scripts de inicio esenciales como "
"\"network\", ¡Tu dispositivo podría volverse inaccesible!</strong>"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:90
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:97
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
+msgid "You may add multiple records for the same Target."
+msgstr "Puede agregar varios registros para el mismo objetivo."
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:596
+msgid "You may add multiple records for the same domain."
+msgstr "Puede agregar varios registros para el mismo dominio."
+
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:78
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:92
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:73
msgid ""
"You must enable JavaScript in your browser or LuCI will not work properly."
msgid "ZRam Size"
msgstr "Tamaño de ZRam"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:558
+msgid "_proto: _tcp, _udp, _sctp, _quic, … ."
+msgstr "_proto: _tcp, _udp, _sctp, _quic, … ."
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:557
+msgid ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Note: while _http is "
+"possible, no browsers support SRV records.)"
+msgstr ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Nota: aunque _http "
+"es posible, ningún navegador admite registros SRV.)"
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:454
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:152
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:163
msgid "any"
msgid "e.g: dump"
msgstr "p. ej: vertedero"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:726
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:756
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:797
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:827
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:101
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:148
msgid "expired"
"<abbr title=\"Hypertext Transfer Protocol Secure\">HTTPS</abbr> network "
"access."
msgstr ""
-"uHTTPd ofrece acceso a la red <abbr title=\"Hypertext Transfer "
-"Protocol\">HTTP</abbr> o <abbr title=\"Hypertext Transfer Protocol "
-"Secure\">HTTPS</abbr>."
+"uHTTPd ofrece acceso a la red <abbr title=\"Hypertext Transfer Protocol"
+"\">HTTP</abbr> o <abbr title=\"Hypertext Transfer Protocol Secure\">HTTPS</"
+"abbr>."
#: modules/luci-base/htdocs/luci-static/resources/validation.js:574
msgid "unique value"
msgid "unknown"
msgstr "desconocido"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:456
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:724
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:754
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:461
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:795
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:825
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:99
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:146
msgid "unlimited"
msgid "« Back"
msgstr "« Volver"
+#~ msgid "Back to configuration"
+#~ msgstr "Volver a la configuración"
+
+#~ msgid "Close list..."
+#~ msgstr "Cerrar lista..."
+
+#~ msgid "Internal Server Error"
+#~ msgstr "Error interno del servidor"
+
+#~ msgid "No files found"
+#~ msgstr "No se han encontrado archivos"
+
+#~ msgid "Sorry, the server encountered an unexpected error."
+#~ msgstr "El servidor encontró un error inesperado."
+
#~ msgid "Do not forward queries that cannot be answered by public resolvers."
#~ msgstr ""
#~ "No reenviar consultas que no puedan ser respondidas por resolutores "
#, fuzzy
#~ msgid ""
#~ "<ul style=\"list-style-type:none;\"> <li><strong>server mode</strong>: "
-#~ "Router advertises itself as the default IPv6 gateway via <abbr "
-#~ "title=\"Router Advertisement, ICMPv6 Type 134\">RA</abbr> messages (to "
+#~ "Router advertises itself as the default IPv6 gateway via <abbr title="
+#~ "\"Router Advertisement, ICMPv6 Type 134\">RA</abbr> messages (to "
#~ "<code>ff02::1</code>) and provides <abbr title=\"Prefix Delegation\">PD</"
#~ "abbr> to downstream devices.</li> <li><strong>relay mode</strong>: Router "
#~ "relays <abbr title=\"Router Advertisement, ICMPv6 Type 134\">RA</abbr> "
#~ "predeterminada a través de mensajes <abbr title=\"Router Advertisement, "
#~ "ICMPv6 Type 134\">RA</abbr> (to <code>ff02::1</code>) y proporciona <abbr "
#~ "title=\"Prefix Delegation\">PD</abbr> a los dispositivos descendentes.</"
-#~ "li> <li><strong>Modo relé</strong>: El enrutador reenvía <abbr "
-#~ "title=\"Prefix Delegation\">PD</abbr> desde el flujo ascendente y "
-#~ "extiende la configuración de la interfaz ascendente (p. Ej., WAN) y el "
-#~ "prefijo a las interfaces descendentes (p. e., LAN).</li> <li><strong>Modo "
-#~ "híbrido</strong>: El enrutador hace tanto servidor + retransmisión; "
-#~ "extiende la configuración ascendente y el prefijo descendente, y usa "
-#~ "<abbr title=\"Prefix Delegation\">PD</abbr> localmente.</li></ul>"
+#~ "li> <li><strong>Modo relé</strong>: El enrutador reenvía <abbr title="
+#~ "\"Prefix Delegation\">PD</abbr> desde el flujo ascendente y extiende la "
+#~ "configuración de la interfaz ascendente (p. Ej., WAN) y el prefijo a las "
+#~ "interfaces descendentes (p. e., LAN).</li> <li><strong>Modo híbrido</"
+#~ "strong>: El enrutador hace tanto servidor + retransmisión; extiende la "
+#~ "configuración ascendente y el prefijo descendente, y usa <abbr title="
+#~ "\"Prefix Delegation\">PD</abbr> localmente.</li></ul>"
#, fuzzy
#~ msgid ""
#~ "<ul style=\"list-style-type:none;\"> <li><strong>server mode</strong>: "
-#~ "Router assigns IPs and delegates prefixes (<abbr title=\"Prefix "
-#~ "Delegation\">PD</abbr>) to downstream interfaces.</li> <li><strong>relay "
-#~ "mode</strong>: Router relays WAN interface config downstream. Helps "
-#~ "support upstream links that lack <abbr title=\"Prefix Delegation\">PD</"
-#~ "abbr>.</li> <li><strong>hybrid mode</strong>: Router does combination of "
-#~ "server+relay.</li></ul>"
+#~ "Router assigns IPs and delegates prefixes (<abbr title=\"Prefix Delegation"
+#~ "\">PD</abbr>) to downstream interfaces.</li> <li><strong>relay mode</"
+#~ "strong>: Router relays WAN interface config downstream. Helps support "
+#~ "upstream links that lack <abbr title=\"Prefix Delegation\">PD</abbr>.</"
+#~ "li> <li><strong>hybrid mode</strong>: Router does combination of server"
+#~ "+relay.</li></ul>"
#~ msgstr ""
#~ "<ul style=\"list-style-type:none;\"> <li><strong>Modo servidor</strong>: "
-#~ "El enrutador asigna direcciones IP y delega prefijos (<abbr "
-#~ "title=\"Prefix Delegation\">PD</abbr>) a interfaces descendentes.</li> "
+#~ "El enrutador asigna direcciones IP y delega prefijos (<abbr title="
+#~ "\"Prefix Delegation\">PD</abbr>) a interfaces descendentes.</li> "
#~ "<li><strong>Modo relé</strong>: El enrutador retransmite la configuración "
#~ "de la interfaz WAN en sentido descendente. Ayuda a soportar enlaces "
#~ "ascendentes que carecen <abbr title=\"Prefix Delegation\">PD</abbr>.</li> "
#~ msgstr ""
#~ "El valor predeterminado es Sin estado + Con estado<br /> <ul style=\"list-"
#~ "style-type:none;\"> <li><strong>Sin estado</strong>: El enrutador anuncia "
-#~ "prefijos, el host usa <abbr title=\"Stateless Address Auto "
-#~ "Config\">SLAAC</abbr> para autoasignar su propia dirección. Sin DHCPv6.</"
-#~ "li> <li><strong>Sin estado + Con estado</strong>: SLAAC. Además, el "
-#~ "enrutador asigna una dirección IPv6 a un host a través de DHCPv6.</li> "
+#~ "prefijos, el host usa <abbr title=\"Stateless Address Auto Config"
+#~ "\">SLAAC</abbr> para autoasignar su propia dirección. Sin DHCPv6.</li> "
+#~ "<li><strong>Sin estado + Con estado</strong>: SLAAC. Además, el enrutador "
+#~ "asigna una dirección IPv6 a un host a través de DHCPv6.</li> "
#~ "<li><strong>Con estado solamente</strong>: Sin SLAAC. El enrutador asigna "
#~ "una dirección IPv6 a un host a través de DHCPv6.</li></ul>"
#~ "abbr>. El valor predeterminado es 0 (<code>0</code>). Mínimo 1280."
#~ msgid ""
-#~ "The maximum hops to be published in <abbr title=\"Router "
-#~ "Advertisement\">RA</abbr> messages.<br />Default is 0 (<code>0</code>), "
-#~ "meaning unspecified. Max 255."
+#~ "The maximum hops to be published in <abbr title=\"Router Advertisement"
+#~ "\">RA</abbr> messages.<br />Default is 0 (<code>0</code>), meaning "
+#~ "unspecified. Max 255."
#~ msgstr ""
#~ "Los saltos máximos que se publicarán en los mensajes <abbr title=\"Router "
#~ "Advertisement\">RA</abbr>.<br /> El valor predeterminado es 0 (<code>0</"
#, fuzzy
#~ msgid ""
-#~ "The maximum hops to be published in <abbr title=\"Router "
-#~ "Advertisement\">RA</abbr> messages.<br>Default is 0 (<code>0</code>), "
-#~ "meaning unspecified. Max 255."
+#~ "The maximum hops to be published in <abbr title=\"Router Advertisement"
+#~ "\">RA</abbr> messages.<br>Default is 0 (<code>0</code>), meaning "
+#~ "unspecified. Max 255."
#~ msgstr ""
-#~ "El número máximo de saltos que se publicarán en los mensajes <abbr "
-#~ "title=\"Router Advertisement\">RA</abbr>.<br>El valor predeterminado es 0 "
+#~ "El número máximo de saltos que se publicarán en los mensajes <abbr title="
+#~ "\"Router Advertisement\">RA</abbr>.<br>El valor predeterminado es 0 "
#~ "(<code>0</code>), es decir, no especificado. Máximo 255."
#~ msgid "Always announce default router"
#~ msgid ""
#~ "The filesystem that was used to format the memory (<abbr title=\"for "
-#~ "example\">e.g.</abbr> <samp><abbr title=\"Third Extended "
-#~ "Filesystem\">ext3</abbr></samp>)"
+#~ "example\">e.g.</abbr> <samp><abbr title=\"Third Extended Filesystem"
+#~ "\">ext3</abbr></samp>)"
#~ msgstr ""
#~ "El sistema de archivo que fue utilizado para dar formato a la memoria "
#~ "(<abbr title=\"por ejemplo\">Ej.</abbr> <samp><abbr title=\"Third "
#~ msgstr "Estallido del marco"
#~ msgid ""
-#~ "Further information about WireGuard interfaces and peers at <a "
-#~ "href=\"http://wireguard.com\">wireguard.com</a>."
+#~ "Further information about WireGuard interfaces and peers at <a href="
+#~ "\"http://wireguard.com\">wireguard.com</a>."
#~ msgstr ""
-#~ "Más información sobre las interfaces y los pares de WireGuard en <a "
-#~ "href=\"http://wireguard.com\">wireguard.com</a>."
+#~ "Más información sobre las interfaces y los pares de WireGuard en <a href="
+#~ "\"http://wireguard.com\">wireguard.com</a>."
#~ msgid "Generic 802.11%s Wireless Controller"
#~ msgstr "Controlador WiFi 802.11%s genérico"
msgid "<abbr title=\"Router Advertisement\">RA</abbr>-Service"
msgstr "<abbr title=\"Router Advertisement\">RA</abbr>-palvelu"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:294
+msgid ""
+"<code>/#/</code> matches any domain. <code>/example.com/</code> returns "
+"NXDOMAIN."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+msgid ""
+"<code>/example.com/#</code> returns NULL addresses (<code>0.0.0.0</code> and "
+"<code>::</code>) for example.com and its subdomains."
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:87
msgctxt "nft relational \">\" operator expression"
msgid "<var>%s</var> greater than <strong>%s</strong>"
msgid "ATM device number"
msgstr "ATM-laitteen numero"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
msgid "ATU-C System Vendor ID"
msgstr "ATU-C-järjestelmän toimittajan tunnus"
msgid "Absent Interface"
msgstr "Puuttuva sovitin"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:320
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
msgid "Accept DNS queries only from hosts whose address is on a local subnet."
msgstr "Rajoita DNS-palvelu aliverkkoihin joille tarjoamme DNS:ää."
msgid "Add key"
msgstr "Lisää avain"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:410
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:415
msgid "Add local domain suffix to names served from hosts files."
msgstr ""
"Lisää paikallisen verkkotunnuksen pääte nimiin, jotka tarjotaan hosts-"
msgid "Add to Whitelist"
msgstr "Lisää sallittujen listalle"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:367
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
msgid "Additional hosts files"
msgstr "Hosts-tiedostot"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:417
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
msgid "Additional servers file"
msgstr "Lisäpalvelimien tiedosto"
msgid "Address to access local relay bridge"
msgstr "Paikallisen välityssillan osoite"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:289
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:291
msgid "Addresses"
msgstr "Osoitteet"
msgid "Aggregate Originator Messages"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
msgid "Aggregate Transmit Power (ACTATP)"
msgstr "Yhteenlaskettu lähetysteho (ACTATP)"
msgid "Alias of \"%s\""
msgstr "Kohteen %s alias"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
msgid "All servers"
msgstr "Kaikki palvelimet"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
msgid ""
"Allocate IP addresses sequentially, starting from the lowest available "
"address."
msgstr ""
"Varaa IP-osoitteet alkaen pienimmästä käytettävissä olevasta osoitteesta"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
msgid "Allocate IPs sequentially"
msgstr "Jaa IP:t järjestyksessä"
msgid "Allow listed only"
msgstr "Salli vain luetellut"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
msgid "Allow localhost"
msgstr "Salli localhost"
msgid "Always on (kernel: default-on)"
msgstr "Aina päällä (ydin: oletus-päällä)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:538
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
msgid "Always send DHCP Options. Sometimes needed, with e.g. PXELinux."
msgstr ""
msgstr "Valinnainen, lyhyt laitteen kuvaus"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1484
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
msgid "Annex"
msgstr "Annex"
msgid "Any zone"
msgstr "Mikä tahansa vyöhyke"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:532
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
msgid "Apply DHCP Options to this net. (Empty = all clients)."
msgstr ""
msgid "Authentication Type"
msgstr "Todennuksen tyyppi"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:265
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:267
msgid "Authoritative"
msgstr "Määräävä"
-#: modules/luci-base/luasrc/view/sysauth.htm:17
+#: modules/luci-base/ucode/template/sysauth.ut:17
#: themes/luci-theme-bootstrap/htdocs/luci-static/resources/view/bootstrap/sysauth.js:11
msgid "Authorization Required"
msgstr "Valtuutus vaaditaan"
msgid "Avoid Bridge Loops"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
msgid ""
"Avoid uselessly triggering dial-on-demand links (filters SRV/SOA records and "
"names with underscores)."
msgid "Back to Overview"
msgstr "Takaisin yleiskatsaukseen"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:48
-msgid "Back to configuration"
-msgstr "Takaisin määritykseen"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:826
msgid "Back to peer configuration"
msgstr ""
msgstr "Varmuuskopioi / Kirjoita laiteohjelmisto"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:351
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:12
msgid "Backup file list"
msgstr "Varmuuskopioitavat tiedostot"
msgstr "Merkkikehysten väli"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:352
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:46
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
msgid "Bind NTP server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:326
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:331
msgid "Bind dynamically to interfaces rather than wildcard address."
msgstr ""
"Yhdistä dynaamisesti sovittimiin yleisosoitteen sijasta (suositellaan linux-"
msgid "Bind interface"
msgstr "Yhdistä sovitin"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:595
+msgid ""
+"Bind service records to a domain name: specify the location of services."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:556
+msgid ""
+"Bind service records to a domain name: specify the location of services. See "
+"<a href=\"%s\">RFC2782</a>."
+msgstr ""
+
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gre.js:59
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gretap.js:64
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/grev6.js:64
msgid "CLAT configuration failed"
msgstr "CLAT-määritys epäonnistui"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
+msgid "CNAME or fqdn"
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/processes.js:72
msgid "CPU usage (%)"
msgstr "Suorittimen käyttö (%)"
"Sulje passiivinen yhteys määritetyn ajan kuluttua, käytä 0 pysyvän yhteyden "
"luomiseen"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:49
-msgid "Close list..."
-msgstr "Sulje luettelo ..."
-
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:44
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:63
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2184
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:391
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:352
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:355
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:72
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:66
msgid "Collecting data..."
msgstr "Kerätään tietoja…"
msgid "Compute outgoing checksum (optional)."
msgstr "Laske lähtevä tarkistussumma (valinnainen)."
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Config File"
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4375
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
msgid "Configuration"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:764
msgid ""
-"Configures the operation mode of the <abbr title=\"Router "
-"Advertisement\">RA</abbr> service on this interface."
+"Configures the operation mode of the <abbr title=\"Router Advertisement"
+"\">RA</abbr> service on this interface."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:879
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/leds.js:59
msgid ""
-"Customizes the behaviour of the device <abbr title=\"Light Emitting "
-"Diode\">LED</abbr>s if possible."
+"Customizes the behaviour of the device <abbr title=\"Light Emitting Diode"
+"\">LED</abbr>s if possible."
msgstr ""
"Mukauta <abbr title = \"Light Emitting Diode\"> LED</abbr>-valojen "
"toimintaa, jos mahdollista."
msgid "DAE-Secret"
msgstr "Dae-salaisuus"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:530
msgid "DHCP Options"
msgstr "DHCP-asetukset"
msgid "DNS"
msgstr "DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:282
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:284
msgid "DNS forwardings"
msgstr "DNS-edelleenvälitys"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:445
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:450
msgid "DNS query port"
msgstr ""
"<abbr title = \"Verkkotunnusten nimijärjestelmä\">DNS</abbr>-kyselyportti"
msgid "DNS search domains"
msgstr "DNS-hakutoimialueet"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:443
msgid "DNS server port"
msgstr ""
"<abbr title = \"Verkkotunnusten nimijärjestelmä\">DNS</abbr>-palvelinportti"
msgid "DNS-Label / FQDN"
msgstr "DNS-nimi / FQDN"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
msgid "DNSSEC"
msgstr "DNSSEC"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:407
msgid "DNSSEC check unsigned"
msgstr "DNSSEC tarkista allekirjoittamaton"
msgstr "DS-Lite AFTR -osoite"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1481
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:44
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:45
msgid "DSL"
msgstr "DSL"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:14
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:15
msgid "DSL Status"
msgstr "DSL-tila"
msgstr "DTIM-aikaväli"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:59
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:700
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:771
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:136
msgid "DUID"
msgstr "DUID"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
msgid "Data Rate"
msgstr "Tiedonsiirtonopeus"
"Disable <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</abbr> for "
"this interface."
msgstr ""
-"Poista tämän sovittimen <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> käytöstä."
+"Poista tämän sovittimen <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> käytöstä."
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:174
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:375
msgid "Disassociate On Low Acknowledgement"
msgstr "Poista heikon kuittauksen yhteydet"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:302
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
msgid ""
"Discard upstream responses containing <a href=\"%s\">RFC1918</a> addresses."
msgstr "Hylkää ulkoverkosta tulevat RFC1918-vastaukset."
msgid "Distributed ARP Table"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:548
msgid ""
"Dnsmasq instance to which this boot section is bound. If unspecified, the "
"section is valid for all dnsmasq instances."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:246
msgid ""
-"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</"
-"abbr> forwarder."
+"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</abbr> "
+"forwarder."
msgstr ""
-"Dnsmasq on yhdistetty <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr>-palvelin ja <abbr title=\"Domain Name System\">DNS</"
-"abbr>-välittäjä"
+"Dnsmasq on yhdistetty <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr>-palvelin ja <abbr title=\"Domain Name System\">DNS</abbr>-"
+"välittäjä"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:419
msgid "Do not cache negative replies, e.g. for non-existent domains."
msgstr ""
"Älä tallenna välimuistiin negatiivisia vastauksia, esim. olemattomien "
msgid "Do not create host route to peer (optional)."
msgstr "Älä luo reittiä kohteelle (valinnainen)."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:262
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:264
msgid "Do not forward DNS queries without dots or domain parts."
msgstr ""
"Älä lähetä <abbr title=\"Domain Name System\">DNS</abbr>-kyselyitä ilman "
"<abbr title=\"Domain Name System\">DNS</abbr>-verkkotunnusta"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
msgid "Do not forward reverse lookups for local networks."
msgstr "Älä välitä käänteisiä hakuja paikallisille verkoille"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:339
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
msgid "Do not listen on the specified interfaces."
msgstr "Estä näiden sovittimien kuuntelu."
msgid "Do you want to replace the current keys?"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:593
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:606
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:664
msgid "Domain"
msgstr "Verkkotunnus"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:261
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:263
msgid "Domain required"
msgstr "Vaadi verkkotunnus"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:316
msgid "Domain whitelist"
msgstr "Sallitut verkkotunnukset"
msgid "Enable Single DES"
msgstr "Ota käyttöön yksittäinen DES"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:480
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
msgid "Enable TFTP server"
msgstr "TFTP-palvelin käytössä"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/uhttpd.js:14
msgid ""
-"Enable automatic redirection of <abbr title=\"Hypertext Transfer "
-"Protocol\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol "
-"Secure\">HTTPS</abbr> port."
+"Enable automatic redirection of <abbr title=\"Hypertext Transfer Protocol"
+"\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol Secure"
+"\">HTTPS</abbr> port."
msgstr ""
"Käytä automaattista uudelleenohjausta <abbr title=\"Hypertext Transfer "
"Protocol\">HTTP</abbr>-pyynnöille <abbr title=\"Hypertext Transfer Protocol "
msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets."
msgstr "Ota käyttöön kapselointipakettien DF (Don't Fragment) -lippu."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:481
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
msgid "Enable the built-in single-instance TFTP server."
msgstr ""
msgid "Error getting PublicKey"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
msgid "Errored seconds (ES)"
msgstr "Virheelliset sekunnit (ES)"
msgid "Every second (fast, 1)"
msgstr "Joka sekunti (nopea, 1)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:343
msgid "Exclude interfaces"
msgstr "Älä huomioi sovittimia"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
msgid ""
"Exempt <code>127.0.0.0/8</code> and <code>::1</code> from rebinding checks, "
"e.g. for RBL services."
msgid "Existing device"
msgstr "Olemassa oleva laite"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:409
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
msgid "Expand hosts"
msgstr "Laajenna palvelimet"
msgid "File"
msgstr "Tiedosto"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
msgid ""
"File listing upstream resolvers, optionally domain-specific, e.g. "
"<code>server=1.2.3.4</code>, <code>server=/domain/1.2.3.4</code>."
msgid "File not accessible"
msgstr "Tiedostoa ei voida lukea"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:354
msgid "File to store DHCP lease information."
msgstr ""
-"tiedosto, johon annetut <abbr title = \"Dynamic Host Configuration "
-"Protocol\"> DHCP </abbr> -lainat tallennetaan"
+"tiedosto, johon annetut <abbr title = \"Dynamic Host Configuration Protocol"
+"\"> DHCP </abbr> -lainat tallennetaan"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:362
msgid "File with upstream resolvers."
msgstr ""
"paikallinen <abbr title = \"Verkkotunnusten nimijärjestelmä\">DNS</abbr>-"
"tiedosto"
#: modules/luci-base/htdocs/luci-static/resources/ui.js:2846
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:507
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:512
msgid "Filename"
msgstr "Tiedostonimi"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:493
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:498
msgid "Filename of the boot image advertised to clients."
msgstr "Asiakkaille mainostetun käynnistysnäköistiedoston tiedostonimi"
msgid "Filesystem"
msgstr "Tiedostojärjestelmä"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
msgid "Filter private"
msgstr "Suodata yksityinen"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
msgid "Filter useless"
msgstr "Suodata hyödytön"
msgid "Firmware Version"
msgstr "Laiteohjelmiston versio"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:446
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:451
msgid "Fixed source port for outbound DNS queries."
msgstr "Kiinteä lähdeportti lähteville DNS-kyselyille."
msgid "Flashing…"
msgstr "Kirjoitetaan laiteohjelmistoa…"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:686
msgid "Force"
msgstr "Pakota"
msgid "Force use of NAT-T"
msgstr "Pakoita NAT-T käyttöön"
-#: modules/luci-base/luasrc/view/csrftoken.htm:8
+#: modules/luci-base/ucode/template/csrftoken.ut:8
msgid "Form token mismatch"
msgstr "Lomakkeen tunnussanoman ristiriita"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:919
msgid ""
-"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr "
-"title=\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr "
-"title=\"Neighbour Advertisement, Type 136\">NA</abbr> messages between the "
-"designated master interface and downstream interfaces."
+"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr title="
+"\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr title=\"Neighbour "
+"Advertisement, Type 136\">NA</abbr> messages between the designated master "
+"interface and downstream interfaces."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:770
"downstream interfaces."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
msgid "Forward Error Correction Seconds (FECS)"
msgstr "Välitettävien virheenkorjaus sekunnit (FECS)"
msgid "Global network options"
msgstr "Yleiset verkkoasetukset"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:82
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:74
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:70
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:84
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:67
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:92
msgid "Go to firmware upgrade..."
msgstr "Siirry laiteohjelmiston päivitykseen..."
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:72
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:64
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:60
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:57
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:82
msgid "Go to password configuration..."
msgstr "Siirry salasanan määritykseen ..."
msgid "Hang Up"
msgstr "Katkaise"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
msgid "Header Error Code Errors (HEC)"
msgstr "Otsikon virhekoodit (HEC)"
msgid "Host expiry timeout"
msgstr "Palvelimen vanhenemisaika"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
msgid "Host requests this filename from the boot server."
msgstr "Isäntä pyytää tätä tiedostonimeä käynnistyspalvelimelta."
msgstr "Host-Uniq-tunnisteen sisältö"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:38
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:607
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:678
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:54
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:87
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:135
msgid "Hostnames"
msgstr "Isäntänimet"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:551
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:622
msgid ""
"Hostnames are used to bind a domain name to an IP address. This setting is "
"redundant for hostnames already configured with static leases, but it can be "
msgid "IP Protocol"
msgstr "IP-protokolla"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:260
msgid "IP Sets"
msgstr ""
msgid "IP Type"
msgstr "IP-tyyppi"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:563
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:634
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:178
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:204
msgid "IP address"
msgid "IP protocol"
msgstr "IP-protokolla"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:660
msgid "IP set"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:300
msgid "IP sets"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:437
msgid "IPs to override with NXDOMAIN"
msgstr "Väärän NX-alueen ohitus"
#: modules/luci-base/htdocs/luci-static/resources/protocol/static.js:178
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:736
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:88
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:164
msgid "IPv4 address"
msgid "IPv6 suffix"
msgstr "IPv6-pääte"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:706
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:777
msgid "IPv6 suffix (hex)"
msgstr ""
"<abbr title=\"Internet Protocol Version 6\"> IPv6</abbr>-jälkiliite (heksa)"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:340
msgid ""
"If your physical memory is insufficient unused data can be temporarily "
-"swapped to a swap-device resulting in a higher amount of usable <abbr "
-"title=\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a "
-"very slow process as the swap-device cannot be accessed with the high "
-"datarates of the <abbr title=\"Random Access Memory\">RAM</abbr>."
+"swapped to a swap-device resulting in a higher amount of usable <abbr title="
+"\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a very "
+"slow process as the swap-device cannot be accessed with the high datarates "
+"of the <abbr title=\"Random Access Memory\">RAM</abbr>."
msgstr ""
"Jos fyysistä muistia ei ole riittävästi vapaana, käyttämättömiä "
"muistialueita voidaan väliaikaisesti siirtää swap-vaihtolaitteeseen, jolloin "
"näennäisesti saadaan enemmän käytettävissä olevaa <abbr title=\"Random "
"Access Memory\">RAM</abbr>-muistia. Huomaa, että datanvaihto on erittäin "
-"hidas prosessi, koska vaihtolaite ei toimi <abbr title=\"Random Access "
-"Memory\">RAM</abbr>-muistin nopeudella."
+"hidas prosessi, koska vaihtolaite ei toimi <abbr title=\"Random Access Memory"
+"\">RAM</abbr>-muistin nopeudella."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:363
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:368
msgid "Ignore <code>/etc/hosts</code>"
msgstr "Ohita <code>/etc/hosts</code>"
msgid "Ignore interface"
msgstr "Älä huomioi sovitinta"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:352
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
msgid "Ignore resolv file"
msgstr "Ohita resolv-tiedosto"
"order to avoid broadcast loops that can bring the entire LAN to a standstill."
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:13
+#: modules/luci-base/ucode/template/csrftoken.ut:13
msgid ""
"In order to prevent unauthorized access to the system, your request has been "
"blocked. Click \"Continue »\" below to return to the previous page."
msgid "Install protocol extensions..."
msgstr "Asenna protokollalaajennukset..."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:547
msgid "Instance"
msgstr "Instanssi"
msgid "Internal"
msgstr "Sisäinen"
-#: modules/luci-base/luasrc/view/error500.htm:8
-msgid "Internal Server Error"
-msgstr "Sisäinen palvelinvirhe"
-
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:285
msgid "Interval For Sending Learning Packets"
msgstr "Oppimispakettien lähetysväli"
msgid "Invalid hexadecimal value"
msgstr "Virheellinen heksadesimaaliarvo"
-#: modules/luci-base/luasrc/view/sysauth.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:37
+#: modules/luci-base/ucode/template/sysauth.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:32
msgid "Invalid username and/or password! Please try again."
msgstr "Virheellinen käyttäjätunnus tai salasana! Yritä uudelleen."
"Näyttää siltä, että yrität kirjoittaa levykuvaa, joka ei sovi flash-"
"muistiin, tarkista levykuvatiedosto!"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:89
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:96
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:77
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:91
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:72
msgid "JavaScript required!"
msgstr "JavaScript vaaditaan!"
msgid "Language and Style"
msgstr "Kieli ja tyyli"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:560
+msgid ""
+"Larger weights (of the same prio) are given a proportionately higher "
+"probability of being selected."
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:575
msgid "Last member interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
msgid "Latency"
msgstr "Viive"
msgid "Learn routes"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:348
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:353
msgid "Lease file"
msgstr "Lainatiedosto"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:697
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:768
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:679
msgid "Lease time"
msgstr "Laina-aika"
msgid "Limit"
msgstr "Raja"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
msgid "Line Attenuation (LATN)"
msgstr "Linjan vaimennus (LATN)"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
msgid "Line Mode"
msgstr "Linja-tila"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:17
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
msgid "Line State"
msgstr "Linjatila"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
msgid "Line Uptime"
msgstr "Linjan käyttöaika"
msgid "Link layer header bits %d-%d"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
msgid "List of IP addresses to convert into NXDOMAIN responses."
msgstr ""
"Luettelo palvelimista, jotka toimittavat vääriä NX-verkkotunnuksen tuloksia"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:296
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:581
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:652
msgid "List of IP sets to populate with the specified domain IPs."
msgstr ""
msgid "List of SSH key files for auth"
msgstr "Luettelo autentikoinnin SSH-avaintiedostoista"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:317
msgid "List of domains to allow RFC1918 responses for."
msgstr "Luettelo verkkotunnuksista, joille sallitaan RFC1918-vastaukset"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:290
-msgid "List of domains to force to an IP address."
-msgstr "Lista verkkoalueista sekä käytettävistä IP-osoitteista."
-
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:283
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:285
msgid "List of upstream resolvers to forward queries to."
msgstr ""
"Luettelo <abbr title=\"Domain Name System\"> DNS </abbr> -palvelimista, "
msgid "Listen Port"
msgstr "Kuunteluportti"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:332
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:337
msgid "Listen interfaces"
msgstr "Kuuntelevat sovittimet"
msgstr ""
"Kuuntele vain määritetyissä sovittimissa tai kaikissa jos määrittelemättä"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:333
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
msgid ""
"Listen only on the specified interfaces, and loopback if not excluded "
"explicitly."
msgid "ListenPort setting is invalid"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:439
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:444
msgid "Listening port for inbound DNS queries."
msgstr "Saapuvien DNS-kyselyiden kuunteluportti"
msgstr "Ladataan hakemiston sisältöä…"
#: modules/luci-base/htdocs/luci-static/resources/luci.js:1942
-#: modules/luci-base/luasrc/view/view.htm:4
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:45
+#: modules/luci-base/ucode/template/view.ut:4
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:40
msgid "Loading view…"
msgstr "Ladataan näkymää…"
msgid "Local ULA"
msgstr "Paikallinen ULA"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:273
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:275
msgid "Local domain"
msgstr "Paikallinen verkkotunnus"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:274
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:276
msgid "Local domain suffix appended to DHCP names and hosts file entries."
msgstr ""
"DHCP-nimiin ja hosts-tiedoston kohteisiin liitettävä paikallinen verkkotunnus"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:269
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:271
msgid "Local server"
msgstr "Paikallinen palvelin"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:319
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:324
msgid "Local service only"
msgstr "Palvele vain paikallisesti"
msgid "Local wireguard key"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
msgid "Localise queries"
msgstr "Lokalisoi kyselyt"
msgid "Log output level"
msgstr "Lokin tulostustaso"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:277
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:279
msgid "Log queries"
msgstr "Lokikyselyt"
msgid "Logical network to which the tunnel will be added (bridged) (optional)."
msgstr "Looginen verkko, johon tunneli lisätään (sillataan) (valinnainen)."
-#: modules/luci-base/luasrc/view/sysauth.htm:38
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:41
+#: modules/luci-base/ucode/template/sysauth.ut:38
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:36
msgid "Login"
msgstr "Kirjaudu sisään"
msgid "Loose filtering"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
msgid "Loss of Signal Seconds (LOSS)"
msgstr "Signaalin menetys sekuntia (LOSS)"
msgid "Lowest leased address as offset from the network address."
msgstr "Alin lainattu osoite verkko-osoitteesta laskettuna."
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/footer.ut:12
+msgid "Lua compatibility mode active"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:48
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:83
msgid "MAC"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:591
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:40
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:619
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1164
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2177
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:56
msgid "MTU"
msgstr "MTU"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:259
+msgid "MX"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:303
msgid ""
"Make sure to clone the root filesystem using something like the commands "
msgid "Max <abbr title=\"Router Advertisement\">RA</abbr> interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
msgid "Max. Attainable Data Rate (ATTNDR)"
msgstr "Maks. Saavutettavissa oleva tiedonsiirtonopeus (ATTNDR)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:457
msgid "Max. DHCP leases"
msgstr ""
"<abbr title = \"maximal\"> Max. </abbr> <abbr title = \"Dynamic Host "
"Configuration Protocol\"> DHCP </abbr> laina"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:459
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:464
msgid "Max. EDNS0 packet size"
msgstr ""
"<abbr title = \"maximal\"> Max. </abbr> <abbr title = \"Domain Name System -"
"laajennusmekanismit\"> EDNS0 </abbr> paketin koko"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:466
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:471
msgid "Max. concurrent queries"
msgstr "<abbr title = \"maximal\"> Max. </abbr> samanaikaiset kyselyt"
msgid "Maximum allowed Listen Interval"
msgstr "Suurin sallittu kuunteluväli"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:453
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:458
msgid "Maximum allowed number of active DHCP leases."
msgstr "Aktiivisten DHCP-lainojen sallittu enimmäismäärä"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:467
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:472
msgid "Maximum allowed number of concurrent DNS queries."
msgstr "Samanaikaisten DNS-kyselyiden suurin sallittu määrä"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:460
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:465
msgid "Maximum allowed size of EDNS0 UDP packets."
msgstr "EDNS.0 UDP -pakettien suurin sallittu koko"
msgid "Maximum transmit power"
msgstr "Suurin lähetysteho"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:394
msgid "May prevent VoIP or other services from working."
msgstr ""
msgid "Name of the tunnel device"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:46
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:39
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:50
msgid "Navigation"
msgstr "Siirtyminen"
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:10
+msgid "Nebula Network"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:653
msgid "Neighbour cache validity"
msgstr ""
msgid "Network address"
msgstr "Verkon osoite"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:492
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:497
msgid "Network boot image"
msgstr "Verkon käynnistyskuva"
msgid "Network interface"
msgstr "Sovitin"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:536
msgid "Network-ID"
msgstr ""
msgid "Never"
msgstr "Ei ikinä"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:270
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:272
msgid ""
"Never forward matching domains and subdomains, resolve from DHCP or hosts "
"files only."
msgid "No RX signal"
msgstr "Ei RX-signaalia"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:80
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:87
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:68
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:82
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:65
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:90
msgid ""
"No changes to settings will be stored and are lost after rebooting. This "
msgid "No entries in this directory"
msgstr "Tässä hakemistossa ei ole merkintöjä"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:82
-msgid "No files found"
-msgstr "Tiedostoja ei löytynyt"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:833
msgid ""
"No fixed interface listening port defined, peers might not be able to "
msgid "No more slaves available, can not save interface"
msgstr "Ei enempää orjia saatavilla, sovitinta ei voi tallentaa"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:413
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
msgid "No negative cache"
msgstr "Ei negatiivista välimuistia"
msgid "No nftables ruleset loaded."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:69
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:61
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:57
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:54
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:79
msgid "No password set!"
msgstr "Salasanaa ei ole asetettu!"
msgid "Noise"
msgstr "Kohina"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
msgid "Noise Margin (SNR)"
msgstr "Kohinasuhde (SNR)"
msgid "Noise:"
msgstr "Kohina:"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
msgid "Non Pre-emptive CRC errors (CRC_P)"
msgstr "Keskeytyksettömät CRC-virheet (CRC_P)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:330
msgid "Non-wildcard"
msgstr "Ei-yleismerkki"
msgid "Normal"
msgstr "Normaali"
-#: modules/luci-base/luasrc/view/error404.htm:8
+#: modules/luci-base/ucode/template/error404.ut:9
msgid "Not Found"
msgstr "Ei löydy"
msgid "Number of IGMP membership reports"
msgstr "IGMP-jäsenraporttien määrä"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:474
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:479
msgid "Number of cached DNS entries, 10000 is maximum, 0 is no caching."
msgstr ""
"Välimuistissa olevien DNS-merkintöjen määrä (max on 10000, 0 poistaa "
msgid "On-link"
msgstr "Reitti aina ylhäällä"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:672
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:743
msgid "One of hostname or MAC address must be specified!"
msgstr "Palvelinnimi tai MAC-osoite on määritettävä!"
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:472
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:19
msgid "Open list..."
msgstr "Avaa lista..."
msgid "Options"
msgstr "Valinnat"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:526
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
msgid ""
"Options for the Network-ID. (Note: needs also Network-ID.) E.g. "
-"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</"
-"code>\" for default route. <code>0.0.0.0</code> means \"the address of the "
-"system running dnsmasq\"."
+"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</code>"
+"\" for default route. <code>0.0.0.0</code> means \"the address of the system "
+"running dnsmasq\"."
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:125
msgid "Options:"
msgstr "Valinnat:"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
+msgid "Ordinal: lower comes first."
+msgstr ""
+
#: protocols/luci-proto-batman-adv/htdocs/luci-static/resources/protocol/batadv.js:55
msgid "Originator Interval"
msgstr ""
msgid "Pass-through (Mirror physical device to single MAC VLAN)"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:29
+#: modules/luci-base/ucode/template/sysauth.ut:29
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1690
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:51
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:114
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:103
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:24
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:19
msgid "Password"
msgstr "Salasana"
msgid "Pkts."
msgstr "Paket."
-#: modules/luci-base/luasrc/view/sysauth.htm:19
+#: modules/luci-base/ucode/template/sysauth.ut:19
msgid "Please enter your username and password."
msgstr "Anna käyttäjätunnus ja salasana."
msgid "Policy: <strong>%h</strong> (%h)"
msgstr "Käytäntö: <strong>%h</strong> (%h)"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:579
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:21
msgid "Port"
msgstr "Portti"
msgid "Potential negation of: %s"
msgstr "Mahdollinen kieltäytyminen:%s"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:38
msgid "Power Management Mode"
msgstr "Virranhallintatila"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
msgid "Pre-emptive CRC errors (CRCP_P)"
msgstr "Keskeyttävät CRC-virheet (CRC_P)"
"(aina, 0)"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:129
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:197
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:223
msgid "Quality"
msgstr "Laatu"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
msgid "Query all available upstream resolvers."
msgstr ""
"Käytä kaikkia määriteltyjä<abbr title=\"Domain Name System\">DNS</abbr> -"
"Raa'at heksakoodatut tavut. Jätä tyhjäksi, ellei palveluntarjoajasi vaadi "
"tätä"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:345
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:350
msgid "Read <code>/etc/ethers</code> to configure the DHCP server."
msgstr "Lue <code>/etc/ethers</code> määrittääksesi DHCP-palvelin"
msgid "Reassociation Deadline"
msgstr "Uudelleenyhdistämisen määräaika"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
msgid "Rebind protection"
msgstr "Rebind-suoja"
msgstr ""
#: modules/luci-compat/luasrc/model/network/proto_relay.lua:153
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:611
#: protocols/luci-proto-relay/htdocs/luci-static/resources/protocol/relay.js:39
msgid "Relay"
msgstr "Välitys"
msgid "Required. Base64-encoded private key for this interface."
msgstr "Tarvitaan. Tämän liittymän Base64-koodattu yksityinen avain."
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Required. Path to the .yml config file for this interface."
+msgstr ""
+
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:587
msgid "Required. Public key of the WireGuard peer."
msgstr ""
msgstr "Ensisijaisen orjan uudelleenvalintakäytäntö"
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2197
-#: modules/luci-base/luasrc/view/sysauth.htm:39
+#: modules/luci-base/ucode/template/sysauth.ut:39
#: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
#: modules/luci-compat/luasrc/view/cbi/footer.htm:30
#: modules/luci-compat/luasrc/view/cbi/simpleform.htm:66
msgid "Resolv and Hosts Files"
msgstr "Resolv- ja Hosts-tiedostot"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:356
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:361
msgid "Resolv file"
msgstr "Resolve-tiedosto"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:292
+msgid "Resolve specified FQDNs to an IP."
+msgstr "Lista verkkoalueista sekä käytettävistä IP-osoitteista."
+
#: modules/luci-base/htdocs/luci-static/resources/rpc.js:405
msgid "Resource not found"
msgstr "Resurssia ei löytynyt"
msgid "Restore backup"
msgstr "Palauta varmuuskopio"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
msgid ""
"Return answers to DNS queries matching the subnet from which the query was "
"received if multiple IPs are available."
msgid "Robustness"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:491
msgid ""
"Root directory for files served via TFTP. <em>Enable TFTP server</em> and "
"<em>TFTP server root</em> turn on the TFTP server and serve files from "
msgid "SNR"
msgstr "SNR"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "SRV"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:10
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:38
msgid "SSH Access"
msgid "Server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:524
msgid "Server address"
msgstr "Palvelimen osoite"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:518
msgid "Server name"
msgstr "Palvelimen nimi"
msgid "Setup routes for proxied IPv6 neighbours."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
msgid "Severely Errored Seconds (SES)"
msgstr "Severely Errored Seconds (SES)"
msgstr "Lyhyt johdanto-osa"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:470
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:18
msgid "Show current backup file list"
msgstr "Näytä nykyinen varmuuskopiotiedostoluettelo"
msgid "Signal / Noise"
msgstr "Signaali / Kohina"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
msgid "Signal Attenuation (SATN)"
msgstr "Signaalin vaimennus (SATN)"
msgid "Size"
msgstr "Koko"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:473
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:478
msgid "Size of DNS query cache"
msgstr "DNS-kyselyvälimuistin koko"
msgid "Skip from backup files that are equal to those in /rom"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:42
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:35
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:46
msgid "Skip to content"
msgstr "Siirry sisältöön"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:41
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:34
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:45
msgid "Skip to navigation"
msgstr "Siirry navigointiin"
msgid "Some fields are invalid, cannot save values!"
msgstr "Jotkin kentät eivät kelpaa, arvoja ei voi tallentaa!"
-#: modules/luci-base/luasrc/view/error404.htm:9
+#: modules/luci-base/ucode/template/error404.ut:10
msgid "Sorry, the object you requested was not found."
msgstr "Pahus, pyytämääsi objektia ei löytynyt."
-#: modules/luci-base/luasrc/view/error500.htm:9
-msgid "Sorry, the server encountered an unexpected error."
-msgstr "Pahus, palvelin kohtasi odottamattoman virheen."
-
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:442
msgid ""
"Sorry, there is no sysupgrade support present; a new firmware image must be "
msgid "Source port"
msgstr "Lähdeportti"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:505
msgid ""
"Special <abbr title=\"Preboot eXecution Environment\">PXE</abbr> boot "
"options for Dnsmasq."
msgid "Static address"
msgstr "Staattinen osoite"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:598
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:669
msgid ""
"Static leases are used to assign fixed IP addresses and symbolic hostnames "
"to DHCP clients. They are also required for non-dynamic interface "
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:16
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:541
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:929
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:9
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:9
msgid "Status"
msgstr "Tila"
msgid "Strict filtering"
msgstr "Tiukka suodatus"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
msgid "Strict order"
msgstr "Tiukka järjestys"
msgid "Submit"
msgstr "Lähetä"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
msgid "Suppress logging"
msgstr "Estä kirjaaminen"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:373
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
msgid "Suppress logging of the routine operation for the DHCP protocol."
msgstr "Estä näiden protokollien rutiinitoimintojen kirjaaminen"
msgid "Sync with browser"
msgstr "Synkronoi selaimen kanssa"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:293
+msgid "Syntax: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "Syntax: <code>_service._proto.example.com</code>."
+msgstr ""
+
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:26
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:17
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:113
msgid "System log buffer size"
msgstr "Järjestelmälokin puskurin koko"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:79
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:86
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:71
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:67
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:81
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:64
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:89
msgid "System running in recovery (initramfs) mode."
msgstr "Järjestelmä toimii palautustilassa (initramfs)."
msgid "TCP:"
msgstr "TCP:"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:490
msgid "TFTP server root"
msgstr "TFTP-palvelimen pääkansio"
msgid "Table"
msgstr "Taulukko"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:56
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:66
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:187
"HE.net-päätepisteen määritys on muuttunut, sinun on nyt käytettävä "
"käyttäjätunnusta käyttäjä-ID:n sijaan!"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:681
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:752
msgid "The IP address %h is already used by another static lease"
msgstr "IP-osoite %h on jo toisen pysyvän lainan käytössä"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:761
msgid "The IP address is outside of any DHCP pool address range"
msgstr "IP-osoite ei ole minkään DHCP-varannon osoitealueen sisällä"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:520
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
msgid "The IP address of the boot server"
msgstr ""
"to be received and retransmitted which costs airtime)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:514
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
msgid "The hostname of the boot server"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/switch.js:139
msgid ""
-"The network ports on this device can be combined to several <abbr "
-"title=\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
+"The network ports on this device can be combined to several <abbr title="
+"\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
"communicate directly with each other. <abbr title=\"Virtual Local Area "
"Network\">VLAN</abbr>s are often used to separate different network "
"segments. Often there is by default one Uplink port for a connection to the "
msgid "The selected %s mode is incompatible with %s encryption"
msgstr "Valittu %s tila ei ole yhteensopiva salauksen %s kanssa"
-#: modules/luci-base/luasrc/view/csrftoken.htm:11
+#: modules/luci-base/ucode/template/csrftoken.ut:11
msgid "The submitted security token is invalid or already expired!"
msgstr "Lähetetty suojaustunnus on virheellinen tai vanhentunut!"
"nftables rules is discouraged and may lead to incomplete traffic filtering."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:746
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:778
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:817
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:849
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:130
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:179
msgid "There are no active leases"
msgid "There are no changes to apply"
msgstr "Ei muutoksia käyttöönotettavaksi"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:70
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:58
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:55
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:80
msgid ""
"There is no password set on this router. Please configure a root password to "
msgstr "Tämä ei näytä kelvolliselta PEM-tiedostolta"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:16
msgid ""
"This is a list of shell glob patterns for matching files and directories to "
"include during sysupgrade. Modified files in /etc/config/ and certain other "
"Tämä on tunnelin välittäjän määrittämä paikallinen päätepisteosoite, joka "
"päättyy yleensä <code>... :2/64</code>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:266
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:268
msgid "This is the only DHCP server in the local network."
msgstr "Tämä on paikallisen verkon ainoa DHCP-palvelin."
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:440
msgid ""
"To fully configure the local WireGuard interface from an existing (e.g. "
-"provider supplied) configuration file, use the <strong><a class=\"full-"
-"import\" href=\"#\">configuration import</a></strong> instead."
+"provider supplied) configuration file, use the <strong><a class=\"full-import"
+"\" href=\"#\">configuration import</a></strong> instead."
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2674
msgid "Unable to determine upstream interface"
msgstr "Ylävirran sovitinta ei voitu selvittää"
-#: modules/luci-base/luasrc/view/error404.htm:11
+#: modules/luci-base/ucode/template/error404.ut:12
msgid "Unable to dispatch"
msgstr "Ei voida lähettää"
msgid "Unable to verify PIN"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
msgid "Unavailable Seconds (UAS)"
msgstr "Saavuttamattomissa (UAS)"
"will be restarted to apply the updated configuration."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
msgid "Upstream resolvers will be queried in the order of the resolv file."
msgstr ""
"<abbr title = \"Verkkotunnusten nimijärjestelmä\"> DNS </abbr> -palvelimet "
msgid "Uptime"
msgstr "Toiminta-aika"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
msgid "Use <code>/etc/ethers</code>"
msgstr "Käytä <code>/etc/ethers</code>"
msgid "Use system certificates for inner-tunnel"
msgstr "Käytä järjestelmävarmenteita sisätunneliin"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:599
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:670
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC address</"
"em> identifies the host, the <em>IPv4 address</em> specifies the fixed "
msgid "User key (PEM encoded)"
msgstr "Käyttäjäavain (PEM-koodattu)"
-#: modules/luci-base/luasrc/view/sysauth.htm:23
+#: modules/luci-base/ucode/template/sysauth.ut:23
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:112
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:101
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:56
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:18
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:13
msgid "Username"
msgstr "Käyttäjätunnus"
msgid "VXLANv6 (RFC7348)"
msgstr "VXLANv6 (RFC7348)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
msgid ""
"Validate DNS replies and cache DNSSEC data, requires upstream to support "
"DNSSEC."
msgid "Vendor Class to send when requesting DHCP"
msgstr "Toimittajaluokka, joka lähetetään DHCP-pyynnössä"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:408
msgid "Verify unsigned domain responses really come from unsigned domains."
msgstr ""
msgid "Weak"
msgstr "Heikko"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+msgid "Weight"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1029
msgid ""
"When delegating prefixes to multiple downstreams, interfaces with a higher "
msgid "Wireless network is enabled"
msgstr "Langaton verkko on käytössä"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:278
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:280
msgid "Write received DNS queries to syslog."
msgstr "Kirjoita vastaanotetut DNS-pyynnöt syslogiin."
"<strong> Varoitus: Jos poistat käytöstä välttämättömät aloituskomentosarjat, "
"kuten \"verkko\", saatat kadottaa pääsyn laitteeseesi! </strong>"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:90
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:97
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
+msgid "You may add multiple records for the same Target."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:596
+msgid "You may add multiple records for the same domain."
+msgstr ""
+
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:78
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:92
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:73
msgid ""
"You must enable JavaScript in your browser or LuCI will not work properly."
msgid "ZRam Size"
msgstr "ZRam-koko"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:558
+msgid "_proto: _tcp, _udp, _sctp, _quic, … ."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:557
+msgid ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Note: while _http is "
+"possible, no browsers support SRV records.)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:454
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:152
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:163
msgid "any"
msgid "e.g: dump"
msgstr "esim. dump"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:726
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:756
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:797
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:827
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:101
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:148
msgid "expired"
"<abbr title=\"Hypertext Transfer Protocol Secure\">HTTPS</abbr> network "
"access."
msgstr ""
-"uHTTPd mahdollistaa verkkoyhteyden <abbr title=\"Hypertext Transfer "
-"Protocol\">HTTP:llä</abbr> tai <abbr title=\"Hypertext Transfer Protocol "
-"Secure\">HTTPS:llä</abbr>."
+"uHTTPd mahdollistaa verkkoyhteyden <abbr title=\"Hypertext Transfer Protocol"
+"\">HTTP:llä</abbr> tai <abbr title=\"Hypertext Transfer Protocol Secure"
+"\">HTTPS:llä</abbr>."
#: modules/luci-base/htdocs/luci-static/resources/validation.js:574
msgid "unique value"
msgid "unknown"
msgstr "tuntematon"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:456
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:724
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:754
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:461
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:795
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:825
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:99
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:146
msgid "unlimited"
msgid "« Back"
msgstr "«Takaisin"
+#~ msgid "Back to configuration"
+#~ msgstr "Takaisin määritykseen"
+
+#~ msgid "Close list..."
+#~ msgstr "Sulje luettelo ..."
+
+#~ msgid "Internal Server Error"
+#~ msgstr "Sisäinen palvelinvirhe"
+
+#~ msgid "No files found"
+#~ msgstr "Tiedostoja ei löytynyt"
+
+#~ msgid "Sorry, the server encountered an unexpected error."
+#~ msgstr "Pahus, palvelin kohtasi odottamattoman virheen."
+
#~ msgid "Do not forward queries that cannot be answered by public resolvers."
#~ msgstr ""
#~ "Älä välitä eteenpäin kyselyitä, joihin julkiset nimipalvelimet eivät voi "
msgid "<abbr title=\"Router Advertisement\">RA</abbr>-Service"
msgstr "Service <abbr title=\"Annonce de routeur\"> RA</abbr>"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:294
+msgid ""
+"<code>/#/</code> matches any domain. <code>/example.com/</code> returns "
+"NXDOMAIN."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+msgid ""
+"<code>/example.com/#</code> returns NULL addresses (<code>0.0.0.0</code> and "
+"<code>::</code>) for example.com and its subdomains."
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:87
msgctxt "nft relational \">\" operator expression"
msgid "<var>%s</var> greater than <strong>%s</strong>"
#: protocols/luci-proto-ppp/htdocs/luci-static/resources/protocol/pppoa.js:66
msgid "ATM Virtual Channel Identifier (VCI)"
msgstr ""
-"Identifiant de canal virtuel (<abbr title=\"Identifiant de canal "
-"virtuel\">VCI</abbr>) ATM"
+"Identifiant de canal virtuel (<abbr title=\"Identifiant de canal virtuel"
+"\">VCI</abbr>) ATM"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1565
#: protocols/luci-proto-ppp/htdocs/luci-static/resources/protocol/pppoa.js:70
msgid "ATM device number"
msgstr "Numéro de périphérique ATM"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
msgid "ATU-C System Vendor ID"
msgstr "ATU-C System Vendor ID"
msgid "Absent Interface"
msgstr "Interface manquante"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:320
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
msgid "Accept DNS queries only from hosts whose address is on a local subnet."
msgstr ""
"Limiter le service DNS aux interfaces des sous-réseaux sur lesquels nous "
msgid "Add key"
msgstr "Ajouter une clé"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:410
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:415
msgid "Add local domain suffix to names served from hosts files."
msgstr "Ajouter un suffixe de domaine locale aux noms tirés du fichier hôtes."
msgid "Add to Whitelist"
msgstr "Ajouter à la liste blanche"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:367
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
msgid "Additional hosts files"
msgstr "Fichiers hosts supplémentaires"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:417
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
msgid "Additional servers file"
msgstr "Fichier de serveurs additionnels"
msgid "Address to access local relay bridge"
msgstr "Adresse pour accéder au pont-relais local"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:289
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:291
msgid "Addresses"
msgstr "Adresses"
msgid "Aggregate Originator Messages"
msgstr "Agréger les messages de l'expéditeur"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
msgid "Aggregate Transmit Power (ACTATP)"
msgstr "Puissance d'émission globale (ACTATP)"
msgid "Alias of \"%s\""
msgstr "Alias de \"%s\""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
msgid "All servers"
msgstr "Tous les serveurs"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
msgid ""
"Allocate IP addresses sequentially, starting from the lowest available "
"address."
"Allouer les adresses IP de manière séquentielle en commençant par les plus "
"petites."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
msgid "Allocate IPs sequentially"
msgstr "Allouer les IP de manière séquentielle"
msgid "Allow listed only"
msgstr "Autoriser uniquement ce qui est listé"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
msgid "Allow localhost"
msgstr "Autoriser l'hôte local"
msgid "Always on (kernel: default-on)"
msgstr "Toujours actif (noyau : implicite-actif)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:538
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
msgid "Always send DHCP Options. Sometimes needed, with e.g. PXELinux."
msgstr ""
"Toujours envoyer les options DHCP. Parfois nécessaire, par exemple avec "
msgstr "Une courte description, optionnelle, pour cet appareil"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1484
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
msgid "Annex"
msgstr "Annexe"
msgid "Any zone"
msgstr "N'importe quelle zone"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:532
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
msgid "Apply DHCP Options to this net. (Empty = all clients)."
msgstr "Appliquer les options DHCP à ce réseau. (Vide = tous les clients)."
"At most <strong>%h</strong> per <strong>%h</strong>, burst of <strong>%h</"
"strong>"
msgstr ""
-"Au maximum <strong>%h</strong> par <strong>%h</strong>, rafale de "
-"<strong>%h</strong>"
+"Au maximum <strong>%h</strong> par <strong>%h</strong>, rafale de <strong>"
+"%h</strong>"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:154
msgid "Attempt to enable configured mount points for attached devices"
msgid "Authentication Type"
msgstr "Type d'authentification"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:265
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:267
msgid "Authoritative"
msgstr "Autoritaire"
-#: modules/luci-base/luasrc/view/sysauth.htm:17
+#: modules/luci-base/ucode/template/sysauth.ut:17
#: themes/luci-theme-bootstrap/htdocs/luci-static/resources/view/bootstrap/sysauth.js:11
msgid "Authorization Required"
msgstr "Autorisation requise"
msgid "Avoid Bridge Loops"
msgstr "Éviter les boucles de pont"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
msgid ""
"Avoid uselessly triggering dial-on-demand links (filters SRV/SOA records and "
"names with underscores)."
msgid "Back to Overview"
msgstr "Retour à la vue générale"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:48
-msgid "Back to configuration"
-msgstr "Retour à la configuration"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:826
msgid "Back to peer configuration"
msgstr "Retour à la configuration des pairs"
msgstr "Sauvegarde / Mise à jour du micrologiciel"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:351
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:12
msgid "Backup file list"
msgstr "Liste des fichiers de sauvegarde"
msgstr "Intervalle entre les balises"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:352
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:46
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
msgid "Bind NTP server"
msgstr "Lier le serveur NTP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:326
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:331
msgid "Bind dynamically to interfaces rather than wildcard address."
msgstr ""
"Lier dynamiquement aux interfaces au lieu d’utiliser la méta-adresse "
msgid "Bind interface"
msgstr "Lier à l’interface"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:595
+msgid ""
+"Bind service records to a domain name: specify the location of services."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:556
+msgid ""
+"Bind service records to a domain name: specify the location of services. See "
+"<a href=\"%s\">RFC2782</a>."
+msgstr ""
+
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gre.js:59
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gretap.js:64
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/grev6.js:64
msgid "CLAT configuration failed"
msgstr "La configuration de CLAT a échoué"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
+msgid "CNAME or fqdn"
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/processes.js:72
msgid "CPU usage (%)"
msgstr "Utilisation CPU (%)"
"Fermer une connexion inactive après le délai donné en secondes, mettre 0 "
"pour garder les connexions"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:49
-msgid "Close list..."
-msgstr "Fermer la liste…"
-
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:44
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:63
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2184
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:391
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:352
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:355
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:72
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:66
msgid "Collecting data..."
msgstr "Récupération des données…"
msgid "Compute outgoing checksum (optional)."
msgstr "Calculer la somme de contrôle sortante (facultatif)."
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Config File"
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4375
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
msgid "Configuration"
"Configures the default router advertisement in <abbr title=\"Router "
"Advertisement\">RA</abbr> messages."
msgstr ""
-"Configure l'annonce de routeur par défaut dans les messages <abbr "
-"title=\"Annonce de routeur\">RA</abbr>."
+"Configure l'annonce de routeur par défaut dans les messages <abbr title="
+"\"Annonce de routeur\">RA</abbr>."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:764
msgid ""
-"Configures the operation mode of the <abbr title=\"Router "
-"Advertisement\">RA</abbr> service on this interface."
+"Configures the operation mode of the <abbr title=\"Router Advertisement"
+"\">RA</abbr> service on this interface."
msgstr ""
"Configure le mode de fonctionnement du service <abbr title=\"Annonce de "
"routeur\">RA</abbr> sur cette interface."
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/leds.js:59
msgid ""
-"Customizes the behaviour of the device <abbr title=\"Light Emitting "
-"Diode\">LED</abbr>s if possible."
+"Customizes the behaviour of the device <abbr title=\"Light Emitting Diode"
+"\">LED</abbr>s if possible."
msgstr ""
"Permet de personnaliser le comportement des <abbr title=\"Diode Électro-"
"Luminescente\">DEL</abbr>s lorsque le matériel le permet."
msgid "DAE-Secret"
msgstr "Secret DAE"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:530
msgid "DHCP Options"
msgstr "Options DHCP"
msgid "DNS"
msgstr "DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:282
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:284
msgid "DNS forwardings"
msgstr "transmissions DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:445
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:450
msgid "DNS query port"
msgstr ""
"Port des requêtes <abbr title=\"Système de noms de domaines\">DNS</abbr>"
msgid "DNS search domains"
msgstr "Domaines de recherche DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:443
msgid "DNS server port"
msgstr "Port du serveur <abbr title=\"Système de noms de domaines\">DNS</abbr>"
msgid "DNS-Label / FQDN"
msgstr "Label DNS / FQDN"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
msgid "DNSSEC"
msgstr "DNSSEC"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:407
msgid "DNSSEC check unsigned"
msgstr "Vérification DNSSEC non signée"
msgstr "Adresse du DS-Lite AFTR"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1481
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:44
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:45
msgid "DSL"
msgstr "DSL"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:14
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:15
msgid "DSL Status"
msgstr "Statut DSL"
msgstr "Intervalle DTIM"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:59
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:700
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:771
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:136
msgid "DUID"
msgstr "DUID"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
msgid "Data Rate"
msgstr "Débit de données"
msgid "Disassociate On Low Acknowledgement"
msgstr "Désassossier sur la reconnaissance basse (Low Acknowledgement)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:302
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
msgid ""
"Discard upstream responses containing <a href=\"%s\">RFC1918</a> addresses."
msgstr ""
msgid "Distributed ARP Table"
msgstr "Table ARP distribuée"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:548
msgid ""
"Dnsmasq instance to which this boot section is bound. If unspecified, the "
"section is valid for all dnsmasq instances."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:246
msgid ""
-"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</"
-"abbr> forwarder."
+"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</abbr> "
+"forwarder."
msgstr ""
-"Dnsmasq est un serveur <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> léger et un redirecteur<abbr title=\"Domain Name "
-"System\">DNS</abbr>."
+"Dnsmasq est un serveur <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> léger et un redirecteur<abbr title=\"Domain Name System"
+"\">DNS</abbr>."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:419
msgid "Do not cache negative replies, e.g. for non-existent domains."
msgstr ""
"Ne pas mettre en cache les réponses négatives, par ex. pour des domaines "
msgid "Do not create host route to peer (optional)."
msgstr "Ne pas créer de route hôte vers le pair (facultatif)."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:262
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:264
msgid "Do not forward DNS queries without dots or domain parts."
msgstr "Ne pas transmettre les requêtes DNS sans points ou parties de domaine."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
msgid "Do not forward reverse lookups for local networks."
msgstr ""
"Ne pas transmettre les requêtes de recherche inverse pour les réseaux locaux."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:339
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
msgid "Do not listen on the specified interfaces."
msgstr "Empêcher l'écoute sur ces interfaces."
"Do not proxy any <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> "
"packets."
msgstr ""
-"Ne pas acheminer des paquets <abbr title=\"Neighbour Discovery "
-"Protocol\">NDP</abbr>."
+"Ne pas acheminer des paquets <abbr title=\"Neighbour Discovery Protocol"
+"\">NDP</abbr>."
#: modules/luci-base/htdocs/luci-static/resources/protocol/dhcp.js:25
msgid "Do not send a hostname"
msgid "Do you want to replace the current keys?"
msgstr "Voulez-vous remplacer les clés actuelles ?"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:593
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:606
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:664
msgid "Domain"
msgstr "Domaine"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:261
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:263
msgid "Domain required"
msgstr "Domaine nécessaire"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:316
msgid "Domain whitelist"
msgstr "Liste blanche de domaines"
msgid "Enable Single DES"
msgstr "Activer le DES unique"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:480
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
msgid "Enable TFTP server"
msgstr "Activer le serveur TFTP"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/uhttpd.js:14
msgid ""
-"Enable automatic redirection of <abbr title=\"Hypertext Transfer "
-"Protocol\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol "
-"Secure\">HTTPS</abbr> port."
+"Enable automatic redirection of <abbr title=\"Hypertext Transfer Protocol"
+"\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol Secure"
+"\">HTTPS</abbr> port."
msgstr ""
"Active la redirection automatique des requêtes <abbr title=\"Hypertext "
"Transfer Protocol\">HTTP</abbr> vers le port <abbr title=\"Hypertext "
msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets."
msgstr "Activez le drapeau DF (Don’t Fragment) des paquets encapsulants."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:481
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
msgid "Enable the built-in single-instance TFTP server."
msgstr "Activez le serveur TFTP à instance unique intégré."
msgid "Error getting PublicKey"
msgstr "Erreur lors de l’obtention de la clé publique"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
msgid "Errored seconds (ES)"
msgstr "Erreurs de secondes (ES)"
msgid "Every second (fast, 1)"
msgstr "Chaque seconde (fast, 1)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:343
msgid "Exclude interfaces"
msgstr "Exclure les interfaces"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
msgid ""
"Exempt <code>127.0.0.0/8</code> and <code>::1</code> from rebinding checks, "
"e.g. for RBL services."
msgid "Existing device"
msgstr "Périphérique existant"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:409
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
msgid "Expand hosts"
msgstr "Étendre le nom d'hôte"
msgid "File"
msgstr "Fichier"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
msgid ""
"File listing upstream resolvers, optionally domain-specific, e.g. "
"<code>server=1.2.3.4</code>, <code>server=/domain/1.2.3.4</code>."
msgid "File not accessible"
msgstr "Fichier non accessible"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:354
msgid "File to store DHCP lease information."
msgstr ""
"Fichier dans lequel les baux <abbr title=\"Dynamic Host Configuration "
"Protocol\">DHCP</abbr> seront stockés."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:362
msgid "File with upstream resolvers."
msgstr "Fichier contenant les résolveurs en amont."
#: modules/luci-base/htdocs/luci-static/resources/ui.js:2846
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:507
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:512
msgid "Filename"
msgstr "Nom de fichier"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:493
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:498
msgid "Filename of the boot image advertised to clients."
msgstr "Nom de fichier de l'image de démarrage publiée aux clients."
msgid "Filesystem"
msgstr "Système de fichiers"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
msgid "Filter private"
msgstr "Filtrer les requêtes privées"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
msgid "Filter useless"
msgstr "Filtrer les requêtes inutiles"
msgid "Firmware Version"
msgstr "Version du micrologiciel"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:446
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:451
msgid "Fixed source port for outbound DNS queries."
msgstr "Port source fixe pour les requêtes DNS sortantes."
msgid "Flashing…"
msgstr "Écriture en cours…"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:686
msgid "Force"
msgstr "Forcer"
msgid "Force use of NAT-T"
msgstr "Forcer l'utilisation de NAT-T"
-#: modules/luci-base/luasrc/view/csrftoken.htm:8
+#: modules/luci-base/ucode/template/csrftoken.ut:8
msgid "Form token mismatch"
msgstr "Non-correspondance des jetons de formulaire"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:919
msgid ""
-"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr "
-"title=\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr "
-"title=\"Neighbour Advertisement, Type 136\">NA</abbr> messages between the "
-"designated master interface and downstream interfaces."
+"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr title="
+"\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr title=\"Neighbour "
+"Advertisement, Type 136\">NA</abbr> messages between the designated master "
+"interface and downstream interfaces."
msgstr ""
"Transférer les messages <abbr title=\"Neighbour Discovery Protocol\">NDP</"
"abbr> <abbr title=\"Neighbour Solicitation, Type 135\">NS</abbr> et <abbr "
"Transférer les messages DHCPv6 entre l'interface maître désignée et les "
"interfaces en aval."
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
msgid "Forward Error Correction Seconds (FECS)"
msgstr "Forward Error Correction Secondes (FECS)"
msgid "Global network options"
msgstr "Options globales de réseau"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:82
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:74
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:70
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:84
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:67
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:92
msgid "Go to firmware upgrade..."
msgstr "Aller à la mise à niveau du firmware …"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:72
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:64
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:60
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:57
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:82
msgid "Go to password configuration..."
msgstr "Aller à la configuration du mot de passe…"
msgid "Hang Up"
msgstr "Signal (HUP)"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
msgid "Header Error Code Errors (HEC)"
msgstr "Erreurs de code d'erreur d'en-tête (HEC)"
msgid "Host expiry timeout"
msgstr "Délai d'expiration pour les hôtes"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
msgid "Host requests this filename from the boot server."
msgstr "L’hôte demande ce nom de fichier au serveur d’amorçage."
msgstr "Contenu du tag Host-Uniq"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:38
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:607
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:678
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:54
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:87
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:135
msgid "Hostnames"
msgstr "Noms d'hôtes"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:551
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:622
msgid ""
"Hostnames are used to bind a domain name to an IP address. This setting is "
"redundant for hostnames already configured with static leases, but it can be "
msgid "IP Protocol"
msgstr "Protocole IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:260
msgid "IP Sets"
msgstr "Ensembles d’adresses IP"
msgid "IP Type"
msgstr "Type IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:563
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:634
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:178
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:204
msgid "IP address"
msgid "IP protocol"
msgstr "Protocole IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:660
msgid "IP set"
msgstr "Ensemble d’adresses IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:300
msgid "IP sets"
msgstr "Ensembles d’adresses IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:437
msgid "IPs to override with NXDOMAIN"
msgstr "Contourne les « NX Domain » bogués"
#: modules/luci-base/htdocs/luci-static/resources/protocol/static.js:178
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:736
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:88
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:164
msgid "IPv4 address"
msgid "IPv6 suffix"
msgstr "Suffixe IPv6"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:706
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:777
msgid "IPv6 suffix (hex)"
msgstr ""
"Suffixe <abbr title=\"Internet Protocol Version 6\">IPv6</abbr> (en "
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:340
msgid ""
"If your physical memory is insufficient unused data can be temporarily "
-"swapped to a swap-device resulting in a higher amount of usable <abbr "
-"title=\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a "
-"very slow process as the swap-device cannot be accessed with the high "
-"datarates of the <abbr title=\"Random Access Memory\">RAM</abbr>."
+"swapped to a swap-device resulting in a higher amount of usable <abbr title="
+"\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a very "
+"slow process as the swap-device cannot be accessed with the high datarates "
+"of the <abbr title=\"Random Access Memory\">RAM</abbr>."
msgstr ""
"Si votre mémoire physique est insuffisante, les données inutilisées peuvent "
"être temporairement échangées vers un périphérique d'échange, ce qui "
"très lent car le périphérique d'échange n'est pas accessible avec les taux "
"de données élevés de la <abbr title=\"Random Access Memory\">RAM</abbr>."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:363
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:368
msgid "Ignore <code>/etc/hosts</code>"
msgstr "Ignorer <code>/etc/hosts</code>"
msgid "Ignore interface"
msgstr "Ignorer l'interface"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:352
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
msgid "Ignore resolv file"
msgstr "Ignorer le fichier de résolution"
"la fonction de prévention des boucles de pont afin d'éviter les boucles de "
"diffusion qui peuvent paralyser l'ensemble du réseau local."
-#: modules/luci-base/luasrc/view/csrftoken.htm:13
+#: modules/luci-base/ucode/template/csrftoken.ut:13
msgid ""
"In order to prevent unauthorized access to the system, your request has been "
"blocked. Click \"Continue »\" below to return to the previous page."
msgid "Install protocol extensions..."
msgstr "Installation des extensions de protocole…"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:547
msgid "Instance"
msgstr "Occurrence"
msgid "Internal"
msgstr "Interne"
-#: modules/luci-base/luasrc/view/error500.htm:8
-msgid "Internal Server Error"
-msgstr "Erreur Serveur Interne"
-
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:285
msgid "Interval For Sending Learning Packets"
msgstr "Intervalle d'envoi des paquets d'apprentissage"
msgid "Invalid hexadecimal value"
msgstr "Valeur hexadécimale invalide"
-#: modules/luci-base/luasrc/view/sysauth.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:37
+#: modules/luci-base/ucode/template/sysauth.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:32
msgid "Invalid username and/or password! Please try again."
msgstr "Nom d'utilisateur et/ou mot de passe invalides ! Réessayez."
"L'image que vous essayez de flasher est vraisemblablement trop grosse pour "
"tenir dans la mémoire flash, merci de vérifier le fichier !"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:89
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:96
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:77
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:91
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:72
msgid "JavaScript required!"
msgstr "Nécessite JavaScript !"
msgid "Language and Style"
msgstr "Langue et apparence"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:560
+msgid ""
+"Larger weights (of the same prio) are given a proportionately higher "
+"probability of being selected."
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:575
msgid "Last member interval"
msgstr "Intervalle du dernier membre"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
msgid "Latency"
msgstr "Latence"
msgid "Learn routes"
msgstr "Apprentissage des itinéraires"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:348
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:353
msgid "Lease file"
msgstr "Fichier de baux"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:697
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:768
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:679
msgid "Lease time"
msgstr "Durée du bail"
msgid "Limit"
msgstr "Limite"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
msgid "Line Attenuation (LATN)"
msgstr "Atténuation de la ligne (LATN)"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
msgid "Line Mode"
msgstr "Mode ligne"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:17
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
msgid "Line State"
msgstr "État de la ligne"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
msgid "Line Uptime"
msgstr "Temps de fonctionnement de la ligne"
msgid "Link layer header bits %d-%d"
msgstr "Bits d'en-tête de la couche de liaison %d-%d"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
msgid "List of IP addresses to convert into NXDOMAIN responses."
msgstr "Liste des adresses IP à convertir en réponses NXDOMAIN."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:296
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:581
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:652
msgid "List of IP sets to populate with the specified domain IPs."
msgstr ""
"Liste des ensembles d'adresses IP à remplir avec les adresses IP de domaine "
msgid "List of SSH key files for auth"
msgstr "Liste des fichiers de clés SSH pour l'authentification"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:317
msgid "List of domains to allow RFC1918 responses for."
msgstr "Liste des domaines où sont permises les réponses de type RFC1918."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:290
-msgid "List of domains to force to an IP address."
-msgstr "Liste des domaines à forcer à une adresse IP."
-
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:283
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:285
msgid "List of upstream resolvers to forward queries to."
msgstr ""
"Liste des serveurs auquels sont transmis les requêtes <abbr title=\"Domain "
msgid "Listen Port"
msgstr "Port d'écoute"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:332
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:337
msgid "Listen interfaces"
msgstr "Interfaces d'écoute"
msgid "Listen only on the given interface or, if unspecified, on all"
msgstr "Écouter seulement sur l'interface spécifié, sinon sur toutes"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:333
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
msgid ""
"Listen only on the specified interfaces, and loopback if not excluded "
"explicitly."
msgid "ListenPort setting is invalid"
msgstr "Le paramètre du port d'écoute n’est pas valide"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:439
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:444
msgid "Listening port for inbound DNS queries."
msgstr "Port d'écoute pour les requêtes DNS entrantes."
msgstr "Chargement du contenu des répertoires…"
#: modules/luci-base/htdocs/luci-static/resources/luci.js:1942
-#: modules/luci-base/luasrc/view/view.htm:4
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:45
+#: modules/luci-base/ucode/template/view.ut:4
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:40
msgid "Loading view…"
msgstr "Chargement de la vue…"
msgid "Local ULA"
msgstr "ULA locale"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:273
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:275
msgid "Local domain"
msgstr "Domaine local"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:274
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:276
msgid "Local domain suffix appended to DHCP names and hosts file entries."
msgstr ""
"Suffixe du domaine local ajouté aux noms du serveur DHCP et du fichier Hosts."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:269
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:271
msgid "Local server"
msgstr "Serveur local"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:319
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:324
msgid "Local service only"
msgstr "Service local uniquement"
msgid "Local wireguard key"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
msgid "Localise queries"
msgstr "Localiser les requêtes"
msgid "Log output level"
msgstr "Niveau de journalisation"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:277
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:279
msgid "Log queries"
msgstr "Journaliser les requêtes"
msgid "Logical network to which the tunnel will be added (bridged) (optional)."
msgstr "Réseau logique auquel le tunnel sera ajouté (ponté) (facultatif)."
-#: modules/luci-base/luasrc/view/sysauth.htm:38
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:41
+#: modules/luci-base/ucode/template/sysauth.ut:38
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:36
msgid "Login"
msgstr "Connexion"
msgid "Loose filtering"
msgstr "Filtrage perdu"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
msgid "Loss of Signal Seconds (LOSS)"
msgstr "Perte de secondes de signal (LOSS)"
"Adresse allouée la plus basse, spécifiée par un décalage à partir de "
"l'adresse réseau."
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/footer.ut:12
+msgid "Lua compatibility mode active"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:48
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:83
msgid "MAC"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:591
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:40
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:619
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1164
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2177
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:56
msgid "MTU"
msgstr "MTU"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:259
+msgid "MX"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:303
msgid ""
"Make sure to clone the root filesystem using something like the commands "
msgid "Max <abbr title=\"Router Advertisement\">RA</abbr> interval"
msgstr "Intervalle maximal <abbr title=\"Annonce de routeur\">RA</abbr>"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
msgid "Max. Attainable Data Rate (ATTNDR)"
msgstr "Débit de données max. atteignable (ATTNDR)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:457
msgid "Max. DHCP leases"
msgstr ""
-"Nombre maximal de baux <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr>"
+"Nombre maximal de baux <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:459
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:464
msgid "Max. EDNS0 packet size"
msgstr ""
"Taille maximale des paquets <abbr title=\"Extension Mechanisms for Domain "
"Name System\">EDNS0</abbr>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:466
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:471
msgid "Max. concurrent queries"
msgstr "Nombre maximal de requêtes concurrentes"
msgid "Maximum allowed Listen Interval"
msgstr "Intervalle d'écoute maximum autorisé"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:453
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:458
msgid "Maximum allowed number of active DHCP leases."
msgstr "Nombre maximum de baux DHCP actifs."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:467
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:472
msgid "Maximum allowed number of concurrent DNS queries."
msgstr "Nombre maximum autorisé de requêtes DNS simultanées."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:460
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:465
msgid "Maximum allowed size of EDNS0 UDP packets."
msgstr "Taille maximale autorisée des paquets UDP de l'EDNS0."
"Maximum time allowed between sending unsolicited <abbr title=\"Router "
"Advertisement, ICMPv6 Type 134\">RA</abbr>. Default is 600 seconds."
msgstr ""
-"Délai maximal autorisé entre l'envoi de messages non sollicités <abbr "
-"title=\"Annonce de routeur, ICMPv6 Type 134\">RA</abbr>. La valeur par "
-"défaut est de 600 secondes."
+"Délai maximal autorisé entre l'envoi de messages non sollicités <abbr title="
+"\"Annonce de routeur, ICMPv6 Type 134\">RA</abbr>. La valeur par défaut est "
+"de 600 secondes."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:947
msgid "Maximum transmit power"
msgstr "Puissance d'émission maximale"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:394
msgid "May prevent VoIP or other services from working."
msgstr ""
"Minimum time allowed between sending unsolicited <abbr title=\"Router "
"Advertisement, ICMPv6 Type 134\">RA</abbr>. Default is 200 seconds."
msgstr ""
-"Délai minimum autorisé entre l'envoi de messages non sollicités <abbr "
-"title=\"Annonce de routeur, ICMPv6 Type 134\">RA</abbr>. La valeur par "
-"défaut est de 200 secondes."
+"Délai minimum autorisé entre l'envoi de messages non sollicités <abbr title="
+"\"Annonce de routeur, ICMPv6 Type 134\">RA</abbr>. La valeur par défaut est "
+"de 200 secondes."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/switch.js:204
msgid "Mirror monitor port"
msgid "Name of the tunnel device"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:46
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:39
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:50
msgid "Navigation"
msgstr "Navigation"
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:10
+msgid "Nebula Network"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:653
msgid "Neighbour cache validity"
msgstr "Validité du cache voisin"
msgid "Network address"
msgstr "Adresse du réseau"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:492
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:497
msgid "Network boot image"
msgstr "Image de démarrage réseau"
msgid "Network interface"
msgstr "Interface réseau"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:536
msgid "Network-ID"
msgstr "Identité du réseau"
msgid "Never"
msgstr "Jamais"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:270
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:272
msgid ""
"Never forward matching domains and subdomains, resolve from DHCP or hosts "
"files only."
msgid "No RX signal"
msgstr "Pas de signal RX"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:80
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:87
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:68
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:82
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:65
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:90
msgid ""
"No changes to settings will be stored and are lost after rebooting. This "
msgid "No entries in this directory"
msgstr "Aucune entrée dans ce répertoire"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:82
-msgid "No files found"
-msgstr "Aucun fichier trouvé"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:833
msgid ""
"No fixed interface listening port defined, peers might not be able to "
msgid "No more slaves available, can not save interface"
msgstr "Plus d'esclaves disponibles, ne peut pas sauver l'interface"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:413
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
msgid "No negative cache"
msgstr "Pas de cache négatif"
msgid "No nftables ruleset loaded."
msgstr "Aucun jeu de règles nftables n'est chargé."
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:69
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:61
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:57
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:54
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:79
msgid "No password set!"
msgstr "Pas de mot de passe positionné !"
msgid "Noise"
msgstr "Bruit"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
msgid "Noise Margin (SNR)"
msgstr "Rapport signal sur bruit (SNR)"
msgid "Noise:"
msgstr "Bruit :"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
msgid "Non Pre-emptive CRC errors (CRC_P)"
msgstr "Erreurs CRC non préemptives (CRC_P)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:330
msgid "Non-wildcard"
msgstr "Non-wildcard"
msgid "Normal"
msgstr "Normal"
-#: modules/luci-base/luasrc/view/error404.htm:8
+#: modules/luci-base/ucode/template/error404.ut:9
msgid "Not Found"
msgstr "Pas trouvé"
msgid "Number of IGMP membership reports"
msgstr "Nombre de rapports d'adhésion à l'IGMP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:474
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:479
msgid "Number of cached DNS entries, 10000 is maximum, 0 is no caching."
msgstr ""
"Nombre d'entrées DNS gardées en cache (maximum 10000 ; entrez \"0\" pour "
msgid "On-link"
msgstr "Route On-Link"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:672
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:743
msgid "One of hostname or MAC address must be specified!"
msgstr "Il faut indiquer un nom d'hôte ou une adresse MAC !"
msgstr "Ouvrir l'aperçu des règles iptables…"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:472
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:19
msgid "Open list..."
msgstr "Ouvrir la liste…"
msgid "Options"
msgstr "Options"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:526
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
msgid ""
"Options for the Network-ID. (Note: needs also Network-ID.) E.g. "
-"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</"
-"code>\" for default route. <code>0.0.0.0</code> means \"the address of the "
-"system running dnsmasq\"."
+"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</code>"
+"\" for default route. <code>0.0.0.0</code> means \"the address of the system "
+"running dnsmasq\"."
msgstr ""
"Options pour le Network-ID. (Note : nécessite également Network-ID.) Par "
"exemple, \"<code>42,192.168.1.4</code>\" pour le serveur NTP, "
msgid "Options:"
msgstr "Options :"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
+msgid "Ordinal: lower comes first."
+msgstr ""
+
#: protocols/luci-proto-batman-adv/htdocs/luci-static/resources/protocol/batadv.js:55
msgid "Originator Interval"
msgstr "Intervalle d'origine"
msgstr ""
"Pass-through (Mise en miroir du périphérique physique sur un seul VLAN MAC)"
-#: modules/luci-base/luasrc/view/sysauth.htm:29
+#: modules/luci-base/ucode/template/sysauth.ut:29
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1690
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:51
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:114
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:103
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:24
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:19
msgid "Password"
msgstr "Mot de passe"
msgid "Pkts."
msgstr "Pqts."
-#: modules/luci-base/luasrc/view/sysauth.htm:19
+#: modules/luci-base/ucode/template/sysauth.ut:19
msgid "Please enter your username and password."
msgstr "Saisissez votre nom d'utilisateur et mot de passe."
msgid "Policy: <strong>%h</strong> (%h)"
msgstr "Politique : <strong>%h</strong> (%h)"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:579
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:21
msgid "Port"
msgstr "Port"
msgid "Potential negation of: %s"
msgstr "Négation potentielle de : %s"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:38
msgid "Power Management Mode"
msgstr "Mode de gestion de l'énergie"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
msgid "Pre-emptive CRC errors (CRCP_P)"
msgstr "Erreurs CRC préventives (CRCP_P)"
msgstr "Le primaire devient un esclave actif dès qu'il revient (toujours, 0)"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:129
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:197
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:223
msgid "Quality"
msgstr "Qualité"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
msgid "Query all available upstream resolvers."
msgstr ""
"Interroger tous les serveurs <abbr title=\"Système de noms de domaine\">DNS</"
"Octets bruts codés en hexadécimal. Laissez le champ vide, sauf si votre FAI "
"l'exige"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:345
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:350
msgid "Read <code>/etc/ethers</code> to configure the DHCP server."
msgstr "Lisez <code>/etc/ethers</code> pour configurer le serveur DHCP."
msgid "Reassociation Deadline"
msgstr "Date limite de réassociation"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
msgid "Rebind protection"
msgstr "Protection contre l'attaque « rebind »"
"ou égale à la valeur spécifiée"
#: modules/luci-compat/luasrc/model/network/proto_relay.lua:153
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:611
#: protocols/luci-proto-relay/htdocs/luci-static/resources/protocol/relay.js:39
msgid "Relay"
msgstr "Relais"
msgid "Required. Base64-encoded private key for this interface."
msgstr "Obligatoire. Clé privée encodée en Base64 pour cette interface."
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Required. Path to the .yml config file for this interface."
+msgstr ""
+
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:587
msgid "Required. Public key of the WireGuard peer."
msgstr "Obligatoire. Clé publique de l’homologue WireGuard."
msgstr "Reselection politique pour esclave primaire"
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2197
-#: modules/luci-base/luasrc/view/sysauth.htm:39
+#: modules/luci-base/ucode/template/sysauth.ut:39
#: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
#: modules/luci-compat/luasrc/view/cbi/footer.htm:30
#: modules/luci-compat/luasrc/view/cbi/simpleform.htm:66
msgid "Resolv and Hosts Files"
msgstr "Fichiers Resolv et Hosts"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:356
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:361
msgid "Resolv file"
msgstr "Fichier de résolution des noms"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:292
+msgid "Resolve specified FQDNs to an IP."
+msgstr "Liste des domaines à forcer à une adresse IP."
+
#: modules/luci-base/htdocs/luci-static/resources/rpc.js:405
msgid "Resource not found"
msgstr "Ressource non trouvée"
msgid "Restore backup"
msgstr "Restaurer une sauvegarde"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
msgid ""
"Return answers to DNS queries matching the subnet from which the query was "
"received if multiple IPs are available."
msgid "Robustness"
msgstr "Robustesse"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:491
msgid ""
"Root directory for files served via TFTP. <em>Enable TFTP server</em> and "
"<em>TFTP server root</em> turn on the TFTP server and serve files from "
msgid "SNR"
msgstr "SNR"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "SRV"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:10
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:38
msgid "SSH Access"
msgid "Server"
msgstr "Serveur"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:524
msgid "Server address"
msgstr "Adresse du serveur"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:518
msgid "Server name"
msgstr "Nom du serveur"
"When enabled, clients will perform stateless IPv6 address autoconfiguration."
msgstr ""
"Définir l'indicateur de configuration d'adresse autonome dans les options "
-"d'information sur les préfixes des messages envoyés par <abbr "
-"title=\"Annonce de routeur\">RA</abbr>. Lorsqu'il est activé, les clients "
+"d'information sur les préfixes des messages envoyés par <abbr title="
+"\"Annonce de routeur\">RA</abbr>. Lorsqu'il est activé, les clients "
"effectueront une autoconfiguration d'adresse IPv6 sans état."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:719
msgid "Setup routes for proxied IPv6 neighbours."
msgstr "Configurez les itinéraires pour les proxysIPv6 voisins."
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
msgid "Severely Errored Seconds (SES)"
msgstr "Secondes gravement erronées (SES)"
msgstr "Préambule court"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:470
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:18
msgid "Show current backup file list"
msgstr "Afficher la liste des fichiers de la sauvegarde actuelle"
msgid "Signal / Noise"
msgstr "Signal / bruit"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
msgid "Signal Attenuation (SATN)"
msgstr "Atténuation du signal (SATN)"
msgid "Size"
msgstr "Taille"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:473
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:478
msgid "Size of DNS query cache"
msgstr "Taille du cache de requête DNS"
msgstr ""
"Ignorer les fichiers de sauvegarde qui sont égaux à ceux présents dans /rom"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:42
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:35
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:46
msgid "Skip to content"
msgstr "Passer au contenu"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:41
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:34
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:45
msgid "Skip to navigation"
msgstr "Passer à la navigation"
msgid "Some fields are invalid, cannot save values!"
msgstr "Certains champs sont invalides, ne peut sauvegarder les valeurs !"
-#: modules/luci-base/luasrc/view/error404.htm:9
+#: modules/luci-base/ucode/template/error404.ut:10
msgid "Sorry, the object you requested was not found."
msgstr "Désolé, l'objet que vous avez demandé n'as pas été trouvé."
-#: modules/luci-base/luasrc/view/error500.htm:9
-msgid "Sorry, the server encountered an unexpected error."
-msgstr "Désolé, le serveur à rencontré une erreur inattendue."
-
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:442
msgid ""
"Sorry, there is no sysupgrade support present; a new firmware image must be "
msgid "Source port"
msgstr "Port source"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:505
msgid ""
"Special <abbr title=\"Preboot eXecution Environment\">PXE</abbr> boot "
"options for Dnsmasq."
msgstr ""
-"Options de démarrage spéciales <abbr title=\"Preboot eXecution "
-"Environment\">PXE</abbr> pour Dnsmasq."
+"Options de démarrage spéciales <abbr title=\"Preboot eXecution Environment"
+"\">PXE</abbr> pour Dnsmasq."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:906
msgid ""
msgid "Static address"
msgstr "Adresse statique"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:598
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:669
msgid ""
"Static leases are used to assign fixed IP addresses and symbolic hostnames "
"to DHCP clients. They are also required for non-dynamic interface "
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:16
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:541
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:929
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:9
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:9
msgid "Status"
msgstr "État"
msgid "Strict filtering"
msgstr "Filtrage strict"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
msgid "Strict order"
msgstr "Ordre strict"
msgid "Submit"
msgstr "Soumettre"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
msgid "Suppress logging"
msgstr "Supprimer la journalisation"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:373
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
msgid "Suppress logging of the routine operation for the DHCP protocol."
msgstr ""
"Supprimer la journalisation du fonctionnement de routine pour le protocole "
msgid "Sync with browser"
msgstr "Synchroniser avec le navigateur"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:293
+msgid "Syntax: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "Syntax: <code>_service._proto.example.com</code>."
+msgstr ""
+
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:26
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:17
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:113
msgid "System log buffer size"
msgstr "Taille du tampon du journal système"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:79
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:86
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:71
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:67
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:81
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:64
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:89
msgid "System running in recovery (initramfs) mode."
msgstr "Le système fonctionne en mode de récupération (initramfs)."
msgid "TCP:"
msgstr "TCP :"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:490
msgid "TFTP server root"
msgstr "Racine du serveur TFTP"
msgid "Table"
msgstr "Table"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:56
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:66
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:187
"vous devez maintenant utiliser le nom d'utilisateur brut au lieu de l'ID "
"utilisateur!"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:681
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:752
msgid "The IP address %h is already used by another static lease"
msgstr "L'adresse IP %h est déjà utilisée par un autre bail statique"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:761
msgid "The IP address is outside of any DHCP pool address range"
msgstr "L’adresse IP est en dehors de toute plage d’adresses du pool DHCP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:520
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
msgid "The IP address of the boot server"
msgstr "Adresse IP du serveur de démarrage"
"The device file of the memory or partition (<abbr title=\"for example\">e.g."
"</abbr> <code>/dev/sda1</code>)"
msgstr ""
-"Le fichier de périphérique de la mémoire ou de la partition (<abbr "
-"title=\"par exemple\">par exemple.</abbr> <code>/dev/sda1</code>)"
+"Le fichier de périphérique de la mémoire ou de la partition (<abbr title="
+"\"par exemple\">par exemple.</abbr> <code>/dev/sda1</code>)"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:450
msgid "The device name \"%s\" is already taken"
"d’un saut supplémentaire (le paquet doit être reçu et retransmis, ce qui "
"coûte du temps d’antenne)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:514
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
msgid "The hostname of the boot server"
msgstr "Nom d’hôte du serveur d’amorçage"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/switch.js:139
msgid ""
-"The network ports on this device can be combined to several <abbr "
-"title=\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
+"The network ports on this device can be combined to several <abbr title="
+"\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
"communicate directly with each other. <abbr title=\"Virtual Local Area "
"Network\">VLAN</abbr>s are often used to separate different network "
"segments. Often there is by default one Uplink port for a connection to the "
msgid "The selected %s mode is incompatible with %s encryption"
msgstr "Le mode %s sélectionné n'est pas compatible avec le chiffrement %s"
-#: modules/luci-base/luasrc/view/csrftoken.htm:11
+#: modules/luci-base/ucode/template/csrftoken.ut:11
msgid "The submitted security token is invalid or already expired!"
msgstr "Le jeton de sécurité soumis n'est pas valide ou a expiré !"
"de règles iptables et nftables est déconseillé et peut entraîner un filtrage "
"incomplet du trafic."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:746
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:778
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:817
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:849
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:130
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:179
msgid "There are no active leases"
msgid "There are no changes to apply"
msgstr "Il n'y a aucun changement à appliquer"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:70
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:58
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:55
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:80
msgid ""
"There is no password set on this router. Please configure a root password to "
msgstr "Cela ne ressemble pas à un fichier PEM valide"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:16
msgid ""
"This is a list of shell glob patterns for matching files and directories to "
"include during sysupgrade. Modified files in /etc/config/ and certain other "
"Il s'agit de l'adresse de l'extrémité locale attribuée par le fournisseur de "
"tunnels, elle se termine habituellement avec <code>...:2/64</code>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:266
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:268
msgid "This is the only DHCP server in the local network."
msgstr ""
"C'est le seul serveur <abbr title=\"Protocole de Configuration Dynamique des "
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:440
msgid ""
"To fully configure the local WireGuard interface from an existing (e.g. "
-"provider supplied) configuration file, use the <strong><a class=\"full-"
-"import\" href=\"#\">configuration import</a></strong> instead."
+"provider supplied) configuration file, use the <strong><a class=\"full-import"
+"\" href=\"#\">configuration import</a></strong> instead."
msgstr ""
"Pour configurer entièrement l'interface WireGuard locale à partir d'un "
"fichier de configuration existant (par exemple, fourni par le fournisseur), "
msgid "Unable to determine upstream interface"
msgstr "Impossible de déterminer l'interface en amont"
-#: modules/luci-base/luasrc/view/error404.htm:11
+#: modules/luci-base/ucode/template/error404.ut:12
msgid "Unable to dispatch"
msgstr "Impossible d'envoyer"
msgid "Unable to verify PIN"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
msgid "Unavailable Seconds (UAS)"
msgstr "Secondes non disponibles (UAS)"
"En appuyant sur « Continuer », les options ifname seront renommées et le "
"réseau sera redémarré pour appliquer la configuration mise à jour."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
msgid "Upstream resolvers will be queried in the order of the resolv file."
msgstr ""
"Les serveurs <abbr title=\"Domain Name System\">DNS</abbr> seront interrogés "
msgid "Uptime"
msgstr "Durée de fonctionnement"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
msgid "Use <code>/etc/ethers</code>"
msgstr "Utilisez <code>/etc/ethers</code>"
msgid "Use system certificates for inner-tunnel"
msgstr "Utiliser des certificats système pour le tunnel intérieur"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:599
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:670
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC address</"
"em> identifies the host, the <em>IPv4 address</em> specifies the fixed "
msgid "User key (PEM encoded)"
msgstr "Clé utilisateur (codée PEM)"
-#: modules/luci-base/luasrc/view/sysauth.htm:23
+#: modules/luci-base/ucode/template/sysauth.ut:23
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:112
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:101
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:56
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:18
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:13
msgid "Username"
msgstr "Nom d'utilisateur"
msgid "VXLANv6 (RFC7348)"
msgstr "VXLANv6 (RFC7348)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
msgid ""
"Validate DNS replies and cache DNSSEC data, requires upstream to support "
"DNSSEC."
msgid "Vendor Class to send when requesting DHCP"
msgstr "Classe de fournisseur à envoyer dans les requêtes DHCP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:408
msgid "Verify unsigned domain responses really come from unsigned domains."
msgstr ""
"Vérifier que les réponses de domaines non signés proviennent réellement de "
msgid "Weak"
msgstr "Faible"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+msgid "Weight"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1029
msgid ""
"When delegating prefixes to multiple downstreams, interfaces with a higher "
msgid "Wireless network is enabled"
msgstr "Le réseau Wi-Fi est activé"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:278
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:280
msgid "Write received DNS queries to syslog."
msgstr "Écrire les requêtes DNS reçues dans syslog."
msgstr ""
"Vous pouvez activer ou désactiver les scripts d'initialisation installés "
"ici. Les changements seront pris en compte après un redémarrage. <br /"
-"><strong>Attention : Si vous désactivez des scripts essentiels comme "
-"\"réseau\", votre équipement pourrait ne plus être accessible !</strong>"
+"><strong>Attention : Si vous désactivez des scripts essentiels comme \"réseau"
+"\", votre équipement pourrait ne plus être accessible !</strong>"
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
+msgid "You may add multiple records for the same Target."
+msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:90
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:97
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:596
+msgid "You may add multiple records for the same domain."
+msgstr ""
+
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:78
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:92
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:73
msgid ""
"You must enable JavaScript in your browser or LuCI will not work properly."
msgid "ZRam Size"
msgstr "Taille ZRam"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:558
+msgid "_proto: _tcp, _udp, _sctp, _quic, … ."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:557
+msgid ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Note: while _http is "
+"possible, no browsers support SRV records.)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:454
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:152
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:163
msgid "any"
msgid "e.g: dump"
msgstr "par exemple : vidage"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:726
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:756
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:797
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:827
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:101
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:148
msgid "expired"
"<abbr title=\"Hypertext Transfer Protocol Secure\">HTTPS</abbr> network "
"access."
msgstr ""
-"uHTTPd offre un accès réseau <abbr title=\"Hypertext Transfer "
-"Protocol\">HTTP</abbr> ou <abbr title=\"Hypertext Transfer Protocol "
-"Secure\">HTTPS</abbr>."
+"uHTTPd offre un accès réseau <abbr title=\"Hypertext Transfer Protocol"
+"\">HTTP</abbr> ou <abbr title=\"Hypertext Transfer Protocol Secure\">HTTPS</"
+"abbr>."
#: modules/luci-base/htdocs/luci-static/resources/validation.js:574
msgid "unique value"
msgid "unknown"
msgstr "inconnu"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:456
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:724
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:754
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:461
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:795
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:825
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:99
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:146
msgid "unlimited"
msgid "« Back"
msgstr "« Retour"
+#~ msgid "Back to configuration"
+#~ msgstr "Retour à la configuration"
+
+#~ msgid "Close list..."
+#~ msgstr "Fermer la liste…"
+
+#~ msgid "Internal Server Error"
+#~ msgstr "Erreur Serveur Interne"
+
+#~ msgid "No files found"
+#~ msgstr "Aucun fichier trouvé"
+
+#~ msgid "Sorry, the server encountered an unexpected error."
+#~ msgstr "Désolé, le serveur à rencontré une erreur inattendue."
+
#~ msgid "Do not forward queries that cannot be answered by public resolvers."
#~ msgstr ""
#~ "Ne pas transmettre les requêtes qui ne peuvent être résolues par les "
#~ msgid ""
#~ "The filesystem that was used to format the memory (<abbr title=\"for "
-#~ "example\">e.g.</abbr> <samp><abbr title=\"Third Extended "
-#~ "Filesystem\">ext3</abbr></samp>)"
+#~ "example\">e.g.</abbr> <samp><abbr title=\"Third Extended Filesystem"
+#~ "\">ext3</abbr></samp>)"
#~ msgstr ""
#~ "Le système de fichiers utilisé pour formatter le support de stockage "
#~ "(ex : ext3)"
msgid "<abbr title=\"Router Advertisement\">RA</abbr>-Service"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:294
+msgid ""
+"<code>/#/</code> matches any domain. <code>/example.com/</code> returns "
+"NXDOMAIN."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+msgid ""
+"<code>/example.com/#</code> returns NULL addresses (<code>0.0.0.0</code> and "
+"<code>::</code>) for example.com and its subdomains."
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:87
msgctxt "nft relational \">\" operator expression"
msgid "<var>%s</var> greater than <strong>%s</strong>"
msgid "ATM device number"
msgstr "מס' התקן של ATM"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
msgid "ATU-C System Vendor ID"
msgstr ""
msgid "Absent Interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:320
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
msgid "Accept DNS queries only from hosts whose address is on a local subnet."
msgstr ""
msgid "Add key"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:410
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:415
msgid "Add local domain suffix to names served from hosts files."
msgstr "הוסף דומיין מקומי לשמות המוגשים מהקבצים של המארח"
msgid "Add to Whitelist"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:367
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
msgid "Additional hosts files"
msgstr "קבצי מארח נוספים"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:417
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
msgid "Additional servers file"
msgstr ""
msgid "Address to access local relay bridge"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:289
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:291
msgid "Addresses"
msgstr ""
msgid "Aggregate Originator Messages"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
msgid "Aggregate Transmit Power (ACTATP)"
msgstr ""
msgid "Alias of \"%s\""
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
msgid "All servers"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
msgid ""
"Allocate IP addresses sequentially, starting from the lowest available "
"address."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
msgid "Allocate IPs sequentially"
msgstr ""
msgid "Allow listed only"
msgstr "אפשר רשומים בלבד"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
#, fuzzy
msgid "Allow localhost"
msgstr "אפשר localhost"
msgid "Always on (kernel: default-on)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:538
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
msgid "Always send DHCP Options. Sometimes needed, with e.g. PXELinux."
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1484
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
msgid "Annex"
msgstr ""
msgid "Any zone"
msgstr "כל תחום"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:532
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
msgid "Apply DHCP Options to this net. (Empty = all clients)."
msgstr ""
msgid "Authentication Type"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:265
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:267
msgid "Authoritative"
msgstr "מוסמך"
-#: modules/luci-base/luasrc/view/sysauth.htm:17
+#: modules/luci-base/ucode/template/sysauth.ut:17
#: themes/luci-theme-bootstrap/htdocs/luci-static/resources/view/bootstrap/sysauth.js:11
msgid "Authorization Required"
msgstr "דרוש אימות"
msgid "Avoid Bridge Loops"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
msgid ""
"Avoid uselessly triggering dial-on-demand links (filters SRV/SOA records and "
"names with underscores)."
msgid "Back to Overview"
msgstr "חזרה לסקירה"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:48
-msgid "Back to configuration"
-msgstr "חזרה להגדרות"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:826
msgid "Back to peer configuration"
msgstr ""
msgstr "גיבוי / קושחת פלאש"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:351
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:12
msgid "Backup file list"
msgstr "גיבוי רשימת קבצים"
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:352
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:46
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
msgid "Bind NTP server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:326
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:331
msgid "Bind dynamically to interfaces rather than wildcard address."
msgstr ""
msgid "Bind interface"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:595
+msgid ""
+"Bind service records to a domain name: specify the location of services."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:556
+msgid ""
+"Bind service records to a domain name: specify the location of services. See "
+"<a href=\"%s\">RFC2782</a>."
+msgstr ""
+
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gre.js:59
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gretap.js:64
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/grev6.js:64
msgid "CLAT configuration failed"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
+msgid "CNAME or fqdn"
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/processes.js:72
msgid "CPU usage (%)"
msgstr "שימוש מעבד (%)"
"persist connection"
msgstr "סגור חיבורים לא פעילים אחרי מספר השניות שהוגדר, הזן 0 על-מנת לא לסגור"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:49
-msgid "Close list..."
-msgstr "סגור רשימה..."
-
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:44
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:63
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2184
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:391
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:352
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:355
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:72
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:66
msgid "Collecting data..."
msgstr "נאספים נתונים…"
msgid "Compute outgoing checksum (optional)."
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Config File"
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4375
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
msgid "Configuration"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:764
msgid ""
-"Configures the operation mode of the <abbr title=\"Router "
-"Advertisement\">RA</abbr> service on this interface."
+"Configures the operation mode of the <abbr title=\"Router Advertisement"
+"\">RA</abbr> service on this interface."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:879
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/leds.js:59
msgid ""
-"Customizes the behaviour of the device <abbr title=\"Light Emitting "
-"Diode\">LED</abbr>s if possible."
+"Customizes the behaviour of the device <abbr title=\"Light Emitting Diode"
+"\">LED</abbr>s if possible."
msgstr ""
"מתאים את הגדרות ה-<abbr title=\"Light Emitting Diode\">LED</abbr>-ים במכשיר "
"(אם אפשרי)."
msgid "DAE-Secret"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:530
msgid "DHCP Options"
msgstr ""
msgid "DNS"
msgstr "DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:282
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:284
msgid "DNS forwardings"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:445
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:450
msgid "DNS query port"
msgstr "<abbr title=\"Domain Name System\">DNS</abbr> יציאת שאילתא"
msgid "DNS search domains"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:443
msgid "DNS server port"
msgstr "<abbr title=\"Domain Name System\">DNS</abbr> יציאת שרת"
msgid "DNS-Label / FQDN"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
msgid "DNSSEC"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:407
msgid "DNSSEC check unsigned"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1481
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:44
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:45
msgid "DSL"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:14
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:15
msgid "DSL Status"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:59
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:700
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:771
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:136
msgid "DUID"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
msgid "Data Rate"
msgstr ""
msgid "Disassociate On Low Acknowledgement"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:302
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
msgid ""
"Discard upstream responses containing <a href=\"%s\">RFC1918</a> addresses."
msgstr ""
msgid "Distributed ARP Table"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:548
msgid ""
"Dnsmasq instance to which this boot section is bound. If unspecified, the "
"section is valid for all dnsmasq instances."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:246
msgid ""
-"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</"
-"abbr> forwarder."
+"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</abbr> "
+"forwarder."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:419
msgid "Do not cache negative replies, e.g. for non-existent domains."
msgstr ""
msgid "Do not create host route to peer (optional)."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:262
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:264
msgid "Do not forward DNS queries without dots or domain parts."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
msgid "Do not forward reverse lookups for local networks."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:339
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
msgid "Do not listen on the specified interfaces."
msgstr ""
msgid "Do you want to replace the current keys?"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:593
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:606
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:664
msgid "Domain"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:261
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:263
msgid "Domain required"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:316
msgid "Domain whitelist"
msgstr ""
msgid "Enable Single DES"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:480
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
msgid "Enable TFTP server"
msgstr "אפשר שרת TFTP"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/uhttpd.js:14
msgid ""
-"Enable automatic redirection of <abbr title=\"Hypertext Transfer "
-"Protocol\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol "
-"Secure\">HTTPS</abbr> port."
+"Enable automatic redirection of <abbr title=\"Hypertext Transfer Protocol"
+"\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol Secure"
+"\">HTTPS</abbr> port."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:977
msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:481
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
msgid "Enable the built-in single-instance TFTP server."
msgstr ""
msgid "Error getting PublicKey"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
msgid "Errored seconds (ES)"
msgstr ""
msgid "Every second (fast, 1)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:343
msgid "Exclude interfaces"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
msgid ""
"Exempt <code>127.0.0.0/8</code> and <code>::1</code> from rebinding checks, "
"e.g. for RBL services."
msgid "Existing device"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:409
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
msgid "Expand hosts"
msgstr ""
msgid "File"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
msgid ""
"File listing upstream resolvers, optionally domain-specific, e.g. "
"<code>server=1.2.3.4</code>, <code>server=/domain/1.2.3.4</code>."
msgid "File not accessible"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:354
msgid "File to store DHCP lease information."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:362
msgid "File with upstream resolvers."
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/ui.js:2846
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:507
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:512
msgid "Filename"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:493
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:498
msgid "Filename of the boot image advertised to clients."
msgstr ""
msgid "Filesystem"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
msgid "Filter private"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
msgid "Filter useless"
msgstr ""
msgid "Firmware Version"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:446
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:451
msgid "Fixed source port for outbound DNS queries."
msgstr ""
msgid "Flashing…"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:686
msgid "Force"
msgstr ""
msgid "Force use of NAT-T"
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:8
+#: modules/luci-base/ucode/template/csrftoken.ut:8
msgid "Form token mismatch"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:919
msgid ""
-"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr "
-"title=\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr "
-"title=\"Neighbour Advertisement, Type 136\">NA</abbr> messages between the "
-"designated master interface and downstream interfaces."
+"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr title="
+"\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr title=\"Neighbour "
+"Advertisement, Type 136\">NA</abbr> messages between the designated master "
+"interface and downstream interfaces."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:770
"downstream interfaces."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
msgid "Forward Error Correction Seconds (FECS)"
msgstr ""
msgid "Global network options"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:82
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:74
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:70
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:84
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:67
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:92
msgid "Go to firmware upgrade..."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:72
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:64
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:60
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:57
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:82
msgid "Go to password configuration..."
msgstr ""
msgid "Hang Up"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
msgid "Header Error Code Errors (HEC)"
msgstr ""
msgid "Host expiry timeout"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
msgid "Host requests this filename from the boot server."
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:38
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:607
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:678
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:54
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:87
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:135
msgid "Hostnames"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:551
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:622
msgid ""
"Hostnames are used to bind a domain name to an IP address. This setting is "
"redundant for hostnames already configured with static leases, but it can be "
msgid "IP Protocol"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:260
msgid "IP Sets"
msgstr ""
msgid "IP Type"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:563
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:634
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:178
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:204
msgid "IP address"
msgid "IP protocol"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:660
msgid "IP set"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:300
msgid "IP sets"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:437
msgid "IPs to override with NXDOMAIN"
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/protocol/static.js:178
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:736
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:88
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:164
msgid "IPv4 address"
msgid "IPv6 suffix"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:706
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:777
msgid "IPv6 suffix (hex)"
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:340
msgid ""
"If your physical memory is insufficient unused data can be temporarily "
-"swapped to a swap-device resulting in a higher amount of usable <abbr "
-"title=\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a "
-"very slow process as the swap-device cannot be accessed with the high "
-"datarates of the <abbr title=\"Random Access Memory\">RAM</abbr>."
+"swapped to a swap-device resulting in a higher amount of usable <abbr title="
+"\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a very "
+"slow process as the swap-device cannot be accessed with the high datarates "
+"of the <abbr title=\"Random Access Memory\">RAM</abbr>."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:363
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:368
msgid "Ignore <code>/etc/hosts</code>"
msgstr ""
msgid "Ignore interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:352
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
msgid "Ignore resolv file"
msgstr ""
"order to avoid broadcast loops that can bring the entire LAN to a standstill."
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:13
+#: modules/luci-base/ucode/template/csrftoken.ut:13
msgid ""
"In order to prevent unauthorized access to the system, your request has been "
"blocked. Click \"Continue »\" below to return to the previous page."
msgid "Install protocol extensions..."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:547
msgid "Instance"
msgstr ""
msgid "Internal"
msgstr ""
-#: modules/luci-base/luasrc/view/error500.htm:8
-msgid "Internal Server Error"
-msgstr ""
-
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:285
msgid "Interval For Sending Learning Packets"
msgstr ""
msgid "Invalid hexadecimal value"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:37
+#: modules/luci-base/ucode/template/sysauth.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:32
msgid "Invalid username and/or password! Please try again."
msgstr "שם משתמש ו/או סיסמה שגויים! אנא נסה שנית."
"flash memory, please verify the image file!"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:89
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:96
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:77
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:91
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:72
msgid "JavaScript required!"
msgstr ""
msgid "Language and Style"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:560
+msgid ""
+"Larger weights (of the same prio) are given a proportionately higher "
+"probability of being selected."
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:575
msgid "Last member interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
msgid "Latency"
msgstr ""
msgid "Learn routes"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:348
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:353
msgid "Lease file"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:697
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:768
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:679
msgid "Lease time"
msgstr ""
msgid "Limit"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
msgid "Line Attenuation (LATN)"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
msgid "Line Mode"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:17
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
msgid "Line State"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
msgid "Line Uptime"
msgstr ""
msgid "Link layer header bits %d-%d"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
msgid "List of IP addresses to convert into NXDOMAIN responses."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:296
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:581
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:652
msgid "List of IP sets to populate with the specified domain IPs."
msgstr ""
msgid "List of SSH key files for auth"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:317
msgid "List of domains to allow RFC1918 responses for."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:290
-msgid "List of domains to force to an IP address."
-msgstr ""
-
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:283
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:285
msgid "List of upstream resolvers to forward queries to."
msgstr ""
msgid "Listen Port"
msgstr "פתחת האזנה"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:332
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:337
msgid "Listen interfaces"
msgstr ""
msgid "Listen only on the given interface or, if unspecified, on all"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:333
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
msgid ""
"Listen only on the specified interfaces, and loopback if not excluded "
"explicitly."
msgid "ListenPort setting is invalid"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:439
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:444
msgid "Listening port for inbound DNS queries."
msgstr ""
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:1942
-#: modules/luci-base/luasrc/view/view.htm:4
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:45
+#: modules/luci-base/ucode/template/view.ut:4
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:40
msgid "Loading view…"
msgstr ""
msgid "Local ULA"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:273
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:275
msgid "Local domain"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:274
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:276
msgid "Local domain suffix appended to DHCP names and hosts file entries."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:269
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:271
msgid "Local server"
msgstr "שרת מקומי"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:319
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:324
msgid "Local service only"
msgstr ""
msgid "Local wireguard key"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
msgid "Localise queries"
msgstr ""
msgid "Log output level"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:277
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:279
msgid "Log queries"
msgstr ""
msgid "Logical network to which the tunnel will be added (bridged) (optional)."
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:38
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:41
+#: modules/luci-base/ucode/template/sysauth.ut:38
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:36
msgid "Login"
msgstr ""
msgid "Loose filtering"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
msgid "Loss of Signal Seconds (LOSS)"
msgstr ""
msgid "Lowest leased address as offset from the network address."
msgstr ""
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/footer.ut:12
+msgid "Lua compatibility mode active"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:48
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:83
msgid "MAC"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:591
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:40
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:619
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1164
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2177
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:56
msgid "MTU"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:259
+msgid "MX"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:303
msgid ""
"Make sure to clone the root filesystem using something like the commands "
msgid "Max <abbr title=\"Router Advertisement\">RA</abbr> interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
msgid "Max. Attainable Data Rate (ATTNDR)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:457
msgid "Max. DHCP leases"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:459
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:464
msgid "Max. EDNS0 packet size"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:466
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:471
msgid "Max. concurrent queries"
msgstr ""
msgid "Maximum allowed Listen Interval"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:453
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:458
msgid "Maximum allowed number of active DHCP leases."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:467
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:472
msgid "Maximum allowed number of concurrent DNS queries."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:460
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:465
msgid "Maximum allowed size of EDNS0 UDP packets."
msgstr ""
msgid "Maximum transmit power"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:394
msgid "May prevent VoIP or other services from working."
msgstr ""
msgid "Name of the tunnel device"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:46
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:39
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:50
msgid "Navigation"
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:10
+msgid "Nebula Network"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:653
msgid "Neighbour cache validity"
msgstr ""
msgid "Network address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:492
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:497
msgid "Network boot image"
msgstr ""
msgid "Network interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:536
msgid "Network-ID"
msgstr ""
msgid "Never"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:270
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:272
msgid ""
"Never forward matching domains and subdomains, resolve from DHCP or hosts "
"files only."
msgid "No RX signal"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:80
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:87
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:68
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:82
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:65
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:90
msgid ""
"No changes to settings will be stored and are lost after rebooting. This "
msgid "No entries in this directory"
msgstr ""
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:82
-msgid "No files found"
-msgstr ""
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:833
msgid ""
"No fixed interface listening port defined, peers might not be able to "
msgid "No more slaves available, can not save interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:413
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
msgid "No negative cache"
msgstr ""
msgid "No nftables ruleset loaded."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:69
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:61
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:57
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:54
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:79
msgid "No password set!"
msgstr "לא הוגדרה סיסמה!"
msgid "Noise"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
msgid "Noise Margin (SNR)"
msgstr ""
msgid "Noise:"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
msgid "Non Pre-emptive CRC errors (CRC_P)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:330
msgid "Non-wildcard"
msgstr ""
msgid "Normal"
msgstr ""
-#: modules/luci-base/luasrc/view/error404.htm:8
+#: modules/luci-base/ucode/template/error404.ut:9
msgid "Not Found"
msgstr ""
msgid "Number of IGMP membership reports"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:474
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:479
msgid "Number of cached DNS entries, 10000 is maximum, 0 is no caching."
msgstr ""
msgid "On-link"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:672
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:743
msgid "One of hostname or MAC address must be specified!"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:472
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:19
msgid "Open list..."
msgstr ""
msgid "Options"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:526
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
msgid ""
"Options for the Network-ID. (Note: needs also Network-ID.) E.g. "
-"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</"
-"code>\" for default route. <code>0.0.0.0</code> means \"the address of the "
-"system running dnsmasq\"."
+"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</code>"
+"\" for default route. <code>0.0.0.0</code> means \"the address of the system "
+"running dnsmasq\"."
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:125
msgid "Options:"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
+msgid "Ordinal: lower comes first."
+msgstr ""
+
#: protocols/luci-proto-batman-adv/htdocs/luci-static/resources/protocol/batadv.js:55
msgid "Originator Interval"
msgstr ""
msgid "Pass-through (Mirror physical device to single MAC VLAN)"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:29
+#: modules/luci-base/ucode/template/sysauth.ut:29
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1690
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:51
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:114
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:103
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:24
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:19
msgid "Password"
msgstr ""
msgid "Pkts."
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:19
+#: modules/luci-base/ucode/template/sysauth.ut:19
msgid "Please enter your username and password."
msgstr "אנא הזן את שם המשתמש והסיסמה שלך:"
msgid "Policy: <strong>%h</strong> (%h)"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:579
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:21
msgid "Port"
msgstr "פתחה"
msgid "Potential negation of: %s"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:38
msgid "Power Management Mode"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
msgid "Pre-emptive CRC errors (CRCP_P)"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:129
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:197
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:223
msgid "Quality"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
msgid "Query all available upstream resolvers."
msgstr ""
msgid "Raw hex-encoded bytes. Leave empty unless your ISP require this"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:345
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:350
msgid "Read <code>/etc/ethers</code> to configure the DHCP server."
msgstr ""
msgid "Reassociation Deadline"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
msgid "Rebind protection"
msgstr ""
msgstr ""
#: modules/luci-compat/luasrc/model/network/proto_relay.lua:153
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:611
#: protocols/luci-proto-relay/htdocs/luci-static/resources/protocol/relay.js:39
msgid "Relay"
msgstr ""
msgid "Required. Base64-encoded private key for this interface."
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Required. Path to the .yml config file for this interface."
+msgstr ""
+
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:587
msgid "Required. Public key of the WireGuard peer."
msgstr ""
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2197
-#: modules/luci-base/luasrc/view/sysauth.htm:39
+#: modules/luci-base/ucode/template/sysauth.ut:39
#: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
#: modules/luci-compat/luasrc/view/cbi/footer.htm:30
#: modules/luci-compat/luasrc/view/cbi/simpleform.htm:66
msgid "Resolv and Hosts Files"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:356
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:361
msgid "Resolv file"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:292
+msgid "Resolve specified FQDNs to an IP."
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/rpc.js:405
msgid "Resource not found"
msgstr ""
msgid "Restore backup"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
msgid ""
"Return answers to DNS queries matching the subnet from which the query was "
"received if multiple IPs are available."
msgid "Robustness"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:491
msgid ""
"Root directory for files served via TFTP. <em>Enable TFTP server</em> and "
"<em>TFTP server root</em> turn on the TFTP server and serve files from "
msgid "SNR"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "SRV"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:10
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:38
msgid "SSH Access"
msgid "Server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:524
msgid "Server address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:518
msgid "Server name"
msgstr ""
msgid "Setup routes for proxied IPv6 neighbours."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
msgid "Severely Errored Seconds (SES)"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:470
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:18
msgid "Show current backup file list"
msgstr ""
msgid "Signal / Noise"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
msgid "Signal Attenuation (SATN)"
msgstr ""
msgid "Size"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:473
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:478
msgid "Size of DNS query cache"
msgstr ""
msgid "Skip from backup files that are equal to those in /rom"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:42
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:35
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:46
msgid "Skip to content"
msgstr "דלג אל התוכן"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:41
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:34
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:45
msgid "Skip to navigation"
msgstr "דלג אל הניווט"
msgid "Some fields are invalid, cannot save values!"
msgstr "חלק מהשדות אינם תקינים, אין אפשרות לשמור את הערכים!"
-#: modules/luci-base/luasrc/view/error404.htm:9
+#: modules/luci-base/ucode/template/error404.ut:10
msgid "Sorry, the object you requested was not found."
msgstr "סליחה, אך האובייקט שביקשת אינו נמצא."
-#: modules/luci-base/luasrc/view/error500.htm:9
-msgid "Sorry, the server encountered an unexpected error."
-msgstr "סליחה, השרת נתקל בשגיאה לא צפויה."
-
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:442
msgid ""
"Sorry, there is no sysupgrade support present; a new firmware image must be "
msgid "Source port"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:505
msgid ""
"Special <abbr title=\"Preboot eXecution Environment\">PXE</abbr> boot "
"options for Dnsmasq."
msgid "Static address"
msgstr "כתובת סטטית"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:598
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:669
msgid ""
"Static leases are used to assign fixed IP addresses and symbolic hostnames "
"to DHCP clients. They are also required for non-dynamic interface "
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:16
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:541
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:929
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:9
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:9
msgid "Status"
msgstr "מצב"
msgid "Strict filtering"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
msgid "Strict order"
msgstr ""
msgid "Submit"
msgstr "שלח"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
msgid "Suppress logging"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:373
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
msgid "Suppress logging of the routine operation for the DHCP protocol."
msgstr ""
msgid "Sync with browser"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:293
+msgid "Syntax: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "Syntax: <code>_service._proto.example.com</code>."
+msgstr ""
+
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:26
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:17
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:113
msgid "System log buffer size"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:79
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:86
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:71
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:67
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:81
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:64
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:89
msgid "System running in recovery (initramfs) mode."
msgstr ""
msgid "TCP:"
msgstr "TCP:"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:490
msgid "TFTP server root"
msgstr ""
msgid "Table"
msgstr "טבלה"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:56
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:66
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:187
"username instead of the user ID!"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:681
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:752
msgid "The IP address %h is already used by another static lease"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:761
msgid "The IP address is outside of any DHCP pool address range"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:520
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
msgid "The IP address of the boot server"
msgstr ""
"to be received and retransmitted which costs airtime)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:514
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
msgid "The hostname of the boot server"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/switch.js:139
msgid ""
-"The network ports on this device can be combined to several <abbr "
-"title=\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
+"The network ports on this device can be combined to several <abbr title="
+"\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
"communicate directly with each other. <abbr title=\"Virtual Local Area "
"Network\">VLAN</abbr>s are often used to separate different network "
"segments. Often there is by default one Uplink port for a connection to the "
msgid "The selected %s mode is incompatible with %s encryption"
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:11
+#: modules/luci-base/ucode/template/csrftoken.ut:11
msgid "The submitted security token is invalid or already expired!"
msgstr ""
"nftables rules is discouraged and may lead to incomplete traffic filtering."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:746
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:778
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:817
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:849
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:130
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:179
msgid "There are no active leases"
msgid "There are no changes to apply"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:70
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:58
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:55
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:80
msgid ""
"There is no password set on this router. Please configure a root password to "
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:16
msgid ""
"This is a list of shell glob patterns for matching files and directories to "
"include during sysupgrade. Modified files in /etc/config/ and certain other "
"ends with <code>...:2/64</code>"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:266
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:268
msgid "This is the only DHCP server in the local network."
msgstr ""
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:440
msgid ""
"To fully configure the local WireGuard interface from an existing (e.g. "
-"provider supplied) configuration file, use the <strong><a class=\"full-"
-"import\" href=\"#\">configuration import</a></strong> instead."
+"provider supplied) configuration file, use the <strong><a class=\"full-import"
+"\" href=\"#\">configuration import</a></strong> instead."
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2674
msgid "Unable to determine upstream interface"
msgstr ""
-#: modules/luci-base/luasrc/view/error404.htm:11
+#: modules/luci-base/ucode/template/error404.ut:12
msgid "Unable to dispatch"
msgstr ""
msgid "Unable to verify PIN"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
msgid "Unavailable Seconds (UAS)"
msgstr ""
"will be restarted to apply the updated configuration."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
msgid "Upstream resolvers will be queried in the order of the resolv file."
msgstr ""
msgid "Uptime"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
msgid "Use <code>/etc/ethers</code>"
msgstr ""
msgid "Use system certificates for inner-tunnel"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:599
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:670
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC address</"
"em> identifies the host, the <em>IPv4 address</em> specifies the fixed "
msgid "User key (PEM encoded)"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:23
+#: modules/luci-base/ucode/template/sysauth.ut:23
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:112
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:101
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:56
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:18
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:13
msgid "Username"
msgstr "שם משתמש"
msgid "VXLANv6 (RFC7348)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
msgid ""
"Validate DNS replies and cache DNSSEC data, requires upstream to support "
"DNSSEC."
msgid "Vendor Class to send when requesting DHCP"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:408
msgid "Verify unsigned domain responses really come from unsigned domains."
msgstr ""
msgid "Weak"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+msgid "Weight"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1029
msgid ""
"When delegating prefixes to multiple downstreams, interfaces with a higher "
msgid "Wireless network is enabled"
msgstr "רשת אלחוטית מאופשרת"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:278
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:280
msgid "Write received DNS queries to syslog."
msgstr ""
"scripts like \"network\", your device might become inaccessible!</strong>"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:90
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:97
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
+msgid "You may add multiple records for the same Target."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:596
+msgid "You may add multiple records for the same domain."
+msgstr ""
+
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:78
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:92
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:73
msgid ""
"You must enable JavaScript in your browser or LuCI will not work properly."
msgid "ZRam Size"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:558
+msgid "_proto: _tcp, _udp, _sctp, _quic, … ."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:557
+msgid ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Note: while _http is "
+"possible, no browsers support SRV records.)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:454
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:152
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:163
msgid "any"
msgid "e.g: dump"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:726
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:756
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:797
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:827
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:101
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:148
msgid "expired"
msgid "unknown"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:456
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:724
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:754
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:461
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:795
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:825
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:99
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:146
msgid "unlimited"
msgid "« Back"
msgstr "<< אחורה"
+#~ msgid "Back to configuration"
+#~ msgstr "חזרה להגדרות"
+
+#~ msgid "Close list..."
+#~ msgstr "סגור רשימה..."
+
+#~ msgid "Sorry, the server encountered an unexpected error."
+#~ msgstr "סליחה, השרת נתקל בשגיאה לא צפויה."
+
#~ msgid "TFTP Settings"
#~ msgstr "הגדרות TFTP"
msgid "<abbr title=\"Router Advertisement\">RA</abbr>-Service"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:294
+msgid ""
+"<code>/#/</code> matches any domain. <code>/example.com/</code> returns "
+"NXDOMAIN."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+msgid ""
+"<code>/example.com/#</code> returns NULL addresses (<code>0.0.0.0</code> and "
+"<code>::</code>) for example.com and its subdomains."
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:87
msgctxt "nft relational \">\" operator expression"
msgid "<var>%s</var> greater than <strong>%s</strong>"
msgid "ATM device number"
msgstr "ATM यंत्र अंक"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
msgid "ATU-C System Vendor ID"
msgstr "ATU-C सिस्टम विक्रेता पहचान (ID)"
msgid "Absent Interface"
msgstr "अनुपस्थित इंटरफ़ेस"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:320
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
msgid "Accept DNS queries only from hosts whose address is on a local subnet."
msgstr ""
msgid "Add key"
msgstr "चाबी जोड़ें"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:410
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:415
msgid "Add local domain suffix to names served from hosts files."
msgstr ""
msgid "Add to Whitelist"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:367
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
msgid "Additional hosts files"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:417
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
msgid "Additional servers file"
msgstr ""
msgid "Address to access local relay bridge"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:289
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:291
msgid "Addresses"
msgstr ""
msgid "Aggregate Originator Messages"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
msgid "Aggregate Transmit Power (ACTATP)"
msgstr ""
msgid "Alias of \"%s\""
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
msgid "All servers"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
msgid ""
"Allocate IP addresses sequentially, starting from the lowest available "
"address."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
msgid "Allocate IPs sequentially"
msgstr ""
msgid "Allow listed only"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
msgid "Allow localhost"
msgstr ""
msgid "Always on (kernel: default-on)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:538
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
msgid "Always send DHCP Options. Sometimes needed, with e.g. PXELinux."
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1484
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
msgid "Annex"
msgstr ""
msgid "Any zone"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:532
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
msgid "Apply DHCP Options to this net. (Empty = all clients)."
msgstr ""
msgid "Authentication Type"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:265
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:267
msgid "Authoritative"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:17
+#: modules/luci-base/ucode/template/sysauth.ut:17
#: themes/luci-theme-bootstrap/htdocs/luci-static/resources/view/bootstrap/sysauth.js:11
msgid "Authorization Required"
msgstr ""
msgid "Avoid Bridge Loops"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
msgid ""
"Avoid uselessly triggering dial-on-demand links (filters SRV/SOA records and "
"names with underscores)."
msgid "Back to Overview"
msgstr ""
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:48
-msgid "Back to configuration"
-msgstr ""
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:826
msgid "Back to peer configuration"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:351
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:12
msgid "Backup file list"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:352
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:46
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
msgid "Bind NTP server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:326
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:331
msgid "Bind dynamically to interfaces rather than wildcard address."
msgstr ""
msgid "Bind interface"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:595
+msgid ""
+"Bind service records to a domain name: specify the location of services."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:556
+msgid ""
+"Bind service records to a domain name: specify the location of services. See "
+"<a href=\"%s\">RFC2782</a>."
+msgstr ""
+
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gre.js:59
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gretap.js:64
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/grev6.js:64
msgid "CLAT configuration failed"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
+msgid "CNAME or fqdn"
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/processes.js:72
msgid "CPU usage (%)"
msgstr ""
"persist connection"
msgstr ""
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:49
-msgid "Close list..."
-msgstr ""
-
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:44
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:63
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2184
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:391
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:352
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:355
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:72
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:66
msgid "Collecting data..."
msgstr ""
msgid "Compute outgoing checksum (optional)."
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Config File"
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4375
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
msgid "Configuration"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:764
msgid ""
-"Configures the operation mode of the <abbr title=\"Router "
-"Advertisement\">RA</abbr> service on this interface."
+"Configures the operation mode of the <abbr title=\"Router Advertisement"
+"\">RA</abbr> service on this interface."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:879
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/leds.js:59
msgid ""
-"Customizes the behaviour of the device <abbr title=\"Light Emitting "
-"Diode\">LED</abbr>s if possible."
+"Customizes the behaviour of the device <abbr title=\"Light Emitting Diode"
+"\">LED</abbr>s if possible."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:673
msgid "DAE-Secret"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:530
msgid "DHCP Options"
msgstr ""
msgid "DNS"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:282
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:284
msgid "DNS forwardings"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:445
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:450
msgid "DNS query port"
msgstr ""
msgid "DNS search domains"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:443
msgid "DNS server port"
msgstr ""
msgid "DNS-Label / FQDN"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
msgid "DNSSEC"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:407
msgid "DNSSEC check unsigned"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1481
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:44
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:45
msgid "DSL"
msgstr "DSL"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:14
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:15
msgid "DSL Status"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:59
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:700
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:771
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:136
msgid "DUID"
msgstr "DUID"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
msgid "Data Rate"
msgstr ""
msgid "Disassociate On Low Acknowledgement"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:302
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
msgid ""
"Discard upstream responses containing <a href=\"%s\">RFC1918</a> addresses."
msgstr ""
msgid "Distributed ARP Table"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:548
msgid ""
"Dnsmasq instance to which this boot section is bound. If unspecified, the "
"section is valid for all dnsmasq instances."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:246
msgid ""
-"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</"
-"abbr> forwarder."
+"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</abbr> "
+"forwarder."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:419
msgid "Do not cache negative replies, e.g. for non-existent domains."
msgstr ""
msgid "Do not create host route to peer (optional)."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:262
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:264
msgid "Do not forward DNS queries without dots or domain parts."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
msgid "Do not forward reverse lookups for local networks."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:339
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
msgid "Do not listen on the specified interfaces."
msgstr ""
msgid "Do you want to replace the current keys?"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:593
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:606
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:664
msgid "Domain"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:261
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:263
msgid "Domain required"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:316
msgid "Domain whitelist"
msgstr ""
msgid "Enable Single DES"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:480
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
msgid "Enable TFTP server"
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/uhttpd.js:14
msgid ""
-"Enable automatic redirection of <abbr title=\"Hypertext Transfer "
-"Protocol\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol "
-"Secure\">HTTPS</abbr> port."
+"Enable automatic redirection of <abbr title=\"Hypertext Transfer Protocol"
+"\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol Secure"
+"\">HTTPS</abbr> port."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:977
msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:481
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
msgid "Enable the built-in single-instance TFTP server."
msgstr ""
msgid "Error getting PublicKey"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
msgid "Errored seconds (ES)"
msgstr ""
msgid "Every second (fast, 1)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:343
msgid "Exclude interfaces"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
msgid ""
"Exempt <code>127.0.0.0/8</code> and <code>::1</code> from rebinding checks, "
"e.g. for RBL services."
msgid "Existing device"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:409
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
msgid "Expand hosts"
msgstr ""
msgid "File"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
msgid ""
"File listing upstream resolvers, optionally domain-specific, e.g. "
"<code>server=1.2.3.4</code>, <code>server=/domain/1.2.3.4</code>."
msgid "File not accessible"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:354
msgid "File to store DHCP lease information."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:362
msgid "File with upstream resolvers."
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/ui.js:2846
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:507
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:512
msgid "Filename"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:493
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:498
msgid "Filename of the boot image advertised to clients."
msgstr ""
msgid "Filesystem"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
msgid "Filter private"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
msgid "Filter useless"
msgstr ""
msgid "Firmware Version"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:446
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:451
msgid "Fixed source port for outbound DNS queries."
msgstr ""
msgid "Flashing…"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:686
msgid "Force"
msgstr ""
msgid "Force use of NAT-T"
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:8
+#: modules/luci-base/ucode/template/csrftoken.ut:8
msgid "Form token mismatch"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:919
msgid ""
-"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr "
-"title=\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr "
-"title=\"Neighbour Advertisement, Type 136\">NA</abbr> messages between the "
-"designated master interface and downstream interfaces."
+"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr title="
+"\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr title=\"Neighbour "
+"Advertisement, Type 136\">NA</abbr> messages between the designated master "
+"interface and downstream interfaces."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:770
"downstream interfaces."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
msgid "Forward Error Correction Seconds (FECS)"
msgstr ""
msgid "Global network options"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:82
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:74
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:70
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:84
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:67
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:92
msgid "Go to firmware upgrade..."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:72
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:64
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:60
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:57
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:82
msgid "Go to password configuration..."
msgstr ""
msgid "Hang Up"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
msgid "Header Error Code Errors (HEC)"
msgstr ""
msgid "Host expiry timeout"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
msgid "Host requests this filename from the boot server."
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:38
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:607
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:678
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:54
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:87
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:135
msgid "Hostnames"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:551
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:622
msgid ""
"Hostnames are used to bind a domain name to an IP address. This setting is "
"redundant for hostnames already configured with static leases, but it can be "
msgid "IP Protocol"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:260
msgid "IP Sets"
msgstr ""
msgid "IP Type"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:563
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:634
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:178
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:204
msgid "IP address"
msgid "IP protocol"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:660
msgid "IP set"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:300
msgid "IP sets"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:437
msgid "IPs to override with NXDOMAIN"
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/protocol/static.js:178
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:736
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:88
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:164
msgid "IPv4 address"
msgid "IPv6 suffix"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:706
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:777
msgid "IPv6 suffix (hex)"
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:340
msgid ""
"If your physical memory is insufficient unused data can be temporarily "
-"swapped to a swap-device resulting in a higher amount of usable <abbr "
-"title=\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a "
-"very slow process as the swap-device cannot be accessed with the high "
-"datarates of the <abbr title=\"Random Access Memory\">RAM</abbr>."
+"swapped to a swap-device resulting in a higher amount of usable <abbr title="
+"\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a very "
+"slow process as the swap-device cannot be accessed with the high datarates "
+"of the <abbr title=\"Random Access Memory\">RAM</abbr>."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:363
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:368
msgid "Ignore <code>/etc/hosts</code>"
msgstr ""
msgid "Ignore interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:352
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
msgid "Ignore resolv file"
msgstr ""
"order to avoid broadcast loops that can bring the entire LAN to a standstill."
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:13
+#: modules/luci-base/ucode/template/csrftoken.ut:13
msgid ""
"In order to prevent unauthorized access to the system, your request has been "
"blocked. Click \"Continue »\" below to return to the previous page."
msgid "Install protocol extensions..."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:547
msgid "Instance"
msgstr ""
msgid "Internal"
msgstr ""
-#: modules/luci-base/luasrc/view/error500.htm:8
-msgid "Internal Server Error"
-msgstr ""
-
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:285
msgid "Interval For Sending Learning Packets"
msgstr ""
msgid "Invalid hexadecimal value"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:37
+#: modules/luci-base/ucode/template/sysauth.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:32
msgid "Invalid username and/or password! Please try again."
msgstr ""
"flash memory, please verify the image file!"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:89
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:96
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:77
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:91
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:72
msgid "JavaScript required!"
msgstr ""
msgid "Language and Style"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:560
+msgid ""
+"Larger weights (of the same prio) are given a proportionately higher "
+"probability of being selected."
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:575
msgid "Last member interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
msgid "Latency"
msgstr ""
msgid "Learn routes"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:348
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:353
msgid "Lease file"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:697
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:768
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:679
msgid "Lease time"
msgstr ""
msgid "Limit"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
msgid "Line Attenuation (LATN)"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
msgid "Line Mode"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:17
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
msgid "Line State"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
msgid "Line Uptime"
msgstr ""
msgid "Link layer header bits %d-%d"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
msgid "List of IP addresses to convert into NXDOMAIN responses."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:296
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:581
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:652
msgid "List of IP sets to populate with the specified domain IPs."
msgstr ""
msgid "List of SSH key files for auth"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:317
msgid "List of domains to allow RFC1918 responses for."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:290
-msgid "List of domains to force to an IP address."
-msgstr ""
-
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:283
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:285
msgid "List of upstream resolvers to forward queries to."
msgstr ""
msgid "Listen Port"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:332
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:337
msgid "Listen interfaces"
msgstr ""
msgid "Listen only on the given interface or, if unspecified, on all"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:333
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
msgid ""
"Listen only on the specified interfaces, and loopback if not excluded "
"explicitly."
msgid "ListenPort setting is invalid"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:439
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:444
msgid "Listening port for inbound DNS queries."
msgstr ""
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:1942
-#: modules/luci-base/luasrc/view/view.htm:4
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:45
+#: modules/luci-base/ucode/template/view.ut:4
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:40
msgid "Loading view…"
msgstr ""
msgid "Local ULA"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:273
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:275
msgid "Local domain"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:274
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:276
msgid "Local domain suffix appended to DHCP names and hosts file entries."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:269
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:271
msgid "Local server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:319
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:324
msgid "Local service only"
msgstr ""
msgid "Local wireguard key"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
msgid "Localise queries"
msgstr ""
msgid "Log output level"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:277
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:279
msgid "Log queries"
msgstr ""
msgid "Logical network to which the tunnel will be added (bridged) (optional)."
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:38
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:41
+#: modules/luci-base/ucode/template/sysauth.ut:38
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:36
msgid "Login"
msgstr ""
msgid "Loose filtering"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
msgid "Loss of Signal Seconds (LOSS)"
msgstr ""
msgid "Lowest leased address as offset from the network address."
msgstr ""
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/footer.ut:12
+msgid "Lua compatibility mode active"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:48
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:83
msgid "MAC"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:591
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:40
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:619
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1164
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2177
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:56
msgid "MTU"
msgstr "MTU"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:259
+msgid "MX"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:303
msgid ""
"Make sure to clone the root filesystem using something like the commands "
msgid "Max <abbr title=\"Router Advertisement\">RA</abbr> interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
msgid "Max. Attainable Data Rate (ATTNDR)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:457
msgid "Max. DHCP leases"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:459
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:464
msgid "Max. EDNS0 packet size"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:466
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:471
msgid "Max. concurrent queries"
msgstr ""
msgid "Maximum allowed Listen Interval"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:453
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:458
msgid "Maximum allowed number of active DHCP leases."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:467
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:472
msgid "Maximum allowed number of concurrent DNS queries."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:460
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:465
msgid "Maximum allowed size of EDNS0 UDP packets."
msgstr ""
msgid "Maximum transmit power"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:394
msgid "May prevent VoIP or other services from working."
msgstr ""
msgid "Name of the tunnel device"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:46
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:39
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:50
msgid "Navigation"
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:10
+msgid "Nebula Network"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:653
msgid "Neighbour cache validity"
msgstr ""
msgid "Network address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:492
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:497
msgid "Network boot image"
msgstr ""
msgid "Network interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:536
msgid "Network-ID"
msgstr ""
msgid "Never"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:270
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:272
msgid ""
"Never forward matching domains and subdomains, resolve from DHCP or hosts "
"files only."
msgid "No RX signal"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:80
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:87
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:68
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:82
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:65
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:90
msgid ""
"No changes to settings will be stored and are lost after rebooting. This "
msgid "No entries in this directory"
msgstr ""
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:82
-msgid "No files found"
-msgstr ""
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:833
msgid ""
"No fixed interface listening port defined, peers might not be able to "
msgid "No more slaves available, can not save interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:413
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
msgid "No negative cache"
msgstr ""
msgid "No nftables ruleset loaded."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:69
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:61
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:57
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:54
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:79
msgid "No password set!"
msgstr ""
msgid "Noise"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
msgid "Noise Margin (SNR)"
msgstr ""
msgid "Noise:"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
msgid "Non Pre-emptive CRC errors (CRC_P)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:330
msgid "Non-wildcard"
msgstr ""
msgid "Normal"
msgstr ""
-#: modules/luci-base/luasrc/view/error404.htm:8
+#: modules/luci-base/ucode/template/error404.ut:9
msgid "Not Found"
msgstr ""
msgid "Number of IGMP membership reports"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:474
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:479
msgid "Number of cached DNS entries, 10000 is maximum, 0 is no caching."
msgstr ""
msgid "On-link"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:672
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:743
msgid "One of hostname or MAC address must be specified!"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:472
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:19
msgid "Open list..."
msgstr ""
msgid "Options"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:526
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
msgid ""
"Options for the Network-ID. (Note: needs also Network-ID.) E.g. "
-"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</"
-"code>\" for default route. <code>0.0.0.0</code> means \"the address of the "
-"system running dnsmasq\"."
+"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</code>"
+"\" for default route. <code>0.0.0.0</code> means \"the address of the system "
+"running dnsmasq\"."
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:125
msgid "Options:"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
+msgid "Ordinal: lower comes first."
+msgstr ""
+
#: protocols/luci-proto-batman-adv/htdocs/luci-static/resources/protocol/batadv.js:55
msgid "Originator Interval"
msgstr ""
msgid "Pass-through (Mirror physical device to single MAC VLAN)"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:29
+#: modules/luci-base/ucode/template/sysauth.ut:29
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1690
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:51
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:114
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:103
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:24
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:19
msgid "Password"
msgstr ""
msgid "Pkts."
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:19
+#: modules/luci-base/ucode/template/sysauth.ut:19
msgid "Please enter your username and password."
msgstr ""
msgid "Policy: <strong>%h</strong> (%h)"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:579
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:21
msgid "Port"
msgstr ""
msgid "Potential negation of: %s"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:38
msgid "Power Management Mode"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
msgid "Pre-emptive CRC errors (CRCP_P)"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:129
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:197
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:223
msgid "Quality"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
msgid "Query all available upstream resolvers."
msgstr ""
msgid "Raw hex-encoded bytes. Leave empty unless your ISP require this"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:345
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:350
msgid "Read <code>/etc/ethers</code> to configure the DHCP server."
msgstr ""
msgid "Reassociation Deadline"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
msgid "Rebind protection"
msgstr ""
msgstr ""
#: modules/luci-compat/luasrc/model/network/proto_relay.lua:153
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:611
#: protocols/luci-proto-relay/htdocs/luci-static/resources/protocol/relay.js:39
msgid "Relay"
msgstr ""
msgid "Required. Base64-encoded private key for this interface."
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Required. Path to the .yml config file for this interface."
+msgstr ""
+
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:587
msgid "Required. Public key of the WireGuard peer."
msgstr ""
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2197
-#: modules/luci-base/luasrc/view/sysauth.htm:39
+#: modules/luci-base/ucode/template/sysauth.ut:39
#: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
#: modules/luci-compat/luasrc/view/cbi/footer.htm:30
#: modules/luci-compat/luasrc/view/cbi/simpleform.htm:66
msgid "Resolv and Hosts Files"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:356
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:361
msgid "Resolv file"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:292
+msgid "Resolve specified FQDNs to an IP."
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/rpc.js:405
msgid "Resource not found"
msgstr ""
msgid "Restore backup"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
msgid ""
"Return answers to DNS queries matching the subnet from which the query was "
"received if multiple IPs are available."
msgid "Robustness"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:491
msgid ""
"Root directory for files served via TFTP. <em>Enable TFTP server</em> and "
"<em>TFTP server root</em> turn on the TFTP server and serve files from "
msgid "SNR"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "SRV"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:10
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:38
msgid "SSH Access"
msgid "Server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:524
msgid "Server address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:518
msgid "Server name"
msgstr ""
msgid "Setup routes for proxied IPv6 neighbours."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
msgid "Severely Errored Seconds (SES)"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:470
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:18
msgid "Show current backup file list"
msgstr ""
msgid "Signal / Noise"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
msgid "Signal Attenuation (SATN)"
msgstr ""
msgid "Size"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:473
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:478
msgid "Size of DNS query cache"
msgstr ""
msgid "Skip from backup files that are equal to those in /rom"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:42
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:35
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:46
msgid "Skip to content"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:41
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:34
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:45
msgid "Skip to navigation"
msgstr ""
msgid "Some fields are invalid, cannot save values!"
msgstr ""
-#: modules/luci-base/luasrc/view/error404.htm:9
+#: modules/luci-base/ucode/template/error404.ut:10
msgid "Sorry, the object you requested was not found."
msgstr ""
-#: modules/luci-base/luasrc/view/error500.htm:9
-msgid "Sorry, the server encountered an unexpected error."
-msgstr ""
-
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:442
msgid ""
"Sorry, there is no sysupgrade support present; a new firmware image must be "
msgid "Source port"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:505
msgid ""
"Special <abbr title=\"Preboot eXecution Environment\">PXE</abbr> boot "
"options for Dnsmasq."
msgid "Static address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:598
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:669
msgid ""
"Static leases are used to assign fixed IP addresses and symbolic hostnames "
"to DHCP clients. They are also required for non-dynamic interface "
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:16
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:541
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:929
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:9
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:9
msgid "Status"
msgstr ""
msgid "Strict filtering"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
msgid "Strict order"
msgstr ""
msgid "Submit"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
msgid "Suppress logging"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:373
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
msgid "Suppress logging of the routine operation for the DHCP protocol."
msgstr ""
msgid "Sync with browser"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:293
+msgid "Syntax: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "Syntax: <code>_service._proto.example.com</code>."
+msgstr ""
+
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:26
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:17
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:113
msgid "System log buffer size"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:79
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:86
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:71
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:67
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:81
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:64
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:89
msgid "System running in recovery (initramfs) mode."
msgstr ""
msgid "TCP:"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:490
msgid "TFTP server root"
msgstr ""
msgid "Table"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:56
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:66
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:187
"username instead of the user ID!"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:681
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:752
msgid "The IP address %h is already used by another static lease"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:761
msgid "The IP address is outside of any DHCP pool address range"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:520
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
msgid "The IP address of the boot server"
msgstr ""
"to be received and retransmitted which costs airtime)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:514
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
msgid "The hostname of the boot server"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/switch.js:139
msgid ""
-"The network ports on this device can be combined to several <abbr "
-"title=\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
+"The network ports on this device can be combined to several <abbr title="
+"\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
"communicate directly with each other. <abbr title=\"Virtual Local Area "
"Network\">VLAN</abbr>s are often used to separate different network "
"segments. Often there is by default one Uplink port for a connection to the "
msgid "The selected %s mode is incompatible with %s encryption"
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:11
+#: modules/luci-base/ucode/template/csrftoken.ut:11
msgid "The submitted security token is invalid or already expired!"
msgstr ""
"nftables rules is discouraged and may lead to incomplete traffic filtering."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:746
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:778
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:817
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:849
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:130
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:179
msgid "There are no active leases"
msgid "There are no changes to apply"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:70
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:58
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:55
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:80
msgid ""
"There is no password set on this router. Please configure a root password to "
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:16
msgid ""
"This is a list of shell glob patterns for matching files and directories to "
"include during sysupgrade. Modified files in /etc/config/ and certain other "
"ends with <code>...:2/64</code>"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:266
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:268
msgid "This is the only DHCP server in the local network."
msgstr ""
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:440
msgid ""
"To fully configure the local WireGuard interface from an existing (e.g. "
-"provider supplied) configuration file, use the <strong><a class=\"full-"
-"import\" href=\"#\">configuration import</a></strong> instead."
+"provider supplied) configuration file, use the <strong><a class=\"full-import"
+"\" href=\"#\">configuration import</a></strong> instead."
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2674
msgid "Unable to determine upstream interface"
msgstr ""
-#: modules/luci-base/luasrc/view/error404.htm:11
+#: modules/luci-base/ucode/template/error404.ut:12
msgid "Unable to dispatch"
msgstr ""
msgid "Unable to verify PIN"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
msgid "Unavailable Seconds (UAS)"
msgstr ""
"will be restarted to apply the updated configuration."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
msgid "Upstream resolvers will be queried in the order of the resolv file."
msgstr ""
msgid "Uptime"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
msgid "Use <code>/etc/ethers</code>"
msgstr ""
msgid "Use system certificates for inner-tunnel"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:599
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:670
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC address</"
"em> identifies the host, the <em>IPv4 address</em> specifies the fixed "
msgid "User key (PEM encoded)"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:23
+#: modules/luci-base/ucode/template/sysauth.ut:23
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:112
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:101
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:56
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:18
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:13
msgid "Username"
msgstr ""
msgid "VXLANv6 (RFC7348)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
msgid ""
"Validate DNS replies and cache DNSSEC data, requires upstream to support "
"DNSSEC."
msgid "Vendor Class to send when requesting DHCP"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:408
msgid "Verify unsigned domain responses really come from unsigned domains."
msgstr ""
msgid "Weak"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+msgid "Weight"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1029
msgid ""
"When delegating prefixes to multiple downstreams, interfaces with a higher "
msgid "Wireless network is enabled"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:278
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:280
msgid "Write received DNS queries to syslog."
msgstr ""
"scripts like \"network\", your device might become inaccessible!</strong>"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:90
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:97
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
+msgid "You may add multiple records for the same Target."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:596
+msgid "You may add multiple records for the same domain."
+msgstr ""
+
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:78
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:92
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:73
msgid ""
"You must enable JavaScript in your browser or LuCI will not work properly."
msgid "ZRam Size"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:558
+msgid "_proto: _tcp, _udp, _sctp, _quic, … ."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:557
+msgid ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Note: while _http is "
+"possible, no browsers support SRV records.)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:454
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:152
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:163
msgid "any"
msgid "e.g: dump"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:726
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:756
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:797
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:827
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:101
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:148
msgid "expired"
msgid "unknown"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:456
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:724
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:754
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:461
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:795
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:825
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:99
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:146
msgid "unlimited"
msgid "<abbr title=\"Router Advertisement\">RA</abbr>-Service"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:294
+msgid ""
+"<code>/#/</code> matches any domain. <code>/example.com/</code> returns "
+"NXDOMAIN."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+msgid ""
+"<code>/example.com/#</code> returns NULL addresses (<code>0.0.0.0</code> and "
+"<code>::</code>) for example.com and its subdomains."
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:87
msgctxt "nft relational \">\" operator expression"
msgid "<var>%s</var> greater than <strong>%s</strong>"
msgid "ATM device number"
msgstr "ATM eszközszám"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
msgid "ATU-C System Vendor ID"
msgstr "ATU-C rendszer gyártójának azonosítója"
msgid "Absent Interface"
msgstr "Hiányzó csatoló"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:320
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
msgid "Accept DNS queries only from hosts whose address is on a local subnet."
msgstr ""
"DNS-szolgáltatás korlátozása azokra az alhálózati csatolókra, amelyeken DNS-"
msgid "Add key"
msgstr "Kulcs hozzáadása"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:410
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:415
msgid "Add local domain suffix to names served from hosts files."
msgstr "Helyi tartományutótag hozzáadása a hosts fájlokból kiszolgált nevekhez"
msgid "Add to Whitelist"
msgstr "Hozzáadás a fehérlistához"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:367
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
msgid "Additional hosts files"
msgstr "További gépek fájljai"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:417
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
msgid "Additional servers file"
msgstr "További kiszolgálók fájlja"
msgid "Address to access local relay bridge"
msgstr "Cím a helyi átjátszóhíd eléréséhez"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:289
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:291
msgid "Addresses"
msgstr "Címek"
msgid "Aggregate Originator Messages"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
msgid "Aggregate Transmit Power (ACTATP)"
msgstr "Összesített átviteli teljesítmény (ACTATP)"
msgid "Alias of \"%s\""
msgstr "„%s” álneve"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
msgid "All servers"
msgstr "Összes kiszolgáló"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
msgid ""
"Allocate IP addresses sequentially, starting from the lowest available "
"address."
msgstr ""
"IP-címek lefoglalása sorrendben, kezdve a legalacsonyabb elérhető címtől"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
msgid "Allocate IPs sequentially"
msgstr "IP lefoglalása egymás után"
msgid "Allow listed only"
msgstr "Csak a felsoroltak engedélyezése"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
msgid "Allow localhost"
msgstr "Localhost engedélyezése"
msgid "Always on (kernel: default-on)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:538
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
msgid "Always send DHCP Options. Sometimes needed, with e.g. PXELinux."
msgstr ""
msgstr "Opcionális, rövid leírása az eszköznek"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1484
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
msgid "Annex"
msgstr "Melléklet"
msgid "Any zone"
msgstr "Bármely zóna"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:532
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
msgid "Apply DHCP Options to this net. (Empty = all clients)."
msgstr ""
msgid "Authentication Type"
msgstr "Hitelesítés típusa"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:265
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:267
msgid "Authoritative"
msgstr "Hiteles"
-#: modules/luci-base/luasrc/view/sysauth.htm:17
+#: modules/luci-base/ucode/template/sysauth.ut:17
#: themes/luci-theme-bootstrap/htdocs/luci-static/resources/view/bootstrap/sysauth.js:11
msgid "Authorization Required"
msgstr "Hitelesítés szükséges"
msgid "Avoid Bridge Loops"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
msgid ""
"Avoid uselessly triggering dial-on-demand links (filters SRV/SOA records and "
"names with underscores)."
msgid "Back to Overview"
msgstr "Vissza az áttekintőhöz"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:48
-msgid "Back to configuration"
-msgstr "Vissza a beállításokhoz"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:826
msgid "Back to peer configuration"
msgstr ""
msgstr "Biztonsági mentés vagy firmware beírása"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:351
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:12
msgid "Backup file list"
msgstr "Biztonsági mentés fájllistája"
msgstr "Alapjel időköze"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:352
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:46
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
msgid "Bind NTP server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:326
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:331
msgid "Bind dynamically to interfaces rather than wildcard address."
msgstr ""
"Kötés dinamikusan a csatolókhoz a helyettesítő címek helyett (ajánlott Linux "
msgid "Bind interface"
msgstr "Csatoló kötése"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:595
+msgid ""
+"Bind service records to a domain name: specify the location of services."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:556
+msgid ""
+"Bind service records to a domain name: specify the location of services. See "
+"<a href=\"%s\">RFC2782</a>."
+msgstr ""
+
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gre.js:59
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gretap.js:64
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/grev6.js:64
msgid "CLAT configuration failed"
msgstr "A CLAT beállítása nem sikerült"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
+msgid "CNAME or fqdn"
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/processes.js:72
msgid "CPU usage (%)"
msgstr "Processzorhasználat (%)"
"Inaktív kapcsolat lezárása a megadott másodpercek után, használjon 0-t "
"állandó kapcsolathoz"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:49
-msgid "Close list..."
-msgstr "Lista bezárása…"
-
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:44
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:63
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2184
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:391
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:352
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:355
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:72
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:66
msgid "Collecting data..."
msgstr "Adatok összegyűjtése…"
msgid "Compute outgoing checksum (optional)."
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Config File"
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4375
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
msgid "Configuration"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:764
msgid ""
-"Configures the operation mode of the <abbr title=\"Router "
-"Advertisement\">RA</abbr> service on this interface."
+"Configures the operation mode of the <abbr title=\"Router Advertisement"
+"\">RA</abbr> service on this interface."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:879
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/leds.js:59
msgid ""
-"Customizes the behaviour of the device <abbr title=\"Light Emitting "
-"Diode\">LED</abbr>s if possible."
+"Customizes the behaviour of the device <abbr title=\"Light Emitting Diode"
+"\">LED</abbr>s if possible."
msgstr ""
"Az eszköz <abbr title=\"Light Emitting Diode\">LED</abbr>-jei működésének "
"személyre szabása."
msgid "DAE-Secret"
msgstr "DAE-titok"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:530
msgid "DHCP Options"
msgstr ""
msgid "DNS"
msgstr "DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:282
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:284
msgid "DNS forwardings"
msgstr "DNS továbbítások"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:445
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:450
msgid "DNS query port"
msgstr "<abbr title=\"Domain Name System\">DNS</abbr> lekérdezési port"
msgid "DNS search domains"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:443
msgid "DNS server port"
msgstr "<abbr title=\"Domain Name System\">DNS</abbr>-kiszolgáló portja"
msgid "DNS-Label / FQDN"
msgstr "DNS-címke / FQDN"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
msgid "DNSSEC"
msgstr "DNSSEC"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:407
msgid "DNSSEC check unsigned"
msgstr "DNSSEC ellenőrzés előjel nélkül"
msgstr "DS-Lite AFTR cím"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1481
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:44
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:45
msgid "DSL"
msgstr "DSL"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:14
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:15
msgid "DSL Status"
msgstr "DSL állapota"
msgstr "DTIM időköze"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:59
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:700
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:771
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:136
msgid "DUID"
msgstr "DUID"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
msgid "Data Rate"
msgstr "Adatsebesség"
msgid "Disassociate On Low Acknowledgement"
msgstr "Hozzárendelés megszüntetése alacsony nyugtázásnál"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:302
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
msgid ""
"Discard upstream responses containing <a href=\"%s\">RFC1918</a> addresses."
msgstr "Külső RFC1918 válaszok elvetése."
msgid "Distributed ARP Table"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:548
msgid ""
"Dnsmasq instance to which this boot section is bound. If unspecified, the "
"section is valid for all dnsmasq instances."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:246
msgid ""
-"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</"
-"abbr> forwarder."
+"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</abbr> "
+"forwarder."
msgstr ""
-"A dnsmasq egy kombinált <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr>-kiszolgáló és <abbr title=\"Domain Name System\">DNS</"
-"abbr>-továbbító <abbr title=\"Network Address Translation\">NAT</abbr> "
-"tűzfalak számára"
+"A dnsmasq egy kombinált <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr>-kiszolgáló és <abbr title=\"Domain Name System\">DNS</abbr>-"
+"továbbító <abbr title=\"Network Address Translation\">NAT</abbr> tűzfalak "
+"számára"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:419
msgid "Do not cache negative replies, e.g. for non-existent domains."
msgstr ""
"Ne gyorsítótárazza a negatív válaszokat, például nem létező tartományoknál"
msgid "Do not create host route to peer (optional)."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:262
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:264
msgid "Do not forward DNS queries without dots or domain parts."
msgstr ""
"Ne továbbítsa a <abbr title=\"Domain Name System\">DNS</abbr>-kéréseket "
"<abbr title=\"Domain Name System\">DNS</abbr>-név nélkül"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
msgid "Do not forward reverse lookups for local networks."
msgstr "Ne továbbítson fordított keresési kéréseket a helyi hálózathoz"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:339
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
msgid "Do not listen on the specified interfaces."
msgstr "Figyelés megakadályozása ezeken a csatolókon."
msgid "Do you want to replace the current keys?"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:593
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:606
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:664
msgid "Domain"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:261
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:263
msgid "Domain required"
msgstr "Tartomány szükséges"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:316
msgid "Domain whitelist"
msgstr "Tartomány fehérlista"
msgid "Enable Single DES"
msgstr "Egyszeres DES engedélyezése"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:480
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
msgid "Enable TFTP server"
msgstr "TFTP kiszolgáló engedélyezése"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/uhttpd.js:14
msgid ""
-"Enable automatic redirection of <abbr title=\"Hypertext Transfer "
-"Protocol\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol "
-"Secure\">HTTPS</abbr> port."
+"Enable automatic redirection of <abbr title=\"Hypertext Transfer Protocol"
+"\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol Secure"
+"\">HTTPS</abbr> port."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:977
msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets."
msgstr "A beágyazott csomagok DF (ne tördeljen) jelzőjének engedélyezése."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:481
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
msgid "Enable the built-in single-instance TFTP server."
msgstr ""
msgid "Error getting PublicKey"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
msgid "Errored seconds (ES)"
msgstr "Hibás másodpercek (ES)"
msgid "Every second (fast, 1)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:343
msgid "Exclude interfaces"
msgstr "Csatolók kizárása"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
msgid ""
"Exempt <code>127.0.0.0/8</code> and <code>::1</code> from rebinding checks, "
"e.g. for RBL services."
msgid "Existing device"
msgstr "Létező eszköz"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:409
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
msgid "Expand hosts"
msgstr "Gépek kinyitása"
msgid "File"
msgstr "Fájl"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
msgid ""
"File listing upstream resolvers, optionally domain-specific, e.g. "
"<code>server=1.2.3.4</code>, <code>server=/domain/1.2.3.4</code>."
msgstr ""
"Ez a fájl olyan sorokat tartalmazhat, mint például „server=/domain/1.2.3.4” "
-"vagy „server=1.2.3.4” a tartományra jellemző vagy teljesen külső <abbr "
-"title=\"Domain Name System\">DNS</abbr>-kiszolgálókhoz."
+"vagy „server=1.2.3.4” a tartományra jellemző vagy teljesen külső <abbr title="
+"\"Domain Name System\">DNS</abbr>-kiszolgálókhoz."
#: modules/luci-base/htdocs/luci-static/resources/ui.js:2655
msgid "File not accessible"
msgstr "A fájl nem érhető el"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:354
msgid "File to store DHCP lease information."
msgstr ""
-"a fájl, ahol a megadott <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> bérletek tárolásra kerülnek"
+"a fájl, ahol a megadott <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> bérletek tárolásra kerülnek"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:362
msgid "File with upstream resolvers."
msgstr "helyi <abbr title=\"Domain Name System\">DNS</abbr>-fájl"
#: modules/luci-base/htdocs/luci-static/resources/ui.js:2846
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:507
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:512
msgid "Filename"
msgstr "Fájlnév"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:493
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:498
msgid "Filename of the boot image advertised to clients."
msgstr "Az ügyfeleknek meghirdetett rendszerindító lemezkép fájlneve"
msgid "Filesystem"
msgstr "Fájlrendszer"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
msgid "Filter private"
msgstr "Személyes szűrése"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
msgid "Filter useless"
msgstr "Használhatatlan szűrése"
msgid "Firmware Version"
msgstr "Firmware verzió"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:446
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:451
msgid "Fixed source port for outbound DNS queries."
msgstr "Rögzített forrásport a kimenő DNS-lekérdezéseknél"
msgid "Flashing…"
msgstr "Telepítés…"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:686
msgid "Force"
msgstr "Kényszerítés"
msgid "Force use of NAT-T"
msgstr "NAT-T használatának kényszerítése"
-#: modules/luci-base/luasrc/view/csrftoken.htm:8
+#: modules/luci-base/ucode/template/csrftoken.ut:8
msgid "Form token mismatch"
msgstr "Űrlaptoken eltérés"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:919
msgid ""
-"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr "
-"title=\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr "
-"title=\"Neighbour Advertisement, Type 136\">NA</abbr> messages between the "
-"designated master interface and downstream interfaces."
+"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr title="
+"\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr title=\"Neighbour "
+"Advertisement, Type 136\">NA</abbr> messages between the designated master "
+"interface and downstream interfaces."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:770
"downstream interfaces."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
msgid "Forward Error Correction Seconds (FECS)"
msgstr "Továbbítási hiba javításának másodpercei (FECS)"
msgid "Global network options"
msgstr "Globális hálózati beállítások"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:82
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:74
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:70
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:84
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:67
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:92
msgid "Go to firmware upgrade..."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:72
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:64
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:60
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:57
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:82
msgid "Go to password configuration..."
msgstr "Ugrás a jelszóbeállításhoz…"
msgid "Hang Up"
msgstr "Befejezés"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
msgid "Header Error Code Errors (HEC)"
msgstr "Fejléc hibakódhibák (HEC)"
msgid "Host expiry timeout"
msgstr "Gép lejárati időkorlátja"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
msgid "Host requests this filename from the boot server."
msgstr ""
msgstr "Egyedi gépcímketartalom"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:38
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:607
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:678
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:54
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:87
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:135
msgid "Hostnames"
msgstr "Gépnevek"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:551
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:622
msgid ""
"Hostnames are used to bind a domain name to an IP address. This setting is "
"redundant for hostnames already configured with static leases, but it can be "
msgid "IP Protocol"
msgstr "IP protokoll"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:260
msgid "IP Sets"
msgstr ""
msgid "IP Type"
msgstr "IP típusa"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:563
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:634
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:178
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:204
msgid "IP address"
msgid "IP protocol"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:660
msgid "IP set"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:300
msgid "IP sets"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:437
msgid "IPs to override with NXDOMAIN"
msgstr "Hamis NX-tartomány felülbírálása"
#: modules/luci-base/htdocs/luci-static/resources/protocol/static.js:178
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:736
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:88
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:164
msgid "IPv4 address"
msgid "IPv6 suffix"
msgstr "IPv6-utótag"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:706
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:777
msgid "IPv6 suffix (hex)"
msgstr "<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-utótag (hex)"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:340
msgid ""
"If your physical memory is insufficient unused data can be temporarily "
-"swapped to a swap-device resulting in a higher amount of usable <abbr "
-"title=\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a "
-"very slow process as the swap-device cannot be accessed with the high "
-"datarates of the <abbr title=\"Random Access Memory\">RAM</abbr>."
+"swapped to a swap-device resulting in a higher amount of usable <abbr title="
+"\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a very "
+"slow process as the swap-device cannot be accessed with the high datarates "
+"of the <abbr title=\"Random Access Memory\">RAM</abbr>."
msgstr ""
"Ha a fizikai memória túl kevés, akkor a nem használt adatok átmenetileg "
"áttehetők egy cserehelyeszközre, ami nagyobb mennyiségű használható <abbr "
"title=\"Random Access Memory\">RAM</abbr>-ot eredményez. Legyen tudatában "
"annak, hogy az adatok áttétele nagyon lassú folyamat, mivel a "
-"cserehelyeszköz nem érhető el akkora adatsebességgel, mint a <abbr "
-"title=\"Random Access Memory\">RAM</abbr>."
+"cserehelyeszköz nem érhető el akkora adatsebességgel, mint a <abbr title="
+"\"Random Access Memory\">RAM</abbr>."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:363
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:368
msgid "Ignore <code>/etc/hosts</code>"
msgstr "Az <code>/etc/hosts</code> mellőzése"
msgid "Ignore interface"
msgstr "Csatoló mellőzése"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:352
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
msgid "Ignore resolv file"
msgstr "A feloldási fájl figyelmen kívül hagyása"
"order to avoid broadcast loops that can bring the entire LAN to a standstill."
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:13
+#: modules/luci-base/ucode/template/csrftoken.ut:13
msgid ""
"In order to prevent unauthorized access to the system, your request has been "
"blocked. Click \"Continue »\" below to return to the previous page."
msgid "Install protocol extensions..."
msgstr "Protokollkiterjesztések telepítése…"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:547
msgid "Instance"
msgstr ""
msgid "Internal"
msgstr "Belső"
-#: modules/luci-base/luasrc/view/error500.htm:8
-msgid "Internal Server Error"
-msgstr "Belső kiszolgálóhiba"
-
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:285
msgid "Interval For Sending Learning Packets"
msgstr ""
msgid "Invalid hexadecimal value"
msgstr "Érvénytelen hexadecimális érték"
-#: modules/luci-base/luasrc/view/sysauth.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:37
+#: modules/luci-base/ucode/template/sysauth.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:32
msgid "Invalid username and/or password! Please try again."
msgstr "Érvénytelen felhasználónév és/vagy jelszó! Próbálja újra."
"Úgy tűnik, hogy olyan képfájlt próbál beírni, amely nem fér bele a flash-"
"memóriába. Ellenőrizze a képfájlt!"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:89
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:96
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:77
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:91
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:72
msgid "JavaScript required!"
msgstr "JavaScript szükséges!"
msgid "Language and Style"
msgstr "Nyelv és stílus"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:560
+msgid ""
+"Larger weights (of the same prio) are given a proportionately higher "
+"probability of being selected."
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:575
msgid "Last member interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
msgid "Latency"
msgstr "Késleltetés"
msgid "Learn routes"
msgstr "Útvonalak tanulása"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:348
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:353
msgid "Lease file"
msgstr "Bérletfájl"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:697
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:768
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:679
msgid "Lease time"
msgstr "Bérleti idő"
msgid "Limit"
msgstr "Korlát"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
msgid "Line Attenuation (LATN)"
msgstr "Vonal csillapítása (LATN)"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
msgid "Line Mode"
msgstr "Vonali mód"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:17
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
msgid "Line State"
msgstr "Vonal állapota"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
msgid "Line Uptime"
msgstr "Vonal működési ideje"
msgid "Link layer header bits %d-%d"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
msgid "List of IP addresses to convert into NXDOMAIN responses."
msgstr "Gépek listája, amelyek hamis NX-tartomány eredményeket szolgáltatnak"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:296
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:581
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:652
msgid "List of IP sets to populate with the specified domain IPs."
msgstr ""
msgid "List of SSH key files for auth"
msgstr "SSH kulcsfájlok listája a hitelesítéshez"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:317
msgid "List of domains to allow RFC1918 responses for."
msgstr "Tartományok listája, amelyeknél az RFC1918 válaszok engedélyezettek"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:290
-msgid "List of domains to force to an IP address."
-msgstr ""
-
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:283
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:285
msgid "List of upstream resolvers to forward queries to."
msgstr ""
"<abbr title=\"Domain Name System\">DNS</abbr>-kiszolgálók listája, ahová a "
msgid "Listen Port"
msgstr "Fogadó port"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:332
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:337
msgid "Listen interfaces"
msgstr "Figyelési csatolók"
msgid "Listen only on the given interface or, if unspecified, on all"
msgstr "Figyelés csak a megadott csatolón, vagy az összesen, ha nincs megadva"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:333
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
msgid ""
"Listen only on the specified interfaces, and loopback if not excluded "
"explicitly."
msgid "ListenPort setting is invalid"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:439
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:444
msgid "Listening port for inbound DNS queries."
msgstr "Port figyelése a bejövő DNS-lekérdezésekhez"
msgstr "Könyvtártartalmak betöltése…"
#: modules/luci-base/htdocs/luci-static/resources/luci.js:1942
-#: modules/luci-base/luasrc/view/view.htm:4
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:45
+#: modules/luci-base/ucode/template/view.ut:4
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:40
msgid "Loading view…"
msgstr "Nézet betöltése…"
msgid "Local ULA"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:273
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:275
msgid "Local domain"
msgstr "Helyi tartomány"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:274
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:276
msgid "Local domain suffix appended to DHCP names and hosts file entries."
msgstr ""
"A DHCP nevekhez és a hosts fájl bejegyzéseihez hozzáfűzött helyi "
"tartományutótagok"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:269
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:271
msgid "Local server"
msgstr "Helyi kiszolgáló"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:319
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:324
msgid "Local service only"
msgstr "Csak helyi szolgáltatás"
msgid "Local wireguard key"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
msgid "Localise queries"
msgstr "Lekérdezések behatárolása"
msgid "Log output level"
msgstr "Napló kimeneti szintje"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:277
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:279
msgid "Log queries"
msgstr "Lekérdezések naplózása"
msgid "Logical network to which the tunnel will be added (bridged) (optional)."
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:38
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:41
+#: modules/luci-base/ucode/template/sysauth.ut:38
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:36
msgid "Login"
msgstr "Bejelentkezés"
msgid "Loose filtering"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
msgid "Loss of Signal Seconds (LOSS)"
msgstr "Jel vesztésének másodpercei (LOSS)"
msgid "Lowest leased address as offset from the network address."
msgstr "Legalacsonyabb bérelt cím a hálózati címtől való eltolásként."
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/footer.ut:12
+msgid "Lua compatibility mode active"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:48
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:83
msgid "MAC"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:591
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:40
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:619
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1164
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2177
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:56
msgid "MTU"
msgstr "MTU"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:259
+msgid "MX"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:303
msgid ""
"Make sure to clone the root filesystem using something like the commands "
msgid "Max <abbr title=\"Router Advertisement\">RA</abbr> interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
msgid "Max. Attainable Data Rate (ATTNDR)"
msgstr "Legnagyobb elérhető adatsebesség (ATTNDR)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:457
msgid "Max. DHCP leases"
msgstr ""
"<abbr title=\"maximal\">Legnagyobb</abbr> <abbr title=\"Dynamic Host "
"Configuration Protocol\">DHCP</abbr> bérletek"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:459
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:464
msgid "Max. EDNS0 packet size"
msgstr ""
"<abbr title=\"maximal\">Max.</abbr> <abbr title=\"Extension Mechanisms for "
"Domain Name System\">EDNS0</abbr> csomagméret"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:466
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:471
msgid "Max. concurrent queries"
msgstr "<abbr title=\"maximal\">Legtöbb</abbr> egyidejű lekérdezés"
msgid "Maximum allowed Listen Interval"
msgstr "Legnagyobb engedélyezett figyelési időköz"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:453
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:458
msgid "Maximum allowed number of active DHCP leases."
msgstr "Aktív DHCP bérletek legnagyobb megengedett száma"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:467
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:472
msgid "Maximum allowed number of concurrent DNS queries."
msgstr "Egyidejű DNS-lekérdezések legnagyobb megengedett száma"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:460
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:465
msgid "Maximum allowed size of EDNS0 UDP packets."
msgstr "EDNS.0 UDP csomagok legnagyobb megengedett mérete"
msgid "Maximum transmit power"
msgstr "Legnagyobb átviteli teljesítmény"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:394
msgid "May prevent VoIP or other services from working."
msgstr ""
msgid "Name of the tunnel device"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:46
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:39
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:50
msgid "Navigation"
msgstr "Navigáció"
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:10
+msgid "Nebula Network"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:653
msgid "Neighbour cache validity"
msgstr ""
msgid "Network address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:492
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:497
msgid "Network boot image"
msgstr "Hálózati rendszerindító lemezkép"
msgid "Network interface"
msgstr "Hálózati csatoló"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:536
msgid "Network-ID"
msgstr ""
msgid "Never"
msgstr "Soha"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:270
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:272
msgid ""
"Never forward matching domains and subdomains, resolve from DHCP or hosts "
"files only."
msgid "No RX signal"
msgstr "Nincs RX jel"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:80
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:87
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:68
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:82
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:65
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:90
msgid ""
"No changes to settings will be stored and are lost after rebooting. This "
msgid "No entries in this directory"
msgstr "Nincsenek bejegyzések ebben a könyvtárban"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:82
-msgid "No files found"
-msgstr "Nem találhatók fájlok"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:833
msgid ""
"No fixed interface listening port defined, peers might not be able to "
msgid "No more slaves available, can not save interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:413
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
msgid "No negative cache"
msgstr "Nincs negatív gyorsítótár"
msgid "No nftables ruleset loaded."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:69
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:61
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:57
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:54
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:79
msgid "No password set!"
msgstr "Nincs jelszó beállítva!"
msgid "Noise"
msgstr "Zaj"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
msgid "Noise Margin (SNR)"
msgstr "Zajszint (SNR)"
msgid "Noise:"
msgstr "Zaj:"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
msgid "Non Pre-emptive CRC errors (CRC_P)"
msgstr "Nem megelőző CRC-hibák (CRC_P)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:330
msgid "Non-wildcard"
msgstr "Nincs helyettesítő karakter"
msgid "Normal"
msgstr "Normál"
-#: modules/luci-base/luasrc/view/error404.htm:8
+#: modules/luci-base/ucode/template/error404.ut:9
msgid "Not Found"
msgstr "Nem található"
msgid "Number of IGMP membership reports"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:474
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:479
msgid "Number of cached DNS entries, 10000 is maximum, 0 is no caching."
msgstr ""
"Gyorsítótárazott DNS-bejegyzések száma (legfeljebb 10000, 0 megadásakor "
msgid "On-link"
msgstr "Kapcsolatkori útválasztás"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:672
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:743
msgid "One of hostname or MAC address must be specified!"
msgstr "A gépnév vagy a MAC-cím egyikét meg kell adni!"
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:472
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:19
msgid "Open list..."
msgstr "Lista megnyitása…"
msgid "Options"
msgstr "Beállítások"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:526
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
msgid ""
"Options for the Network-ID. (Note: needs also Network-ID.) E.g. "
-"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</"
-"code>\" for default route. <code>0.0.0.0</code> means \"the address of the "
-"system running dnsmasq\"."
+"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</code>"
+"\" for default route. <code>0.0.0.0</code> means \"the address of the system "
+"running dnsmasq\"."
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:125
msgid "Options:"
msgstr "Opciók:"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
+msgid "Ordinal: lower comes first."
+msgstr ""
+
#: protocols/luci-proto-batman-adv/htdocs/luci-static/resources/protocol/batadv.js:55
msgid "Originator Interval"
msgstr ""
msgid "Pass-through (Mirror physical device to single MAC VLAN)"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:29
+#: modules/luci-base/ucode/template/sysauth.ut:29
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1690
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:51
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:114
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:103
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:24
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:19
msgid "Password"
msgstr "Jelszó"
msgid "Pkts."
msgstr "csom."
-#: modules/luci-base/luasrc/view/sysauth.htm:19
+#: modules/luci-base/ucode/template/sysauth.ut:19
msgid "Please enter your username and password."
msgstr "Adja meg a felhasználónevét és a jelszavát."
msgid "Policy: <strong>%h</strong> (%h)"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:579
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:21
msgid "Port"
msgstr "Port"
msgid "Potential negation of: %s"
msgstr "Lehetséges tagadása ennek: %s"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:38
msgid "Power Management Mode"
msgstr "Energiakezelési mód"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
msgid "Pre-emptive CRC errors (CRCP_P)"
msgstr "Megelőző CRC-hibák (CRCP_P)"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:129
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:197
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:223
msgid "Quality"
msgstr "Minőség"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
msgid "Query all available upstream resolvers."
msgstr ""
"Az összes elérhető külső <abbr title=\"Domain Name System\">DNS</abbr>-"
"Nyers hexadecimális kódolású bájtok. Hagyja üresen, hacsak az internet-"
"szolgáltatója nem követelni meg"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:345
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:350
msgid "Read <code>/etc/ethers</code> to configure the DHCP server."
msgstr ""
"Az <code>/etc/ethers</code> fájl olvasása a <abbr title=\"Dynamic Host "
msgid "Reassociation Deadline"
msgstr "Újratársítás határideje"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
msgid "Rebind protection"
msgstr "Újrakötési védelem"
msgstr ""
#: modules/luci-compat/luasrc/model/network/proto_relay.lua:153
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:611
#: protocols/luci-proto-relay/htdocs/luci-static/resources/protocol/relay.js:39
msgid "Relay"
msgstr "Átjátszás"
msgid "Required. Base64-encoded private key for this interface."
msgstr "Kötelező. Base64 kódolású személyes kulcs ehhez a csatolóhoz."
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Required. Path to the .yml config file for this interface."
+msgstr ""
+
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:587
msgid "Required. Public key of the WireGuard peer."
msgstr ""
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2197
-#: modules/luci-base/luasrc/view/sysauth.htm:39
+#: modules/luci-base/ucode/template/sysauth.ut:39
#: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
#: modules/luci-compat/luasrc/view/cbi/footer.htm:30
#: modules/luci-compat/luasrc/view/cbi/simpleform.htm:66
msgid "Resolv and Hosts Files"
msgstr "Resolv és hosts fájlok"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:356
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:361
msgid "Resolv file"
msgstr "Fájl feloldása"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:292
+msgid "Resolve specified FQDNs to an IP."
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/rpc.js:405
msgid "Resource not found"
msgstr "Az erőforrás nem található"
msgid "Restore backup"
msgstr "Biztonsági mentés visszaállítása"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
msgid ""
"Return answers to DNS queries matching the subnet from which the query was "
"received if multiple IPs are available."
msgid "Robustness"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:491
msgid ""
"Root directory for files served via TFTP. <em>Enable TFTP server</em> and "
"<em>TFTP server root</em> turn on the TFTP server and serve files from "
msgid "SNR"
msgstr "SNR"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "SRV"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:10
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:38
msgid "SSH Access"
msgid "Server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:524
msgid "Server address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:518
msgid "Server name"
msgstr ""
msgid "Setup routes for proxied IPv6 neighbours."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
msgid "Severely Errored Seconds (SES)"
msgstr "Súlyosan hibás másodpercek (SES)"
msgstr "Rövid előszó"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:470
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:18
msgid "Show current backup file list"
msgstr "Jelenlegi biztonsági mentés fájllista megjelenítése"
msgid "Signal / Noise"
msgstr "Jel/zaj"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
msgid "Signal Attenuation (SATN)"
msgstr "Jel csillapítása (SATN)"
msgid "Size"
msgstr "Méret"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:473
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:478
msgid "Size of DNS query cache"
msgstr "A DNS lekérdezési gyorsítótár mérete"
msgid "Skip from backup files that are equal to those in /rom"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:42
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:35
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:46
msgid "Skip to content"
msgstr "Ugrás a tartalomhoz"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:41
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:34
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:45
msgid "Skip to navigation"
msgstr "Ugrás a navigációhoz"
msgid "Some fields are invalid, cannot save values!"
msgstr "Néhány mező érvénytelen, nem lehet menteni az értékeket!"
-#: modules/luci-base/luasrc/view/error404.htm:9
+#: modules/luci-base/ucode/template/error404.ut:10
msgid "Sorry, the object you requested was not found."
msgstr "Elnézést, a kért objektum nem található."
-#: modules/luci-base/luasrc/view/error500.htm:9
-msgid "Sorry, the server encountered an unexpected error."
-msgstr "Elnézést, a kiszolgáló váratlan hibát észlelt."
-
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:442
msgid ""
"Sorry, there is no sysupgrade support present; a new firmware image must be "
msgid "Source port"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:505
msgid ""
"Special <abbr title=\"Preboot eXecution Environment\">PXE</abbr> boot "
"options for Dnsmasq."
msgid "Static address"
msgstr "Statikus cím"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:598
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:669
msgid ""
"Static leases are used to assign fixed IP addresses and symbolic hostnames "
"to DHCP clients. They are also required for non-dynamic interface "
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:16
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:541
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:929
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:9
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:9
msgid "Status"
msgstr "Állapot"
msgid "Strict filtering"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
msgid "Strict order"
msgstr "Szigorú sorrend"
msgid "Submit"
msgstr "Elküldés"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
msgid "Suppress logging"
msgstr "Naplózás elnyomása"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:373
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
msgid "Suppress logging of the routine operation for the DHCP protocol."
msgstr "Ezen protokollok rutinműveletei naplózásának elnyomása"
msgid "Sync with browser"
msgstr "Szinkronizálás a böngészővel"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:293
+msgid "Syntax: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "Syntax: <code>_service._proto.example.com</code>."
+msgstr ""
+
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:26
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:17
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:113
msgid "System log buffer size"
msgstr "Rendszernapló-puffer mérete"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:79
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:86
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:71
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:67
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:81
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:64
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:89
msgid "System running in recovery (initramfs) mode."
msgstr ""
msgid "TCP:"
msgstr "TCP:"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:490
msgid "TFTP server root"
msgstr "TFTP-kiszolgáló gyökere"
msgid "Table"
msgstr "Tábla"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:56
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:66
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:187
"A HE.net végpont frissítési beállítása megváltozott, most az egyszerű "
"felhasználónevet kell használnia a felhasználó-azonosító helyett!"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:681
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:752
msgid "The IP address %h is already used by another static lease"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:761
msgid "The IP address is outside of any DHCP pool address range"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:520
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
msgid "The IP address of the boot server"
msgstr ""
"to be received and retransmitted which costs airtime)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:514
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
msgid "The hostname of the boot server"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/switch.js:139
msgid ""
-"The network ports on this device can be combined to several <abbr "
-"title=\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
+"The network ports on this device can be combined to several <abbr title="
+"\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
"communicate directly with each other. <abbr title=\"Virtual Local Area "
"Network\">VLAN</abbr>s are often used to separate different network "
"segments. Often there is by default one Uplink port for a connection to the "
"next greater network like the internet and other ports for a local network."
msgstr ""
-"Az eszközön található hálózati portok kombinálhatók több <abbr "
-"title=\"Virtual Local Area Network\">VLAN</abbr>-ba, amelyekben a "
-"számítógépek közvetlenül kommunikálhatnak egymással. A <abbr title=\"Virtual "
-"Local Area Network\">VLAN</abbr>-okat gyakran a hálózati szegmensek "
-"elkülönítésére használják. Gyakran alapértelmezetten van egy kimenő port a "
-"következő nagyobb hálózathoz (például az internethez) való kapcsolódásra és "
-"egyéb portok a helyi hálózathoz."
+"Az eszközön található hálózati portok kombinálhatók több <abbr title="
+"\"Virtual Local Area Network\">VLAN</abbr>-ba, amelyekben a számítógépek "
+"közvetlenül kommunikálhatnak egymással. A <abbr title=\"Virtual Local Area "
+"Network\">VLAN</abbr>-okat gyakran a hálózati szegmensek elkülönítésére "
+"használják. Gyakran alapértelmezetten van egy kimenő port a következő "
+"nagyobb hálózathoz (például az internethez) való kapcsolódásra és egyéb "
+"portok a helyi hálózathoz."
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:759
msgid ""
msgid "The selected %s mode is incompatible with %s encryption"
msgstr "A kiválasztott %s mód nem használható együtt %s titkosítással"
-#: modules/luci-base/luasrc/view/csrftoken.htm:11
+#: modules/luci-base/ucode/template/csrftoken.ut:11
msgid "The submitted security token is invalid or already expired!"
msgstr "A beküldött biztonsági token érvénytelen vagy már lejárt!"
"nftables rules is discouraged and may lead to incomplete traffic filtering."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:746
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:778
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:817
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:849
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:130
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:179
msgid "There are no active leases"
msgid "There are no changes to apply"
msgstr "Nincsenek alkalmazandó változtatások"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:70
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:58
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:55
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:80
msgid ""
"There is no password set on this router. Please configure a root password to "
msgstr "Ez nem tűnik érvényes PEM fájlnak"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:16
msgid ""
"This is a list of shell glob patterns for matching files and directories to "
"include during sysupgrade. Modified files in /etc/config/ and certain other "
"Ez az alagút-közvetítő által hozzárendelt helyi végpont címe, amely "
"általában így végződik: <code>...:2/64</code>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:266
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:268
msgid "This is the only DHCP server in the local network."
msgstr ""
"Ez az egyetlen <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</"
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:440
msgid ""
"To fully configure the local WireGuard interface from an existing (e.g. "
-"provider supplied) configuration file, use the <strong><a class=\"full-"
-"import\" href=\"#\">configuration import</a></strong> instead."
+"provider supplied) configuration file, use the <strong><a class=\"full-import"
+"\" href=\"#\">configuration import</a></strong> instead."
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2674
msgid "Unable to determine upstream interface"
msgstr "Nem lehet meghatározni a külső csatolót"
-#: modules/luci-base/luasrc/view/error404.htm:11
+#: modules/luci-base/ucode/template/error404.ut:12
msgid "Unable to dispatch"
msgstr "Nem lehet elküldeni"
msgid "Unable to verify PIN"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
msgid "Unavailable Seconds (UAS)"
msgstr "Elérhetetlen másodpercek (UAS)"
"will be restarted to apply the updated configuration."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
msgid "Upstream resolvers will be queried in the order of the resolv file."
msgstr ""
"A <abbr title=\"Domain Name System\">DNS</abbr>-kiszolgálók a feloldási "
msgid "Uptime"
msgstr "Futási idő"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
msgid "Use <code>/etc/ethers</code>"
msgstr "<code>/etc/ethers</code> használata"
msgid "Use system certificates for inner-tunnel"
msgstr "Rendszertanúsítványok használata a belső alagútnál"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:599
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:670
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC address</"
"em> identifies the host, the <em>IPv4 address</em> specifies the fixed "
msgid "User key (PEM encoded)"
msgstr "Felhasználói kulcs (PEM kódolású)"
-#: modules/luci-base/luasrc/view/sysauth.htm:23
+#: modules/luci-base/ucode/template/sysauth.ut:23
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:112
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:101
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:56
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:18
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:13
msgid "Username"
msgstr "Felhasználónév"
msgid "VXLANv6 (RFC7348)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
msgid ""
"Validate DNS replies and cache DNSSEC data, requires upstream to support "
"DNSSEC."
msgid "Vendor Class to send when requesting DHCP"
msgstr "DHCP kérésekor küldendő gyártóosztály"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:408
msgid "Verify unsigned domain responses really come from unsigned domains."
msgstr ""
msgid "Weak"
msgstr "Gyenge"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+msgid "Weight"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1029
msgid ""
"When delegating prefixes to multiple downstreams, interfaces with a higher "
msgid "Wireless network is enabled"
msgstr "Vezeték nélküli hálózat engedélyezve"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:278
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:280
msgid "Write received DNS queries to syslog."
msgstr "Fogadott DNS-kérések írása a rendszernaplóba"
"előkészítő parancsfájlokat, mint például a „network” parancsfájlt, akkor az "
"eszköz elérhetetlenné válhat!</strong>"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:90
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:97
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
+msgid "You may add multiple records for the same Target."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:596
+msgid "You may add multiple records for the same domain."
+msgstr ""
+
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:78
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:92
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:73
msgid ""
"You must enable JavaScript in your browser or LuCI will not work properly."
msgid "ZRam Size"
msgstr "ZRam mérete"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:558
+msgid "_proto: _tcp, _udp, _sctp, _quic, … ."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:557
+msgid ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Note: while _http is "
+"possible, no browsers support SRV records.)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:454
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:152
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:163
msgid "any"
msgid "e.g: dump"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:726
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:756
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:797
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:827
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:101
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:148
msgid "expired"
msgid "unknown"
msgstr "ismeretlen"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:456
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:724
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:754
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:461
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:795
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:825
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:99
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:146
msgid "unlimited"
msgid "« Back"
msgstr "« Vissza"
+#~ msgid "Back to configuration"
+#~ msgstr "Vissza a beállításokhoz"
+
+#~ msgid "Close list..."
+#~ msgstr "Lista bezárása…"
+
+#~ msgid "Internal Server Error"
+#~ msgstr "Belső kiszolgálóhiba"
+
+#~ msgid "No files found"
+#~ msgstr "Nem találhatók fájlok"
+
+#~ msgid "Sorry, the server encountered an unexpected error."
+#~ msgstr "Elnézést, a kiszolgáló váratlan hibát észlelt."
+
#~ msgid "Do not forward queries that cannot be answered by public resolvers."
#~ msgstr ""
#~ "Ne továbbítsa azokat a kéréseket, amelyeket nem tudnak megválaszolni a "
#~ msgid ""
#~ "The filesystem that was used to format the memory (<abbr title=\"for "
-#~ "example\">e.g.</abbr> <samp><abbr title=\"Third Extended "
-#~ "Filesystem\">ext3</abbr></samp>)"
+#~ "example\">e.g.</abbr> <samp><abbr title=\"Third Extended Filesystem"
+#~ "\">ext3</abbr></samp>)"
#~ msgstr ""
#~ "A memória formázásához használt fájlrendszer típusa (<abbr title=\"for "
-#~ "example\">pl.</abbr> <samp><abbr title=\"Third Extended "
-#~ "Filesystem\">ext3</abbr></samp>)"
+#~ "example\">pl.</abbr> <samp><abbr title=\"Third Extended Filesystem"
+#~ "\">ext3</abbr></samp>)"
#~ msgid ""
#~ "The flash image was uploaded. Below is the checksum and file size listed, "
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/leds.js:70
msgid "<abbr title=\"Light Emitting Diode\">LED</abbr> Name"
msgstr ""
-"Nome del <abbr title=\"Light Emitting Diode - Diodo ad Emissione di "
-"Luce\">LED</abbr>"
+"Nome del <abbr title=\"Light Emitting Diode - Diodo ad Emissione di Luce"
+"\">LED</abbr>"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:914
msgid "<abbr title=\"Neighbour Discovery Protocol\">NDP</abbr>-Proxy"
msgid "<abbr title=\"Router Advertisement\">RA</abbr>-Service"
msgstr "Servizio <abbr title=\"Router Advertisement\">RA</abbr>"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:294
+msgid ""
+"<code>/#/</code> matches any domain. <code>/example.com/</code> returns "
+"NXDOMAIN."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+msgid ""
+"<code>/example.com/#</code> returns NULL addresses (<code>0.0.0.0</code> and "
+"<code>::</code>) for example.com and its subdomains."
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:87
msgctxt "nft relational \">\" operator expression"
msgid "<var>%s</var> greater than <strong>%s</strong>"
msgid "ATM device number"
msgstr "Numero dispositivo ATM"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
msgid "ATU-C System Vendor ID"
msgstr ""
msgid "Absent Interface"
msgstr "Interfaccia assente"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:320
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
msgid "Accept DNS queries only from hosts whose address is on a local subnet."
msgstr ""
"Accetta query DNS solo da host il cui indirizzo si trova su una sottorete "
msgid "Add key"
msgstr "Aggiungi chiave"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:410
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:415
msgid "Add local domain suffix to names served from hosts files."
msgstr "Aggiungi il suffisso di dominio locale ai nomi serviti dal file hosts."
msgid "Add to Whitelist"
msgstr "Aggiungi alla Whitelist"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:367
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
msgid "Additional hosts files"
msgstr "File Hosts aggiuntivo"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:417
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
msgid "Additional servers file"
msgstr "File server aggiuntivi"
msgid "Address to access local relay bridge"
msgstr "Indirizzo per accedere al bridge locale di trasmissione"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:289
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:291
msgid "Addresses"
msgstr "Indirizzi"
msgid "Aggregate Originator Messages"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
msgid "Aggregate Transmit Power (ACTATP)"
msgstr ""
msgid "Alias of \"%s\""
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
msgid "All servers"
msgstr "Tutti i server"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
msgid ""
"Allocate IP addresses sequentially, starting from the lowest available "
"address."
"Assegna gli indirizzi IP consecutivamente, a partire dall'indirizzo più "
"basso disponibile."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
msgid "Allocate IPs sequentially"
msgstr "Assegna IP consecutivi"
msgid "Allow listed only"
msgstr "Consenti solo quelli nell'elenco"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
msgid "Allow localhost"
msgstr "Permetti localhost"
msgid "Always on (kernel: default-on)"
msgstr "Sempre acceso (kernel: default-on)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:538
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
msgid "Always send DHCP Options. Sometimes needed, with e.g. PXELinux."
msgstr ""
msgstr "Una breve descrizione facoltativa per questo dispositivo"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1484
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
msgid "Annex"
msgstr "Annex"
msgid "Any zone"
msgstr "Qualsiasi zona"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:532
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
msgid "Apply DHCP Options to this net. (Empty = all clients)."
msgstr ""
msgid "Authentication Type"
msgstr "Tipo di autenticazione"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:265
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:267
msgid "Authoritative"
msgstr "Autoritativo"
-#: modules/luci-base/luasrc/view/sysauth.htm:17
+#: modules/luci-base/ucode/template/sysauth.ut:17
#: themes/luci-theme-bootstrap/htdocs/luci-static/resources/view/bootstrap/sysauth.js:11
msgid "Authorization Required"
msgstr "Autorizzazione Richiesta"
msgid "Avoid Bridge Loops"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
msgid ""
"Avoid uselessly triggering dial-on-demand links (filters SRV/SOA records and "
"names with underscores)."
msgid "Back to Overview"
msgstr "Ritorna alla Panoramica"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:48
-msgid "Back to configuration"
-msgstr "Torna alla configurazione"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:826
msgid "Back to peer configuration"
msgstr ""
msgstr "Backup / Flash Firmware"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:351
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:12
msgid "Backup file list"
msgstr "Elenco dei file di backup"
msgstr "Intervallo Beacon"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:352
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:46
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
msgid "Bind NTP server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:326
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:331
msgid "Bind dynamically to interfaces rather than wildcard address."
msgstr ""
msgid "Bind interface"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:595
+msgid ""
+"Bind service records to a domain name: specify the location of services."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:556
+msgid ""
+"Bind service records to a domain name: specify the location of services. See "
+"<a href=\"%s\">RFC2782</a>."
+msgstr ""
+
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gre.js:59
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gretap.js:64
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/grev6.js:64
msgid "CLAT configuration failed"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
+msgid "CNAME or fqdn"
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/processes.js:72
msgid "CPU usage (%)"
msgstr "Uso CPU (%)"
"Chiudi le connessioni inattive dopo un determinato numero di secondi, usa 0 "
"per connessioni persistenti"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:49
-msgid "Close list..."
-msgstr "Chiudi elenco..."
-
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:44
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:63
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2184
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:391
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:352
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:355
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:72
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:66
msgid "Collecting data..."
msgstr "Sto raccogliendo i dati..."
msgid "Compute outgoing checksum (optional)."
msgstr "Calcolare il checksum in uscita (facoltativo)."
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Config File"
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4375
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
msgid "Configuration"
"Configures the default router advertisement in <abbr title=\"Router "
"Advertisement\">RA</abbr> messages."
msgstr ""
-"Configura il router predefinito da annunciare nei messaggi <abbr "
-"title=\"Router Advertisement\">RA</abbr>."
+"Configura il router predefinito da annunciare nei messaggi <abbr title="
+"\"Router Advertisement\">RA</abbr>."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:764
msgid ""
-"Configures the operation mode of the <abbr title=\"Router "
-"Advertisement\">RA</abbr> service on this interface."
+"Configures the operation mode of the <abbr title=\"Router Advertisement"
+"\">RA</abbr> service on this interface."
msgstr ""
"Configura la modalità operativa del servizio <abbr title=\"Router "
"Advertisement\">RA</abbr> su questa interfaccia."
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/leds.js:59
msgid ""
-"Customizes the behaviour of the device <abbr title=\"Light Emitting "
-"Diode\">LED</abbr>s if possible."
+"Customizes the behaviour of the device <abbr title=\"Light Emitting Diode"
+"\">LED</abbr>s if possible."
msgstr ""
"Personalizza la configurazione dei <abbr title=\"Light Emitting Diode - "
"Diodo ad Emissione di Luce\">LED</abbr> di sistema se possibile."
msgid "DAE-Secret"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:530
msgid "DHCP Options"
msgstr ""
msgid "DNS"
msgstr "DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:282
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:284
msgid "DNS forwardings"
msgstr "Inoltri DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:445
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:450
msgid "DNS query port"
msgstr "Porta di richiesta <abbr title=\"Domain Name System\">DNS</abbr>"
msgid "DNS search domains"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:443
msgid "DNS server port"
msgstr "Porta server <abbr title=\"Domain Name System\">DNS</abbr>"
msgid "DNS-Label / FQDN"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
msgid "DNSSEC"
msgstr "DNSSEC"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:407
msgid "DNSSEC check unsigned"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1481
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:44
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:45
msgid "DSL"
msgstr "DSL"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:14
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:15
msgid "DSL Status"
msgstr ""
msgstr "Intervallo DTIM"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:59
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:700
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:771
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:136
msgid "DUID"
msgstr "DUID"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
msgid "Data Rate"
msgstr ""
msgid "Disassociate On Low Acknowledgement"
msgstr "Disconnetti client in caso di Acknowledgement scarso"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:302
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
msgid ""
"Discard upstream responses containing <a href=\"%s\">RFC1918</a> addresses."
msgstr "Scarta risposte RFC1918 upstream."
msgid "Distributed ARP Table"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:548
msgid ""
"Dnsmasq instance to which this boot section is bound. If unspecified, the "
"section is valid for all dnsmasq instances."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:246
msgid ""
-"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</"
-"abbr> forwarder."
+"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</abbr> "
+"forwarder."
msgstr ""
-"Dnsmasq è un server <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> leggero e un server d'inoltro <abbr title=\"Domain "
-"Name System\">DNS</abbr>."
+"Dnsmasq è un server <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> leggero e un server d'inoltro <abbr title=\"Domain Name System"
+"\">DNS</abbr>."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:419
msgid "Do not cache negative replies, e.g. for non-existent domains."
msgstr ""
"Non memorizzare nella cache le risposte negative, ad es. per domini "
msgid "Do not create host route to peer (optional)."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:262
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:264
msgid "Do not forward DNS queries without dots or domain parts."
msgstr "Non inoltrare query DNS senza punti o parti di dominio."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
msgid "Do not forward reverse lookups for local networks."
msgstr "Non inoltrare ricerche inverse per reti locali."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:339
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
msgid "Do not listen on the specified interfaces."
msgstr ""
msgid "Do you want to replace the current keys?"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:593
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:606
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:664
msgid "Domain"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:261
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:263
msgid "Domain required"
msgstr "Dominio richiesto"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:316
msgid "Domain whitelist"
msgstr "Lista domini consentiti"
msgid "Enable Single DES"
msgstr "Abilita DES Singolo"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:480
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
msgid "Enable TFTP server"
msgstr "Abilita server TFTP"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/uhttpd.js:14
msgid ""
-"Enable automatic redirection of <abbr title=\"Hypertext Transfer "
-"Protocol\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol "
-"Secure\">HTTPS</abbr> port."
+"Enable automatic redirection of <abbr title=\"Hypertext Transfer Protocol"
+"\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol Secure"
+"\">HTTPS</abbr> port."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:977
msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets."
msgstr "Abilita l'opzione DF (non Frammentare) dei pacchetti incapsulati."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:481
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
msgid "Enable the built-in single-instance TFTP server."
msgstr ""
msgid "Error getting PublicKey"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
msgid "Errored seconds (ES)"
msgstr ""
msgid "Every second (fast, 1)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:343
msgid "Exclude interfaces"
msgstr "Escludi interfacce"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
msgid ""
"Exempt <code>127.0.0.0/8</code> and <code>::1</code> from rebinding checks, "
"e.g. for RBL services."
msgid "Existing device"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:409
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
msgid "Expand hosts"
msgstr "Espandi gli hosts"
msgid "File"
msgstr "File"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
msgid ""
"File listing upstream resolvers, optionally domain-specific, e.g. "
"<code>server=1.2.3.4</code>, <code>server=/domain/1.2.3.4</code>."
msgid "File not accessible"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:354
msgid "File to store DHCP lease information."
msgstr "File per memorizzare i contratti DHCP."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:362
msgid "File with upstream resolvers."
msgstr "File con i name server upstream."
#: modules/luci-base/htdocs/luci-static/resources/ui.js:2846
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:507
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:512
msgid "Filename"
msgstr "Nome file"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:493
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:498
msgid "Filename of the boot image advertised to clients."
msgstr "Nome del file dell'immagine di avvio annunciato ai client."
msgid "Filesystem"
msgstr "Filesystem"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
msgid "Filter private"
msgstr "Filtra privati"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
msgid "Filter useless"
msgstr "Filtra inutili"
msgid "Firmware Version"
msgstr "Versione del Firmware"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:446
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:451
msgid "Fixed source port for outbound DNS queries."
msgstr "Porta di origine fissa per le richieste DNS in uscita."
msgid "Flashing…"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:686
msgid "Force"
msgstr "Forza"
msgid "Force use of NAT-T"
msgstr "Forza uso del NAT-T"
-#: modules/luci-base/luasrc/view/csrftoken.htm:8
+#: modules/luci-base/ucode/template/csrftoken.ut:8
msgid "Form token mismatch"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:919
msgid ""
-"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr "
-"title=\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr "
-"title=\"Neighbour Advertisement, Type 136\">NA</abbr> messages between the "
-"designated master interface and downstream interfaces."
+"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr title="
+"\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr title=\"Neighbour "
+"Advertisement, Type 136\">NA</abbr> messages between the designated master "
+"interface and downstream interfaces."
msgstr ""
"Inoltra i messaggi <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> "
-"<abbr title=\"Neighbour Solicitation, Type 135\">NS</abbr> e <abbr "
-"title=\"Neighbour Advertisement, Type 136\">NA</abbr> tra l'interfaccia "
-"master designata e le interfacce downstream."
+"<abbr title=\"Neighbour Solicitation, Type 135\">NS</abbr> e <abbr title="
+"\"Neighbour Advertisement, Type 136\">NA</abbr> tra l'interfaccia master "
+"designata e le interfacce downstream."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:770
msgid ""
"downstream interfaces."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
msgid "Forward Error Correction Seconds (FECS)"
msgstr ""
msgid "Global network options"
msgstr "Opzioni di rete globali"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:82
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:74
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:70
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:84
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:67
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:92
msgid "Go to firmware upgrade..."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:72
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:64
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:60
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:57
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:82
msgid "Go to password configuration..."
msgstr "Vai alla configurazione della password..."
msgid "Hang Up"
msgstr "Disconnetti (SIGHUP)"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
msgid "Header Error Code Errors (HEC)"
msgstr ""
msgid "Host expiry timeout"
msgstr "Timeout scadenza Host"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
msgid "Host requests this filename from the boot server."
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:38
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:607
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:678
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:54
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:87
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:135
msgid "Hostnames"
msgstr "Nomi host"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:551
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:622
msgid ""
"Hostnames are used to bind a domain name to an IP address. This setting is "
"redundant for hostnames already configured with static leases, but it can be "
msgid "IP Protocol"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:260
msgid "IP Sets"
msgstr ""
msgid "IP Type"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:563
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:634
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:178
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:204
msgid "IP address"
msgid "IP protocol"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:660
msgid "IP set"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:300
msgid "IP sets"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:437
msgid "IPs to override with NXDOMAIN"
msgstr "Ignora Dominio Bogus NX"
#: modules/luci-base/htdocs/luci-static/resources/protocol/static.js:178
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:736
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:88
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:164
msgid "IPv4 address"
msgid "IPv6 suffix"
msgstr "Suffisso IPv6"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:706
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:777
msgid "IPv6 suffix (hex)"
msgstr ""
"Suffisso <abbr title=\"Internet Protocol Version 6\">IPv6</abbr> "
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:340
msgid ""
"If your physical memory is insufficient unused data can be temporarily "
-"swapped to a swap-device resulting in a higher amount of usable <abbr "
-"title=\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a "
-"very slow process as the swap-device cannot be accessed with the high "
-"datarates of the <abbr title=\"Random Access Memory\">RAM</abbr>."
+"swapped to a swap-device resulting in a higher amount of usable <abbr title="
+"\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a very "
+"slow process as the swap-device cannot be accessed with the high datarates "
+"of the <abbr title=\"Random Access Memory\">RAM</abbr>."
msgstr ""
"Se la tua memoria è insufficiente i dati non usati possono venire "
"temporaneamente spostati in un'area di swap risultando in un più grande "
"dispositivo di swap non può essere acceduto alle alte velocità della <abbr "
"title=\"Random Access Memory\">RAM</abbr>."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:363
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:368
msgid "Ignore <code>/etc/hosts</code>"
msgstr "Ignora <code>/etc/hosts</code>"
msgid "Ignore interface"
msgstr "Ignora interfaccia"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:352
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
msgid "Ignore resolv file"
msgstr "Ignora il file resolv"
"order to avoid broadcast loops that can bring the entire LAN to a standstill."
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:13
+#: modules/luci-base/ucode/template/csrftoken.ut:13
msgid ""
"In order to prevent unauthorized access to the system, your request has been "
"blocked. Click \"Continue »\" below to return to the previous page."
msgid "Install protocol extensions..."
msgstr "Installa le estensioni del protocollo..."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:547
msgid "Instance"
msgstr ""
msgid "Internal"
msgstr "Interno"
-#: modules/luci-base/luasrc/view/error500.htm:8
-msgid "Internal Server Error"
-msgstr "Errore del Server Interno"
-
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:285
msgid "Interval For Sending Learning Packets"
msgstr ""
msgid "Invalid hexadecimal value"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:37
+#: modules/luci-base/ucode/template/sysauth.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:32
msgid "Invalid username and/or password! Please try again."
msgstr "Username e/o password non validi! Per favore riprova."
"Sembra tu stia provando a scrivere un'immagine più grande delle dimensioni "
"della memoria flash, per favore controlla il file!"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:89
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:96
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:77
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:91
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:72
msgid "JavaScript required!"
msgstr "JavaScript necessario!"
msgid "Language and Style"
msgstr "Lingua e Stile"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:560
+msgid ""
+"Larger weights (of the same prio) are given a proportionately higher "
+"probability of being selected."
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:575
msgid "Last member interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
msgid "Latency"
msgstr ""
msgid "Learn routes"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:348
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:353
msgid "Lease file"
msgstr "File di lease"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:697
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:768
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:679
msgid "Lease time"
msgstr "Tempo di lease"
msgid "Limit"
msgstr "Limite"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
msgid "Line Attenuation (LATN)"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
msgid "Line Mode"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:17
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
msgid "Line State"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
msgid "Line Uptime"
msgstr ""
msgid "Link layer header bits %d-%d"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
msgid "List of IP addresses to convert into NXDOMAIN responses."
msgstr "Elenco di indirizzi IP da convertire in risposte NXDOMAIN."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:296
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:581
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:652
msgid "List of IP sets to populate with the specified domain IPs."
msgstr ""
msgid "List of SSH key files for auth"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:317
msgid "List of domains to allow RFC1918 responses for."
msgstr "Elenco di domini per cui consentire risposte RFC1918."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:290
-msgid "List of domains to force to an IP address."
-msgstr "Elenco di domini da forzare a un indirizzo IP."
-
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:283
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:285
msgid "List of upstream resolvers to forward queries to."
msgstr "Elenco di name server a cui inoltrare le richieste."
msgid "Listen Port"
msgstr "Porta in ascolto"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:332
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:337
msgid "Listen interfaces"
msgstr ""
msgid "Listen only on the given interface or, if unspecified, on all"
msgstr "Ascolta solo sull'interfaccia data o, se non specificato, su tutte"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:333
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
msgid ""
"Listen only on the specified interfaces, and loopback if not excluded "
"explicitly."
msgid "ListenPort setting is invalid"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:439
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:444
msgid "Listening port for inbound DNS queries."
msgstr "Porta di ascolto per le richieste DNS in entrata."
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:1942
-#: modules/luci-base/luasrc/view/view.htm:4
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:45
+#: modules/luci-base/ucode/template/view.ut:4
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:40
msgid "Loading view…"
msgstr "Caricamento pagina…"
msgid "Local ULA"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:273
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:275
msgid "Local domain"
msgstr "Dominio locale"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:274
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:276
msgid "Local domain suffix appended to DHCP names and hosts file entries."
msgstr ""
"Suffisso di dominio locale aggiunto ai nomi DHCP e voci del file hosts."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:269
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:271
msgid "Local server"
msgstr "Server locale"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:319
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:324
msgid "Local service only"
msgstr "Solo servizio locale"
msgid "Local wireguard key"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
msgid "Localise queries"
msgstr "Localizza richieste"
msgid "Log output level"
msgstr "Livello di dettaglio registro"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:277
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:279
msgid "Log queries"
msgstr "Logga richieste"
msgid "Logical network to which the tunnel will be added (bridged) (optional)."
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:38
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:41
+#: modules/luci-base/ucode/template/sysauth.ut:38
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:36
msgid "Login"
msgstr "Login"
msgid "Loose filtering"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
msgid "Loss of Signal Seconds (LOSS)"
msgstr ""
msgid "Lowest leased address as offset from the network address."
msgstr ""
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/footer.ut:12
+msgid "Lua compatibility mode active"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:48
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:83
msgid "MAC"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:591
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:40
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:619
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1164
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2177
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:56
msgid "MTU"
msgstr "MTU"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:259
+msgid "MX"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:303
msgid ""
"Make sure to clone the root filesystem using something like the commands "
msgid "Max <abbr title=\"Router Advertisement\">RA</abbr> interval"
msgstr "Intervallo massimo <abbr title=\"Router Advertisement\">RA</abbr>"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
msgid "Max. Attainable Data Rate (ATTNDR)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:457
msgid "Max. DHCP leases"
msgstr ""
"<abbr title=\"maximal\">Max.</abbr> lease <abbr title=\"Dynamic Host "
"Configuration Protocol\">DHCP</abbr>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:459
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:464
msgid "Max. EDNS0 packet size"
msgstr ""
-"<abbr title=\"maximal\">Max.</abbr> dimensione pacchetti <abbr "
-"title=\"Extension Mechanisms for Domain Name System\">EDNS0</abbr>"
+"<abbr title=\"maximal\">Max.</abbr> dimensione pacchetti <abbr title="
+"\"Extension Mechanisms for Domain Name System\">EDNS0</abbr>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:466
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:471
msgid "Max. concurrent queries"
msgstr "Numero <abbr title=\"maximal\">max.</abbr> richieste simultanee"
msgid "Maximum allowed Listen Interval"
msgstr "Massimo intervallo di ascolto consentito"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:453
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:458
msgid "Maximum allowed number of active DHCP leases."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:467
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:472
msgid "Maximum allowed number of concurrent DNS queries."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:460
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:465
msgid "Maximum allowed size of EDNS0 UDP packets."
msgstr ""
msgid "Maximum transmit power"
msgstr "Potenza di trasmissione massima"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:394
msgid "May prevent VoIP or other services from working."
msgstr ""
msgid "Name of the tunnel device"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:46
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:39
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:50
msgid "Navigation"
msgstr "Navigazione"
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:10
+msgid "Nebula Network"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:653
msgid "Neighbour cache validity"
msgstr ""
msgid "Network address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:492
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:497
msgid "Network boot image"
msgstr "Immagine di avvio di rete"
msgid "Network interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:536
msgid "Network-ID"
msgstr ""
msgid "Never"
msgstr "Mai"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:270
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:272
msgid ""
"Never forward matching domains and subdomains, resolve from DHCP or hosts "
"files only."
msgid "No RX signal"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:80
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:87
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:68
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:82
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:65
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:90
msgid ""
"No changes to settings will be stored and are lost after rebooting. This "
msgid "No entries in this directory"
msgstr ""
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:82
-msgid "No files found"
-msgstr "Nessun file trovato"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:833
msgid ""
"No fixed interface listening port defined, peers might not be able to "
msgid "No more slaves available, can not save interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:413
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
msgid "No negative cache"
msgstr "Nessuna cache negativa"
msgid "No nftables ruleset loaded."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:69
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:61
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:57
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:54
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:79
msgid "No password set!"
msgstr "Nessuna password immessa!"
msgid "Noise"
msgstr "Rumore"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
msgid "Noise Margin (SNR)"
msgstr "Margine di Rumore (SNR)"
msgid "Noise:"
msgstr "Rumore:"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
msgid "Non Pre-emptive CRC errors (CRC_P)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:330
msgid "Non-wildcard"
msgstr ""
msgid "Normal"
msgstr "Normale"
-#: modules/luci-base/luasrc/view/error404.htm:8
+#: modules/luci-base/ucode/template/error404.ut:9
msgid "Not Found"
msgstr "Non Trovato"
msgid "Number of IGMP membership reports"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:474
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:479
msgid "Number of cached DNS entries, 10000 is maximum, 0 is no caching."
msgstr ""
msgid "On-link"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:672
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:743
msgid "One of hostname or MAC address must be specified!"
msgstr "Devi specificare almeno il nome host o l'indirizzo MAC!"
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:472
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:19
msgid "Open list..."
msgstr "Apri lista..."
msgid "Options"
msgstr "Opzioni"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:526
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
msgid ""
"Options for the Network-ID. (Note: needs also Network-ID.) E.g. "
-"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</"
-"code>\" for default route. <code>0.0.0.0</code> means \"the address of the "
-"system running dnsmasq\"."
+"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</code>"
+"\" for default route. <code>0.0.0.0</code> means \"the address of the system "
+"running dnsmasq\"."
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:125
msgid "Options:"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
+msgid "Ordinal: lower comes first."
+msgstr ""
+
#: protocols/luci-proto-batman-adv/htdocs/luci-static/resources/protocol/batadv.js:55
msgid "Originator Interval"
msgstr ""
msgid "Pass-through (Mirror physical device to single MAC VLAN)"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:29
+#: modules/luci-base/ucode/template/sysauth.ut:29
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1690
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:51
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:114
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:103
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:24
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:19
msgid "Password"
msgstr "Password"
msgid "Pkts."
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:19
+#: modules/luci-base/ucode/template/sysauth.ut:19
msgid "Please enter your username and password."
msgstr "Per favore inserisci il tuo username e la password."
msgid "Policy: <strong>%h</strong> (%h)"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:579
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:21
msgid "Port"
msgstr "Porta"
msgid "Potential negation of: %s"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:38
msgid "Power Management Mode"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
msgid "Pre-emptive CRC errors (CRCP_P)"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:129
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:197
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:223
msgid "Quality"
msgstr "Qualità"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
msgid "Query all available upstream resolvers."
msgstr ""
msgid "Raw hex-encoded bytes. Leave empty unless your ISP require this"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:345
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:350
msgid "Read <code>/etc/ethers</code> to configure the DHCP server."
msgstr "Leggi <code>/etc/ethers</code> per configurare il server DHCP."
msgid "Reassociation Deadline"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
msgid "Rebind protection"
msgstr "Protezione rebind"
msgstr ""
#: modules/luci-compat/luasrc/model/network/proto_relay.lua:153
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:611
#: protocols/luci-proto-relay/htdocs/luci-static/resources/protocol/relay.js:39
msgid "Relay"
msgstr ""
msgid "Required. Base64-encoded private key for this interface."
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Required. Path to the .yml config file for this interface."
+msgstr ""
+
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:587
msgid "Required. Public key of the WireGuard peer."
msgstr ""
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2197
-#: modules/luci-base/luasrc/view/sysauth.htm:39
+#: modules/luci-base/ucode/template/sysauth.ut:39
#: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
#: modules/luci-compat/luasrc/view/cbi/footer.htm:30
#: modules/luci-compat/luasrc/view/cbi/simpleform.htm:66
msgid "Resolv and Hosts Files"
msgstr "File resolv e hosts"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:356
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:361
msgid "Resolv file"
msgstr "File resolv"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:292
+msgid "Resolve specified FQDNs to an IP."
+msgstr "Elenco di domini da forzare a un indirizzo IP."
+
#: modules/luci-base/htdocs/luci-static/resources/rpc.js:405
msgid "Resource not found"
msgstr "Risorsa non trovata"
msgid "Restore backup"
msgstr "Ripristina backup"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
msgid ""
"Return answers to DNS queries matching the subnet from which the query was "
"received if multiple IPs are available."
msgid "Robustness"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:491
msgid ""
"Root directory for files served via TFTP. <em>Enable TFTP server</em> and "
"<em>TFTP server root</em> turn on the TFTP server and serve files from "
"Router Lifetime published in <abbr title=\"Router Advertisement, ICMPv6 Type "
"134\">RA</abbr> messages. Maximum is 9000 seconds."
msgstr ""
-"Intervallo di validità del router annunciato nei messaggi <abbr "
-"title=\"Router Advertisement, ICMPv6 Type 134\">RA</abbr>. Il massimo è 9000 "
+"Intervallo di validità del router annunciato nei messaggi <abbr title="
+"\"Router Advertisement, ICMPv6 Type 134\">RA</abbr>. Il massimo è 9000 "
"secondi."
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:46
msgid "SNR"
msgstr "SNR"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "SRV"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:10
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:38
msgid "SSH Access"
msgid "Server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:524
msgid "Server address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:518
msgid "Server name"
msgstr ""
"When enabled, clients will perform stateless IPv6 address autoconfiguration."
msgstr ""
"Impostare il flag di configurazione autonoma dell'indirizzo nelle \"Prefix "
-"Information Option (PIO)\" dei messaggi <abbr title=\"Router "
-"Advertisement\">RA</abbr> inviati. Se abilitato, i client eseguiranno "
+"Information Option (PIO)\" dei messaggi <abbr title=\"Router Advertisement"
+"\">RA</abbr> inviati. Se abilitato, i client eseguiranno "
"l'autoconfigurazione dell'indirizzo IPv6 senza stato (stateless)."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:719
msgid "Setup routes for proxied IPv6 neighbours."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
msgid "Severely Errored Seconds (SES)"
msgstr "Secondi con errori gravi (SES)"
msgstr "Preambolo breve"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:470
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:18
msgid "Show current backup file list"
msgstr "Mostra l'elenco dei file sottoposti a backup"
msgid "Signal / Noise"
msgstr "Segnale / Rumore"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
msgid "Signal Attenuation (SATN)"
msgstr "Attenuazione del segnale (SATN)"
msgid "Size"
msgstr "Dimensione"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:473
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:478
msgid "Size of DNS query cache"
msgstr "Dimensione della cache delle query DNS"
msgid "Skip from backup files that are equal to those in /rom"
msgstr "Escludi dal backup i file uguali a quelli in /rom"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:42
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:35
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:46
msgid "Skip to content"
msgstr "Salta a contenuto"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:41
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:34
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:45
msgid "Skip to navigation"
msgstr "Salta a navigazione"
msgid "Some fields are invalid, cannot save values!"
msgstr "Alcuni campi non sono validi, non è possibile salvare i valori!"
-#: modules/luci-base/luasrc/view/error404.htm:9
+#: modules/luci-base/ucode/template/error404.ut:10
msgid "Sorry, the object you requested was not found."
msgstr "Siamo spiacenti, l'oggetto che hai richiesto non è stato trovato."
-#: modules/luci-base/luasrc/view/error500.htm:9
-msgid "Sorry, the server encountered an unexpected error."
-msgstr "Spiacente, il server ha rilevato un errore imprevisto."
-
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:442
msgid ""
"Sorry, there is no sysupgrade support present; a new firmware image must be "
msgid "Source port"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:505
msgid ""
"Special <abbr title=\"Preboot eXecution Environment\">PXE</abbr> boot "
"options for Dnsmasq."
"messages, for example to instruct clients to request further information via "
"stateful DHCPv6."
msgstr ""
-"Specifica i flag inviati nei messaggi <abbr title=\"Router "
-"Advertisement\">RA</abbr>, ad esempio per indicare ai client di richiedere "
-"ulteriori informazioni tramite DHCPv6 con stato (stateful)."
+"Specifica i flag inviati nei messaggi <abbr title=\"Router Advertisement"
+"\">RA</abbr>, ad esempio per indicare ai client di richiedere ulteriori "
+"informazioni tramite DHCPv6 con stato (stateful)."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:176
msgid ""
msgid "Static address"
msgstr "Indirizzo Statico"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:598
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:669
msgid ""
"Static leases are used to assign fixed IP addresses and symbolic hostnames "
"to DHCP clients. They are also required for non-dynamic interface "
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:16
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:541
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:929
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:9
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:9
msgid "Status"
msgstr "Stato"
msgid "Strict filtering"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
msgid "Strict order"
msgstr "Ordine stretto"
msgid "Submit"
msgstr "Invia"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
msgid "Suppress logging"
msgstr "Interrompere logging"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:373
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
msgid "Suppress logging of the routine operation for the DHCP protocol."
msgstr ""
"Interrompere il logging delle operazioni di routine per il protocollo DHCP."
msgid "Sync with browser"
msgstr "Sincronizza con il browser"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:293
+msgid "Syntax: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "Syntax: <code>_service._proto.example.com</code>."
+msgstr ""
+
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:26
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:17
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:113
msgid "System log buffer size"
msgstr "Dimensione buffer log di sistema"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:79
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:86
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:71
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:67
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:81
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:64
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:89
msgid "System running in recovery (initramfs) mode."
msgstr "Sistema in esecuzione in modalità di ripristino (initramfs)."
msgid "TCP:"
msgstr "TCP:"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:490
msgid "TFTP server root"
msgstr "Server TFTP principale"
msgid "Table"
msgstr "Tabella"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:56
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:66
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:187
"username instead of the user ID!"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:681
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:752
msgid "The IP address %h is already used by another static lease"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:761
msgid "The IP address is outside of any DHCP pool address range"
msgstr ""
"L'indirizzo IP è al di fuori di qualsiasi intervallo di indirizzi del pool "
"DHCP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:520
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
msgid "The IP address of the boot server"
msgstr ""
"to be received and retransmitted which costs airtime)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:514
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
msgid "The hostname of the boot server"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/switch.js:139
msgid ""
-"The network ports on this device can be combined to several <abbr "
-"title=\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
+"The network ports on this device can be combined to several <abbr title="
+"\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
"communicate directly with each other. <abbr title=\"Virtual Local Area "
"Network\">VLAN</abbr>s are often used to separate different network "
"segments. Often there is by default one Uplink port for a connection to the "
msgid "The selected %s mode is incompatible with %s encryption"
msgstr "La modalità %s selezionata non è compatibile con la crittografia %s"
-#: modules/luci-base/luasrc/view/csrftoken.htm:11
+#: modules/luci-base/ucode/template/csrftoken.ut:11
msgid "The submitted security token is invalid or already expired!"
msgstr ""
"nftables rules is discouraged and may lead to incomplete traffic filtering."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:746
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:778
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:817
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:849
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:130
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:179
msgid "There are no active leases"
msgid "There are no changes to apply"
msgstr "Non ci sono modifiche da applicare"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:70
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:58
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:55
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:80
msgid ""
"There is no password set on this router. Please configure a root password to "
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:16
msgid ""
"This is a list of shell glob patterns for matching files and directories to "
"include during sysupgrade. Modified files in /etc/config/ and certain other "
"ends with <code>...:2/64</code>"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:266
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:268
msgid "This is the only DHCP server in the local network."
msgstr "Questo è l’unico server DHCP nella rete locale."
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:440
msgid ""
"To fully configure the local WireGuard interface from an existing (e.g. "
-"provider supplied) configuration file, use the <strong><a class=\"full-"
-"import\" href=\"#\">configuration import</a></strong> instead."
+"provider supplied) configuration file, use the <strong><a class=\"full-import"
+"\" href=\"#\">configuration import</a></strong> instead."
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2674
msgid "Unable to determine upstream interface"
msgstr ""
-#: modules/luci-base/luasrc/view/error404.htm:11
+#: modules/luci-base/ucode/template/error404.ut:12
msgid "Unable to dispatch"
msgstr ""
msgid "Unable to verify PIN"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
msgid "Unavailable Seconds (UAS)"
msgstr ""
"Premendo \"Continua\", le opzioni ifname saranno rinominate e la rete sarà "
"riavviata per applicare la nuova configurazione."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
msgid "Upstream resolvers will be queried in the order of the resolv file."
msgstr ""
"I name server <abbr title=\"Domain Name System\">DNS</abbr> verranno "
msgid "Uptime"
msgstr "Uptime"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
msgid "Use <code>/etc/ethers</code>"
msgstr "Usa <code>/etc/ethers</code>"
msgid "Use system certificates for inner-tunnel"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:599
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:670
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC address</"
"em> identifies the host, the <em>IPv4 address</em> specifies the fixed "
msgid "User key (PEM encoded)"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:23
+#: modules/luci-base/ucode/template/sysauth.ut:23
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:112
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:101
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:56
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:18
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:13
msgid "Username"
msgstr "Nome utente"
msgid "VXLANv6 (RFC7348)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
msgid ""
"Validate DNS replies and cache DNSSEC data, requires upstream to support "
"DNSSEC."
msgid "Vendor Class to send when requesting DHCP"
msgstr "Classe del Produttore da 'inviare al momento della richiesta DHCP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:408
msgid "Verify unsigned domain responses really come from unsigned domains."
msgstr ""
msgid "Weak"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+msgid "Weight"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1029
msgid ""
"When delegating prefixes to multiple downstreams, interfaces with a higher "
msgid "Wireless network is enabled"
msgstr "La rete wireless è attivata"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:278
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:280
msgid "Write received DNS queries to syslog."
msgstr "Scrivere le richieste DNS ricevute nel syslog."
"essenziali come \"network\", il tuo dispositivo potrebbe diventare "
"inaccessibile! </strong>"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:90
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:97
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
+msgid "You may add multiple records for the same Target."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:596
+msgid "You may add multiple records for the same domain."
+msgstr ""
+
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:78
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:92
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:73
msgid ""
"You must enable JavaScript in your browser or LuCI will not work properly."
msgid "ZRam Size"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:558
+msgid "_proto: _tcp, _udp, _sctp, _quic, … ."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:557
+msgid ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Note: while _http is "
+"possible, no browsers support SRV records.)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:454
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:152
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:163
msgid "any"
msgid "e.g: dump"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:726
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:756
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:797
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:827
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:101
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:148
msgid "expired"
msgid "unknown"
msgstr "sconosciuto"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:456
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:724
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:754
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:461
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:795
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:825
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:99
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:146
msgid "unlimited"
msgid "« Back"
msgstr "« Indietro"
+#~ msgid "Back to configuration"
+#~ msgstr "Torna alla configurazione"
+
+#~ msgid "Close list..."
+#~ msgstr "Chiudi elenco..."
+
+#~ msgid "Internal Server Error"
+#~ msgstr "Errore del Server Interno"
+
+#~ msgid "No files found"
+#~ msgstr "Nessun file trovato"
+
+#~ msgid "Sorry, the server encountered an unexpected error."
+#~ msgstr "Spiacente, il server ha rilevato un errore imprevisto."
+
#~ msgid "Do not forward queries that cannot be answered by public resolvers."
#~ msgstr ""
#~ "Non inoltrare le richieste che non possono essere risolte dai name server "
#~ msgid ""
#~ "The filesystem that was used to format the memory (<abbr title=\"for "
-#~ "example\">e.g.</abbr> <samp><abbr title=\"Third Extended "
-#~ "Filesystem\">ext3</abbr></samp>)"
+#~ "example\">e.g.</abbr> <samp><abbr title=\"Third Extended Filesystem"
+#~ "\">ext3</abbr></samp>)"
#~ msgstr ""
-#~ "Il filesystem usato per formattare la memoria (<abbr title=\"per "
-#~ "esempio\">e.s.</abbr> <samp><abbr title=\"Third Extended "
-#~ "Filesystem\">ext3</abbr></samp>)"
+#~ "Il filesystem usato per formattare la memoria (<abbr title=\"per esempio"
+#~ "\">e.s.</abbr> <samp><abbr title=\"Third Extended Filesystem\">ext3</"
+#~ "abbr></samp>)"
#~ msgid "Verify"
#~ msgstr "Verifica"
msgid "<abbr title=\"Router Advertisement\">RA</abbr>-Service"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:294
+msgid ""
+"<code>/#/</code> matches any domain. <code>/example.com/</code> returns "
+"NXDOMAIN."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+msgid ""
+"<code>/example.com/#</code> returns NULL addresses (<code>0.0.0.0</code> and "
+"<code>::</code>) for example.com and its subdomains."
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:87
msgctxt "nft relational \">\" operator expression"
msgid "<var>%s</var> greater than <strong>%s</strong>"
msgid "ATM device number"
msgstr "ATMデバイス番号"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
msgid "ATU-C System Vendor ID"
msgstr "ATU-CシステムベンダーID"
msgid "Absent Interface"
msgstr "存在しないインターフェース"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:320
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
msgid "Accept DNS queries only from hosts whose address is on a local subnet."
msgstr ""
"DNSサービスを、現在DNSを提供しているサブネットインターフェースに限定します。"
msgid "Add key"
msgstr "公開鍵を追加"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:410
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:415
msgid "Add local domain suffix to names served from hosts files."
msgstr "hostsファイルから提供される名前にローカルドメインサフィックスを追加"
msgid "Add to Whitelist"
msgstr "ホワイトリストに追加"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:367
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
msgid "Additional hosts files"
msgstr "追加のホストファイル"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:417
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
msgid "Additional servers file"
msgstr "追加のサーバーファイル"
msgid "Address to access local relay bridge"
msgstr "ローカル リレーブリッジにアクセスするためのアドレス"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:289
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:291
msgid "Addresses"
msgstr "アドレス一覧"
msgid "Aggregate Originator Messages"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
msgid "Aggregate Transmit Power (ACTATP)"
msgstr "総送信電力(ACTATP)"
msgid "Alias of \"%s\""
msgstr "\"%s\"のエイリアス"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
msgid "All servers"
msgstr "すべてのサーバー"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
msgid ""
"Allocate IP addresses sequentially, starting from the lowest available "
"address."
msgstr "利用可能な最小IPアドレスから順番に割り当てる"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
msgid "Allocate IPs sequentially"
msgstr "順次IP割り当て"
msgid "Allow listed only"
msgstr "リスト内のみアクセスを許可"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
msgid "Allow localhost"
msgstr "ローカルホストを許可"
msgid "Always on (kernel: default-on)"
msgstr "常にオン(kernel: default-on)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:538
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
msgid "Always send DHCP Options. Sometimes needed, with e.g. PXELinux."
msgstr ""
msgstr "このデバイスの短い説明(オプション)"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1484
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
msgid "Annex"
msgstr "Annex"
msgid "Any zone"
msgstr "すべてのゾーン"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:532
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
msgid "Apply DHCP Options to this net. (Empty = all clients)."
msgstr ""
msgid "Authentication Type"
msgstr "認証タイプ"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:265
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:267
msgid "Authoritative"
msgstr "権威"
-#: modules/luci-base/luasrc/view/sysauth.htm:17
+#: modules/luci-base/ucode/template/sysauth.ut:17
#: themes/luci-theme-bootstrap/htdocs/luci-static/resources/view/bootstrap/sysauth.js:11
msgid "Authorization Required"
msgstr "ログイン"
msgid "Avoid Bridge Loops"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
msgid ""
"Avoid uselessly triggering dial-on-demand links (filters SRV/SOA records and "
"names with underscores)."
msgid "Back to Overview"
msgstr "概要へ戻る"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:48
-msgid "Back to configuration"
-msgstr "設定へ戻る"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:826
msgid "Back to peer configuration"
msgstr ""
msgstr "バックアップ/フラッシュ"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:351
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:12
msgid "Backup file list"
msgstr "バックアップファイルリスト"
msgstr "ビーコン間隔"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:352
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:46
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
msgid "Bind NTP server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:326
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:331
msgid "Bind dynamically to interfaces rather than wildcard address."
msgstr ""
"ワイルドカードアドレスよりもインターフェースへ動的にバインド(Linuxのデフォル"
msgid "Bind interface"
msgstr "インターフェースをバインド"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:595
+msgid ""
+"Bind service records to a domain name: specify the location of services."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:556
+msgid ""
+"Bind service records to a domain name: specify the location of services. See "
+"<a href=\"%s\">RFC2782</a>."
+msgstr ""
+
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gre.js:59
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gretap.js:64
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/grev6.js:64
msgid "CLAT configuration failed"
msgstr "CLATの構成に失敗しました"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
+msgid "CNAME or fqdn"
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/processes.js:72
msgid "CPU usage (%)"
msgstr "CPU使用率(%)"
"設定した秒数後に、非アクティブな接続を閉じます。0を設定した場合、接続を維持し"
"ます"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:49
-msgid "Close list..."
-msgstr "リストを閉じる..."
-
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:44
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:63
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2184
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:391
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:352
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:355
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:72
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:66
msgid "Collecting data..."
msgstr "データを収集中..."
msgid "Compute outgoing checksum (optional)."
msgstr "送信チェックサムを計算します(オプション)。"
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Config File"
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4375
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
msgid "Configuration"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:764
msgid ""
-"Configures the operation mode of the <abbr title=\"Router "
-"Advertisement\">RA</abbr> service on this interface."
+"Configures the operation mode of the <abbr title=\"Router Advertisement"
+"\">RA</abbr> service on this interface."
msgstr ""
"このデバイスにおける <abbr title=\"Router Advertisement\">RA</abbr> サービス"
"の動作モードを設定します。"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/leds.js:59
msgid ""
-"Customizes the behaviour of the device <abbr title=\"Light Emitting "
-"Diode\">LED</abbr>s if possible."
+"Customizes the behaviour of the device <abbr title=\"Light Emitting Diode"
+"\">LED</abbr>s if possible."
msgstr ""
"デバイスの<abbr title=\"Light Emitting Diode\">LED</abbr>の動作をカスタマイズ"
"します(デバイスが対応している場合)。"
msgid "DAE-Secret"
msgstr "DAEシークレット"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:530
msgid "DHCP Options"
msgstr ""
msgid "DNS"
msgstr "DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:282
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:284
msgid "DNS forwardings"
msgstr "DNSフォワーディング"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:445
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:450
msgid "DNS query port"
msgstr "<abbr title=\"Domain Name System\">DNS</abbr> クエリポート"
msgid "DNS search domains"
msgstr "DNS 検索ドメイン"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:443
msgid "DNS server port"
msgstr "<abbr title=\"Domain Name System\">DNS</abbr> サーバーポート"
msgid "DNS-Label / FQDN"
msgstr "DNS-ラベル / FQDN"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
msgid "DNSSEC"
msgstr "DNSSEC"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:407
msgid "DNSSEC check unsigned"
msgstr "DNSSEC未署名チェック"
msgstr "DS-Lite AFTRアドレス"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1481
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:44
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:45
msgid "DSL"
msgstr "DSL"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:14
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:15
msgid "DSL Status"
msgstr "DSLステータス"
msgstr "DTIM間隔"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:59
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:700
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:771
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:136
msgid "DUID"
msgstr "DUID"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
msgid "Data Rate"
msgstr "データレート"
"Disable <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</abbr> for "
"this interface."
msgstr ""
-"このインターフェースでの<abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr>を無効化。"
+"このインターフェースでの<abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr>を無効化。"
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:174
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:375
msgid "Disassociate On Low Acknowledgement"
msgstr "確認応答が不安定な場合、接続解除"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:302
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
msgid ""
"Discard upstream responses containing <a href=\"%s\">RFC1918</a> addresses."
msgstr "アップストリームのRFC1918応答を破棄します。"
msgid "Distributed ARP Table"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:548
msgid ""
"Dnsmasq instance to which this boot section is bound. If unspecified, the "
"section is valid for all dnsmasq instances."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:246
msgid ""
-"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</"
-"abbr> forwarder."
+"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</abbr> "
+"forwarder."
msgstr ""
"Dnsmasqは、<abbr title=\"Dynamic Host Configuration Protocol\">DHCP</abbr>"
"サーバーと<abbr title=\"Network Address Translation\">NAT</abbr>ファイア"
"ウォールのための<abbr title=\"Domain Name System\">DNS</abbr>フォワーダーの両"
"方を提供します"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:419
msgid "Do not cache negative replies, e.g. for non-existent domains."
msgstr "無効な応答をキャッシュしない(存在しないドメインからの応答など)"
msgid "Do not create host route to peer (optional)."
msgstr "ピアへのホストルートを作成しない(オプション)。"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:262
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:264
msgid "Do not forward DNS queries without dots or domain parts."
msgstr ""
"<abbr title=\"Domain Name System\">DNS</abbr> 名の無い <abbr title=\"Domain "
"Name System\">DNS</abbr> リクエストを転送しない"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
msgid "Do not forward reverse lookups for local networks."
msgstr "ローカルネットワークへの逆引きを転送しない"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:339
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
msgid "Do not listen on the specified interfaces."
msgstr "これらのインターフェースでのリッスンを停止します。"
msgid "Do you want to replace the current keys?"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:593
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:606
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:664
msgid "Domain"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:261
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:263
msgid "Domain required"
msgstr "ドメイン必須"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:316
msgid "Domain whitelist"
msgstr "ドメインホワイトリスト"
msgid "Enable Single DES"
msgstr "シングルDESを有効化"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:480
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
msgid "Enable TFTP server"
msgstr "TFTPサーバーを有効化"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/uhttpd.js:14
msgid ""
-"Enable automatic redirection of <abbr title=\"Hypertext Transfer "
-"Protocol\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol "
-"Secure\">HTTPS</abbr> port."
+"Enable automatic redirection of <abbr title=\"Hypertext Transfer Protocol"
+"\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol Secure"
+"\">HTTPS</abbr> port."
msgstr ""
"<abbr title=\"Hypertext Transfer Protocol\">HTTP</abbr> リクエストの <abbr "
"title=\"Hypertext Transfer Protocol Secure\">HTTPS</abbr> ポートへの自動リダ"
msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets."
msgstr "カプセル化されたパケットの DF(Don't Fragment)フラグを有効にします。"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:481
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
msgid "Enable the built-in single-instance TFTP server."
msgstr ""
msgid "Error getting PublicKey"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
msgid "Errored seconds (ES)"
msgstr "エラー秒数(ES)"
msgid "Every second (fast, 1)"
msgstr "毎秒(fast、1)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:343
msgid "Exclude interfaces"
msgstr "除外するインターフェース"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
msgid ""
"Exempt <code>127.0.0.0/8</code> and <code>::1</code> from rebinding checks, "
"e.g. for RBL services."
msgid "Existing device"
msgstr "存在するデバイス"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:409
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
msgid "Expand hosts"
msgstr "拡張ホスト"
msgid "File"
msgstr "ファイル"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
#, fuzzy
msgid ""
"File listing upstream resolvers, optionally domain-specific, e.g. "
"<code>server=1.2.3.4</code>, <code>server=/domain/1.2.3.4</code>."
msgstr ""
-"このファイルには、特定ドメインまたは全ドメインに対する上位<abbr "
-"title=\"Domain Name System\">DNS</abbr>サーバーを指定するための、'server=/"
+"このファイルには、特定ドメインまたは全ドメインに対する上位<abbr title="
+"\"Domain Name System\">DNS</abbr>サーバーを指定するための、'server=/"
"domain/1.2.3.4'や'server=1.2.3.4'といった行が含まれることがあります。"
#: modules/luci-base/htdocs/luci-static/resources/ui.js:2655
msgid "File not accessible"
msgstr "ファイルにアクセスできません"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:354
msgid "File to store DHCP lease information."
msgstr ""
"<abbr title=\"Dynamic Host Configuration Protocol\">DHCP</abbr>リースが記録さ"
"れるファイル"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:362
msgid "File with upstream resolvers."
msgstr "ローカル<abbr title=\"Domain Name System\">DNS</abbr>ファイル"
#: modules/luci-base/htdocs/luci-static/resources/ui.js:2846
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:507
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:512
msgid "Filename"
msgstr "ファイル名"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:493
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:498
msgid "Filename of the boot image advertised to clients."
msgstr "クライアントに通知するブートイメージのファイル名"
msgid "Filesystem"
msgstr "ファイルシステム"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
msgid "Filter private"
msgstr "プライベートフィルター"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
#, fuzzy
msgid "Filter useless"
msgstr "不要パケットフィルター"
msgid "Firmware Version"
msgstr "ファームウェア バージョン"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:446
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:451
msgid "Fixed source port for outbound DNS queries."
msgstr "DNSクエリを送信する送信元ポートを固定"
msgid "Flashing…"
msgstr "フラッシュ中…"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:686
msgid "Force"
msgstr "強制"
msgid "Force use of NAT-T"
msgstr "NAT-Tを強制的に使用"
-#: modules/luci-base/luasrc/view/csrftoken.htm:8
+#: modules/luci-base/ucode/template/csrftoken.ut:8
msgid "Form token mismatch"
msgstr "フォームトークンの不一致"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:919
msgid ""
-"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr "
-"title=\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr "
-"title=\"Neighbour Advertisement, Type 136\">NA</abbr> messages between the "
-"designated master interface and downstream interfaces."
+"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr title="
+"\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr title=\"Neighbour "
+"Advertisement, Type 136\">NA</abbr> messages between the designated master "
+"interface and downstream interfaces."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:770
"マスターとして指定されたインターフェースとダウンストリーム インターフェースと"
"の間で DHCPv6 メッセージを転送します"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
msgid "Forward Error Correction Seconds (FECS)"
msgstr "前方誤り訂正秒(FECS)"
msgid "Global network options"
msgstr "グローバルネットワークオプション"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:82
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:74
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:70
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:84
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:67
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:92
msgid "Go to firmware upgrade..."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:72
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:64
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:60
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:57
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:82
msgid "Go to password configuration..."
msgstr "パスワード設定へ移動..."
msgid "Hang Up"
msgstr "ハングアップ"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
msgid "Header Error Code Errors (HEC)"
msgstr "ヘッダーエラーコードエラー(HEC)"
msgid "Host expiry timeout"
msgstr "ホスト有効期限タイムアウト"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
msgid "Host requests this filename from the boot server."
msgstr ""
msgstr "Host-Uniqタグコンテンツ"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:38
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:607
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:678
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:54
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:87
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:135
msgid "Hostnames"
msgstr "ホスト名"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:551
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:622
msgid ""
"Hostnames are used to bind a domain name to an IP address. This setting is "
"redundant for hostnames already configured with static leases, but it can be "
msgid "IP Protocol"
msgstr "IPプロトコル"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:260
msgid "IP Sets"
msgstr ""
msgid "IP Type"
msgstr "IPの種類"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:563
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:634
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:178
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:204
msgid "IP address"
msgid "IP protocol"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:660
msgid "IP set"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:300
msgid "IP sets"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:437
msgid "IPs to override with NXDOMAIN"
msgstr "本物でないNXドメインを上書き"
#: modules/luci-base/htdocs/luci-static/resources/protocol/static.js:178
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:736
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:88
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:164
msgid "IPv4 address"
msgid "IPv6 suffix"
msgstr "IPv6サフィックス"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:706
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:777
msgid "IPv6 suffix (hex)"
msgstr ""
"<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-サフィックス(16進"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:340
msgid ""
"If your physical memory is insufficient unused data can be temporarily "
-"swapped to a swap-device resulting in a higher amount of usable <abbr "
-"title=\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a "
-"very slow process as the swap-device cannot be accessed with the high "
-"datarates of the <abbr title=\"Random Access Memory\">RAM</abbr>."
+"swapped to a swap-device resulting in a higher amount of usable <abbr title="
+"\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a very "
+"slow process as the swap-device cannot be accessed with the high datarates "
+"of the <abbr title=\"Random Access Memory\">RAM</abbr>."
msgstr ""
"物理メモリが不足している場合、使用されていないデータを一時的にスワップデバイ"
"スに移動し、<abbr title=\"Random Access Memory\">RAM</abbr>の空き容量を増やす"
-"ことができます。ただし、スワップデバイスは<abbr title=\"Random Access "
-"Memory\">RAM</abbr>に比べてとても遅いことに注意してください。"
+"ことができます。ただし、スワップデバイスは<abbr title=\"Random Access Memory"
+"\">RAM</abbr>に比べてとても遅いことに注意してください。"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:363
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:368
msgid "Ignore <code>/etc/hosts</code>"
msgstr "<code>/etc/hosts</code>を無視"
msgid "Ignore interface"
msgstr "インターフェースを無視"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:352
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
msgid "Ignore resolv file"
msgstr "リゾルバファイルを無視"
"order to avoid broadcast loops that can bring the entire LAN to a standstill."
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:13
+#: modules/luci-base/ucode/template/csrftoken.ut:13
msgid ""
"In order to prevent unauthorized access to the system, your request has been "
"blocked. Click \"Continue »\" below to return to the previous page."
msgid "Install protocol extensions..."
msgstr "プロトコル拡張機能をインストール..."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:547
msgid "Instance"
msgstr ""
msgid "Internal"
msgstr "内部"
-#: modules/luci-base/luasrc/view/error500.htm:8
-msgid "Internal Server Error"
-msgstr "内部サーバーエラー"
-
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:285
msgid "Interval For Sending Learning Packets"
msgstr "学習パケット送信間隔"
msgid "Invalid hexadecimal value"
msgstr "無効な16進数"
-#: modules/luci-base/luasrc/view/sysauth.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:37
+#: modules/luci-base/ucode/template/sysauth.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:32
msgid "Invalid username and/or password! Please try again."
msgstr ""
"ユーザー名とパスワードのどちらかもしくは両方が間違っています!もう一度入力し"
"フラッシュしようとしたイメージファイルはこのフラッシュメモリー向けではありま"
"せん。イメージファイルを確認してください!"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:89
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:96
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:77
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:91
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:72
msgid "JavaScript required!"
msgstr "JavaScriptが必要です!"
msgid "Language and Style"
msgstr "言語とスタイル"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:560
+msgid ""
+"Larger weights (of the same prio) are given a proportionately higher "
+"probability of being selected."
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:575
msgid "Last member interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
msgid "Latency"
msgstr "遅延"
msgid "Learn routes"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:348
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:353
msgid "Lease file"
msgstr "リースファイル"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:697
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:768
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:679
msgid "Lease time"
msgstr "リース期間"
msgid "Limit"
msgstr "制限"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
msgid "Line Attenuation (LATN)"
msgstr "回線減衰(LATN)"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
msgid "Line Mode"
msgstr "回線モード"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:17
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
msgid "Line State"
msgstr "回線状態"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
msgid "Line Uptime"
msgstr "回線稼働時間"
msgid "Link layer header bits %d-%d"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
msgid "List of IP addresses to convert into NXDOMAIN responses."
msgstr "NXドメインの嘘の結果を提供するホストのリスト"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:296
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:581
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:652
msgid "List of IP sets to populate with the specified domain IPs."
msgstr ""
msgid "List of SSH key files for auth"
msgstr "認証用SSHキーファイルのリスト"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:317
msgid "List of domains to allow RFC1918 responses for."
msgstr "RFC1918の応答を許可するドメインのリスト"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:290
-msgid "List of domains to force to an IP address."
-msgstr "これはIPアドレスに強制的に設定するドメインのリスト。"
-
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:283
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:285
msgid "List of upstream resolvers to forward queries to."
msgstr ""
"リクエストを転送する<abbr title=\"Domain Name System\">DNS</abbr>サーバーのリ"
msgid "Listen Port"
msgstr "リッスンポート"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:332
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:337
msgid "Listen interfaces"
msgstr "リッスンインターフェース"
"指定されたインターフェースでのみリッスンを行います。設定しない場合はすべて対"
"象"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:333
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
msgid ""
"Listen only on the specified interfaces, and loopback if not excluded "
"explicitly."
msgid "ListenPort setting is invalid"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:439
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:444
msgid "Listening port for inbound DNS queries."
msgstr "受信DNSクエリをリッスンするポート"
msgstr "ディレクトリの内容を読み込み中…"
#: modules/luci-base/htdocs/luci-static/resources/luci.js:1942
-#: modules/luci-base/luasrc/view/view.htm:4
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:45
+#: modules/luci-base/ucode/template/view.ut:4
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:40
msgid "Loading view…"
msgstr "画面表示を読み込み中…"
msgid "Local ULA"
msgstr "ローカル ULA"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:273
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:275
msgid "Local domain"
msgstr "ローカルドメイン"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:274
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:276
msgid "Local domain suffix appended to DHCP names and hosts file entries."
msgstr "DHCP名とhostsファイルの項目に追加される、ローカルドメインサフィックス"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:269
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:271
msgid "Local server"
msgstr "ローカルサーバー"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:319
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:324
msgid "Local service only"
msgstr "ローカルサービスのみ"
msgid "Local wireguard key"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
msgid "Localise queries"
msgstr "クエリをローカライズ"
msgid "Log output level"
msgstr "ログ出力レベル"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:277
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:279
msgid "Log queries"
msgstr "ログクエリ"
msgid "Logical network to which the tunnel will be added (bridged) (optional)."
msgstr "トンネルが追加される(ブリッジされる)論理ネットワーク(オプション)。"
-#: modules/luci-base/luasrc/view/sysauth.htm:38
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:41
+#: modules/luci-base/ucode/template/sysauth.ut:38
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:36
msgid "Login"
msgstr "ログイン"
msgid "Loose filtering"
msgstr "緩いフィルタリング"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
msgid "Loss of Signal Seconds (LOSS)"
msgstr "信号損失秒数(LOSS)"
msgstr ""
"これはネットワークアドレスをオフセットとした、最小のリースアドレスです。"
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/footer.ut:12
+msgid "Lua compatibility mode active"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:48
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:83
msgid "MAC"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:591
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:40
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:619
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1164
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2177
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:56
msgid "MTU"
msgstr "MTU"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:259
+msgid "MX"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:303
msgid ""
"Make sure to clone the root filesystem using something like the commands "
msgid "Max <abbr title=\"Router Advertisement\">RA</abbr> interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
msgid "Max. Attainable Data Rate (ATTNDR)"
msgstr "到達可能な最大データレート(ATTNDR)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:457
msgid "Max. DHCP leases"
msgstr ""
"最大<abbr title=\"Dynamic Host Configuration Protocol\">DHCP</abbr>割り当て数"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:459
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:464
msgid "Max. EDNS0 packet size"
msgstr ""
"最大<abbr title=\"Extension Mechanisms for Domain Name System\">EDNS0</abbr>"
"パケットサイズ"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:466
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:471
msgid "Max. concurrent queries"
msgstr "最大並列処理クエリ"
msgid "Maximum allowed Listen Interval"
msgstr "許容される最大リッスン間隔"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:453
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:458
msgid "Maximum allowed number of active DHCP leases."
msgstr "許容される最大DHCP割り当て数"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:467
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:472
msgid "Maximum allowed number of concurrent DNS queries."
msgstr "許容される最大の並列DNSクエリ数"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:460
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:465
msgid "Maximum allowed size of EDNS0 UDP packets."
msgstr "許容される最大EDNS.0 UDPパケットサイズ"
msgid "Maximum transmit power"
msgstr "最大送信出力"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:394
msgid "May prevent VoIP or other services from working."
msgstr ""
msgid "Name of the tunnel device"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:46
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:39
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:50
msgid "Navigation"
msgstr "ナビゲーション"
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:10
+msgid "Nebula Network"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:653
msgid "Neighbour cache validity"
msgstr ""
msgid "Network address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:492
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:497
msgid "Network boot image"
msgstr "ネットワークブートイメージ"
msgid "Network interface"
msgstr "ネットワークインターフェース"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:536
msgid "Network-ID"
msgstr ""
msgid "Never"
msgstr "なし"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:270
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:272
msgid ""
"Never forward matching domains and subdomains, resolve from DHCP or hosts "
"files only."
msgid "No RX signal"
msgstr "RX信号なし"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:80
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:87
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:68
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:82
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:65
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:90
msgid ""
"No changes to settings will be stored and are lost after rebooting. This "
msgid "No entries in this directory"
msgstr "このディレクトリ内にエントリーがありません"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:82
-msgid "No files found"
-msgstr "ファイルが見つかりません"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:833
msgid ""
"No fixed interface listening port defined, peers might not be able to "
msgid "No more slaves available, can not save interface"
msgstr "これ以上利用可能なスレーブがないため、インターフェースを保存できません"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:413
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
msgid "No negative cache"
msgstr "ネガティブキャッシュなし"
msgid "No nftables ruleset loaded."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:69
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:61
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:57
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:54
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:79
msgid "No password set!"
msgstr "パスワードが設定されていません!"
msgid "Noise"
msgstr "ノイズ"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
msgid "Noise Margin (SNR)"
msgstr "ノイズマージン(SNR)"
msgid "Noise:"
msgstr "ノイズ:"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
msgid "Non Pre-emptive CRC errors (CRC_P)"
msgstr "非プリエンプティブCRCエラー(CRC_P)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:330
msgid "Non-wildcard"
msgstr "非ワイルドカード"
msgid "Normal"
msgstr "標準"
-#: modules/luci-base/luasrc/view/error404.htm:8
+#: modules/luci-base/ucode/template/error404.ut:9
msgid "Not Found"
msgstr "見つかりません"
msgid "Number of IGMP membership reports"
msgstr "IGMPメンバーシップレポートの数"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:474
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:479
msgid "Number of cached DNS entries, 10000 is maximum, 0 is no caching."
msgstr ""
"キャッシュされるDNSエントリーの数(最大10000件、0の場合キャッシュしない)"
msgid "On-link"
msgstr "On-Linkルート"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:672
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:743
msgid "One of hostname or MAC address must be specified!"
msgstr "ホスト名またはMACアドレスを指定してください!"
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:472
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:19
msgid "Open list..."
msgstr "リストを開く..."
msgid "Options"
msgstr "オプション"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:526
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
msgid ""
"Options for the Network-ID. (Note: needs also Network-ID.) E.g. "
-"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</"
-"code>\" for default route. <code>0.0.0.0</code> means \"the address of the "
-"system running dnsmasq\"."
+"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</code>"
+"\" for default route. <code>0.0.0.0</code> means \"the address of the system "
+"running dnsmasq\"."
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:125
msgid "Options:"
msgstr "オプション :"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
+msgid "Ordinal: lower comes first."
+msgstr ""
+
#: protocols/luci-proto-batman-adv/htdocs/luci-static/resources/protocol/batadv.js:55
msgid "Originator Interval"
msgstr ""
msgid "Pass-through (Mirror physical device to single MAC VLAN)"
msgstr "パススルー(物理デバイスを単一の MAC ベース VLAN へミラー)"
-#: modules/luci-base/luasrc/view/sysauth.htm:29
+#: modules/luci-base/ucode/template/sysauth.ut:29
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1690
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:51
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:114
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:103
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:24
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:19
msgid "Password"
msgstr "パスワード"
msgid "Pkts."
msgstr "パケット"
-#: modules/luci-base/luasrc/view/sysauth.htm:19
+#: modules/luci-base/ucode/template/sysauth.ut:19
msgid "Please enter your username and password."
msgstr "ユーザー名とパスワードを入力してください。"
msgid "Policy: <strong>%h</strong> (%h)"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:579
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:21
msgid "Port"
msgstr "ポート"
msgid "Potential negation of: %s"
msgstr "存在しない可能性があります: %s"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:38
msgid "Power Management Mode"
msgstr "電力管理モード"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
msgid "Pre-emptive CRC errors (CRCP_P)"
msgstr "プリエンプティブCRCエラー(CRCP_P)"
msgstr "プライマリが復旧するとアクティブスレーブになります(always、0)"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:129
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:197
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:223
msgid "Quality"
msgstr "品質"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
msgid "Query all available upstream resolvers."
msgstr ""
"利用可能なすべての上位<abbr title=\"Domain Name System\">DNS</abbr>サーバに問"
"16進数でエンコードされた、生のバイト値です。 ISPがこれを要求しない場合、空欄"
"にしてください"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:345
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:350
msgid "Read <code>/etc/ethers</code> to configure the DHCP server."
msgstr ""
"<code>/etc/ethers</code>を元に<abbr title=\"Dynamic Host Configuration "
msgid "Reassociation Deadline"
msgstr "再接続制限時間"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
msgid "Rebind protection"
msgstr "DNSリバインディング保護"
msgstr ""
#: modules/luci-compat/luasrc/model/network/proto_relay.lua:153
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:611
#: protocols/luci-proto-relay/htdocs/luci-static/resources/protocol/relay.js:39
msgid "Relay"
msgstr "リレー"
msgid "Required. Base64-encoded private key for this interface."
msgstr "このインターフェースに使用するBase64エンコードの秘密鍵(必須)。"
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Required. Path to the .yml config file for this interface."
+msgstr ""
+
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:587
msgid "Required. Public key of the WireGuard peer."
msgstr ""
msgstr "プライマリスレーブの再選択ポリシー"
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2197
-#: modules/luci-base/luasrc/view/sysauth.htm:39
+#: modules/luci-base/ucode/template/sysauth.ut:39
#: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
#: modules/luci-compat/luasrc/view/cbi/footer.htm:30
#: modules/luci-compat/luasrc/view/cbi/simpleform.htm:66
msgid "Resolv and Hosts Files"
msgstr "リゾルバとホストファイル"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:356
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:361
msgid "Resolv file"
msgstr "リゾルバファイル"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:292
+msgid "Resolve specified FQDNs to an IP."
+msgstr "これはIPアドレスに強制的に設定するドメインのリスト。"
+
#: modules/luci-base/htdocs/luci-static/resources/rpc.js:405
msgid "Resource not found"
msgstr "リソースが見つかりません"
msgid "Restore backup"
msgstr "バックアップを復元"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
msgid ""
"Return answers to DNS queries matching the subnet from which the query was "
"received if multiple IPs are available."
msgid "Robustness"
msgstr "堅牢性"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:491
msgid ""
"Root directory for files served via TFTP. <em>Enable TFTP server</em> and "
"<em>TFTP server root</em> turn on the TFTP server and serve files from "
msgid "SNR"
msgstr "SNR"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "SRV"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:10
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:38
msgid "SSH Access"
msgid "Server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:524
msgid "Server address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:518
msgid "Server name"
msgstr ""
msgid "Setup routes for proxied IPv6 neighbours."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
msgid "Severely Errored Seconds (SES)"
msgstr "重大エラー秒数(SES)"
msgstr "ショートプリアンブル"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:470
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:18
msgid "Show current backup file list"
msgstr "現在のバックアップファイルリストを表示"
msgid "Signal / Noise"
msgstr "信号強度 / ノイズ"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
msgid "Signal Attenuation (SATN)"
msgstr "信号減衰(SATN)"
msgid "Size"
msgstr "サイズ"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:473
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:478
msgid "Size of DNS query cache"
msgstr "DNSクエリキャッシュのサイズ"
msgid "Skip from backup files that are equal to those in /rom"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:42
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:35
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:46
msgid "Skip to content"
msgstr "コンテンツへ移動"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:41
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:34
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:45
msgid "Skip to navigation"
msgstr "ナビゲーションへ移動"
msgid "Some fields are invalid, cannot save values!"
msgstr "フィールドに無効な値が設定されているため、保存できません!"
-#: modules/luci-base/luasrc/view/error404.htm:9
+#: modules/luci-base/ucode/template/error404.ut:10
msgid "Sorry, the object you requested was not found."
msgstr ""
"申し訳ありませんが、リクエストされたオブジェクトは見つかりませんでした。"
-#: modules/luci-base/luasrc/view/error500.htm:9
-msgid "Sorry, the server encountered an unexpected error."
-msgstr "申し訳ありませんが、サーバーに予期しないエラーが発生しました。"
-
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:442
msgid ""
"Sorry, there is no sysupgrade support present; a new firmware image must be "
msgid "Source port"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:505
msgid ""
"Special <abbr title=\"Preboot eXecution Environment\">PXE</abbr> boot "
"options for Dnsmasq."
msgid "Static address"
msgstr "静的アドレス"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:598
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:669
msgid ""
"Static leases are used to assign fixed IP addresses and symbolic hostnames "
"to DHCP clients. They are also required for non-dynamic interface "
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:16
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:541
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:929
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:9
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:9
msgid "Status"
msgstr "ステータス"
msgid "Strict filtering"
msgstr "厳密なフィルタリング"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
msgid "Strict order"
msgstr "問い合わせの制限"
msgid "Submit"
msgstr "送信"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
msgid "Suppress logging"
msgstr "ログの抑制"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:373
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
msgid "Suppress logging of the routine operation for the DHCP protocol."
msgstr "これらのプロトコルの、ルーチン操作のログを抑制"
msgid "Sync with browser"
msgstr "ブラウザと同期"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:293
+msgid "Syntax: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "Syntax: <code>_service._proto.example.com</code>."
+msgstr ""
+
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:26
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:17
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:113
msgid "System log buffer size"
msgstr "システムログバッファサイズ"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:79
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:86
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:71
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:67
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:81
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:64
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:89
msgid "System running in recovery (initramfs) mode."
msgstr "システムはリカバリー (initramfs) モードで実行中です。"
msgid "TCP:"
msgstr "TCP:"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:490
msgid "TFTP server root"
msgstr "TFTPサーバールート"
msgid "Table"
msgstr "テーブル"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:56
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:66
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:187
"HE.netのエンドポイント更新構成を変更した場合、ユーザーIDの代わりに通常のユー"
"ザー名を使用する必要があります!"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:681
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:752
msgid "The IP address %h is already used by another static lease"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:761
msgid "The IP address is outside of any DHCP pool address range"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:520
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
msgid "The IP address of the boot server"
msgstr ""
"to be received and retransmitted which costs airtime)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:514
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
msgid "The hostname of the boot server"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/switch.js:139
msgid ""
-"The network ports on this device can be combined to several <abbr "
-"title=\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
+"The network ports on this device can be combined to several <abbr title="
+"\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
"communicate directly with each other. <abbr title=\"Virtual Local Area "
"Network\">VLAN</abbr>s are often used to separate different network "
"segments. Often there is by default one Uplink port for a connection to the "
msgid "The selected %s mode is incompatible with %s encryption"
msgstr "選択された%sモードは、%s暗号化と互換性がありません"
-#: modules/luci-base/luasrc/view/csrftoken.htm:11
+#: modules/luci-base/ucode/template/csrftoken.ut:11
msgid "The submitted security token is invalid or already expired!"
msgstr "送信されたセキュリティトークンは無効または期限切れです!"
"nftables rules is discouraged and may lead to incomplete traffic filtering."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:746
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:778
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:817
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:849
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:130
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:179
msgid "There are no active leases"
msgid "There are no changes to apply"
msgstr "適用する変更はありません"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:70
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:58
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:55
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:80
msgid ""
"There is no password set on this router. Please configure a root password to "
msgstr "これは有効なPEMファイルではないようです"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:16
msgid ""
"This is a list of shell glob patterns for matching files and directories to "
"include during sysupgrade. Modified files in /etc/config/ and certain other "
"これはトンネルブローカーによって割り当てられた、ローカルエンドポイントアドレ"
"スです。通常、最後が<code>...:2/64</code>で終わります"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:266
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:268
msgid "This is the only DHCP server in the local network."
msgstr ""
"これはローカルネットワーク内で1つだけの<abbr title=\"Dynamic Host "
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:440
msgid ""
"To fully configure the local WireGuard interface from an existing (e.g. "
-"provider supplied) configuration file, use the <strong><a class=\"full-"
-"import\" href=\"#\">configuration import</a></strong> instead."
+"provider supplied) configuration file, use the <strong><a class=\"full-import"
+"\" href=\"#\">configuration import</a></strong> instead."
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2674
msgid "Unable to determine upstream interface"
msgstr "アップストリーム インターフェースを確定できません"
-#: modules/luci-base/luasrc/view/error404.htm:11
+#: modules/luci-base/ucode/template/error404.ut:12
msgid "Unable to dispatch"
msgstr "ディスパッチできません"
msgid "Unable to verify PIN"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
msgid "Unavailable Seconds (UAS)"
msgstr "使用不可秒数(UAS)"
"will be restarted to apply the updated configuration."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
msgid "Upstream resolvers will be queried in the order of the resolv file."
msgstr ""
"リゾルバファイルの順番に<abbr title=\"Domain Name System\">DNS</abbr>サーバー"
msgid "Uptime"
msgstr "稼働時間"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
msgid "Use <code>/etc/ethers</code>"
msgstr "<code>/etc/ethers</code>を使用"
msgid "Use system certificates for inner-tunnel"
msgstr "内部トンネルにシステム証明書を使用"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:599
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:670
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC address</"
"em> identifies the host, the <em>IPv4 address</em> specifies the fixed "
"Used for two different purposes: RADIUS NAS ID and 802.11r R0KH-ID. Not "
"needed with normal WPA(2)-PSK."
msgstr ""
-"RADIUS NAS IDと802.11r R0KH-IDの2つの異なる目的のために使用中です。通常のWPA"
-"(2)-PSKは必要ありません。"
+"RADIUS NAS IDと802.11r R0KH-IDの2つの異なる目的のために使用中です。通常の"
+"WPA(2)-PSKは必要ありません。"
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:111
msgid "User Group"
msgid "User key (PEM encoded)"
msgstr "ユーザー鍵(PEMエンコード)"
-#: modules/luci-base/luasrc/view/sysauth.htm:23
+#: modules/luci-base/ucode/template/sysauth.ut:23
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:112
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:101
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:56
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:18
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:13
msgid "Username"
msgstr "ユーザー名"
msgid "VXLANv6 (RFC7348)"
msgstr "VXLANv6(RFC7348)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
msgid ""
"Validate DNS replies and cache DNSSEC data, requires upstream to support "
"DNSSEC."
msgid "Vendor Class to send when requesting DHCP"
msgstr "DHCPリクエスト時に送信するベンダークラス"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:408
msgid "Verify unsigned domain responses really come from unsigned domains."
msgstr ""
msgid "Weak"
msgstr "弱"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+msgid "Weight"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1029
msgid ""
"When delegating prefixes to multiple downstreams, interfaces with a higher "
msgid "Wireless network is enabled"
msgstr "無線ネットワークは有効"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:278
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:280
msgid "Write received DNS queries to syslog."
msgstr "受信したDNSリクエストをsyslogへ記録"
"変更は再起動後に適用されます。<br /><strong>警告: \"network\"などの重要なスク"
"リプトを無効にするとデバイスにアクセスできなくなることがあります!</strong>"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:90
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:97
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
+msgid "You may add multiple records for the same Target."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:596
+msgid "You may add multiple records for the same domain."
+msgstr ""
+
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:78
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:92
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:73
msgid ""
"You must enable JavaScript in your browser or LuCI will not work properly."
msgid "ZRam Size"
msgstr "ZRamサイズ"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:558
+msgid "_proto: _tcp, _udp, _sctp, _quic, … ."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:557
+msgid ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Note: while _http is "
+"possible, no browsers support SRV records.)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:454
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:152
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:163
msgid "any"
msgid "e.g: dump"
msgstr "例: dump"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:726
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:756
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:797
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:827
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:101
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:148
msgid "expired"
msgid "unknown"
msgstr "不明"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:456
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:724
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:754
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:461
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:795
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:825
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:99
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:146
msgid "unlimited"
msgid "« Back"
msgstr "« 戻る"
+#~ msgid "Back to configuration"
+#~ msgstr "設定へ戻る"
+
+#~ msgid "Close list..."
+#~ msgstr "リストを閉じる..."
+
+#~ msgid "Internal Server Error"
+#~ msgstr "内部サーバーエラー"
+
+#~ msgid "No files found"
+#~ msgstr "ファイルが見つかりません"
+
+#~ msgid "Sorry, the server encountered an unexpected error."
+#~ msgstr "申し訳ありませんが、サーバーに予期しないエラーが発生しました。"
+
#~ msgid "Do not forward queries that cannot be answered by public resolvers."
#~ msgstr "パブリックDNSサーバーが応答できないリクエストを転送しない"
msgid "<abbr title=\"Router Advertisement\">RA</abbr>-Service"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:294
+msgid ""
+"<code>/#/</code> matches any domain. <code>/example.com/</code> returns "
+"NXDOMAIN."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+msgid ""
+"<code>/example.com/#</code> returns NULL addresses (<code>0.0.0.0</code> and "
+"<code>::</code>) for example.com and its subdomains."
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:87
msgctxt "nft relational \">\" operator expression"
msgid "<var>%s</var> greater than <strong>%s</strong>"
msgid "ATM device number"
msgstr "ATM 디바이스 번호"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
msgid "ATU-C System Vendor ID"
msgstr "ATU-C 시스템 벤더 ID"
msgid "Absent Interface"
msgstr "인터페이스 없음"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:320
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
msgid "Accept DNS queries only from hosts whose address is on a local subnet."
msgstr ""
"DNS 를 제공하기로한 subnet 인터페이스들에 대해서만 DNS 서비스를 제공합니다."
msgid "Add key"
msgstr "키 추가"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:410
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:415
msgid "Add local domain suffix to names served from hosts files."
msgstr "hosts에 등록된 호스트명에 로컬 도메인 접미사를 추가합니다."
msgid "Add to Whitelist"
msgstr "화이트리스트에 추가"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:367
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
msgid "Additional hosts files"
msgstr "추가적인 Hosts 파일들"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:417
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
#, fuzzy
msgid "Additional servers file"
msgstr "추가적인 servers 파일"
msgid "Address to access local relay bridge"
msgstr "로컬 릴레이 브릿지에 액세스하는 주소"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:289
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:291
msgid "Addresses"
msgstr "주소"
msgid "Aggregate Originator Messages"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
msgid "Aggregate Transmit Power (ACTATP)"
msgstr "전송 전력 집계 (ACTATP)"
msgid "Alias of \"%s\""
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
msgid "All servers"
msgstr "모든 서버"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
msgid ""
"Allocate IP addresses sequentially, starting from the lowest available "
"address."
msgstr "이용 가능한 가장 낮은 주소부터 순차적으로 IP 주소를 할당합니다."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
msgid "Allocate IPs sequentially"
msgstr "순차적으로 IP 할당"
msgid "Allow listed only"
msgstr "목록의 주소만 허용"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
msgid "Allow localhost"
msgstr "localhost 허용"
msgid "Always on (kernel: default-on)"
msgstr "항상 켜기 (kernel: default-on)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:538
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
msgid "Always send DHCP Options. Sometimes needed, with e.g. PXELinux."
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1484
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
msgid "Annex"
msgstr ""
msgid "Any zone"
msgstr "모든 영역"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:532
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
msgid "Apply DHCP Options to this net. (Empty = all clients)."
msgstr ""
msgid "Authentication Type"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:265
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:267
msgid "Authoritative"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:17
+#: modules/luci-base/ucode/template/sysauth.ut:17
#: themes/luci-theme-bootstrap/htdocs/luci-static/resources/view/bootstrap/sysauth.js:11
msgid "Authorization Required"
msgstr "인증이 필요합니다"
msgid "Avoid Bridge Loops"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
msgid ""
"Avoid uselessly triggering dial-on-demand links (filters SRV/SOA records and "
"names with underscores)."
msgid "Back to Overview"
msgstr "개요로 이동"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:48
-msgid "Back to configuration"
-msgstr "설정으로 돌아가기"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:826
msgid "Back to peer configuration"
msgstr ""
msgstr "펌웨어 백업 / 플래시"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:351
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:12
msgid "Backup file list"
msgstr ""
msgstr "비컨 간격"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:352
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:46
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
msgid "Bind NTP server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:326
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:331
msgid "Bind dynamically to interfaces rather than wildcard address."
msgstr ""
msgid "Bind interface"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:595
+msgid ""
+"Bind service records to a domain name: specify the location of services."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:556
+msgid ""
+"Bind service records to a domain name: specify the location of services. See "
+"<a href=\"%s\">RFC2782</a>."
+msgstr ""
+
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gre.js:59
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gretap.js:64
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/grev6.js:64
msgid "CLAT configuration failed"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
+msgid "CNAME or fqdn"
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/processes.js:72
msgid "CPU usage (%)"
msgstr "CPU 사용량 (%)"
"persist connection"
msgstr ""
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:49
-msgid "Close list..."
-msgstr "목록 닫기..."
-
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:44
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:63
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2184
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:391
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:352
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:355
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:72
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:66
msgid "Collecting data..."
msgstr "데이터 수집 중..."
msgid "Compute outgoing checksum (optional)."
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Config File"
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4375
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
msgid "Configuration"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:764
msgid ""
-"Configures the operation mode of the <abbr title=\"Router "
-"Advertisement\">RA</abbr> service on this interface."
+"Configures the operation mode of the <abbr title=\"Router Advertisement"
+"\">RA</abbr> service on this interface."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:879
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/leds.js:59
msgid ""
-"Customizes the behaviour of the device <abbr title=\"Light Emitting "
-"Diode\">LED</abbr>s if possible."
+"Customizes the behaviour of the device <abbr title=\"Light Emitting Diode"
+"\">LED</abbr>s if possible."
msgstr ""
"가능하다면 <abbr title=\"Light Emitting Diode\">LED</abbr> 의 동작을 직접 지"
"정 할 수 있습니다."
msgid "DAE-Secret"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:530
msgid "DHCP Options"
msgstr "DHCP 옵션"
msgid "DNS"
msgstr "DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:282
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:284
msgid "DNS forwardings"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:445
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:450
msgid "DNS query port"
msgstr "<abbr title=\"Domain Name System\">DNS</abbr> 쿼리 포트"
msgid "DNS search domains"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:443
msgid "DNS server port"
msgstr "<abbr title=\"Domain Name System\">DNS</abbr> 서버 포트"
msgid "DNS-Label / FQDN"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
msgid "DNSSEC"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:407
msgid "DNSSEC check unsigned"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1481
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:44
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:45
msgid "DSL"
msgstr "DSL"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:14
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:15
msgid "DSL Status"
msgstr ""
msgstr "DTIM 간격"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:59
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:700
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:771
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:136
msgid "DUID"
msgstr "DUID"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
msgid "Data Rate"
msgstr ""
"Disable <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</abbr> for "
"this interface."
msgstr ""
-"이 인터페이스에 대해 <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> 기능을 비활성화합니다."
+"이 인터페이스에 대해 <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> 기능을 비활성화합니다."
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:174
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:375
msgid "Disassociate On Low Acknowledgement"
msgstr "낮은 ACK에서 연결 해제"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:302
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
msgid ""
"Discard upstream responses containing <a href=\"%s\">RFC1918</a> addresses."
msgstr ""
msgid "Distributed ARP Table"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:548
msgid ""
"Dnsmasq instance to which this boot section is bound. If unspecified, the "
"section is valid for all dnsmasq instances."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:246
msgid ""
-"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</"
-"abbr> forwarder."
+"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</abbr> "
+"forwarder."
msgstr ""
"Dnsmasq는 <abbr title=\"Network Address Translation\">NAT</abbr> 방화벽을 위"
"한 <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</abbr> 서버와 "
"<abbr title=\"Domain Name System\">DNS</abbr> 포워딩 기능을 제공합니다."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:419
msgid "Do not cache negative replies, e.g. for non-existent domains."
msgstr ""
msgid "Do not create host route to peer (optional)."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:262
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:264
msgid "Do not forward DNS queries without dots or domain parts."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
msgid "Do not forward reverse lookups for local networks."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:339
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
msgid "Do not listen on the specified interfaces."
msgstr ""
msgid "Do you want to replace the current keys?"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:593
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:606
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:664
msgid "Domain"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:261
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:263
msgid "Domain required"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:316
msgid "Domain whitelist"
msgstr ""
msgid "Enable Single DES"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:480
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
msgid "Enable TFTP server"
msgstr "TFTP 서버 활성화"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/uhttpd.js:14
msgid ""
-"Enable automatic redirection of <abbr title=\"Hypertext Transfer "
-"Protocol\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol "
-"Secure\">HTTPS</abbr> port."
+"Enable automatic redirection of <abbr title=\"Hypertext Transfer Protocol"
+"\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol Secure"
+"\">HTTPS</abbr> port."
msgstr ""
-"<abbr title=\"Hypertext Transfer Protocol\">HTTP</abbr> 요청을 <abbr "
-"title=\"Hypertext Transfer Protocol Secure\">HTTPS</abbr> 포트로의 자동 리디"
-"렉션을 활성화합니다."
+"<abbr title=\"Hypertext Transfer Protocol\">HTTP</abbr> 요청을 <abbr title="
+"\"Hypertext Transfer Protocol Secure\">HTTPS</abbr> 포트로의 자동 리디렉션을 "
+"활성화합니다."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:977
msgid ""
msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:481
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
msgid "Enable the built-in single-instance TFTP server."
msgstr ""
msgid "Error getting PublicKey"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
msgid "Errored seconds (ES)"
msgstr ""
msgid "Every second (fast, 1)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:343
msgid "Exclude interfaces"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
msgid ""
"Exempt <code>127.0.0.0/8</code> and <code>::1</code> from rebinding checks, "
"e.g. for RBL services."
msgid "Existing device"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:409
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
msgid "Expand hosts"
msgstr ""
msgid "File"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
msgid ""
"File listing upstream resolvers, optionally domain-specific, e.g. "
"<code>server=1.2.3.4</code>, <code>server=/domain/1.2.3.4</code>."
msgid "File not accessible"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:354
msgid "File to store DHCP lease information."
msgstr ""
"<abbr title=\"Dynamic Host Configuration Protocol\">DHCP</abbr> 임대 할당 정"
"보를 저장할 파일."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:362
msgid "File with upstream resolvers."
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/ui.js:2846
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:507
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:512
msgid "Filename"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:493
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:498
msgid "Filename of the boot image advertised to clients."
msgstr ""
msgid "Filesystem"
msgstr "파일 시스템"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
msgid "Filter private"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
msgid "Filter useless"
msgstr ""
msgid "Firmware Version"
msgstr "펌웨어 버전"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:446
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:451
msgid "Fixed source port for outbound DNS queries."
msgstr ""
msgid "Flashing…"
msgstr "플래시 중…"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:686
msgid "Force"
msgstr "강제하기"
msgid "Force use of NAT-T"
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:8
+#: modules/luci-base/ucode/template/csrftoken.ut:8
msgid "Form token mismatch"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:919
msgid ""
-"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr "
-"title=\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr "
-"title=\"Neighbour Advertisement, Type 136\">NA</abbr> messages between the "
-"designated master interface and downstream interfaces."
+"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr title="
+"\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr title=\"Neighbour "
+"Advertisement, Type 136\">NA</abbr> messages between the designated master "
+"interface and downstream interfaces."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:770
"downstream interfaces."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
msgid "Forward Error Correction Seconds (FECS)"
msgstr ""
msgid "Global network options"
msgstr "전역 네트워크 옵션"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:82
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:74
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:70
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:84
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:67
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:92
msgid "Go to firmware upgrade..."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:72
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:64
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:60
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:57
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:82
msgid "Go to password configuration..."
msgstr "암호 설정으로 이동..."
msgid "Hang Up"
msgstr "중단"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
msgid "Header Error Code Errors (HEC)"
msgstr "Header Error Code Errors (HEC)"
msgid "Host expiry timeout"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
msgid "Host requests this filename from the boot server."
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:38
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:607
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:678
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:54
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:87
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:135
msgid "Hostnames"
msgstr "호스트 이름"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:551
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:622
msgid ""
"Hostnames are used to bind a domain name to an IP address. This setting is "
"redundant for hostnames already configured with static leases, but it can be "
msgid "IP Protocol"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:260
msgid "IP Sets"
msgstr ""
msgid "IP Type"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:563
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:634
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:178
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:204
msgid "IP address"
msgid "IP protocol"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:660
msgid "IP set"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:300
msgid "IP sets"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:437
msgid "IPs to override with NXDOMAIN"
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/protocol/static.js:178
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:736
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:88
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:164
msgid "IPv4 address"
msgid "IPv6 suffix"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:706
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:777
msgid "IPv6 suffix (hex)"
msgstr ""
"<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-접미사 (16진수)"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:340
msgid ""
"If your physical memory is insufficient unused data can be temporarily "
-"swapped to a swap-device resulting in a higher amount of usable <abbr "
-"title=\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a "
-"very slow process as the swap-device cannot be accessed with the high "
-"datarates of the <abbr title=\"Random Access Memory\">RAM</abbr>."
+"swapped to a swap-device resulting in a higher amount of usable <abbr title="
+"\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a very "
+"slow process as the swap-device cannot be accessed with the high datarates "
+"of the <abbr title=\"Random Access Memory\">RAM</abbr>."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:363
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:368
msgid "Ignore <code>/etc/hosts</code>"
msgstr "<code>/etc/hosts</code> 파일 무시"
msgid "Ignore interface"
msgstr "인터페이스 무시"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:352
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
msgid "Ignore resolv file"
msgstr "resolve 파일 무시"
"order to avoid broadcast loops that can bring the entire LAN to a standstill."
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:13
+#: modules/luci-base/ucode/template/csrftoken.ut:13
msgid ""
"In order to prevent unauthorized access to the system, your request has been "
"blocked. Click \"Continue »\" below to return to the previous page."
msgid "Install protocol extensions..."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:547
msgid "Instance"
msgstr ""
msgid "Internal"
msgstr ""
-#: modules/luci-base/luasrc/view/error500.htm:8
-msgid "Internal Server Error"
-msgstr ""
-
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:285
msgid "Interval For Sending Learning Packets"
msgstr ""
msgid "Invalid hexadecimal value"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:37
+#: modules/luci-base/ucode/template/sysauth.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:32
msgid "Invalid username and/or password! Please try again."
msgstr ""
"flash memory, please verify the image file!"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:89
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:96
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:77
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:91
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:72
msgid "JavaScript required!"
msgstr ""
msgid "Language and Style"
msgstr "언어와 스타일"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:560
+msgid ""
+"Larger weights (of the same prio) are given a proportionately higher "
+"probability of being selected."
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:575
msgid "Last member interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
msgid "Latency"
msgstr ""
msgid "Learn routes"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:348
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:353
msgid "Lease file"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:697
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:768
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:679
msgid "Lease time"
msgstr "임대 시간"
msgid "Limit"
msgstr "제한"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
msgid "Line Attenuation (LATN)"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
msgid "Line Mode"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:17
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
msgid "Line State"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
msgid "Line Uptime"
msgstr "회선 가동 시간"
msgid "Link layer header bits %d-%d"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
msgid "List of IP addresses to convert into NXDOMAIN responses."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:296
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:581
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:652
msgid "List of IP sets to populate with the specified domain IPs."
msgstr ""
msgid "List of SSH key files for auth"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:317
msgid "List of domains to allow RFC1918 responses for."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:290
-msgid "List of domains to force to an IP address."
-msgstr ""
-
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:283
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:285
msgid "List of upstream resolvers to forward queries to."
msgstr ""
msgid "Listen Port"
msgstr "접근 포트"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:332
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:337
msgid "Listen interfaces"
msgstr ""
msgstr ""
"지정한 인터페이스에만 리스닝 하며 미 지정시 모든 인터페이스에 적용됩니다"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:333
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
msgid ""
"Listen only on the specified interfaces, and loopback if not excluded "
"explicitly."
msgid "ListenPort setting is invalid"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:439
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:444
msgid "Listening port for inbound DNS queries."
msgstr ""
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:1942
-#: modules/luci-base/luasrc/view/view.htm:4
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:45
+#: modules/luci-base/ucode/template/view.ut:4
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:40
msgid "Loading view…"
msgstr ""
msgid "Local ULA"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:273
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:275
msgid "Local domain"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:274
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:276
msgid "Local domain suffix appended to DHCP names and hosts file entries."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:269
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:271
msgid "Local server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:319
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:324
msgid "Local service only"
msgstr ""
msgid "Local wireguard key"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
msgid "Localise queries"
msgstr ""
msgid "Log output level"
msgstr "출력할 로그 레벨"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:277
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:279
msgid "Log queries"
msgstr ""
msgid "Logical network to which the tunnel will be added (bridged) (optional)."
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:38
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:41
+#: modules/luci-base/ucode/template/sysauth.ut:38
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:36
msgid "Login"
msgstr "로그인"
msgid "Loose filtering"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
msgid "Loss of Signal Seconds (LOSS)"
msgstr ""
msgid "Lowest leased address as offset from the network address."
msgstr ""
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/footer.ut:12
+msgid "Lua compatibility mode active"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:48
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:83
msgid "MAC"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:591
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:40
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:619
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1164
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2177
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:56
msgid "MTU"
msgstr "MTU"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:259
+msgid "MX"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:303
msgid ""
"Make sure to clone the root filesystem using something like the commands "
msgid "Max <abbr title=\"Router Advertisement\">RA</abbr> interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
msgid "Max. Attainable Data Rate (ATTNDR)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:457
msgid "Max. DHCP leases"
msgstr ""
"<abbr title=\"maximal\">최대</abbr> <abbr title=\"Dynamic Host Configuration "
"Protocol\">DHCP</abbr> 임대 수"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:459
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:464
msgid "Max. EDNS0 packet size"
msgstr ""
"<abbr title=\"maximal\">최대</abbr> <abbr title=\"Extension Mechanisms for "
"Domain Name System\">EDNS0</abbr> 패킷 크기"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:466
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:471
msgid "Max. concurrent queries"
msgstr "<abbr title=\"maximal\">최대</abbr> 동시 처리 쿼리 수"
msgid "Maximum allowed Listen Interval"
msgstr "최대 허용 Listen 간격"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:453
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:458
msgid "Maximum allowed number of active DHCP leases."
msgstr "최대 허용 활성 DHCP 임대 개수"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:467
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:472
msgid "Maximum allowed number of concurrent DNS queries."
msgstr "최대 허용 동시 DNS 쿼리 수"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:460
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:465
msgid "Maximum allowed size of EDNS0 UDP packets."
msgstr "최대 허용 EDNS.0 UDP 패킷 크기"
msgid "Maximum transmit power"
msgstr "최대 송신 출력"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:394
msgid "May prevent VoIP or other services from working."
msgstr ""
msgid "Name of the tunnel device"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:46
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:39
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:50
msgid "Navigation"
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:10
+msgid "Nebula Network"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:653
msgid "Neighbour cache validity"
msgstr ""
msgid "Network address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:492
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:497
msgid "Network boot image"
msgstr "네트워크 boot 이미지"
msgid "Network interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:536
msgid "Network-ID"
msgstr ""
msgid "Never"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:270
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:272
msgid ""
"Never forward matching domains and subdomains, resolve from DHCP or hosts "
"files only."
msgid "No RX signal"
msgstr "RX 신호 없음"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:80
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:87
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:68
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:82
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:65
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:90
msgid ""
"No changes to settings will be stored and are lost after rebooting. This "
msgid "No entries in this directory"
msgstr ""
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:82
-msgid "No files found"
-msgstr ""
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:833
msgid ""
"No fixed interface listening port defined, peers might not be able to "
msgid "No more slaves available, can not save interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:413
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
msgid "No negative cache"
msgstr ""
msgid "No nftables ruleset loaded."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:69
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:61
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:57
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:54
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:79
msgid "No password set!"
msgstr "암호 설정을 해주세요!"
msgid "Noise"
msgstr "노이즈"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
msgid "Noise Margin (SNR)"
msgstr ""
msgid "Noise:"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
msgid "Non Pre-emptive CRC errors (CRC_P)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:330
msgid "Non-wildcard"
msgstr ""
msgid "Normal"
msgstr ""
-#: modules/luci-base/luasrc/view/error404.htm:8
+#: modules/luci-base/ucode/template/error404.ut:9
msgid "Not Found"
msgstr ""
msgid "Number of IGMP membership reports"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:474
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:479
msgid "Number of cached DNS entries, 10000 is maximum, 0 is no caching."
msgstr ""
msgid "On-link"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:672
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:743
msgid "One of hostname or MAC address must be specified!"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:472
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:19
msgid "Open list..."
msgstr "목록 열람..."
msgid "Options"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:526
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
msgid ""
"Options for the Network-ID. (Note: needs also Network-ID.) E.g. "
-"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</"
-"code>\" for default route. <code>0.0.0.0</code> means \"the address of the "
-"system running dnsmasq\"."
+"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</code>"
+"\" for default route. <code>0.0.0.0</code> means \"the address of the system "
+"running dnsmasq\"."
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:125
msgid "Options:"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
+msgid "Ordinal: lower comes first."
+msgstr ""
+
#: protocols/luci-proto-batman-adv/htdocs/luci-static/resources/protocol/batadv.js:55
msgid "Originator Interval"
msgstr ""
msgid "Pass-through (Mirror physical device to single MAC VLAN)"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:29
+#: modules/luci-base/ucode/template/sysauth.ut:29
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1690
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:51
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:114
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:103
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:24
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:19
msgid "Password"
msgstr "암호"
msgid "Pkts."
msgstr "Pkts."
-#: modules/luci-base/luasrc/view/sysauth.htm:19
+#: modules/luci-base/ucode/template/sysauth.ut:19
msgid "Please enter your username and password."
msgstr "사용자이름과 암호를 입력해 주세요."
msgid "Policy: <strong>%h</strong> (%h)"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:579
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:21
msgid "Port"
msgstr "포트"
msgid "Potential negation of: %s"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:38
msgid "Power Management Mode"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
msgid "Pre-emptive CRC errors (CRCP_P)"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:129
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:197
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:223
msgid "Quality"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
msgid "Query all available upstream resolvers."
msgstr ""
msgid "Raw hex-encoded bytes. Leave empty unless your ISP require this"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:345
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:350
msgid "Read <code>/etc/ethers</code> to configure the DHCP server."
msgstr ""
"<code>/etc/ethers</code> 파일을 읽어 <abbr title=\"Dynamic Host "
msgid "Reassociation Deadline"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
msgid "Rebind protection"
msgstr ""
msgstr ""
#: modules/luci-compat/luasrc/model/network/proto_relay.lua:153
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:611
#: protocols/luci-proto-relay/htdocs/luci-static/resources/protocol/relay.js:39
msgid "Relay"
msgstr ""
msgid "Required. Base64-encoded private key for this interface."
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Required. Path to the .yml config file for this interface."
+msgstr ""
+
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:587
msgid "Required. Public key of the WireGuard peer."
msgstr ""
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2197
-#: modules/luci-base/luasrc/view/sysauth.htm:39
+#: modules/luci-base/ucode/template/sysauth.ut:39
#: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
#: modules/luci-compat/luasrc/view/cbi/footer.htm:30
#: modules/luci-compat/luasrc/view/cbi/simpleform.htm:66
msgid "Resolv and Hosts Files"
msgstr "Resolv 와 Hosts 파일"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:356
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:361
msgid "Resolv file"
msgstr "Resolve 파일"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:292
+msgid "Resolve specified FQDNs to an IP."
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/rpc.js:405
msgid "Resource not found"
msgstr "리소스 찾을 수 없음"
msgid "Restore backup"
msgstr "백업 복구"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
msgid ""
"Return answers to DNS queries matching the subnet from which the query was "
"received if multiple IPs are available."
msgid "Robustness"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:491
msgid ""
"Root directory for files served via TFTP. <em>Enable TFTP server</em> and "
"<em>TFTP server root</em> turn on the TFTP server and serve files from "
msgid "SNR"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "SRV"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:10
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:38
msgid "SSH Access"
msgid "Server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:524
msgid "Server address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:518
msgid "Server name"
msgstr ""
msgid "Setup routes for proxied IPv6 neighbours."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
msgid "Severely Errored Seconds (SES)"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:470
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:18
msgid "Show current backup file list"
msgstr "현재 백업 파일 목록 보기"
msgid "Signal / Noise"
msgstr "신호 / 노이즈"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
msgid "Signal Attenuation (SATN)"
msgstr "신호 감쇠 (SATN)"
msgid "Size"
msgstr "크기"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:473
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:478
msgid "Size of DNS query cache"
msgstr "DNS 쿼리 캐시 크기"
msgid "Skip from backup files that are equal to those in /rom"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:42
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:35
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:46
msgid "Skip to content"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:41
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:34
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:45
msgid "Skip to navigation"
msgstr ""
msgid "Some fields are invalid, cannot save values!"
msgstr "일부 필드가 올바르지 않아, 값을 저장할 수 없습니다!"
-#: modules/luci-base/luasrc/view/error404.htm:9
+#: modules/luci-base/ucode/template/error404.ut:10
msgid "Sorry, the object you requested was not found."
msgstr "죄송합니다, 요청하신 객체를 찾을 수 없습니다."
-#: modules/luci-base/luasrc/view/error500.htm:9
-msgid "Sorry, the server encountered an unexpected error."
-msgstr "죄송합니다, 서버가 예상치 못한 오류에 걸렸습니다."
-
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:442
msgid ""
"Sorry, there is no sysupgrade support present; a new firmware image must be "
msgid "Source port"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:505
msgid ""
"Special <abbr title=\"Preboot eXecution Environment\">PXE</abbr> boot "
"options for Dnsmasq."
msgid "Static address"
msgstr "정적 주소"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:598
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:669
msgid ""
"Static leases are used to assign fixed IP addresses and symbolic hostnames "
"to DHCP clients. They are also required for non-dynamic interface "
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:16
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:541
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:929
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:9
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:9
msgid "Status"
msgstr "상태"
msgid "Strict filtering"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
msgid "Strict order"
msgstr "Strict order"
msgid "Submit"
msgstr "제출하기"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
msgid "Suppress logging"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:373
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
msgid "Suppress logging of the routine operation for the DHCP protocol."
msgstr ""
msgid "Sync with browser"
msgstr "브라우저 시간대로 동기화"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:293
+msgid "Syntax: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "Syntax: <code>_service._proto.example.com</code>."
+msgstr ""
+
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:26
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:17
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:113
msgid "System log buffer size"
msgstr "시스템 로그 버퍼 크기"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:79
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:86
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:71
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:67
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:81
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:64
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:89
msgid "System running in recovery (initramfs) mode."
msgstr ""
msgid "TCP:"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:490
msgid "TFTP server root"
msgstr "TFTP 서버 root"
msgid "Table"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:56
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:66
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:187
"username instead of the user ID!"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:681
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:752
msgid "The IP address %h is already used by another static lease"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:761
msgid "The IP address is outside of any DHCP pool address range"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:520
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
msgid "The IP address of the boot server"
msgstr ""
"to be received and retransmitted which costs airtime)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:514
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
msgid "The hostname of the boot server"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/switch.js:139
msgid ""
-"The network ports on this device can be combined to several <abbr "
-"title=\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
+"The network ports on this device can be combined to several <abbr title="
+"\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
"communicate directly with each other. <abbr title=\"Virtual Local Area "
"Network\">VLAN</abbr>s are often used to separate different network "
"segments. Often there is by default one Uplink port for a connection to the "
msgid "The selected %s mode is incompatible with %s encryption"
msgstr "선택된 %s 모드는 %s 암호화 방식과 호환되지 않습니다"
-#: modules/luci-base/luasrc/view/csrftoken.htm:11
+#: modules/luci-base/ucode/template/csrftoken.ut:11
msgid "The submitted security token is invalid or already expired!"
msgstr "전송된 보안 토큰이 잘못되었거나 이미 만료되었습니다!"
"nftables rules is discouraged and may lead to incomplete traffic filtering."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:746
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:778
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:817
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:849
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:130
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:179
#, fuzzy
msgid "There are no changes to apply"
msgstr "변경된 사항이 없습니다"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:70
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:58
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:55
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:80
msgid ""
"There is no password set on this router. Please configure a root password to "
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:16
msgid ""
"This is a list of shell glob patterns for matching files and directories to "
"include during sysupgrade. Modified files in /etc/config/ and certain other "
"ends with <code>...:2/64</code>"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:266
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:268
msgid "This is the only DHCP server in the local network."
msgstr ""
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:440
msgid ""
"To fully configure the local WireGuard interface from an existing (e.g. "
-"provider supplied) configuration file, use the <strong><a class=\"full-"
-"import\" href=\"#\">configuration import</a></strong> instead."
+"provider supplied) configuration file, use the <strong><a class=\"full-import"
+"\" href=\"#\">configuration import</a></strong> instead."
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2674
msgid "Unable to determine upstream interface"
msgstr ""
-#: modules/luci-base/luasrc/view/error404.htm:11
+#: modules/luci-base/ucode/template/error404.ut:12
msgid "Unable to dispatch"
msgstr ""
msgid "Unable to verify PIN"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
msgid "Unavailable Seconds (UAS)"
msgstr ""
"will be restarted to apply the updated configuration."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
msgid "Upstream resolvers will be queried in the order of the resolv file."
msgstr ""
"<abbr title=\"Domain Name System\">DNS</abbr> 서버들이 resolvfile의 순서에 따"
msgid "Uptime"
msgstr "가동 시간"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
msgid "Use <code>/etc/ethers</code>"
msgstr "<code>/etc/ethers</code> 사용"
msgid "Use system certificates for inner-tunnel"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:599
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:670
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC address</"
"em> identifies the host, the <em>IPv4 address</em> specifies the fixed "
msgid "User key (PEM encoded)"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:23
+#: modules/luci-base/ucode/template/sysauth.ut:23
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:112
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:101
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:56
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:18
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:13
msgid "Username"
msgstr "사용자이름"
msgid "VXLANv6 (RFC7348)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
msgid ""
"Validate DNS replies and cache DNSSEC data, requires upstream to support "
"DNSSEC."
msgid "Vendor Class to send when requesting DHCP"
msgstr "DHCP 요청시 전송할 Vendor Class"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:408
msgid "Verify unsigned domain responses really come from unsigned domains."
msgstr ""
msgid "Weak"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+msgid "Weight"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1029
msgid ""
"When delegating prefixes to multiple downstreams, interfaces with a higher "
msgid "Wireless network is enabled"
msgstr "무선 네트워크가 켜져 있음"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:278
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:280
msgid "Write received DNS queries to syslog."
msgstr "받은 DNS 요청 내용을 systlog 에 기록합니다"
"와 같은 중요 init script 를 비활성화 할 경우, 장치에 접속을 못하실 수 있습니"
"다!</strong>"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:90
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:97
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
+msgid "You may add multiple records for the same Target."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:596
+msgid "You may add multiple records for the same domain."
+msgstr ""
+
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:78
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:92
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:73
msgid ""
"You must enable JavaScript in your browser or LuCI will not work properly."
msgid "ZRam Size"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:558
+msgid "_proto: _tcp, _udp, _sctp, _quic, … ."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:557
+msgid ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Note: while _http is "
+"possible, no browsers support SRV records.)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:454
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:152
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:163
msgid "any"
msgid "e.g: dump"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:726
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:756
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:797
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:827
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:101
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:148
msgid "expired"
msgid "unknown"
msgstr "알 수 없는"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:456
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:724
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:754
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:461
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:795
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:825
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:99
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:146
msgid "unlimited"
msgid "« Back"
msgstr "« 이전"
+#~ msgid "Back to configuration"
+#~ msgstr "설정으로 돌아가기"
+
+#~ msgid "Close list..."
+#~ msgstr "목록 닫기..."
+
+#~ msgid "Sorry, the server encountered an unexpected error."
+#~ msgstr "죄송합니다, 서버가 예상치 못한 오류에 걸렸습니다."
+
#~ msgid "Root directory for files served via TFTP."
#~ msgstr "TFTP 를 통해 제공되는 파일들의 root 디렉토리"
#~ msgstr ""
#~ "이 페이지에서는 네트워크 인터페이스를 설정할 수 있습니다. \"Bridge 인터페"
#~ "이스\" 항목을 클릭하고, 공백으로 구분된 네트워크 인터페이스들의 이름을 적"
-#~ "는 방식으로 여러 인터페이스들을 bridge 할 수 있습니다. 또한 <abbr "
-#~ "title=\"Virtual Local Area Network\">VLAN</abbr> 표기법인 <samp>INTERFACE."
+#~ "는 방식으로 여러 인터페이스들을 bridge 할 수 있습니다. 또한 <abbr title="
+#~ "\"Virtual Local Area Network\">VLAN</abbr> 표기법인 <samp>INTERFACE."
#~ "VLANNR</samp> (<abbr title=\"for example\">예</abbr>: <samp>eth0.1</"
#~ "samp>) 를 사용하실 수 있습니다."
msgid "<abbr title=\"Router Advertisement\">RA</abbr>-Service"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:294
+msgid ""
+"<code>/#/</code> matches any domain. <code>/example.com/</code> returns "
+"NXDOMAIN."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+msgid ""
+"<code>/example.com/#</code> returns NULL addresses (<code>0.0.0.0</code> and "
+"<code>::</code>) for example.com and its subdomains."
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:87
msgctxt "nft relational \">\" operator expression"
msgid "<var>%s</var> greater than <strong>%s</strong>"
msgid "ATM device number"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
msgid "ATU-C System Vendor ID"
msgstr ""
msgid "Absent Interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:320
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
msgid "Accept DNS queries only from hosts whose address is on a local subnet."
msgstr ""
msgid "Add key"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:410
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:415
msgid "Add local domain suffix to names served from hosts files."
msgstr ""
msgid "Add to Whitelist"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:367
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
msgid "Additional hosts files"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:417
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
msgid "Additional servers file"
msgstr ""
msgid "Address to access local relay bridge"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:289
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:291
msgid "Addresses"
msgstr ""
msgid "Aggregate Originator Messages"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
msgid "Aggregate Transmit Power (ACTATP)"
msgstr ""
msgid "Alias of \"%s\""
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
msgid "All servers"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
msgid ""
"Allocate IP addresses sequentially, starting from the lowest available "
"address."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
msgid "Allocate IPs sequentially"
msgstr ""
msgid "Allow listed only"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
msgid "Allow localhost"
msgstr ""
msgid "Always on (kernel: default-on)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:538
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
msgid "Always send DHCP Options. Sometimes needed, with e.g. PXELinux."
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1484
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
msgid "Annex"
msgstr ""
msgid "Any zone"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:532
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
msgid "Apply DHCP Options to this net. (Empty = all clients)."
msgstr ""
msgid "Authentication Type"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:265
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:267
msgid "Authoritative"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:17
+#: modules/luci-base/ucode/template/sysauth.ut:17
#: themes/luci-theme-bootstrap/htdocs/luci-static/resources/view/bootstrap/sysauth.js:11
msgid "Authorization Required"
msgstr ""
msgid "Avoid Bridge Loops"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
msgid ""
"Avoid uselessly triggering dial-on-demand links (filters SRV/SOA records and "
"names with underscores)."
msgid "Back to Overview"
msgstr ""
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:48
-msgid "Back to configuration"
-msgstr ""
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:826
msgid "Back to peer configuration"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:351
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:12
msgid "Backup file list"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:352
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:46
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
msgid "Bind NTP server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:326
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:331
msgid "Bind dynamically to interfaces rather than wildcard address."
msgstr ""
msgid "Bind interface"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:595
+msgid ""
+"Bind service records to a domain name: specify the location of services."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:556
+msgid ""
+"Bind service records to a domain name: specify the location of services. See "
+"<a href=\"%s\">RFC2782</a>."
+msgstr ""
+
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gre.js:59
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gretap.js:64
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/grev6.js:64
msgid "CLAT configuration failed"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
+msgid "CNAME or fqdn"
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/processes.js:72
msgid "CPU usage (%)"
msgstr ""
"persist connection"
msgstr ""
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:49
-msgid "Close list..."
-msgstr ""
-
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:44
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:63
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2184
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:391
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:352
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:355
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:72
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:66
msgid "Collecting data..."
msgstr "डेटा संकलित करीत आहे ..."
msgid "Compute outgoing checksum (optional)."
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Config File"
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4375
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
msgid "Configuration"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:764
msgid ""
-"Configures the operation mode of the <abbr title=\"Router "
-"Advertisement\">RA</abbr> service on this interface."
+"Configures the operation mode of the <abbr title=\"Router Advertisement"
+"\">RA</abbr> service on this interface."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:879
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/leds.js:59
msgid ""
-"Customizes the behaviour of the device <abbr title=\"Light Emitting "
-"Diode\">LED</abbr>s if possible."
+"Customizes the behaviour of the device <abbr title=\"Light Emitting Diode"
+"\">LED</abbr>s if possible."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:673
msgid "DAE-Secret"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:530
msgid "DHCP Options"
msgstr ""
msgid "DNS"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:282
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:284
msgid "DNS forwardings"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:445
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:450
msgid "DNS query port"
msgstr ""
msgid "DNS search domains"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:443
msgid "DNS server port"
msgstr ""
msgid "DNS-Label / FQDN"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
msgid "DNSSEC"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:407
msgid "DNSSEC check unsigned"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1481
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:44
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:45
msgid "DSL"
msgstr "DSL"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:14
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:15
msgid "DSL Status"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:59
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:700
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:771
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:136
msgid "DUID"
msgstr "DUID"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
msgid "Data Rate"
msgstr ""
msgid "Disassociate On Low Acknowledgement"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:302
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
msgid ""
"Discard upstream responses containing <a href=\"%s\">RFC1918</a> addresses."
msgstr ""
msgid "Distributed ARP Table"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:548
msgid ""
"Dnsmasq instance to which this boot section is bound. If unspecified, the "
"section is valid for all dnsmasq instances."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:246
msgid ""
-"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</"
-"abbr> forwarder."
+"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</abbr> "
+"forwarder."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:419
msgid "Do not cache negative replies, e.g. for non-existent domains."
msgstr ""
msgid "Do not create host route to peer (optional)."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:262
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:264
msgid "Do not forward DNS queries without dots or domain parts."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
msgid "Do not forward reverse lookups for local networks."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:339
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
msgid "Do not listen on the specified interfaces."
msgstr ""
msgid "Do you want to replace the current keys?"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:593
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:606
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:664
msgid "Domain"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:261
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:263
msgid "Domain required"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:316
msgid "Domain whitelist"
msgstr ""
msgid "Enable Single DES"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:480
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
msgid "Enable TFTP server"
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/uhttpd.js:14
msgid ""
-"Enable automatic redirection of <abbr title=\"Hypertext Transfer "
-"Protocol\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol "
-"Secure\">HTTPS</abbr> port."
+"Enable automatic redirection of <abbr title=\"Hypertext Transfer Protocol"
+"\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol Secure"
+"\">HTTPS</abbr> port."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:977
msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:481
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
msgid "Enable the built-in single-instance TFTP server."
msgstr ""
msgid "Error getting PublicKey"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
msgid "Errored seconds (ES)"
msgstr ""
msgid "Every second (fast, 1)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:343
msgid "Exclude interfaces"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
msgid ""
"Exempt <code>127.0.0.0/8</code> and <code>::1</code> from rebinding checks, "
"e.g. for RBL services."
msgid "Existing device"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:409
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
msgid "Expand hosts"
msgstr ""
msgid "File"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
msgid ""
"File listing upstream resolvers, optionally domain-specific, e.g. "
"<code>server=1.2.3.4</code>, <code>server=/domain/1.2.3.4</code>."
msgid "File not accessible"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:354
msgid "File to store DHCP lease information."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:362
msgid "File with upstream resolvers."
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/ui.js:2846
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:507
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:512
msgid "Filename"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:493
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:498
msgid "Filename of the boot image advertised to clients."
msgstr ""
msgid "Filesystem"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
msgid "Filter private"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
msgid "Filter useless"
msgstr ""
msgid "Firmware Version"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:446
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:451
msgid "Fixed source port for outbound DNS queries."
msgstr ""
msgid "Flashing…"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:686
msgid "Force"
msgstr ""
msgid "Force use of NAT-T"
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:8
+#: modules/luci-base/ucode/template/csrftoken.ut:8
msgid "Form token mismatch"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:919
msgid ""
-"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr "
-"title=\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr "
-"title=\"Neighbour Advertisement, Type 136\">NA</abbr> messages between the "
-"designated master interface and downstream interfaces."
+"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr title="
+"\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr title=\"Neighbour "
+"Advertisement, Type 136\">NA</abbr> messages between the designated master "
+"interface and downstream interfaces."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:770
"downstream interfaces."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
msgid "Forward Error Correction Seconds (FECS)"
msgstr ""
msgid "Global network options"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:82
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:74
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:70
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:84
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:67
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:92
msgid "Go to firmware upgrade..."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:72
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:64
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:60
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:57
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:82
msgid "Go to password configuration..."
msgstr ""
msgid "Hang Up"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
msgid "Header Error Code Errors (HEC)"
msgstr ""
msgid "Host expiry timeout"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
msgid "Host requests this filename from the boot server."
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:38
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:607
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:678
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:54
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:87
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:135
msgid "Hostnames"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:551
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:622
msgid ""
"Hostnames are used to bind a domain name to an IP address. This setting is "
"redundant for hostnames already configured with static leases, but it can be "
msgid "IP Protocol"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:260
msgid "IP Sets"
msgstr ""
msgid "IP Type"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:563
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:634
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:178
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:204
msgid "IP address"
msgid "IP protocol"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:660
msgid "IP set"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:300
msgid "IP sets"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:437
msgid "IPs to override with NXDOMAIN"
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/protocol/static.js:178
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:736
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:88
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:164
msgid "IPv4 address"
msgid "IPv6 suffix"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:706
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:777
msgid "IPv6 suffix (hex)"
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:340
msgid ""
"If your physical memory is insufficient unused data can be temporarily "
-"swapped to a swap-device resulting in a higher amount of usable <abbr "
-"title=\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a "
-"very slow process as the swap-device cannot be accessed with the high "
-"datarates of the <abbr title=\"Random Access Memory\">RAM</abbr>."
+"swapped to a swap-device resulting in a higher amount of usable <abbr title="
+"\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a very "
+"slow process as the swap-device cannot be accessed with the high datarates "
+"of the <abbr title=\"Random Access Memory\">RAM</abbr>."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:363
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:368
msgid "Ignore <code>/etc/hosts</code>"
msgstr ""
msgid "Ignore interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:352
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
msgid "Ignore resolv file"
msgstr ""
"order to avoid broadcast loops that can bring the entire LAN to a standstill."
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:13
+#: modules/luci-base/ucode/template/csrftoken.ut:13
msgid ""
"In order to prevent unauthorized access to the system, your request has been "
"blocked. Click \"Continue »\" below to return to the previous page."
msgid "Install protocol extensions..."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:547
msgid "Instance"
msgstr ""
msgid "Internal"
msgstr ""
-#: modules/luci-base/luasrc/view/error500.htm:8
-msgid "Internal Server Error"
-msgstr ""
-
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:285
msgid "Interval For Sending Learning Packets"
msgstr ""
msgid "Invalid hexadecimal value"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:37
+#: modules/luci-base/ucode/template/sysauth.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:32
msgid "Invalid username and/or password! Please try again."
msgstr ""
"flash memory, please verify the image file!"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:89
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:96
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:77
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:91
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:72
msgid "JavaScript required!"
msgstr ""
msgid "Language and Style"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:560
+msgid ""
+"Larger weights (of the same prio) are given a proportionately higher "
+"probability of being selected."
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:575
msgid "Last member interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
msgid "Latency"
msgstr ""
msgid "Learn routes"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:348
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:353
msgid "Lease file"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:697
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:768
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:679
msgid "Lease time"
msgstr ""
msgid "Limit"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
msgid "Line Attenuation (LATN)"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
msgid "Line Mode"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:17
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
msgid "Line State"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
msgid "Line Uptime"
msgstr ""
msgid "Link layer header bits %d-%d"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
msgid "List of IP addresses to convert into NXDOMAIN responses."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:296
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:581
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:652
msgid "List of IP sets to populate with the specified domain IPs."
msgstr ""
msgid "List of SSH key files for auth"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:317
msgid "List of domains to allow RFC1918 responses for."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:290
-msgid "List of domains to force to an IP address."
-msgstr ""
-
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:283
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:285
msgid "List of upstream resolvers to forward queries to."
msgstr ""
msgid "Listen Port"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:332
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:337
msgid "Listen interfaces"
msgstr ""
msgid "Listen only on the given interface or, if unspecified, on all"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:333
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
msgid ""
"Listen only on the specified interfaces, and loopback if not excluded "
"explicitly."
msgid "ListenPort setting is invalid"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:439
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:444
msgid "Listening port for inbound DNS queries."
msgstr ""
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:1942
-#: modules/luci-base/luasrc/view/view.htm:4
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:45
+#: modules/luci-base/ucode/template/view.ut:4
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:40
msgid "Loading view…"
msgstr ""
msgid "Local ULA"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:273
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:275
msgid "Local domain"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:274
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:276
msgid "Local domain suffix appended to DHCP names and hosts file entries."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:269
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:271
msgid "Local server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:319
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:324
msgid "Local service only"
msgstr ""
msgid "Local wireguard key"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
msgid "Localise queries"
msgstr ""
msgid "Log output level"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:277
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:279
msgid "Log queries"
msgstr ""
msgid "Logical network to which the tunnel will be added (bridged) (optional)."
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:38
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:41
+#: modules/luci-base/ucode/template/sysauth.ut:38
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:36
msgid "Login"
msgstr ""
msgid "Loose filtering"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
msgid "Loss of Signal Seconds (LOSS)"
msgstr ""
msgid "Lowest leased address as offset from the network address."
msgstr ""
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/footer.ut:12
+msgid "Lua compatibility mode active"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:48
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:83
msgid "MAC"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:591
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:40
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:619
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1164
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2177
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:56
msgid "MTU"
msgstr "MTU"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:259
+msgid "MX"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:303
msgid ""
"Make sure to clone the root filesystem using something like the commands "
msgid "Max <abbr title=\"Router Advertisement\">RA</abbr> interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
msgid "Max. Attainable Data Rate (ATTNDR)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:457
msgid "Max. DHCP leases"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:459
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:464
msgid "Max. EDNS0 packet size"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:466
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:471
msgid "Max. concurrent queries"
msgstr ""
msgid "Maximum allowed Listen Interval"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:453
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:458
msgid "Maximum allowed number of active DHCP leases."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:467
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:472
msgid "Maximum allowed number of concurrent DNS queries."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:460
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:465
msgid "Maximum allowed size of EDNS0 UDP packets."
msgstr ""
msgid "Maximum transmit power"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:394
msgid "May prevent VoIP or other services from working."
msgstr ""
msgid "Name of the tunnel device"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:46
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:39
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:50
msgid "Navigation"
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:10
+msgid "Nebula Network"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:653
msgid "Neighbour cache validity"
msgstr ""
msgid "Network address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:492
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:497
msgid "Network boot image"
msgstr ""
msgid "Network interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:536
msgid "Network-ID"
msgstr ""
msgid "Never"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:270
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:272
msgid ""
"Never forward matching domains and subdomains, resolve from DHCP or hosts "
"files only."
msgid "No RX signal"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:80
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:87
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:68
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:82
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:65
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:90
msgid ""
"No changes to settings will be stored and are lost after rebooting. This "
msgid "No entries in this directory"
msgstr ""
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:82
-msgid "No files found"
-msgstr ""
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:833
msgid ""
"No fixed interface listening port defined, peers might not be able to "
msgid "No more slaves available, can not save interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:413
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
msgid "No negative cache"
msgstr ""
msgid "No nftables ruleset loaded."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:69
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:61
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:57
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:54
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:79
msgid "No password set!"
msgstr ""
msgid "Noise"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
msgid "Noise Margin (SNR)"
msgstr ""
msgid "Noise:"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
msgid "Non Pre-emptive CRC errors (CRC_P)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:330
msgid "Non-wildcard"
msgstr ""
msgid "Normal"
msgstr ""
-#: modules/luci-base/luasrc/view/error404.htm:8
+#: modules/luci-base/ucode/template/error404.ut:9
msgid "Not Found"
msgstr ""
msgid "Number of IGMP membership reports"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:474
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:479
msgid "Number of cached DNS entries, 10000 is maximum, 0 is no caching."
msgstr ""
msgid "On-link"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:672
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:743
msgid "One of hostname or MAC address must be specified!"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:472
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:19
msgid "Open list..."
msgstr ""
msgid "Options"
msgstr "पर्याय"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:526
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
msgid ""
"Options for the Network-ID. (Note: needs also Network-ID.) E.g. "
-"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</"
-"code>\" for default route. <code>0.0.0.0</code> means \"the address of the "
-"system running dnsmasq\"."
+"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</code>"
+"\" for default route. <code>0.0.0.0</code> means \"the address of the system "
+"running dnsmasq\"."
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:125
msgid "Options:"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
+msgid "Ordinal: lower comes first."
+msgstr ""
+
#: protocols/luci-proto-batman-adv/htdocs/luci-static/resources/protocol/batadv.js:55
msgid "Originator Interval"
msgstr ""
msgid "Pass-through (Mirror physical device to single MAC VLAN)"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:29
+#: modules/luci-base/ucode/template/sysauth.ut:29
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1690
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:51
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:114
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:103
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:24
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:19
msgid "Password"
msgstr "संकेतशब्द"
msgid "Pkts."
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:19
+#: modules/luci-base/ucode/template/sysauth.ut:19
msgid "Please enter your username and password."
msgstr ""
msgid "Policy: <strong>%h</strong> (%h)"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:579
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:21
msgid "Port"
msgstr "पोर्ट"
msgid "Potential negation of: %s"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:38
msgid "Power Management Mode"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
msgid "Pre-emptive CRC errors (CRCP_P)"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:129
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:197
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:223
msgid "Quality"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
msgid "Query all available upstream resolvers."
msgstr ""
msgid "Raw hex-encoded bytes. Leave empty unless your ISP require this"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:345
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:350
msgid "Read <code>/etc/ethers</code> to configure the DHCP server."
msgstr ""
msgid "Reassociation Deadline"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
msgid "Rebind protection"
msgstr ""
msgstr ""
#: modules/luci-compat/luasrc/model/network/proto_relay.lua:153
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:611
#: protocols/luci-proto-relay/htdocs/luci-static/resources/protocol/relay.js:39
msgid "Relay"
msgstr ""
msgid "Required. Base64-encoded private key for this interface."
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Required. Path to the .yml config file for this interface."
+msgstr ""
+
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:587
msgid "Required. Public key of the WireGuard peer."
msgstr ""
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2197
-#: modules/luci-base/luasrc/view/sysauth.htm:39
+#: modules/luci-base/ucode/template/sysauth.ut:39
#: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
#: modules/luci-compat/luasrc/view/cbi/footer.htm:30
#: modules/luci-compat/luasrc/view/cbi/simpleform.htm:66
msgid "Resolv and Hosts Files"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:356
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:361
msgid "Resolv file"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:292
+msgid "Resolve specified FQDNs to an IP."
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/rpc.js:405
msgid "Resource not found"
msgstr ""
msgid "Restore backup"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
msgid ""
"Return answers to DNS queries matching the subnet from which the query was "
"received if multiple IPs are available."
msgid "Robustness"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:491
msgid ""
"Root directory for files served via TFTP. <em>Enable TFTP server</em> and "
"<em>TFTP server root</em> turn on the TFTP server and serve files from "
msgid "SNR"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "SRV"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:10
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:38
msgid "SSH Access"
msgid "Server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:524
msgid "Server address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:518
msgid "Server name"
msgstr ""
msgid "Setup routes for proxied IPv6 neighbours."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
msgid "Severely Errored Seconds (SES)"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:470
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:18
msgid "Show current backup file list"
msgstr ""
msgid "Signal / Noise"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
msgid "Signal Attenuation (SATN)"
msgstr ""
msgid "Size"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:473
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:478
msgid "Size of DNS query cache"
msgstr ""
msgid "Skip from backup files that are equal to those in /rom"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:42
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:35
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:46
msgid "Skip to content"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:41
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:34
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:45
msgid "Skip to navigation"
msgstr ""
msgid "Some fields are invalid, cannot save values!"
msgstr ""
-#: modules/luci-base/luasrc/view/error404.htm:9
+#: modules/luci-base/ucode/template/error404.ut:10
msgid "Sorry, the object you requested was not found."
msgstr ""
-#: modules/luci-base/luasrc/view/error500.htm:9
-msgid "Sorry, the server encountered an unexpected error."
-msgstr ""
-
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:442
msgid ""
"Sorry, there is no sysupgrade support present; a new firmware image must be "
msgid "Source port"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:505
msgid ""
"Special <abbr title=\"Preboot eXecution Environment\">PXE</abbr> boot "
"options for Dnsmasq."
msgid "Static address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:598
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:669
msgid ""
"Static leases are used to assign fixed IP addresses and symbolic hostnames "
"to DHCP clients. They are also required for non-dynamic interface "
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:16
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:541
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:929
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:9
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:9
msgid "Status"
msgstr "स्थिती"
msgid "Strict filtering"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
msgid "Strict order"
msgstr ""
msgid "Submit"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
msgid "Suppress logging"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:373
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
msgid "Suppress logging of the routine operation for the DHCP protocol."
msgstr ""
msgid "Sync with browser"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:293
+msgid "Syntax: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "Syntax: <code>_service._proto.example.com</code>."
+msgstr ""
+
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:26
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:17
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:113
msgid "System log buffer size"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:79
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:86
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:71
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:67
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:81
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:64
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:89
msgid "System running in recovery (initramfs) mode."
msgstr ""
msgid "TCP:"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:490
msgid "TFTP server root"
msgstr ""
msgid "Table"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:56
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:66
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:187
"username instead of the user ID!"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:681
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:752
msgid "The IP address %h is already used by another static lease"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:761
msgid "The IP address is outside of any DHCP pool address range"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:520
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
msgid "The IP address of the boot server"
msgstr ""
"to be received and retransmitted which costs airtime)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:514
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
msgid "The hostname of the boot server"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/switch.js:139
msgid ""
-"The network ports on this device can be combined to several <abbr "
-"title=\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
+"The network ports on this device can be combined to several <abbr title="
+"\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
"communicate directly with each other. <abbr title=\"Virtual Local Area "
"Network\">VLAN</abbr>s are often used to separate different network "
"segments. Often there is by default one Uplink port for a connection to the "
msgid "The selected %s mode is incompatible with %s encryption"
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:11
+#: modules/luci-base/ucode/template/csrftoken.ut:11
msgid "The submitted security token is invalid or already expired!"
msgstr ""
"nftables rules is discouraged and may lead to incomplete traffic filtering."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:746
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:778
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:817
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:849
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:130
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:179
msgid "There are no active leases"
msgid "There are no changes to apply"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:70
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:58
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:55
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:80
msgid ""
"There is no password set on this router. Please configure a root password to "
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:16
msgid ""
"This is a list of shell glob patterns for matching files and directories to "
"include during sysupgrade. Modified files in /etc/config/ and certain other "
"ends with <code>...:2/64</code>"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:266
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:268
msgid "This is the only DHCP server in the local network."
msgstr ""
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:440
msgid ""
"To fully configure the local WireGuard interface from an existing (e.g. "
-"provider supplied) configuration file, use the <strong><a class=\"full-"
-"import\" href=\"#\">configuration import</a></strong> instead."
+"provider supplied) configuration file, use the <strong><a class=\"full-import"
+"\" href=\"#\">configuration import</a></strong> instead."
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2674
msgid "Unable to determine upstream interface"
msgstr ""
-#: modules/luci-base/luasrc/view/error404.htm:11
+#: modules/luci-base/ucode/template/error404.ut:12
msgid "Unable to dispatch"
msgstr ""
msgid "Unable to verify PIN"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
msgid "Unavailable Seconds (UAS)"
msgstr ""
"will be restarted to apply the updated configuration."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
msgid "Upstream resolvers will be queried in the order of the resolv file."
msgstr ""
msgid "Uptime"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
msgid "Use <code>/etc/ethers</code>"
msgstr ""
msgid "Use system certificates for inner-tunnel"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:599
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:670
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC address</"
"em> identifies the host, the <em>IPv4 address</em> specifies the fixed "
msgid "User key (PEM encoded)"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:23
+#: modules/luci-base/ucode/template/sysauth.ut:23
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:112
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:101
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:56
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:18
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:13
msgid "Username"
msgstr "वापरकर्तानाव"
msgid "VXLANv6 (RFC7348)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
msgid ""
"Validate DNS replies and cache DNSSEC data, requires upstream to support "
"DNSSEC."
msgid "Vendor Class to send when requesting DHCP"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:408
msgid "Verify unsigned domain responses really come from unsigned domains."
msgstr ""
msgid "Weak"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+msgid "Weight"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1029
msgid ""
"When delegating prefixes to multiple downstreams, interfaces with a higher "
msgid "Wireless network is enabled"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:278
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:280
msgid "Write received DNS queries to syslog."
msgstr ""
"scripts like \"network\", your device might become inaccessible!</strong>"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:90
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:97
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
+msgid "You may add multiple records for the same Target."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:596
+msgid "You may add multiple records for the same domain."
+msgstr ""
+
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:78
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:92
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:73
msgid ""
"You must enable JavaScript in your browser or LuCI will not work properly."
msgid "ZRam Size"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:558
+msgid "_proto: _tcp, _udp, _sctp, _quic, … ."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:557
+msgid ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Note: while _http is "
+"possible, no browsers support SRV records.)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:454
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:152
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:163
msgid "any"
msgid "e.g: dump"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:726
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:756
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:797
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:827
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:101
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:148
msgid "expired"
msgid "unknown"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:456
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:724
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:754
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:461
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:795
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:825
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:99
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:146
msgid "unlimited"
msgid "<abbr title=\"Router Advertisement\">RA</abbr>-Service"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:294
+msgid ""
+"<code>/#/</code> matches any domain. <code>/example.com/</code> returns "
+"NXDOMAIN."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+msgid ""
+"<code>/example.com/#</code> returns NULL addresses (<code>0.0.0.0</code> and "
+"<code>::</code>) for example.com and its subdomains."
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:87
msgctxt "nft relational \">\" operator expression"
msgid "<var>%s</var> greater than <strong>%s</strong>"
msgid "ATM device number"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
msgid "ATU-C System Vendor ID"
msgstr ""
msgid "Absent Interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:320
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
msgid "Accept DNS queries only from hosts whose address is on a local subnet."
msgstr ""
msgid "Add key"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:410
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:415
msgid "Add local domain suffix to names served from hosts files."
msgstr ""
msgid "Add to Whitelist"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:367
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
msgid "Additional hosts files"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:417
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
msgid "Additional servers file"
msgstr ""
msgid "Address to access local relay bridge"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:289
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:291
msgid "Addresses"
msgstr ""
msgid "Aggregate Originator Messages"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
msgid "Aggregate Transmit Power (ACTATP)"
msgstr ""
msgid "Alias of \"%s\""
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
msgid "All servers"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
msgid ""
"Allocate IP addresses sequentially, starting from the lowest available "
"address."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
msgid "Allocate IPs sequentially"
msgstr ""
msgid "Allow listed only"
msgstr "Izinkan senarai saja"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
msgid "Allow localhost"
msgstr ""
msgid "Always on (kernel: default-on)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:538
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
msgid "Always send DHCP Options. Sometimes needed, with e.g. PXELinux."
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1484
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
msgid "Annex"
msgstr ""
msgid "Any zone"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:532
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
msgid "Apply DHCP Options to this net. (Empty = all clients)."
msgstr ""
msgid "Authentication Type"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:265
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:267
msgid "Authoritative"
msgstr "Pengesahan"
-#: modules/luci-base/luasrc/view/sysauth.htm:17
+#: modules/luci-base/ucode/template/sysauth.ut:17
#: themes/luci-theme-bootstrap/htdocs/luci-static/resources/view/bootstrap/sysauth.js:11
msgid "Authorization Required"
msgstr "Otorisasi Diperlukan"
msgid "Avoid Bridge Loops"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
msgid ""
"Avoid uselessly triggering dial-on-demand links (filters SRV/SOA records and "
"names with underscores)."
msgid "Back to Overview"
msgstr ""
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:48
-msgid "Back to configuration"
-msgstr ""
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:826
msgid "Back to peer configuration"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:351
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:12
msgid "Backup file list"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:352
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:46
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
msgid "Bind NTP server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:326
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:331
msgid "Bind dynamically to interfaces rather than wildcard address."
msgstr ""
msgid "Bind interface"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:595
+msgid ""
+"Bind service records to a domain name: specify the location of services."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:556
+msgid ""
+"Bind service records to a domain name: specify the location of services. See "
+"<a href=\"%s\">RFC2782</a>."
+msgstr ""
+
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gre.js:59
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gretap.js:64
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/grev6.js:64
msgid "CLAT configuration failed"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
+msgid "CNAME or fqdn"
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/processes.js:72
msgid "CPU usage (%)"
msgstr "Penggunaan CPU (%)"
"persist connection"
msgstr ""
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:49
-msgid "Close list..."
-msgstr ""
-
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:44
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:63
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2184
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:391
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:352
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:355
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:72
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:66
msgid "Collecting data..."
msgstr "Mengumpul data..."
msgid "Compute outgoing checksum (optional)."
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Config File"
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4375
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
msgid "Configuration"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:764
msgid ""
-"Configures the operation mode of the <abbr title=\"Router "
-"Advertisement\">RA</abbr> service on this interface."
+"Configures the operation mode of the <abbr title=\"Router Advertisement"
+"\">RA</abbr> service on this interface."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:879
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/leds.js:59
msgid ""
-"Customizes the behaviour of the device <abbr title=\"Light Emitting "
-"Diode\">LED</abbr>s if possible."
+"Customizes the behaviour of the device <abbr title=\"Light Emitting Diode"
+"\">LED</abbr>s if possible."
msgstr "Mengkustomisasi perilaku peranti LED jika mungkin."
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:673
msgid "DAE-Secret"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:530
msgid "DHCP Options"
msgstr ""
msgid "DNS"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:282
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:284
msgid "DNS forwardings"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:445
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:450
msgid "DNS query port"
msgstr ""
msgid "DNS search domains"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:443
msgid "DNS server port"
msgstr ""
msgid "DNS-Label / FQDN"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
msgid "DNSSEC"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:407
msgid "DNSSEC check unsigned"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1481
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:44
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:45
msgid "DSL"
msgstr "DSL"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:14
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:15
msgid "DSL Status"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:59
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:700
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:771
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:136
msgid "DUID"
msgstr "DUID"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
msgid "Data Rate"
msgstr ""
msgid "Disassociate On Low Acknowledgement"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:302
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
msgid ""
"Discard upstream responses containing <a href=\"%s\">RFC1918</a> addresses."
msgstr ""
msgid "Distributed ARP Table"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:548
msgid ""
"Dnsmasq instance to which this boot section is bound. If unspecified, the "
"section is valid for all dnsmasq instances."
# Nur für NAT-Firewalls?
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:246
msgid ""
-"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</"
-"abbr> forwarder."
+"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</abbr> "
+"forwarder."
msgstr ""
-"Dnsmasq adalah gabungan <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr>-Pelayan dan<abbr title=\"Domain Name System\">DNS</"
-"abbr>-Forwarder untuk <abbr title=\"Network Address Translation\">NAT</abbr> "
+"Dnsmasq adalah gabungan <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr>-Pelayan dan<abbr title=\"Domain Name System\">DNS</abbr>-"
+"Forwarder untuk <abbr title=\"Network Address Translation\">NAT</abbr> "
"firewall"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:419
msgid "Do not cache negative replies, e.g. for non-existent domains."
msgstr ""
msgid "Do not create host route to peer (optional)."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:262
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:264
msgid "Do not forward DNS queries without dots or domain parts."
msgstr "Jangan hantar permintaan DNS tanpa nama DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
msgid "Do not forward reverse lookups for local networks."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:339
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
msgid "Do not listen on the specified interfaces."
msgstr ""
msgid "Do you want to replace the current keys?"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:593
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:606
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:664
msgid "Domain"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:261
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:263
msgid "Domain required"
msgstr "Domain diperlukan"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:316
msgid "Domain whitelist"
msgstr ""
msgid "Enable Single DES"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:480
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
msgid "Enable TFTP server"
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/uhttpd.js:14
msgid ""
-"Enable automatic redirection of <abbr title=\"Hypertext Transfer "
-"Protocol\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol "
-"Secure\">HTTPS</abbr> port."
+"Enable automatic redirection of <abbr title=\"Hypertext Transfer Protocol"
+"\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol Secure"
+"\">HTTPS</abbr> port."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:977
msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:481
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
msgid "Enable the built-in single-instance TFTP server."
msgstr ""
msgid "Error getting PublicKey"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
msgid "Errored seconds (ES)"
msgstr ""
msgid "Every second (fast, 1)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:343
msgid "Exclude interfaces"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
msgid ""
"Exempt <code>127.0.0.0/8</code> and <code>::1</code> from rebinding checks, "
"e.g. for RBL services."
msgid "Existing device"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:409
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
msgid "Expand hosts"
msgstr ""
msgid "File"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
msgid ""
"File listing upstream resolvers, optionally domain-specific, e.g. "
"<code>server=1.2.3.4</code>, <code>server=/domain/1.2.3.4</code>."
msgid "File not accessible"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:354
msgid "File to store DHCP lease information."
msgstr "fail dimana DHCP-sewa akan disimpan"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:362
msgid "File with upstream resolvers."
msgstr "Fail DNS tempatan"
#: modules/luci-base/htdocs/luci-static/resources/ui.js:2846
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:507
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:512
msgid "Filename"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:493
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:498
msgid "Filename of the boot image advertised to clients."
msgstr ""
msgid "Filesystem"
msgstr "Fail Sistem"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
msgid "Filter private"
msgstr "Penapis swasta"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
msgid "Filter useless"
msgstr "Penapis tak berguna"
msgid "Firmware Version"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:446
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:451
msgid "Fixed source port for outbound DNS queries."
msgstr ""
msgid "Flashing…"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:686
msgid "Force"
msgstr "Paksa"
msgid "Force use of NAT-T"
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:8
+#: modules/luci-base/ucode/template/csrftoken.ut:8
msgid "Form token mismatch"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:919
msgid ""
-"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr "
-"title=\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr "
-"title=\"Neighbour Advertisement, Type 136\">NA</abbr> messages between the "
-"designated master interface and downstream interfaces."
+"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr title="
+"\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr title=\"Neighbour "
+"Advertisement, Type 136\">NA</abbr> messages between the designated master "
+"interface and downstream interfaces."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:770
"downstream interfaces."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
msgid "Forward Error Correction Seconds (FECS)"
msgstr ""
msgid "Global network options"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:82
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:74
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:70
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:84
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:67
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:92
msgid "Go to firmware upgrade..."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:72
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:64
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:60
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:57
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:82
msgid "Go to password configuration..."
msgstr ""
msgid "Hang Up"
msgstr "Menutup"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
msgid "Header Error Code Errors (HEC)"
msgstr ""
msgid "Host expiry timeout"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
msgid "Host requests this filename from the boot server."
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:38
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:607
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:678
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:54
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:87
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:135
msgid "Hostnames"
msgstr "Nama Host"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:551
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:622
msgid ""
"Hostnames are used to bind a domain name to an IP address. This setting is "
"redundant for hostnames already configured with static leases, but it can be "
msgid "IP Protocol"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:260
msgid "IP Sets"
msgstr ""
msgid "IP Type"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:563
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:634
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:178
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:204
msgid "IP address"
msgid "IP protocol"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:660
msgid "IP set"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:300
msgid "IP sets"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:437
msgid "IPs to override with NXDOMAIN"
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/protocol/static.js:178
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:736
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:88
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:164
msgid "IPv4 address"
msgid "IPv6 suffix"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:706
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:777
msgid "IPv6 suffix (hex)"
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:340
msgid ""
"If your physical memory is insufficient unused data can be temporarily "
-"swapped to a swap-device resulting in a higher amount of usable <abbr "
-"title=\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a "
-"very slow process as the swap-device cannot be accessed with the high "
-"datarates of the <abbr title=\"Random Access Memory\">RAM</abbr>."
+"swapped to a swap-device resulting in a higher amount of usable <abbr title="
+"\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a very "
+"slow process as the swap-device cannot be accessed with the high datarates "
+"of the <abbr title=\"Random Access Memory\">RAM</abbr>."
msgstr ""
"Jika memori fizikal anda tidak cukup data yang boleh digunakan sementara "
"menukar ke peranti-penukar yang dihasilkan dalam jumlah RAM berguna yang "
"sangat lambat kerana peranti-penukar tidak boleh diakses dengan datarates "
"yang tinggi pada RAM."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:363
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:368
msgid "Ignore <code>/etc/hosts</code>"
msgstr "Mengabaikan /etc/hosts"
msgid "Ignore interface"
msgstr "Abaikan antara muka"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:352
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
msgid "Ignore resolv file"
msgstr "Abaikan fail yang selesai"
"order to avoid broadcast loops that can bring the entire LAN to a standstill."
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:13
+#: modules/luci-base/ucode/template/csrftoken.ut:13
msgid ""
"In order to prevent unauthorized access to the system, your request has been "
"blocked. Click \"Continue »\" below to return to the previous page."
msgid "Install protocol extensions..."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:547
msgid "Instance"
msgstr ""
msgid "Internal"
msgstr ""
-#: modules/luci-base/luasrc/view/error500.htm:8
-msgid "Internal Server Error"
-msgstr ""
-
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:285
msgid "Interval For Sending Learning Packets"
msgstr ""
msgid "Invalid hexadecimal value"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:37
+#: modules/luci-base/ucode/template/sysauth.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:32
msgid "Invalid username and/or password! Please try again."
msgstr "Username dan / atau password tak sah! Sila cuba lagi."
"Tampak bahawa anda cuba untuk flash fail gambar yang tidak sesuai dengan "
"memori flash, sila buat pengesahan pada fail gambar!"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:89
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:96
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:77
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:91
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:72
msgid "JavaScript required!"
msgstr ""
msgid "Language and Style"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:560
+msgid ""
+"Larger weights (of the same prio) are given a proportionately higher "
+"probability of being selected."
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:575
msgid "Last member interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
msgid "Latency"
msgstr ""
msgid "Learn routes"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:348
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:353
msgid "Lease file"
msgstr "Sewa fail"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:697
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:768
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:679
msgid "Lease time"
msgstr ""
msgid "Limit"
msgstr "Batas"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
msgid "Line Attenuation (LATN)"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
msgid "Line Mode"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:17
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
msgid "Line State"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
msgid "Line Uptime"
msgstr ""
msgid "Link layer header bits %d-%d"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
msgid "List of IP addresses to convert into NXDOMAIN responses."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:296
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:581
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:652
msgid "List of IP sets to populate with the specified domain IPs."
msgstr ""
msgid "List of SSH key files for auth"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:317
msgid "List of domains to allow RFC1918 responses for."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:290
-msgid "List of domains to force to an IP address."
-msgstr ""
-
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:283
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:285
msgid "List of upstream resolvers to forward queries to."
msgstr ""
msgid "Listen Port"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:332
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:337
msgid "Listen interfaces"
msgstr ""
msgid "Listen only on the given interface or, if unspecified, on all"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:333
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
msgid ""
"Listen only on the specified interfaces, and loopback if not excluded "
"explicitly."
msgid "ListenPort setting is invalid"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:439
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:444
msgid "Listening port for inbound DNS queries."
msgstr ""
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:1942
-#: modules/luci-base/luasrc/view/view.htm:4
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:45
+#: modules/luci-base/ucode/template/view.ut:4
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:40
msgid "Loading view…"
msgstr ""
msgid "Local ULA"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:273
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:275
msgid "Local domain"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:274
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:276
msgid "Local domain suffix appended to DHCP names and hosts file entries."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:269
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:271
msgid "Local server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:319
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:324
msgid "Local service only"
msgstr ""
msgid "Local wireguard key"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
msgid "Localise queries"
msgstr "Soalan tempatan"
msgid "Log output level"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:277
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:279
msgid "Log queries"
msgstr "Log soalan"
msgid "Logical network to which the tunnel will be added (bridged) (optional)."
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:38
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:41
+#: modules/luci-base/ucode/template/sysauth.ut:38
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:36
msgid "Login"
msgstr "Login"
msgid "Loose filtering"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
msgid "Loss of Signal Seconds (LOSS)"
msgstr ""
msgid "Lowest leased address as offset from the network address."
msgstr ""
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/footer.ut:12
+msgid "Lua compatibility mode active"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:48
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:83
msgid "MAC"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:591
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:40
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:619
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1164
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2177
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:56
msgid "MTU"
msgstr "MTU"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:259
+msgid "MX"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:303
msgid ""
"Make sure to clone the root filesystem using something like the commands "
msgid "Max <abbr title=\"Router Advertisement\">RA</abbr> interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
msgid "Max. Attainable Data Rate (ATTNDR)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:457
msgid "Max. DHCP leases"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:459
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:464
msgid "Max. EDNS0 packet size"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:466
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:471
msgid "Max. concurrent queries"
msgstr ""
msgid "Maximum allowed Listen Interval"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:453
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:458
msgid "Maximum allowed number of active DHCP leases."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:467
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:472
msgid "Maximum allowed number of concurrent DNS queries."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:460
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:465
msgid "Maximum allowed size of EDNS0 UDP packets."
msgstr ""
msgid "Maximum transmit power"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:394
msgid "May prevent VoIP or other services from working."
msgstr ""
msgid "Name of the tunnel device"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:46
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:39
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:50
msgid "Navigation"
msgstr "Navigation"
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:10
+msgid "Nebula Network"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:653
msgid "Neighbour cache validity"
msgstr ""
msgid "Network address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:492
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:497
msgid "Network boot image"
msgstr ""
msgid "Network interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:536
msgid "Network-ID"
msgstr ""
msgid "Never"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:270
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:272
msgid ""
"Never forward matching domains and subdomains, resolve from DHCP or hosts "
"files only."
msgid "No RX signal"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:80
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:87
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:68
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:82
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:65
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:90
msgid ""
"No changes to settings will be stored and are lost after rebooting. This "
msgid "No entries in this directory"
msgstr ""
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:82
-msgid "No files found"
-msgstr ""
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:833
msgid ""
"No fixed interface listening port defined, peers might not be able to "
msgid "No more slaves available, can not save interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:413
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
msgid "No negative cache"
msgstr ""
msgid "No nftables ruleset loaded."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:69
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:61
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:57
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:54
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:79
msgid "No password set!"
msgstr ""
msgid "Noise"
msgstr "Kebisingan"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
msgid "Noise Margin (SNR)"
msgstr ""
msgid "Noise:"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
msgid "Non Pre-emptive CRC errors (CRC_P)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:330
msgid "Non-wildcard"
msgstr ""
msgid "Normal"
msgstr ""
-#: modules/luci-base/luasrc/view/error404.htm:8
+#: modules/luci-base/ucode/template/error404.ut:9
msgid "Not Found"
msgstr ""
msgid "Number of IGMP membership reports"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:474
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:479
msgid "Number of cached DNS entries, 10000 is maximum, 0 is no caching."
msgstr ""
msgid "On-link"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:672
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:743
msgid "One of hostname or MAC address must be specified!"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:472
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:19
msgid "Open list..."
msgstr ""
msgid "Options"
msgstr "Pilihan"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:526
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
msgid ""
"Options for the Network-ID. (Note: needs also Network-ID.) E.g. "
-"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</"
-"code>\" for default route. <code>0.0.0.0</code> means \"the address of the "
-"system running dnsmasq\"."
+"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</code>"
+"\" for default route. <code>0.0.0.0</code> means \"the address of the system "
+"running dnsmasq\"."
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:125
msgid "Options:"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
+msgid "Ordinal: lower comes first."
+msgstr ""
+
#: protocols/luci-proto-batman-adv/htdocs/luci-static/resources/protocol/batadv.js:55
msgid "Originator Interval"
msgstr ""
msgid "Pass-through (Mirror physical device to single MAC VLAN)"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:29
+#: modules/luci-base/ucode/template/sysauth.ut:29
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1690
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:51
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:114
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:103
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:24
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:19
msgid "Password"
msgstr "Kata laluan"
msgid "Pkts."
msgstr "Pkts."
-#: modules/luci-base/luasrc/view/sysauth.htm:19
+#: modules/luci-base/ucode/template/sysauth.ut:19
msgid "Please enter your username and password."
msgstr "Sila masukkan username dan kata laluan anda."
msgid "Policy: <strong>%h</strong> (%h)"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:579
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:21
msgid "Port"
msgstr "Port"
msgid "Potential negation of: %s"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:38
msgid "Power Management Mode"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
msgid "Pre-emptive CRC errors (CRCP_P)"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:129
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:197
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:223
msgid "Quality"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
msgid "Query all available upstream resolvers."
msgstr ""
msgid "Raw hex-encoded bytes. Leave empty unless your ISP require this"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:345
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:350
msgid "Read <code>/etc/ethers</code> to configure the DHCP server."
msgstr "Baca /etc/ethers untuk mengkonfigurasikan DHCP-Server"
msgid "Reassociation Deadline"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
msgid "Rebind protection"
msgstr ""
msgstr ""
#: modules/luci-compat/luasrc/model/network/proto_relay.lua:153
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:611
#: protocols/luci-proto-relay/htdocs/luci-static/resources/protocol/relay.js:39
msgid "Relay"
msgstr ""
msgid "Required. Base64-encoded private key for this interface."
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Required. Path to the .yml config file for this interface."
+msgstr ""
+
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:587
msgid "Required. Public key of the WireGuard peer."
msgstr ""
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2197
-#: modules/luci-base/luasrc/view/sysauth.htm:39
+#: modules/luci-base/ucode/template/sysauth.ut:39
#: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
#: modules/luci-compat/luasrc/view/cbi/footer.htm:30
#: modules/luci-compat/luasrc/view/cbi/simpleform.htm:66
msgid "Resolv and Hosts Files"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:356
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:361
msgid "Resolv file"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:292
+msgid "Resolve specified FQDNs to an IP."
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/rpc.js:405
msgid "Resource not found"
msgstr ""
msgid "Restore backup"
msgstr "Kembalikan sandaran"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
msgid ""
"Return answers to DNS queries matching the subnet from which the query was "
"received if multiple IPs are available."
msgid "Robustness"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:491
msgid ""
"Root directory for files served via TFTP. <em>Enable TFTP server</em> and "
"<em>TFTP server root</em> turn on the TFTP server and serve files from "
msgid "SNR"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "SRV"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:10
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:38
msgid "SSH Access"
msgid "Server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:524
msgid "Server address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:518
msgid "Server name"
msgstr ""
msgid "Setup routes for proxied IPv6 neighbours."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
msgid "Severely Errored Seconds (SES)"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:470
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:18
msgid "Show current backup file list"
msgstr ""
msgid "Signal / Noise"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
msgid "Signal Attenuation (SATN)"
msgstr ""
msgid "Size"
msgstr "Saiz"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:473
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:478
msgid "Size of DNS query cache"
msgstr ""
msgid "Skip from backup files that are equal to those in /rom"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:42
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:35
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:46
msgid "Skip to content"
msgstr "Skip ke kadar"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:41
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:34
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:45
msgid "Skip to navigation"
msgstr "Skip ke navigation"
msgid "Some fields are invalid, cannot save values!"
msgstr ""
-#: modules/luci-base/luasrc/view/error404.htm:9
+#: modules/luci-base/ucode/template/error404.ut:10
msgid "Sorry, the object you requested was not found."
msgstr ""
-#: modules/luci-base/luasrc/view/error500.htm:9
-msgid "Sorry, the server encountered an unexpected error."
-msgstr ""
-
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:442
msgid ""
"Sorry, there is no sysupgrade support present; a new firmware image must be "
msgid "Source port"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:505
msgid ""
"Special <abbr title=\"Preboot eXecution Environment\">PXE</abbr> boot "
"options for Dnsmasq."
msgid "Static address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:598
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:669
msgid ""
"Static leases are used to assign fixed IP addresses and symbolic hostnames "
"to DHCP clients. They are also required for non-dynamic interface "
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:16
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:541
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:929
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:9
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:9
msgid "Status"
msgstr "Status"
msgid "Strict filtering"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
msgid "Strict order"
msgstr "Order Ketat"
msgid "Submit"
msgstr "Menyerahkan"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
msgid "Suppress logging"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:373
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
msgid "Suppress logging of the routine operation for the DHCP protocol."
msgstr ""
msgid "Sync with browser"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:293
+msgid "Syntax: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "Syntax: <code>_service._proto.example.com</code>."
+msgstr ""
+
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:26
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:17
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:113
msgid "System log buffer size"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:79
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:86
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:71
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:67
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:81
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:64
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:89
msgid "System running in recovery (initramfs) mode."
msgstr ""
msgid "TCP:"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:490
msgid "TFTP server root"
msgstr ""
msgid "Table"
msgstr "Meja"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:56
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:66
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:187
"username instead of the user ID!"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:681
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:752
msgid "The IP address %h is already used by another static lease"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:761
msgid "The IP address is outside of any DHCP pool address range"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:520
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
msgid "The IP address of the boot server"
msgstr ""
"to be received and retransmitted which costs airtime)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:514
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
msgid "The hostname of the boot server"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/switch.js:139
msgid ""
-"The network ports on this device can be combined to several <abbr "
-"title=\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
+"The network ports on this device can be combined to several <abbr title="
+"\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
"communicate directly with each other. <abbr title=\"Virtual Local Area "
"Network\">VLAN</abbr>s are often used to separate different network "
"segments. Often there is by default one Uplink port for a connection to the "
msgid "The selected %s mode is incompatible with %s encryption"
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:11
+#: modules/luci-base/ucode/template/csrftoken.ut:11
msgid "The submitted security token is invalid or already expired!"
msgstr ""
"nftables rules is discouraged and may lead to incomplete traffic filtering."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:746
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:778
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:817
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:849
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:130
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:179
msgid "There are no active leases"
msgid "There are no changes to apply"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:70
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:58
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:55
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:80
msgid ""
"There is no password set on this router. Please configure a root password to "
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:16
msgid ""
"This is a list of shell glob patterns for matching files and directories to "
"include during sysupgrade. Modified files in /etc/config/ and certain other "
"ends with <code>...:2/64</code>"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:266
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:268
msgid "This is the only DHCP server in the local network."
msgstr "Ini adalah DHCP hanya dalam rangkaian tempatan."
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:440
msgid ""
"To fully configure the local WireGuard interface from an existing (e.g. "
-"provider supplied) configuration file, use the <strong><a class=\"full-"
-"import\" href=\"#\">configuration import</a></strong> instead."
+"provider supplied) configuration file, use the <strong><a class=\"full-import"
+"\" href=\"#\">configuration import</a></strong> instead."
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2674
msgid "Unable to determine upstream interface"
msgstr ""
-#: modules/luci-base/luasrc/view/error404.htm:11
+#: modules/luci-base/ucode/template/error404.ut:12
msgid "Unable to dispatch"
msgstr ""
msgid "Unable to verify PIN"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
msgid "Unavailable Seconds (UAS)"
msgstr ""
"will be restarted to apply the updated configuration."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
msgid "Upstream resolvers will be queried in the order of the resolv file."
msgstr ""
msgid "Uptime"
msgstr "Masa Aktif"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
msgid "Use <code>/etc/ethers</code>"
msgstr "Guna /etc/ethers"
msgid "Use system certificates for inner-tunnel"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:599
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:670
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC address</"
"em> identifies the host, the <em>IPv4 address</em> specifies the fixed "
msgid "User key (PEM encoded)"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:23
+#: modules/luci-base/ucode/template/sysauth.ut:23
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:112
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:101
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:56
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:18
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:13
msgid "Username"
msgstr "Username"
msgid "VXLANv6 (RFC7348)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
msgid ""
"Validate DNS replies and cache DNSSEC data, requires upstream to support "
"DNSSEC."
msgid "Vendor Class to send when requesting DHCP"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:408
msgid "Verify unsigned domain responses really come from unsigned domains."
msgstr ""
msgid "Weak"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+msgid "Weight"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1029
msgid ""
"When delegating prefixes to multiple downstreams, interfaces with a higher "
msgid "Wireless network is enabled"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:278
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:280
msgid "Write received DNS queries to syslog."
msgstr ""
"scripts like \"network\", your device might become inaccessible!</strong>"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:90
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:97
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
+msgid "You may add multiple records for the same Target."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:596
+msgid "You may add multiple records for the same domain."
+msgstr ""
+
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:78
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:92
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:73
msgid ""
"You must enable JavaScript in your browser or LuCI will not work properly."
msgid "ZRam Size"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:558
+msgid "_proto: _tcp, _udp, _sctp, _quic, … ."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:557
+msgid ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Note: while _http is "
+"possible, no browsers support SRV records.)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:454
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:152
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:163
msgid "any"
msgid "e.g: dump"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:726
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:756
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:797
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:827
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:101
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:148
msgid "expired"
msgid "unknown"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:456
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:724
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:754
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:461
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:795
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:825
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:99
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:146
msgid "unlimited"
#~ msgid ""
#~ "The filesystem that was used to format the memory (<abbr title=\"for "
-#~ "example\">e.g.</abbr> <samp><abbr title=\"Third Extended "
-#~ "Filesystem\">ext3</abbr></samp>)"
+#~ "example\">e.g.</abbr> <samp><abbr title=\"Third Extended Filesystem"
+#~ "\">ext3</abbr></samp>)"
#~ msgstr "Failsistem yang digunakan untuk memformat memori (contohnya: ext3)"
#~ msgid ""
msgid "<abbr title=\"Router Advertisement\">RA</abbr>-Service"
msgstr "<abbr title=\"Router Advertisement\">RA</abbr>-tjeneste"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:294
+msgid ""
+"<code>/#/</code> matches any domain. <code>/example.com/</code> returns "
+"NXDOMAIN."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+msgid ""
+"<code>/example.com/#</code> returns NULL addresses (<code>0.0.0.0</code> and "
+"<code>::</code>) for example.com and its subdomains."
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:87
msgctxt "nft relational \">\" operator expression"
msgid "<var>%s</var> greater than <strong>%s</strong>"
msgid "ATM device number"
msgstr "<abbr title=\"Asynchronous Transfer Mode\">ATM</abbr> enhetsnummer"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
msgid "ATU-C System Vendor ID"
msgstr ""
msgid "Absent Interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:320
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
msgid "Accept DNS queries only from hosts whose address is on a local subnet."
msgstr ""
msgid "Add key"
msgstr "Legg til nøkkel"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:410
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:415
msgid "Add local domain suffix to names served from hosts files."
msgstr "Legg det lokale domenesuffikset til navn utgitt fra vertsfiler"
msgid "Add to Whitelist"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:367
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
msgid "Additional hosts files"
msgstr "Tilleggs vertsfiler"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:417
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
msgid "Additional servers file"
msgstr ""
msgid "Address to access local relay bridge"
msgstr "Adresse for tilgang til lokal relébro"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:289
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:291
msgid "Addresses"
msgstr ""
msgid "Aggregate Originator Messages"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
msgid "Aggregate Transmit Power (ACTATP)"
msgstr ""
msgid "Alias of \"%s\""
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
msgid "All servers"
msgstr "Alle tjenere"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
msgid ""
"Allocate IP addresses sequentially, starting from the lowest available "
"address."
msgstr "Tildel IP-adresser sekvensielt, fra lavest tilgjengelige adresse."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
msgid "Allocate IPs sequentially"
msgstr "Tildel IP sekvensielt"
msgid "Allow listed only"
msgstr "Tillat kun oppførte"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
msgid "Allow localhost"
msgstr "Tillat lokalvert"
msgid "Always on (kernel: default-on)"
msgstr "Alltid på (kjerne: forvalgt på)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:538
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
msgid "Always send DHCP Options. Sometimes needed, with e.g. PXELinux."
msgstr ""
"Alltid send DPCP-innstillinger. Trengs noen ganger med f.eks. PXELinux."
msgstr "Valgfri kort beskrivelse av denne enheten"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1484
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
msgid "Annex"
msgstr ""
msgid "Any zone"
msgstr "Alle soner"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:532
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
msgid "Apply DHCP Options to this net. (Empty = all clients)."
msgstr ""
msgid "Authentication Type"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:265
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:267
msgid "Authoritative"
msgstr "Autoritativ"
-#: modules/luci-base/luasrc/view/sysauth.htm:17
+#: modules/luci-base/ucode/template/sysauth.ut:17
#: themes/luci-theme-bootstrap/htdocs/luci-static/resources/view/bootstrap/sysauth.js:11
msgid "Authorization Required"
msgstr "Autorisasjon er nødvendig"
msgid "Avoid Bridge Loops"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
msgid ""
"Avoid uselessly triggering dial-on-demand links (filters SRV/SOA records and "
"names with underscores)."
msgid "Back to Overview"
msgstr "Tilbake til oversikt"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:48
-msgid "Back to configuration"
-msgstr "Tilbake til konfigurasjon"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:826
msgid "Back to peer configuration"
msgstr ""
msgstr "Sikkerhetskopiering/Firmware oppgradering"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:351
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:12
msgid "Backup file list"
msgstr "Sikkerhetskopier filliste"
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:352
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:46
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
msgid "Bind NTP server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:326
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:331
msgid "Bind dynamically to interfaces rather than wildcard address."
msgstr ""
msgid "Bind interface"
msgstr "Forbindelsesgrensesnitt"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:595
+msgid ""
+"Bind service records to a domain name: specify the location of services."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:556
+msgid ""
+"Bind service records to a domain name: specify the location of services. See "
+"<a href=\"%s\">RFC2782</a>."
+msgstr ""
+
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gre.js:59
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gretap.js:64
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/grev6.js:64
msgid "CLAT configuration failed"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
+msgid "CNAME or fqdn"
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/processes.js:72
msgid "CPU usage (%)"
msgstr "CPU forbruk (%)"
"Lukk inaktiver tilkoblinger etter angitt antall sekunder, bruk 0 for en "
"kontinuerlig tilkobling"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:49
-msgid "Close list..."
-msgstr "Lukk liste..."
-
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:44
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:63
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2184
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:391
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:352
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:355
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:72
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:66
msgid "Collecting data..."
msgstr "Samler inn data…"
msgid "Compute outgoing checksum (optional)."
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Config File"
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4375
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
msgid "Configuration"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:764
msgid ""
-"Configures the operation mode of the <abbr title=\"Router "
-"Advertisement\">RA</abbr> service on this interface."
+"Configures the operation mode of the <abbr title=\"Router Advertisement"
+"\">RA</abbr> service on this interface."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:879
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/leds.js:59
msgid ""
-"Customizes the behaviour of the device <abbr title=\"Light Emitting "
-"Diode\">LED</abbr>s if possible."
+"Customizes the behaviour of the device <abbr title=\"Light Emitting Diode"
+"\">LED</abbr>s if possible."
msgstr ""
"Tilpasser oppførselen til enhetens <abbr title=\"Light Emitting Diode\">LED</"
"abbr>s om mulig."
msgid "DAE-Secret"
msgstr "DAE-tjener"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:530
msgid "DHCP Options"
msgstr "DHCP-innstillinger"
msgid "DNS"
msgstr "DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:282
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:284
msgid "DNS forwardings"
msgstr "DNS videresendinger"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:445
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:450
msgid "DNS query port"
msgstr "<abbr title=\"Domain Name System\">DNS</abbr> spørre port"
msgid "DNS search domains"
msgstr "DNS-søkedomener"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:443
msgid "DNS server port"
msgstr "<abbr title=\"Domain Name System\">DNS</abbr> server port"
msgid "DNS-Label / FQDN"
msgstr "DNS-etikett/FQDN"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
msgid "DNSSEC"
msgstr "DNSSEC"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:407
msgid "DNSSEC check unsigned"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1481
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:44
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:45
msgid "DSL"
msgstr "DSL"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:14
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:15
msgid "DSL Status"
msgstr "DSL-status"
msgstr "DTIM-intervall"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:59
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:700
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:771
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:136
msgid "DUID"
msgstr "DUID"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
msgid "Data Rate"
msgstr "Datahastighet"
msgid "Disassociate On Low Acknowledgement"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:302
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
msgid ""
"Discard upstream responses containing <a href=\"%s\">RFC1918</a> addresses."
msgstr "Forkast oppstrøms RFC1918 svar."
msgid "Distributed ARP Table"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:548
msgid ""
"Dnsmasq instance to which this boot section is bound. If unspecified, the "
"section is valid for all dnsmasq instances."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:246
msgid ""
-"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</"
-"abbr> forwarder."
+"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</abbr> "
+"forwarder."
msgstr ""
"Dnsmasq er en lett <abbr title=\"Dynamic Host Configuration Protocol\">HDCP</"
"abbr>-tjener og <abbr title=\"Domain Name System\">DNS</abbr>-videresender."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:419
msgid "Do not cache negative replies, e.g. for non-existent domains."
msgstr "Ikke cache negative svar, f.eks for ikke eksisterende domener"
msgid "Do not create host route to peer (optional)."
msgstr "Kunne ikke opprette vertsrute til likemann (valgfritt)."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:262
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:264
msgid "Do not forward DNS queries without dots or domain parts."
msgstr ""
"Ikke videresend <abbr title=\"Domain Name System\">DNS</abbr>-Forespørsler "
"uten <abbr title=\"Domain Name System\">DNS</abbr>-Navn"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
msgid "Do not forward reverse lookups for local networks."
msgstr "Ikke videresend reverserte oppslag for lokale nettverk"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:339
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
msgid "Do not listen on the specified interfaces."
msgstr "Ikke lytt til de angitte grensesnittene."
msgid "Do you want to replace the current keys?"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:593
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:606
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:664
msgid "Domain"
msgstr "Domene"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:261
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:263
msgid "Domain required"
msgstr "Domene kreves"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:316
msgid "Domain whitelist"
msgstr "Domene hviteliste"
msgid "Enable Single DES"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:480
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
msgid "Enable TFTP server"
msgstr "Aktiver TFTP server"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/uhttpd.js:14
msgid ""
-"Enable automatic redirection of <abbr title=\"Hypertext Transfer "
-"Protocol\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol "
-"Secure\">HTTPS</abbr> port."
+"Enable automatic redirection of <abbr title=\"Hypertext Transfer Protocol"
+"\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol Secure"
+"\">HTTPS</abbr> port."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:977
msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:481
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
msgid "Enable the built-in single-instance TFTP server."
msgstr ""
msgid "Error getting PublicKey"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
msgid "Errored seconds (ES)"
msgstr ""
msgid "Every second (fast, 1)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:343
msgid "Exclude interfaces"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
#, fuzzy
msgid ""
"Exempt <code>127.0.0.0/8</code> and <code>::1</code> from rebinding checks, "
msgid "Existing device"
msgstr "Eksisterende enhet"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:409
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
msgid "Expand hosts"
msgstr "Utvid vertsliste"
msgid "File"
msgstr "Fil"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
msgid ""
"File listing upstream resolvers, optionally domain-specific, e.g. "
"<code>server=1.2.3.4</code>, <code>server=/domain/1.2.3.4</code>."
msgid "File not accessible"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:354
msgid "File to store DHCP lease information."
msgstr ""
"filen der gitt <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</"
"abbr>-leier vil bli lagret"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:362
msgid "File with upstream resolvers."
msgstr "lokal <abbr title=\"Domain Navn System\">DNS</abbr>-fil"
#: modules/luci-base/htdocs/luci-static/resources/ui.js:2846
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:507
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:512
msgid "Filename"
msgstr "Filnavn"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:493
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:498
msgid "Filename of the boot image advertised to clients."
msgstr "Filnavn fra boot image annonsert til klienter"
msgid "Filesystem"
msgstr "Filsystem"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
msgid "Filter private"
msgstr "Filtrer private"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
msgid "Filter useless"
msgstr "Filtrer ubrukelige"
msgid "Firmware Version"
msgstr "Fastvareversjon"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:446
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:451
msgid "Fixed source port for outbound DNS queries."
msgstr "Fast kilde port for utgående DNS-spørringer"
msgid "Flashing…"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:686
msgid "Force"
msgstr "Bruk"
msgid "Force use of NAT-T"
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:8
+#: modules/luci-base/ucode/template/csrftoken.ut:8
msgid "Form token mismatch"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:919
msgid ""
-"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr "
-"title=\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr "
-"title=\"Neighbour Advertisement, Type 136\">NA</abbr> messages between the "
-"designated master interface and downstream interfaces."
+"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr title="
+"\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr title=\"Neighbour "
+"Advertisement, Type 136\">NA</abbr> messages between the designated master "
+"interface and downstream interfaces."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:770
"downstream interfaces."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
msgid "Forward Error Correction Seconds (FECS)"
msgstr ""
msgid "Global network options"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:82
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:74
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:70
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:84
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:67
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:92
msgid "Go to firmware upgrade..."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:72
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:64
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:60
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:57
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:82
msgid "Go to password configuration..."
msgstr "Gå til passord konfigurasjon..."
msgid "Hang Up"
msgstr "Slå av"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
msgid "Header Error Code Errors (HEC)"
msgstr ""
msgid "Host expiry timeout"
msgstr "Verts utløpstid"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
msgid "Host requests this filename from the boot server."
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:38
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:607
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:678
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:54
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:87
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:135
msgid "Hostnames"
msgstr "Vertsnavn"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:551
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:622
msgid ""
"Hostnames are used to bind a domain name to an IP address. This setting is "
"redundant for hostnames already configured with static leases, but it can be "
msgid "IP Protocol"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:260
msgid "IP Sets"
msgstr ""
msgid "IP Type"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:563
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:634
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:178
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:204
msgid "IP address"
msgid "IP protocol"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:660
msgid "IP set"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:300
msgid "IP sets"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:437
msgid "IPs to override with NXDOMAIN"
msgstr "Overstyr falske NX Domener"
#: modules/luci-base/htdocs/luci-static/resources/protocol/static.js:178
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:736
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:88
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:164
msgid "IPv4 address"
msgid "IPv6 suffix"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:706
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:777
msgid "IPv6 suffix (hex)"
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:340
msgid ""
"If your physical memory is insufficient unused data can be temporarily "
-"swapped to a swap-device resulting in a higher amount of usable <abbr "
-"title=\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a "
-"very slow process as the swap-device cannot be accessed with the high "
-"datarates of the <abbr title=\"Random Access Memory\">RAM</abbr>."
+"swapped to a swap-device resulting in a higher amount of usable <abbr title="
+"\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a very "
+"slow process as the swap-device cannot be accessed with the high datarates "
+"of the <abbr title=\"Random Access Memory\">RAM</abbr>."
msgstr ""
"Om ruterens fysiske minne er utilstrekkelig, ubrukte data kan midlertidig "
-"gjøres om til en swap-enhet som gir deg mere tilgjengelig <abbr "
-"title=\"Random Access Memory\">RAM</abbr>. Vær oppmerksom på at bruk av swap "
-"er mye langsommere en <abbr title=\"Random Access Memory\">RAM</abbr>."
+"gjøres om til en swap-enhet som gir deg mere tilgjengelig <abbr title="
+"\"Random Access Memory\">RAM</abbr>. Vær oppmerksom på at bruk av swap er "
+"mye langsommere en <abbr title=\"Random Access Memory\">RAM</abbr>."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:363
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:368
msgid "Ignore <code>/etc/hosts</code>"
msgstr ""
msgid "Ignore interface"
msgstr "Ignorer grensesnitt"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:352
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
msgid "Ignore resolv file"
msgstr "Ignorer oppslagsfil"
"order to avoid broadcast loops that can bring the entire LAN to a standstill."
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:13
+#: modules/luci-base/ucode/template/csrftoken.ut:13
msgid ""
"In order to prevent unauthorized access to the system, your request has been "
"blocked. Click \"Continue »\" below to return to the previous page."
msgid "Install protocol extensions..."
msgstr "Installer protokoll utvidelser..."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:547
msgid "Instance"
msgstr ""
msgid "Internal"
msgstr ""
-#: modules/luci-base/luasrc/view/error500.htm:8
-msgid "Internal Server Error"
-msgstr "Intern server feil"
-
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:285
msgid "Interval For Sending Learning Packets"
msgstr ""
msgid "Invalid hexadecimal value"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:37
+#: modules/luci-base/ucode/template/sysauth.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:32
msgid "Invalid username and/or password! Please try again."
msgstr "Ugyldig brukernavn og/eller passord! Vennligst prøv igjen."
"Det virker som du prøver å flashe med en firmware som ikke passer inn i "
"flash-minnet, vennligst kontroller firmware filen!"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:89
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:96
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:77
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:91
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:72
msgid "JavaScript required!"
msgstr "JavaScript kreves!"
msgid "Language and Style"
msgstr "Språk og Utseende"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:560
+msgid ""
+"Larger weights (of the same prio) are given a proportionately higher "
+"probability of being selected."
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:575
msgid "Last member interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
msgid "Latency"
msgstr ""
msgid "Learn routes"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:348
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:353
msgid "Lease file"
msgstr "<abbr title=\"Leasefile\">Leie-fil</abbr>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:697
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:768
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:679
msgid "Lease time"
msgstr ""
msgid "Limit"
msgstr "Grense"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
msgid "Line Attenuation (LATN)"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
msgid "Line Mode"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:17
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
msgid "Line State"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
msgid "Line Uptime"
msgstr ""
msgid "Link layer header bits %d-%d"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
msgid "List of IP addresses to convert into NXDOMAIN responses."
msgstr "Liste over verter som returneren falske NX domene resultater"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:296
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:581
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:652
msgid "List of IP sets to populate with the specified domain IPs."
msgstr ""
msgid "List of SSH key files for auth"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:317
msgid "List of domains to allow RFC1918 responses for."
msgstr "Liste over domener hvor en tillater RFC1918 svar"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:290
-msgid "List of domains to force to an IP address."
-msgstr ""
-
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:283
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:285
msgid "List of upstream resolvers to forward queries to."
msgstr ""
"Liste med <abbr title=\"Domain Name System\">DNS</abbr> servere som "
msgid "Listen Port"
msgstr "Lytteport"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:332
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:337
msgid "Listen interfaces"
msgstr ""
msgstr ""
"Lytt kun på det angitte grensesnitt, om ingen er angitt lyttes det på alle"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:333
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
msgid ""
"Listen only on the specified interfaces, and loopback if not excluded "
"explicitly."
msgid "ListenPort setting is invalid"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:439
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:444
msgid "Listening port for inbound DNS queries."
msgstr "Lytte-port for innkommende DNS-spørring"
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:1942
-#: modules/luci-base/luasrc/view/view.htm:4
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:45
+#: modules/luci-base/ucode/template/view.ut:4
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:40
msgid "Loading view…"
msgstr ""
msgid "Local ULA"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:273
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:275
msgid "Local domain"
msgstr "Lokalt domene"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:274
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:276
msgid "Local domain suffix appended to DHCP names and hosts file entries."
msgstr "Lokalt domenesuffiks lagt til DHCP navn og vertsfil oppføringer"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:269
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:271
msgid "Local server"
msgstr "Lokal server"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:319
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:324
msgid "Local service only"
msgstr ""
msgid "Local wireguard key"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
msgid "Localise queries"
msgstr "Lokalisere søk"
msgid "Log output level"
msgstr "Logg nivå"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:277
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:279
msgid "Log queries"
msgstr "Logg spørringer"
msgid "Logical network to which the tunnel will be added (bridged) (optional)."
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:38
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:41
+#: modules/luci-base/ucode/template/sysauth.ut:38
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:36
msgid "Login"
msgstr "Logg inn"
msgid "Loose filtering"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
msgid "Loss of Signal Seconds (LOSS)"
msgstr ""
msgid "Lowest leased address as offset from the network address."
msgstr "Laveste leide adresse, forskjøvet fra nettverks adressen."
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/footer.ut:12
+msgid "Lua compatibility mode active"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:48
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:83
msgid "MAC"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:591
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:40
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:619
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1164
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2177
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:56
msgid "MTU"
msgstr "MTU"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:259
+msgid "MX"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:303
msgid ""
"Make sure to clone the root filesystem using something like the commands "
msgid "Max <abbr title=\"Router Advertisement\">RA</abbr> interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
msgid "Max. Attainable Data Rate (ATTNDR)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:457
msgid "Max. DHCP leases"
msgstr ""
"<abbr title=\"maximal\">Maksimalt antall</abbr> <abbr title=\"Dynamic Host "
"Configuration Protocol\">DHCP</abbr>-tildelninger"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:459
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:464
msgid "Max. EDNS0 packet size"
msgstr ""
"<abbr title=\"Maksimal\">Maks.</abbr> <abbr title=\"Extension Mechanisms for "
"Domain Name System\">EDNS0</abbr> pakke størrelse"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:466
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:471
msgid "Max. concurrent queries"
msgstr "<abbr title=\"Maksimal\">Maks.</abbr> samtidige spørringer"
msgid "Maximum allowed Listen Interval"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:453
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:458
msgid "Maximum allowed number of active DHCP leases."
msgstr "Maksimalt antall aktive DHCP leieavtaler"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:467
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:472
msgid "Maximum allowed number of concurrent DNS queries."
msgstr "Maksimalt antall samtidige DNS spørringer"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:460
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:465
msgid "Maximum allowed size of EDNS0 UDP packets."
msgstr "Maksimal tillatt størrelse på EDNS.0 UDP-pakker"
msgid "Maximum transmit power"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:394
msgid "May prevent VoIP or other services from working."
msgstr ""
msgid "Name of the tunnel device"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:46
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:39
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:50
msgid "Navigation"
msgstr "Navigasjon"
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:10
+msgid "Nebula Network"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:653
msgid "Neighbour cache validity"
msgstr ""
msgid "Network address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:492
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:497
msgid "Network boot image"
msgstr "Nettverks boot image"
msgid "Network interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:536
msgid "Network-ID"
msgstr ""
msgid "Never"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:270
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:272
#, fuzzy
msgid ""
"Never forward matching domains and subdomains, resolve from DHCP or hosts "
msgid "No RX signal"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:80
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:87
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:68
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:82
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:65
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:90
msgid ""
"No changes to settings will be stored and are lost after rebooting. This "
msgid "No entries in this directory"
msgstr ""
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:82
-msgid "No files found"
-msgstr "Ingen filer funnet"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:833
msgid ""
"No fixed interface listening port defined, peers might not be able to "
msgid "No more slaves available, can not save interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:413
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
msgid "No negative cache"
msgstr "Ingen negative cache"
msgid "No nftables ruleset loaded."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:69
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:61
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:57
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:54
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:79
msgid "No password set!"
msgstr "Ruteren er ikke passordbeskyttet!"
msgid "Noise"
msgstr "Støy"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
msgid "Noise Margin (SNR)"
msgstr ""
msgid "Noise:"
msgstr "Støy:"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
msgid "Non Pre-emptive CRC errors (CRC_P)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:330
msgid "Non-wildcard"
msgstr ""
msgid "Normal"
msgstr "Normal"
-#: modules/luci-base/luasrc/view/error404.htm:8
+#: modules/luci-base/ucode/template/error404.ut:9
msgid "Not Found"
msgstr "Ikke funnet"
msgid "Number of IGMP membership reports"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:474
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:479
msgid "Number of cached DNS entries, 10000 is maximum, 0 is no caching."
msgstr ""
msgid "On-link"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:672
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:743
msgid "One of hostname or MAC address must be specified!"
msgstr "Enten Vertsnavn eller Mac-adresse må oppgis!"
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:472
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:19
msgid "Open list..."
msgstr "Åpne liste..."
msgid "Options"
msgstr "Alternativer"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:526
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
msgid ""
"Options for the Network-ID. (Note: needs also Network-ID.) E.g. "
-"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</"
-"code>\" for default route. <code>0.0.0.0</code> means \"the address of the "
-"system running dnsmasq\"."
+"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</code>"
+"\" for default route. <code>0.0.0.0</code> means \"the address of the system "
+"running dnsmasq\"."
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:125
msgid "Options:"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
+msgid "Ordinal: lower comes first."
+msgstr ""
+
#: protocols/luci-proto-batman-adv/htdocs/luci-static/resources/protocol/batadv.js:55
msgid "Originator Interval"
msgstr ""
msgid "Pass-through (Mirror physical device to single MAC VLAN)"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:29
+#: modules/luci-base/ucode/template/sysauth.ut:29
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1690
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:51
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:114
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:103
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:24
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:19
msgid "Password"
msgstr "Passord"
msgid "Pkts."
msgstr "Pakker."
-#: modules/luci-base/luasrc/view/sysauth.htm:19
+#: modules/luci-base/ucode/template/sysauth.ut:19
msgid "Please enter your username and password."
msgstr "Skriv inn ditt brukernavn og passord."
msgid "Policy: <strong>%h</strong> (%h)"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:579
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:21
msgid "Port"
msgstr "Port"
msgid "Potential negation of: %s"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:38
msgid "Power Management Mode"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
msgid "Pre-emptive CRC errors (CRCP_P)"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:129
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:197
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:223
msgid "Quality"
msgstr "Kvalitet"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
msgid "Query all available upstream resolvers."
msgstr ""
msgid "Raw hex-encoded bytes. Leave empty unless your ISP require this"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:345
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:350
msgid "Read <code>/etc/ethers</code> to configure the DHCP server."
msgstr "Les <code>/etc/ethers</code> for å sette opp DHCP-tjeneren."
msgid "Reassociation Deadline"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
msgid "Rebind protection"
msgstr "Binde beskyttelse"
msgstr ""
#: modules/luci-compat/luasrc/model/network/proto_relay.lua:153
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:611
#: protocols/luci-proto-relay/htdocs/luci-static/resources/protocol/relay.js:39
msgid "Relay"
msgstr "Relay"
msgid "Required. Base64-encoded private key for this interface."
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Required. Path to the .yml config file for this interface."
+msgstr ""
+
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:587
msgid "Required. Public key of the WireGuard peer."
msgstr ""
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2197
-#: modules/luci-base/luasrc/view/sysauth.htm:39
+#: modules/luci-base/ucode/template/sysauth.ut:39
#: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
#: modules/luci-compat/luasrc/view/cbi/footer.htm:30
#: modules/luci-compat/luasrc/view/cbi/simpleform.htm:66
msgid "Resolv and Hosts Files"
msgstr "Oppslag og Vertsfiler"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:356
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:361
msgid "Resolv file"
msgstr "<abbr title=\"Resolvefile\">Oppslagsfil</abbr>"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:292
+msgid "Resolve specified FQDNs to an IP."
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/rpc.js:405
msgid "Resource not found"
msgstr ""
msgid "Restore backup"
msgstr "Gjenopprett sikkerhetskopi"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
msgid ""
"Return answers to DNS queries matching the subnet from which the query was "
"received if multiple IPs are available."
msgid "Robustness"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:491
msgid ""
"Root directory for files served via TFTP. <em>Enable TFTP server</em> and "
"<em>TFTP server root</em> turn on the TFTP server and serve files from "
msgid "SNR"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "SRV"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:10
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:38
msgid "SSH Access"
msgid "Server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:524
msgid "Server address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:518
msgid "Server name"
msgstr ""
msgid "Setup routes for proxied IPv6 neighbours."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
msgid "Severely Errored Seconds (SES)"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:470
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:18
msgid "Show current backup file list"
msgstr "Vis gjeldende liste med sikkerhetskopifiler"
msgid "Signal / Noise"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
msgid "Signal Attenuation (SATN)"
msgstr ""
msgid "Size"
msgstr "Størrelse"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:473
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:478
msgid "Size of DNS query cache"
msgstr ""
msgid "Skip from backup files that are equal to those in /rom"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:42
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:35
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:46
msgid "Skip to content"
msgstr "Gå til innhold"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:41
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:34
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:45
msgid "Skip to navigation"
msgstr "Gå til navigasjon"
msgid "Some fields are invalid, cannot save values!"
msgstr "Noen felt er ugyldige, kan ikke lagre verdier!"
-#: modules/luci-base/luasrc/view/error404.htm:9
+#: modules/luci-base/ucode/template/error404.ut:10
msgid "Sorry, the object you requested was not found."
msgstr "Beklager, objektet du spurte om ble ikke funnet."
-#: modules/luci-base/luasrc/view/error500.htm:9
-msgid "Sorry, the server encountered an unexpected error."
-msgstr "Beklager, det oppstod en uventet feil på serveren."
-
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:442
msgid ""
"Sorry, there is no sysupgrade support present; a new firmware image must be "
msgid "Source port"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:505
msgid ""
"Special <abbr title=\"Preboot eXecution Environment\">PXE</abbr> boot "
"options for Dnsmasq."
msgid "Static address"
msgstr "Statisk adresse"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:598
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:669
msgid ""
"Static leases are used to assign fixed IP addresses and symbolic hostnames "
"to DHCP clients. They are also required for non-dynamic interface "
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:16
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:541
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:929
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:9
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:9
msgid "Status"
msgstr "Status"
msgid "Strict filtering"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
msgid "Strict order"
msgstr "Streng overholdelse"
msgid "Submit"
msgstr "Send inn"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
msgid "Suppress logging"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:373
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
msgid "Suppress logging of the routine operation for the DHCP protocol."
msgstr ""
msgid "Sync with browser"
msgstr "Synkroniser med nettleser"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:293
+msgid "Syntax: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "Syntax: <code>_service._proto.example.com</code>."
+msgstr ""
+
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:26
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:17
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:113
msgid "System log buffer size"
msgstr "System logg buffer størrelse"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:79
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:86
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:71
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:67
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:81
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:64
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:89
msgid "System running in recovery (initramfs) mode."
msgstr ""
msgid "TCP:"
msgstr "TCP:"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:490
msgid "TFTP server root"
msgstr "TFTP server roten"
msgid "Table"
msgstr "Tabell"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:56
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:66
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:187
"username instead of the user ID!"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:681
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:752
msgid "The IP address %h is already used by another static lease"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:761
msgid "The IP address is outside of any DHCP pool address range"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:520
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
msgid "The IP address of the boot server"
msgstr ""
"to be received and retransmitted which costs airtime)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:514
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
msgid "The hostname of the boot server"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/switch.js:139
msgid ""
-"The network ports on this device can be combined to several <abbr "
-"title=\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
+"The network ports on this device can be combined to several <abbr title="
+"\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
"communicate directly with each other. <abbr title=\"Virtual Local Area "
"Network\">VLAN</abbr>s are often used to separate different network "
"segments. Often there is by default one Uplink port for a connection to the "
msgid "The selected %s mode is incompatible with %s encryption"
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:11
+#: modules/luci-base/ucode/template/csrftoken.ut:11
msgid "The submitted security token is invalid or already expired!"
msgstr ""
"nftables rules is discouraged and may lead to incomplete traffic filtering."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:746
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:778
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:817
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:849
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:130
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:179
msgid "There are no active leases"
msgid "There are no changes to apply"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:70
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:58
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:55
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:80
msgid ""
"There is no password set on this router. Please configure a root password to "
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:16
msgid ""
"This is a list of shell glob patterns for matching files and directories to "
"include during sysupgrade. Modified files in /etc/config/ and certain other "
"Dette er den lokale endepunkt adressen som ble tildelt av tunnel 'broker', "
"adressen ender vanligvis med <code>...:2/64</code>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:266
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:268
msgid "This is the only DHCP server in the local network."
msgstr ""
-"Dette er den eneste <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> server i det lokale nettverket"
+"Dette er den eneste <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> server i det lokale nettverket"
#: protocols/luci-proto-ipv6/htdocs/luci-static/resources/protocol/6in4.js:73
msgid "This is the plain username for logging into the account"
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:440
msgid ""
"To fully configure the local WireGuard interface from an existing (e.g. "
-"provider supplied) configuration file, use the <strong><a class=\"full-"
-"import\" href=\"#\">configuration import</a></strong> instead."
+"provider supplied) configuration file, use the <strong><a class=\"full-import"
+"\" href=\"#\">configuration import</a></strong> instead."
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2674
msgid "Unable to determine upstream interface"
msgstr ""
-#: modules/luci-base/luasrc/view/error404.htm:11
+#: modules/luci-base/ucode/template/error404.ut:12
msgid "Unable to dispatch"
msgstr "Kan ikke sende"
msgid "Unable to verify PIN"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
msgid "Unavailable Seconds (UAS)"
msgstr ""
"will be restarted to apply the updated configuration."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
msgid "Upstream resolvers will be queried in the order of the resolv file."
msgstr ""
"<abbr title=\"Domain Name System\">DNS</abbr> servere skal følge rekkefølgen "
msgid "Uptime"
msgstr "Oppetid"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
msgid "Use <code>/etc/ethers</code>"
msgstr "Bruk <code>/etc/ethers</code>"
msgid "Use system certificates for inner-tunnel"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:599
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:670
#, fuzzy
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC address</"
msgid "User key (PEM encoded)"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:23
+#: modules/luci-base/ucode/template/sysauth.ut:23
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:112
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:101
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:56
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:18
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:13
msgid "Username"
msgstr "Brukernavn"
msgid "VXLANv6 (RFC7348)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
msgid ""
"Validate DNS replies and cache DNSSEC data, requires upstream to support "
"DNSSEC."
msgid "Vendor Class to send when requesting DHCP"
msgstr "Leverandør klasse som sendes ved DHCP spørring"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:408
msgid "Verify unsigned domain responses really come from unsigned domains."
msgstr ""
msgid "Weak"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+msgid "Weight"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1029
msgid ""
"When delegating prefixes to multiple downstreams, interfaces with a higher "
msgid "Wireless network is enabled"
msgstr "Trådløst nettverk er aktivert"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:278
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:280
msgid "Write received DNS queries to syslog."
msgstr "Skriv mottatte DNS forespørsler til syslog"
"deaktiverer nødvendige init skript som f.eks. \"nettverk\", kan enheten bli "
"utilgjengelig! </strong>"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:90
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:97
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
+msgid "You may add multiple records for the same Target."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:596
+msgid "You may add multiple records for the same domain."
+msgstr ""
+
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:78
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:92
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:73
msgid ""
"You must enable JavaScript in your browser or LuCI will not work properly."
msgid "ZRam Size"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:558
+msgid "_proto: _tcp, _udp, _sctp, _quic, … ."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:557
+msgid ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Note: while _http is "
+"possible, no browsers support SRV records.)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:454
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:152
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:163
msgid "any"
msgid "e.g: dump"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:726
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:756
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:797
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:827
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:101
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:148
msgid "expired"
msgid "unknown"
msgstr "ukjent"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:456
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:724
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:754
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:461
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:795
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:825
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:99
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:146
msgid "unlimited"
msgid "« Back"
msgstr "« Tilbake"
+#~ msgid "Back to configuration"
+#~ msgstr "Tilbake til konfigurasjon"
+
+#~ msgid "Close list..."
+#~ msgstr "Lukk liste..."
+
+#~ msgid "Internal Server Error"
+#~ msgstr "Intern server feil"
+
+#~ msgid "No files found"
+#~ msgstr "Ingen filer funnet"
+
+#~ msgid "Sorry, the server encountered an unexpected error."
+#~ msgstr "Beklager, det oppstod en uventet feil på serveren."
+
#~ msgid "Do not forward queries that cannot be answered by public resolvers."
#~ msgstr ""
#~ "Ikke videresend forespørsler som ikke kan besvares med offentlige "
#~ msgid ""
#~ "The filesystem that was used to format the memory (<abbr title=\"for "
-#~ "example\">e.g.</abbr> <samp><abbr title=\"Third Extended "
-#~ "Filesystem\">ext3</abbr></samp>)"
+#~ "example\">e.g.</abbr> <samp><abbr title=\"Third Extended Filesystem"
+#~ "\">ext3</abbr></samp>)"
#~ msgstr ""
#~ "Filsystemet som ble brukt til å formatere partisjonen eller minnet. "
#~ "(<abbr title=\"for eksempel\">f.eks.</abbr> <samp><abbr title=\"Third "
msgid "<abbr title=\"Router Advertisement\">RA</abbr>-Service"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:294
+msgid ""
+"<code>/#/</code> matches any domain. <code>/example.com/</code> returns "
+"NXDOMAIN."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+msgid ""
+"<code>/example.com/#</code> returns NULL addresses (<code>0.0.0.0</code> and "
+"<code>::</code>) for example.com and its subdomains."
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:87
msgctxt "nft relational \">\" operator expression"
msgid "<var>%s</var> greater than <strong>%s</strong>"
msgid "ATM device number"
msgstr "ATM apparaatnummer"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
msgid "ATU-C System Vendor ID"
msgstr "ATU-C Systeemleverancier-ID"
msgid "Absent Interface"
msgstr "Geen interface"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:320
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
msgid "Accept DNS queries only from hosts whose address is on a local subnet."
msgstr ""
msgid "Add key"
msgstr "Sleutel toevoegen"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:410
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:415
msgid "Add local domain suffix to names served from hosts files."
msgstr ""
"Lokaal-domeinachtervoegsel toevoegen aan uit hostsfiles geserveerde namen"
msgid "Add to Whitelist"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:367
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
msgid "Additional hosts files"
msgstr "Aanvullende Hostsbestanden"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:417
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
msgid "Additional servers file"
msgstr "Aanvullende-serversbestand"
msgid "Address to access local relay bridge"
msgstr "Adres van lokale relay-brug"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:289
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:291
msgid "Addresses"
msgstr "Adressen"
msgid "Aggregate Originator Messages"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
msgid "Aggregate Transmit Power (ACTATP)"
msgstr "Geaggregeerd verzendvermogen (ACTATP)"
msgid "Alias of \"%s\""
msgstr "Alias van \"%s\""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
msgid "All servers"
msgstr "Alle servers"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
msgid ""
"Allocate IP addresses sequentially, starting from the lowest available "
"address."
msgstr ""
"IP-adressen op volgorde toewijzen, beginnend bij het laagst beschikbare adres"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
msgid "Allocate IPs sequentially"
msgstr "IP-adressen sequentieel toewijzen"
msgid "Allow listed only"
msgstr "Alleen vermelde toestaan"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
msgid "Allow localhost"
msgstr "Localhost toestaan"
msgid "Always on (kernel: default-on)"
msgstr "Altijd aan (kernel: altijd-aan)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:538
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
msgid "Always send DHCP Options. Sometimes needed, with e.g. PXELinux."
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1484
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
msgid "Annex"
msgstr ""
msgid "Any zone"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:532
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
msgid "Apply DHCP Options to this net. (Empty = all clients)."
msgstr ""
msgid "Authentication Type"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:265
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:267
msgid "Authoritative"
msgstr "Autoritatieve"
-#: modules/luci-base/luasrc/view/sysauth.htm:17
+#: modules/luci-base/ucode/template/sysauth.ut:17
#: themes/luci-theme-bootstrap/htdocs/luci-static/resources/view/bootstrap/sysauth.js:11
msgid "Authorization Required"
msgstr "Autorisatie Vereist"
msgid "Avoid Bridge Loops"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
msgid ""
"Avoid uselessly triggering dial-on-demand links (filters SRV/SOA records and "
"names with underscores)."
msgid "Back to Overview"
msgstr "Terug naar het overzicht"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:48
-msgid "Back to configuration"
-msgstr "Terug naar de configuratie"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:826
msgid "Back to peer configuration"
msgstr ""
msgstr "Backup / Flash Firmware"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:351
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:12
msgid "Backup file list"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:352
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:46
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
msgid "Bind NTP server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:326
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:331
msgid "Bind dynamically to interfaces rather than wildcard address."
msgstr ""
msgid "Bind interface"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:595
+msgid ""
+"Bind service records to a domain name: specify the location of services."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:556
+msgid ""
+"Bind service records to a domain name: specify the location of services. See "
+"<a href=\"%s\">RFC2782</a>."
+msgstr ""
+
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gre.js:59
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gretap.js:64
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/grev6.js:64
msgid "CLAT configuration failed"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
+msgid "CNAME or fqdn"
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/processes.js:72
msgid "CPU usage (%)"
msgstr "CPU gebruik (%)"
"persist connection"
msgstr ""
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:49
-msgid "Close list..."
-msgstr ""
-
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:44
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:63
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2184
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:391
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:352
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:355
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:72
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:66
msgid "Collecting data..."
msgstr ""
msgid "Compute outgoing checksum (optional)."
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Config File"
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4375
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
msgid "Configuration"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:764
msgid ""
-"Configures the operation mode of the <abbr title=\"Router "
-"Advertisement\">RA</abbr> service on this interface."
+"Configures the operation mode of the <abbr title=\"Router Advertisement"
+"\">RA</abbr> service on this interface."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:879
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/leds.js:59
msgid ""
-"Customizes the behaviour of the device <abbr title=\"Light Emitting "
-"Diode\">LED</abbr>s if possible."
+"Customizes the behaviour of the device <abbr title=\"Light Emitting Diode"
+"\">LED</abbr>s if possible."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:673
msgid "DAE-Secret"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:530
msgid "DHCP Options"
msgstr ""
msgid "DNS"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:282
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:284
msgid "DNS forwardings"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:445
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:450
msgid "DNS query port"
msgstr "<abbr title=\"Domain Name System\">DNS</abbr> verzoekpoort"
msgid "DNS search domains"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:443
msgid "DNS server port"
msgstr "<abbr title=\"Domain Name System\">DNS</abbr> serverpoort"
msgid "DNS-Label / FQDN"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
msgid "DNSSEC"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:407
msgid "DNSSEC check unsigned"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1481
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:44
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:45
msgid "DSL"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:14
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:15
msgid "DSL Status"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:59
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:700
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:771
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:136
msgid "DUID"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
msgid "Data Rate"
msgstr ""
msgid "Disassociate On Low Acknowledgement"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:302
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
msgid ""
"Discard upstream responses containing <a href=\"%s\">RFC1918</a> addresses."
msgstr ""
msgid "Distributed ARP Table"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:548
msgid ""
"Dnsmasq instance to which this boot section is bound. If unspecified, the "
"section is valid for all dnsmasq instances."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:246
msgid ""
-"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</"
-"abbr> forwarder."
+"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</abbr> "
+"forwarder."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:419
msgid "Do not cache negative replies, e.g. for non-existent domains."
msgstr ""
msgid "Do not create host route to peer (optional)."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:262
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:264
msgid "Do not forward DNS queries without dots or domain parts."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
msgid "Do not forward reverse lookups for local networks."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:339
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
msgid "Do not listen on the specified interfaces."
msgstr ""
msgid "Do you want to replace the current keys?"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:593
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:606
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:664
msgid "Domain"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:261
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:263
msgid "Domain required"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:316
msgid "Domain whitelist"
msgstr ""
msgid "Enable Single DES"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:480
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
msgid "Enable TFTP server"
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/uhttpd.js:14
msgid ""
-"Enable automatic redirection of <abbr title=\"Hypertext Transfer "
-"Protocol\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol "
-"Secure\">HTTPS</abbr> port."
+"Enable automatic redirection of <abbr title=\"Hypertext Transfer Protocol"
+"\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol Secure"
+"\">HTTPS</abbr> port."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:977
msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:481
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
msgid "Enable the built-in single-instance TFTP server."
msgstr ""
msgid "Error getting PublicKey"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
msgid "Errored seconds (ES)"
msgstr ""
msgid "Every second (fast, 1)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:343
msgid "Exclude interfaces"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
msgid ""
"Exempt <code>127.0.0.0/8</code> and <code>::1</code> from rebinding checks, "
"e.g. for RBL services."
msgid "Existing device"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:409
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
msgid "Expand hosts"
msgstr ""
msgid "File"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
msgid ""
"File listing upstream resolvers, optionally domain-specific, e.g. "
"<code>server=1.2.3.4</code>, <code>server=/domain/1.2.3.4</code>."
msgid "File not accessible"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:354
msgid "File to store DHCP lease information."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:362
msgid "File with upstream resolvers."
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/ui.js:2846
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:507
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:512
msgid "Filename"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:493
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:498
msgid "Filename of the boot image advertised to clients."
msgstr ""
msgid "Filesystem"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
msgid "Filter private"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
msgid "Filter useless"
msgstr ""
msgid "Firmware Version"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:446
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:451
msgid "Fixed source port for outbound DNS queries."
msgstr ""
msgid "Flashing…"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:686
msgid "Force"
msgstr ""
msgid "Force use of NAT-T"
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:8
+#: modules/luci-base/ucode/template/csrftoken.ut:8
msgid "Form token mismatch"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:919
msgid ""
-"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr "
-"title=\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr "
-"title=\"Neighbour Advertisement, Type 136\">NA</abbr> messages between the "
-"designated master interface and downstream interfaces."
+"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr title="
+"\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr title=\"Neighbour "
+"Advertisement, Type 136\">NA</abbr> messages between the designated master "
+"interface and downstream interfaces."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:770
"downstream interfaces."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
msgid "Forward Error Correction Seconds (FECS)"
msgstr ""
msgid "Global network options"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:82
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:74
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:70
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:84
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:67
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:92
msgid "Go to firmware upgrade..."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:72
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:64
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:60
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:57
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:82
msgid "Go to password configuration..."
msgstr ""
msgid "Hang Up"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
msgid "Header Error Code Errors (HEC)"
msgstr ""
msgid "Host expiry timeout"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
msgid "Host requests this filename from the boot server."
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:38
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:607
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:678
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:54
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:87
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:135
msgid "Hostnames"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:551
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:622
msgid ""
"Hostnames are used to bind a domain name to an IP address. This setting is "
"redundant for hostnames already configured with static leases, but it can be "
msgid "IP Protocol"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:260
msgid "IP Sets"
msgstr ""
msgid "IP Type"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:563
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:634
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:178
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:204
msgid "IP address"
msgid "IP protocol"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:660
msgid "IP set"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:300
msgid "IP sets"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:437
msgid "IPs to override with NXDOMAIN"
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/protocol/static.js:178
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:736
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:88
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:164
msgid "IPv4 address"
msgid "IPv6 suffix"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:706
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:777
msgid "IPv6 suffix (hex)"
msgstr ""
"<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Achtervoegsel (hex)"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:340
msgid ""
"If your physical memory is insufficient unused data can be temporarily "
-"swapped to a swap-device resulting in a higher amount of usable <abbr "
-"title=\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a "
-"very slow process as the swap-device cannot be accessed with the high "
-"datarates of the <abbr title=\"Random Access Memory\">RAM</abbr>."
+"swapped to a swap-device resulting in a higher amount of usable <abbr title="
+"\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a very "
+"slow process as the swap-device cannot be accessed with the high datarates "
+"of the <abbr title=\"Random Access Memory\">RAM</abbr>."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:363
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:368
msgid "Ignore <code>/etc/hosts</code>"
msgstr ""
msgid "Ignore interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:352
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
msgid "Ignore resolv file"
msgstr ""
"order to avoid broadcast loops that can bring the entire LAN to a standstill."
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:13
+#: modules/luci-base/ucode/template/csrftoken.ut:13
msgid ""
"In order to prevent unauthorized access to the system, your request has been "
"blocked. Click \"Continue »\" below to return to the previous page."
msgid "Install protocol extensions..."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:547
msgid "Instance"
msgstr ""
msgid "Internal"
msgstr ""
-#: modules/luci-base/luasrc/view/error500.htm:8
-msgid "Internal Server Error"
-msgstr ""
-
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:285
msgid "Interval For Sending Learning Packets"
msgstr ""
msgid "Invalid hexadecimal value"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:37
+#: modules/luci-base/ucode/template/sysauth.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:32
msgid "Invalid username and/or password! Please try again."
msgstr ""
"flash memory, please verify the image file!"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:89
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:96
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:77
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:91
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:72
msgid "JavaScript required!"
msgstr ""
msgid "Language and Style"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:560
+msgid ""
+"Larger weights (of the same prio) are given a proportionately higher "
+"probability of being selected."
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:575
msgid "Last member interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
msgid "Latency"
msgstr ""
msgid "Learn routes"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:348
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:353
msgid "Lease file"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:697
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:768
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:679
msgid "Lease time"
msgstr ""
msgid "Limit"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
msgid "Line Attenuation (LATN)"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
msgid "Line Mode"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:17
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
msgid "Line State"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
msgid "Line Uptime"
msgstr ""
msgid "Link layer header bits %d-%d"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
msgid "List of IP addresses to convert into NXDOMAIN responses."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:296
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:581
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:652
msgid "List of IP sets to populate with the specified domain IPs."
msgstr ""
msgid "List of SSH key files for auth"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:317
msgid "List of domains to allow RFC1918 responses for."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:290
-msgid "List of domains to force to an IP address."
-msgstr ""
-
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:283
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:285
msgid "List of upstream resolvers to forward queries to."
msgstr ""
msgid "Listen Port"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:332
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:337
msgid "Listen interfaces"
msgstr ""
msgid "Listen only on the given interface or, if unspecified, on all"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:333
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
msgid ""
"Listen only on the specified interfaces, and loopback if not excluded "
"explicitly."
msgid "ListenPort setting is invalid"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:439
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:444
msgid "Listening port for inbound DNS queries."
msgstr ""
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:1942
-#: modules/luci-base/luasrc/view/view.htm:4
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:45
+#: modules/luci-base/ucode/template/view.ut:4
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:40
msgid "Loading view…"
msgstr ""
msgid "Local ULA"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:273
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:275
msgid "Local domain"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:274
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:276
msgid "Local domain suffix appended to DHCP names and hosts file entries."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:269
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:271
msgid "Local server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:319
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:324
msgid "Local service only"
msgstr ""
msgid "Local wireguard key"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
msgid "Localise queries"
msgstr ""
msgid "Log output level"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:277
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:279
msgid "Log queries"
msgstr ""
msgid "Logical network to which the tunnel will be added (bridged) (optional)."
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:38
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:41
+#: modules/luci-base/ucode/template/sysauth.ut:38
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:36
msgid "Login"
msgstr ""
msgid "Loose filtering"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
msgid "Loss of Signal Seconds (LOSS)"
msgstr ""
msgid "Lowest leased address as offset from the network address."
msgstr ""
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/footer.ut:12
+msgid "Lua compatibility mode active"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:48
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:83
msgid "MAC"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:591
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:40
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:619
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1164
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2177
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:56
msgid "MTU"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:259
+msgid "MX"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:303
msgid ""
"Make sure to clone the root filesystem using something like the commands "
msgid "Max <abbr title=\"Router Advertisement\">RA</abbr> interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
msgid "Max. Attainable Data Rate (ATTNDR)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:457
msgid "Max. DHCP leases"
msgstr ""
"<abbr title=\"maximal\">Max.</abbr> <abbr title=\"Dynamic Host Configuration "
"Protocol\">DHCP</abbr> toewijzingen"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:459
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:464
msgid "Max. EDNS0 packet size"
msgstr ""
"<abbr title=\"maximale\">Max.</abbr> <abbr title=\"Extension Mechanisms for "
"Domain Name System\">EDNS0</abbr> packetgrootte"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:466
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:471
msgid "Max. concurrent queries"
msgstr "<abbr title=\"maximaal aantal\">Max.</abbr> gelijktijdige verzoeken"
msgid "Maximum allowed Listen Interval"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:453
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:458
msgid "Maximum allowed number of active DHCP leases."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:467
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:472
msgid "Maximum allowed number of concurrent DNS queries."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:460
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:465
msgid "Maximum allowed size of EDNS0 UDP packets."
msgstr ""
msgid "Maximum transmit power"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:394
msgid "May prevent VoIP or other services from working."
msgstr ""
msgid "Name of the tunnel device"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:46
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:39
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:50
msgid "Navigation"
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:10
+msgid "Nebula Network"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:653
msgid "Neighbour cache validity"
msgstr ""
msgid "Network address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:492
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:497
msgid "Network boot image"
msgstr ""
msgid "Network interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:536
msgid "Network-ID"
msgstr ""
msgid "Never"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:270
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:272
msgid ""
"Never forward matching domains and subdomains, resolve from DHCP or hosts "
"files only."
msgid "No RX signal"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:80
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:87
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:68
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:82
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:65
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:90
msgid ""
"No changes to settings will be stored and are lost after rebooting. This "
msgid "No entries in this directory"
msgstr ""
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:82
-msgid "No files found"
-msgstr ""
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:833
msgid ""
"No fixed interface listening port defined, peers might not be able to "
msgid "No more slaves available, can not save interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:413
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
msgid "No negative cache"
msgstr ""
msgid "No nftables ruleset loaded."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:69
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:61
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:57
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:54
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:79
msgid "No password set!"
msgstr ""
msgid "Noise"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
msgid "Noise Margin (SNR)"
msgstr ""
msgid "Noise:"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
msgid "Non Pre-emptive CRC errors (CRC_P)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:330
msgid "Non-wildcard"
msgstr ""
msgid "Normal"
msgstr ""
-#: modules/luci-base/luasrc/view/error404.htm:8
+#: modules/luci-base/ucode/template/error404.ut:9
msgid "Not Found"
msgstr ""
msgid "Number of IGMP membership reports"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:474
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:479
msgid "Number of cached DNS entries, 10000 is maximum, 0 is no caching."
msgstr ""
msgid "On-link"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:672
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:743
msgid "One of hostname or MAC address must be specified!"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:472
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:19
msgid "Open list..."
msgstr ""
msgid "Options"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:526
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
msgid ""
"Options for the Network-ID. (Note: needs also Network-ID.) E.g. "
-"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</"
-"code>\" for default route. <code>0.0.0.0</code> means \"the address of the "
-"system running dnsmasq\"."
+"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</code>"
+"\" for default route. <code>0.0.0.0</code> means \"the address of the system "
+"running dnsmasq\"."
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:125
msgid "Options:"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
+msgid "Ordinal: lower comes first."
+msgstr ""
+
#: protocols/luci-proto-batman-adv/htdocs/luci-static/resources/protocol/batadv.js:55
msgid "Originator Interval"
msgstr ""
msgid "Pass-through (Mirror physical device to single MAC VLAN)"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:29
+#: modules/luci-base/ucode/template/sysauth.ut:29
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1690
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:51
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:114
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:103
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:24
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:19
msgid "Password"
msgstr ""
msgid "Pkts."
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:19
+#: modules/luci-base/ucode/template/sysauth.ut:19
msgid "Please enter your username and password."
msgstr ""
msgid "Policy: <strong>%h</strong> (%h)"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:579
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:21
msgid "Port"
msgstr "Poort"
msgid "Potential negation of: %s"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:38
msgid "Power Management Mode"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
msgid "Pre-emptive CRC errors (CRCP_P)"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:129
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:197
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:223
msgid "Quality"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
msgid "Query all available upstream resolvers."
msgstr ""
msgid "Raw hex-encoded bytes. Leave empty unless your ISP require this"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:345
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:350
msgid "Read <code>/etc/ethers</code> to configure the DHCP server."
msgstr ""
msgid "Reassociation Deadline"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
msgid "Rebind protection"
msgstr ""
msgstr ""
#: modules/luci-compat/luasrc/model/network/proto_relay.lua:153
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:611
#: protocols/luci-proto-relay/htdocs/luci-static/resources/protocol/relay.js:39
msgid "Relay"
msgstr ""
msgid "Required. Base64-encoded private key for this interface."
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Required. Path to the .yml config file for this interface."
+msgstr ""
+
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:587
msgid "Required. Public key of the WireGuard peer."
msgstr ""
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2197
-#: modules/luci-base/luasrc/view/sysauth.htm:39
+#: modules/luci-base/ucode/template/sysauth.ut:39
#: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
#: modules/luci-compat/luasrc/view/cbi/footer.htm:30
#: modules/luci-compat/luasrc/view/cbi/simpleform.htm:66
msgid "Resolv and Hosts Files"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:356
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:361
msgid "Resolv file"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:292
+msgid "Resolve specified FQDNs to an IP."
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/rpc.js:405
msgid "Resource not found"
msgstr ""
msgid "Restore backup"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
msgid ""
"Return answers to DNS queries matching the subnet from which the query was "
"received if multiple IPs are available."
msgid "Robustness"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:491
msgid ""
"Root directory for files served via TFTP. <em>Enable TFTP server</em> and "
"<em>TFTP server root</em> turn on the TFTP server and serve files from "
msgid "SNR"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "SRV"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:10
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:38
msgid "SSH Access"
msgid "Server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:524
msgid "Server address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:518
msgid "Server name"
msgstr ""
msgid "Setup routes for proxied IPv6 neighbours."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
msgid "Severely Errored Seconds (SES)"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:470
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:18
msgid "Show current backup file list"
msgstr ""
msgid "Signal / Noise"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
msgid "Signal Attenuation (SATN)"
msgstr ""
msgid "Size"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:473
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:478
msgid "Size of DNS query cache"
msgstr ""
msgid "Skip from backup files that are equal to those in /rom"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:42
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:35
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:46
msgid "Skip to content"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:41
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:34
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:45
msgid "Skip to navigation"
msgstr ""
msgid "Some fields are invalid, cannot save values!"
msgstr ""
-#: modules/luci-base/luasrc/view/error404.htm:9
+#: modules/luci-base/ucode/template/error404.ut:10
msgid "Sorry, the object you requested was not found."
msgstr ""
-#: modules/luci-base/luasrc/view/error500.htm:9
-msgid "Sorry, the server encountered an unexpected error."
-msgstr ""
-
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:442
msgid ""
"Sorry, there is no sysupgrade support present; a new firmware image must be "
msgid "Source port"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:505
msgid ""
"Special <abbr title=\"Preboot eXecution Environment\">PXE</abbr> boot "
"options for Dnsmasq."
msgid "Static address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:598
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:669
msgid ""
"Static leases are used to assign fixed IP addresses and symbolic hostnames "
"to DHCP clients. They are also required for non-dynamic interface "
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:16
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:541
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:929
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:9
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:9
msgid "Status"
msgstr ""
msgid "Strict filtering"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
msgid "Strict order"
msgstr ""
msgid "Submit"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
msgid "Suppress logging"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:373
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
msgid "Suppress logging of the routine operation for the DHCP protocol."
msgstr ""
msgid "Sync with browser"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:293
+msgid "Syntax: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "Syntax: <code>_service._proto.example.com</code>."
+msgstr ""
+
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:26
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:17
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:113
msgid "System log buffer size"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:79
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:86
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:71
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:67
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:81
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:64
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:89
msgid "System running in recovery (initramfs) mode."
msgstr ""
msgid "TCP:"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:490
msgid "TFTP server root"
msgstr ""
msgid "Table"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:56
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:66
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:187
"username instead of the user ID!"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:681
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:752
msgid "The IP address %h is already used by another static lease"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:761
msgid "The IP address is outside of any DHCP pool address range"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:520
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
msgid "The IP address of the boot server"
msgstr ""
"to be received and retransmitted which costs airtime)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:514
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
msgid "The hostname of the boot server"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/switch.js:139
msgid ""
-"The network ports on this device can be combined to several <abbr "
-"title=\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
+"The network ports on this device can be combined to several <abbr title="
+"\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
"communicate directly with each other. <abbr title=\"Virtual Local Area "
"Network\">VLAN</abbr>s are often used to separate different network "
"segments. Often there is by default one Uplink port for a connection to the "
msgid "The selected %s mode is incompatible with %s encryption"
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:11
+#: modules/luci-base/ucode/template/csrftoken.ut:11
msgid "The submitted security token is invalid or already expired!"
msgstr ""
"nftables rules is discouraged and may lead to incomplete traffic filtering."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:746
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:778
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:817
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:849
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:130
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:179
msgid "There are no active leases"
msgid "There are no changes to apply"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:70
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:58
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:55
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:80
msgid ""
"There is no password set on this router. Please configure a root password to "
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:16
msgid ""
"This is a list of shell glob patterns for matching files and directories to "
"include during sysupgrade. Modified files in /etc/config/ and certain other "
"ends with <code>...:2/64</code>"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:266
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:268
msgid "This is the only DHCP server in the local network."
msgstr ""
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:440
msgid ""
"To fully configure the local WireGuard interface from an existing (e.g. "
-"provider supplied) configuration file, use the <strong><a class=\"full-"
-"import\" href=\"#\">configuration import</a></strong> instead."
+"provider supplied) configuration file, use the <strong><a class=\"full-import"
+"\" href=\"#\">configuration import</a></strong> instead."
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2674
msgid "Unable to determine upstream interface"
msgstr ""
-#: modules/luci-base/luasrc/view/error404.htm:11
+#: modules/luci-base/ucode/template/error404.ut:12
msgid "Unable to dispatch"
msgstr ""
msgid "Unable to verify PIN"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
msgid "Unavailable Seconds (UAS)"
msgstr ""
"will be restarted to apply the updated configuration."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
msgid "Upstream resolvers will be queried in the order of the resolv file."
msgstr ""
"<abbr title=\"Domain Name System\">DNS</abbr> servers worden geraadpleegd in "
msgid "Uptime"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
msgid "Use <code>/etc/ethers</code>"
msgstr ""
msgid "Use system certificates for inner-tunnel"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:599
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:670
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC address</"
"em> identifies the host, the <em>IPv4 address</em> specifies the fixed "
msgid "User key (PEM encoded)"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:23
+#: modules/luci-base/ucode/template/sysauth.ut:23
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:112
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:101
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:56
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:18
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:13
msgid "Username"
msgstr ""
msgid "VXLANv6 (RFC7348)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
msgid ""
"Validate DNS replies and cache DNSSEC data, requires upstream to support "
"DNSSEC."
msgid "Vendor Class to send when requesting DHCP"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:408
msgid "Verify unsigned domain responses really come from unsigned domains."
msgstr ""
msgid "Weak"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+msgid "Weight"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1029
msgid ""
"When delegating prefixes to multiple downstreams, interfaces with a higher "
msgid "Wireless network is enabled"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:278
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:280
msgid "Write received DNS queries to syslog."
msgstr ""
"scripts like \"network\", your device might become inaccessible!</strong>"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:90
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:97
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
+msgid "You may add multiple records for the same Target."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:596
+msgid "You may add multiple records for the same domain."
+msgstr ""
+
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:78
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:92
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:73
msgid ""
"You must enable JavaScript in your browser or LuCI will not work properly."
msgid "ZRam Size"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:558
+msgid "_proto: _tcp, _udp, _sctp, _quic, … ."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:557
+msgid ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Note: while _http is "
+"possible, no browsers support SRV records.)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:454
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:152
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:163
msgid "any"
msgid "e.g: dump"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:726
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:756
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:797
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:827
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:101
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:148
msgid "expired"
msgid "unknown"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:456
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:724
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:754
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:461
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:795
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:825
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:99
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:146
msgid "unlimited"
msgid "« Back"
msgstr "« Terug"
+#~ msgid "Back to configuration"
+#~ msgstr "Terug naar de configuratie"
+
#~ msgid "Auto Refresh"
#~ msgstr "Automatisch Vernieuwen"
"Project-Id-Version: LuCI\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-04-20 09:40+0200\n"
-"PO-Revision-Date: 2022-10-17 13:26+0000\n"
+"PO-Revision-Date: 2022-10-25 10:20+0000\n"
"Last-Translator: Matthaiks <kitynska@gmail.com>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/openwrt/luci/pl/>"
"\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.15-dev\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:643
msgctxt "Yet unknown nftables table family (\"family\" table \"name\")"
msgstr "%.1f dB"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:123
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:117
msgid "%d Bit"
msgstr "%d Bit"
msgid "<abbr title=\"Router Advertisement\">RA</abbr>-Service"
msgstr "Usługa <abbr title=\"Router Advertisement\">RA</abbr>"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:294
+msgid ""
+"<code>/#/</code> matches any domain. <code>/example.com/</code> returns "
+"NXDOMAIN."
+msgstr ""
+"<code>/#/</code> pasuje do dowolnej domeny. <code>/example.com/</code> "
+"zwraca NXDOMAIN."
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+msgid ""
+"<code>/example.com/#</code> returns NULL addresses (<code>0.0.0.0</code> and "
+"<code>::</code>) for example.com and its subdomains."
+msgstr ""
+"<code>/example.com/#</code> zwraca adresy NULL (<code>0.0.0.0</code> i "
+"<code>::</code>) dla example.com i jego poddomen."
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:87
msgctxt "nft relational \">\" operator expression"
msgid "<var>%s</var> greater than <strong>%s</strong>"
msgid "ATM device number"
msgstr "Numer urządzenia ATM"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
msgid "ATU-C System Vendor ID"
msgstr "ID dostawcy systemu ATU-C"
msgid "Absent Interface"
msgstr "Nieaktywny interfejs"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:320
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
msgid "Accept DNS queries only from hosts whose address is on a local subnet."
msgstr ""
"Akceptuj zapytania DNS tylko od hostów, których adres znajduje się w "
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:171
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:177
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:274
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:165
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:268
msgid "Add key"
msgstr "Dodaj klucz"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:410
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:415
msgid "Add local domain suffix to names served from hosts files."
msgstr "Dodaj lokalny sufiks domeny do nazw urządzeń z pliku hosts."
msgid "Add to Whitelist"
msgstr "Dodaj do białej listy"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:367
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
msgid "Additional hosts files"
msgstr "Dodatkowe pliki hosts"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:417
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
msgid "Additional servers file"
msgstr "Dodatkowe pliki serwera"
msgid "Address to access local relay bridge"
msgstr "Adres dostępowy do \"relay bridge\""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:289
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:291
msgid "Addresses"
msgstr "Adresy"
msgid "Aggregate Originator Messages"
msgstr "Agregacja komunikatów inicjatora"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
msgid "Aggregate Transmit Power (ACTATP)"
msgstr "Agregacja siły transmisji (ACTATP)"
msgid "Alias of \"%s\""
msgstr "Alias \"%s\""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
msgid "All servers"
msgstr "Wszystkie serwery"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
msgid ""
"Allocate IP addresses sequentially, starting from the lowest available "
"address."
"Przydziel sekwencyjnie adresy IP, zaczynając od najmniejszego dostępnego "
"adresu."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
msgid "Allocate IPs sequentially"
msgstr "Przydzielaj adresy IP po kolei"
msgid "Allow listed only"
msgstr "Zezwól tylko wymienionym"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
msgid "Allow localhost"
msgstr "Zezwól na localhost"
msgid "Always on (kernel: default-on)"
msgstr "Zawsze włączony (kernel: domyślnie włączone)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:538
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
msgid "Always send DHCP Options. Sometimes needed, with e.g. PXELinux."
msgstr "Zawsze wysyłaj opcje DHCP. Czasami potrzebne, np. z PXELinux."
msgstr "Opcjonalny, krótki opis tego urządzenia"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1484
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
msgid "Annex"
msgstr "Annex"
msgid "Any zone"
msgstr "Dowolna strefa"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:532
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
msgid "Apply DHCP Options to this net. (Empty = all clients)."
msgstr "Zastosuj opcje DHCP do tej sieci. (Puste = wszystkie klienty)."
msgid "Authentication Type"
msgstr "Typ uwierzytelniania"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:265
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:267
msgid "Authoritative"
msgstr "Autorytatywny"
-#: modules/luci-base/luasrc/view/sysauth.htm:17
+#: modules/luci-base/ucode/template/sysauth.ut:17
#: themes/luci-theme-bootstrap/htdocs/luci-static/resources/view/bootstrap/sysauth.js:11
msgid "Authorization Required"
msgstr "Wymagana autoryzacja"
msgid "Avoid Bridge Loops"
msgstr "Unikaj pętli mostowych"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
msgid ""
"Avoid uselessly triggering dial-on-demand links (filters SRV/SOA records and "
"names with underscores)."
msgid "Back to Overview"
msgstr "Wróć do przeglądu"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:48
-msgid "Back to configuration"
-msgstr "Wróć do konfiguracji"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:826
msgid "Back to peer configuration"
msgstr "Powrót do konfiguracji peerów"
msgstr "Kopia zapasowa / Aktualizacja firmware"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:351
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:12
msgid "Backup file list"
msgstr "Lista plików kopii zapasowej"
msgstr "Interwał ramki (beacon)"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:352
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:46
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
msgid "Bind NTP server"
msgstr "Powiąż serwer NTP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:326
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:331
msgid "Bind dynamically to interfaces rather than wildcard address."
msgstr "Dynamiczne powiązanie z interfejsami, a nie z adresami zastępczymi."
msgid "Bind interface"
msgstr "Interfejs wiązań"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:595
+msgid ""
+"Bind service records to a domain name: specify the location of services."
+msgstr "Powiąż rekordy usług z nazwą domeny: określ lokalizację usług."
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:556
+msgid ""
+"Bind service records to a domain name: specify the location of services. See "
+"<a href=\"%s\">RFC2782</a>."
+msgstr ""
+"Powiąż rekordy usług z nazwą domeny: określ lokalizację usług. Zobacz <a "
+"href=\"%s\">RFC2782</a>."
+
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gre.js:59
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gretap.js:64
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/grev6.js:64
msgid "CLAT configuration failed"
msgstr "CLAT konfiguracja nie powiodła się"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
+msgid "CNAME or fqdn"
+msgstr "CNAME lub fqdn"
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/processes.js:72
msgid "CPU usage (%)"
msgstr "Użycie CPU"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:295
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:209
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:487
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:203
msgid "Cancel"
msgstr "Anuluj"
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4392
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:173
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:179
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:167
msgid "Close"
msgstr "Zamknij"
"Zamknij nieaktywne połączenia po określonym czasie podanym w sekundach, "
"wpisz 0, aby uzyskać stałe połączenie"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:49
-msgid "Close list..."
-msgstr "Zamknij listę..."
-
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:44
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:63
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2184
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:391
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:352
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:355
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:72
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:66
msgid "Collecting data..."
msgstr "Trwa zbieranie danych..."
msgid "Compute outgoing checksum (optional)."
msgstr "Obliczanie sumy kontrolnej wychodzącej (opcjonalnie)."
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Config File"
+msgstr "Plik konfiguracyjny"
+
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4375
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
msgid "Configuration"
msgid "DAE-Secret"
msgstr "Sekret DAE"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:530
msgid "DHCP Options"
msgstr "Opcje DHCP"
msgid "DNS"
msgstr "DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:282
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:284
msgid "DNS forwardings"
msgstr "Przekazywania DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:445
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:450
msgid "DNS query port"
msgstr "Port wywołania <abbr title=\"Domain Name System\">DNS</abbr>"
msgid "DNS search domains"
msgstr "Domeny wyszukiwania DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:443
msgid "DNS server port"
msgstr "Port serwera <abbr title=\"Domain Name System\">DNS</abbr>"
msgid "DNS-Label / FQDN"
msgstr "DNS-Label/FQDN"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
msgid "DNSSEC"
msgstr "DNSSEC"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:407
msgid "DNSSEC check unsigned"
msgstr "Sprawdzanie DNSSEC bez podpisu"
msgstr "Adres AFTR DS-Lite"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1481
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:44
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:45
msgid "DSL"
msgstr "DSL"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:14
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:15
msgid "DSL Status"
msgstr "Status DSL"
msgstr "Interwał DTIM"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:59
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:700
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:771
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:136
msgid "DUID"
msgstr "DUID"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
msgid "Data Rate"
msgstr "Szybkość przesyłania danych"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:205
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:211
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:199
msgid "Delete key"
msgstr "Usuń klucz"
msgid "Disassociate On Low Acknowledgement"
msgstr "Rozłączaj przy niskim stanie ramek ACK"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:302
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
msgid ""
"Discard upstream responses containing <a href=\"%s\">RFC1918</a> addresses."
msgstr ""
msgid "Distributed ARP Table"
msgstr "Rozproszona tablica ARP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:548
msgid ""
"Dnsmasq instance to which this boot section is bound. If unspecified, the "
"section is valid for all dnsmasq instances."
"\">DHCP</abbr> i serwer przekazujący (forwarder) <abbr title=\"Domain Name "
"System\">DNS</abbr>."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:419
msgid "Do not cache negative replies, e.g. for non-existent domains."
msgstr "Nie buforuj odpowiedzi negatywnych, np. dla nieistniejących domen."
msgid "Do not create host route to peer (optional)."
msgstr "Nie twórz trasy hosta do peera (opcjonalnie)."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:262
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:264
msgid "Do not forward DNS queries without dots or domain parts."
msgstr "Nie przekazuj dalej zapytań DNS bez kropek lub części domeny."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
msgid "Do not forward reverse lookups for local networks."
msgstr "Nie przekazuj wyszukiwań wstecznych (lookups) do sieci lokalnych."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:339
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
msgid "Do not listen on the specified interfaces."
msgstr "Zapobiegaj nasłuchiwaniu na tych interfejsach."
msgstr "Czy jesteś pewien, że chcesz usunąć \"%s\" ?"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:206
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:200
msgid "Do you really want to delete the following SSH key?"
msgstr "Czy na pewno chcesz usunąć następujący klucz SSH?"
msgid "Do you want to replace the current keys?"
msgstr "Czy chcesz zastąpić obecne klucze?"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:593
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:606
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:664
msgid "Domain"
msgstr "Domena"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:261
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:263
msgid "Domain required"
msgstr "Wymagana domena"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:316
msgid "Domain whitelist"
msgstr "Białe listy (dozwolone domeny)"
msgid "Enable Single DES"
msgstr "Zezwól na Single DES"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:480
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
msgid "Enable TFTP server"
msgstr "Włącz serwer TFTP"
msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets."
msgstr "Włącz flagę DF (Nie fragmentuj) pakietów szyfrujących."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:481
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
msgid "Enable the built-in single-instance TFTP server."
msgstr "Włącz wbudowany jednoinstancyjny serwer TFTP."
msgid "Error getting PublicKey"
msgstr "Błąd uzyskiwania klucza publicznego"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
msgid "Errored seconds (ES)"
msgstr "Ilość błędów (ES)"
msgid "Every second (fast, 1)"
msgstr "Co sekundę (szybko, 1)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:343
msgid "Exclude interfaces"
msgstr "Wyklucz interfejsy"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
msgid ""
"Exempt <code>127.0.0.0/8</code> and <code>::1</code> from rebinding checks, "
"e.g. for RBL services."
msgid "Existing device"
msgstr "Istniejące urządzenie"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:409
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
msgid "Expand hosts"
msgstr "Rozwiń hosty"
msgid "File"
msgstr "Plik"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
msgid ""
"File listing upstream resolvers, optionally domain-specific, e.g. "
"<code>server=1.2.3.4</code>, <code>server=/domain/1.2.3.4</code>."
msgid "File not accessible"
msgstr "Plik niedostępny"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:354
msgid "File to store DHCP lease information."
msgstr "Plik do przechowywania informacji o dzierżawie DHCP."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:362
msgid "File with upstream resolvers."
msgstr "Plik ze źródłowymi resolwerami."
#: modules/luci-base/htdocs/luci-static/resources/ui.js:2846
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:507
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:512
msgid "Filename"
msgstr "Nazwa pliku"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:493
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:498
msgid "Filename of the boot image advertised to clients."
msgstr "Rozgłaszana nazwa pliku obrazu startowego do klientów."
msgid "Filesystem"
msgstr "System plików"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
msgid "Filter private"
msgstr "Filtruj prywatne"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
msgid "Filter useless"
msgstr "Filtruj bezużyteczne"
msgid "Firmware Version"
msgstr "Wersja firmware"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:446
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:451
msgid "Fixed source port for outbound DNS queries."
msgstr "Stały port źródłowy dla wychodzących zapytań DNS."
msgid "Flashing…"
msgstr "Trwa wgrywanie obrazu…"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:686
msgid "Force"
msgstr "Wymuś"
msgid "Force use of NAT-T"
msgstr "Wymuś użycie NAT-T"
-#: modules/luci-base/luasrc/view/csrftoken.htm:8
+#: modules/luci-base/ucode/template/csrftoken.ut:8
msgid "Form token mismatch"
msgstr "Niepoprawna forma tokenu"
"Przekazuj komunikaty DHCPv6 między wyznaczonym interfejsem głównym a "
"interfejsami podrzędnymi."
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
msgid "Forward Error Correction Seconds (FECS)"
msgstr "Sekundy przekazywania korekty błędów (FECS)"
msgid "Global network options"
msgstr "Globalne opcje sieciowe"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:82
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:74
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:70
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:84
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:67
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:92
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
msgid "Go to firmware upgrade..."
msgstr "Przejdź do aktualizacji firmware..."
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:72
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:64
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:60
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:57
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:82
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
msgid "Go to password configuration..."
msgstr "Przejdź do konfiguracji hasła..."
msgid "Hang Up"
msgstr "Rozłącz"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
msgid "Header Error Code Errors (HEC)"
msgstr "Błędy kodu nagłówka (HEC)"
msgid "Host expiry timeout"
msgstr "Czas wygasania hosta"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
msgid "Host requests this filename from the boot server."
msgstr "Host żąda tej nazwy pliku z serwera startowego."
msgstr "Zawartość znacznika Host-Uniq"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:38
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:607
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:678
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:54
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:87
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:135
msgid "Hostnames"
msgstr "Nazwy hostów"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:551
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:622
msgid ""
"Hostnames are used to bind a domain name to an IP address. This setting is "
"redundant for hostnames already configured with static leases, but it can be "
msgid "IP Protocol"
msgstr "Protokół IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:260
msgid "IP Sets"
msgstr "Zestawy IP"
msgid "IP Type"
msgstr "Typ IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:563
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:634
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:178
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:204
msgid "IP address"
msgid "IP protocol"
msgstr "Protokół IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:660
msgid "IP set"
msgstr "Zestaw IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:300
msgid "IP sets"
msgstr "Zestawy IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:437
msgid "IPs to override with NXDOMAIN"
msgstr "Podrobione statystyki NXDOMAIN"
#: modules/luci-base/htdocs/luci-static/resources/protocol/static.js:178
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:736
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:88
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:164
msgid "IPv4 address"
msgid "IPv6 suffix"
msgstr "Sufiks IPv6"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:706
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:777
msgid "IPv6 suffix (hex)"
msgstr "Sufiks <abbr title=\"Internet Protocol Version 6\">IPv6</abbr>(hex)"
"abbr> będzie dostępna. Uwaga - plik wymiany jest dużo wolniejszy niż pamięć "
"<abbr title=\"Random Access Memory\">RAM</abbr>."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:363
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:368
msgid "Ignore <code>/etc/hosts</code>"
msgstr "Ignoruj <code>/etc/hosts</code>"
msgid "Ignore interface"
msgstr "Ignoruj interfejs"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:352
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
msgid "Ignore resolv file"
msgstr "Ignoruj plik resolv"
"unikania pętli mostowych w celu uniknięcia pętli rozgłoszeniowych, które "
"mogą doprowadzić do zatrzymania całej sieci LAN."
-#: modules/luci-base/luasrc/view/csrftoken.htm:13
+#: modules/luci-base/ucode/template/csrftoken.ut:13
msgid ""
"In order to prevent unauthorized access to the system, your request has been "
"blocked. Click \"Continue »\" below to return to the previous page."
msgid "Install protocol extensions..."
msgstr "Instaluj rozszerzenia protokołów..."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:547
msgid "Instance"
msgstr "Instancja"
msgid "Internal"
msgstr "Wewnętrzny"
-#: modules/luci-base/luasrc/view/error500.htm:8
-msgid "Internal Server Error"
-msgstr "Wewnętrzny błąd serwera"
-
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:285
msgid "Interval For Sending Learning Packets"
msgstr "Interwał wysyłania pakietów edukacyjnych"
msgid "Invalid hexadecimal value"
msgstr "Nieprawidłowa wartość szesnastkowa"
-#: modules/luci-base/luasrc/view/sysauth.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:37
+#: modules/luci-base/ucode/template/sysauth.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:32
msgid "Invalid username and/or password! Please try again."
msgstr "Niewłaściwy login i/lub hasło! Spróbuj ponownie."
"Wygląda na to, że próbujesz wgrać obraz, który nie mieści się w pamięci "
"flash, sprawdź plik obrazu!"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:89
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:96
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:77
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:91
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:72
msgid "JavaScript required!"
msgstr "JavaScript jest wymagany!"
msgid "Language and Style"
msgstr "Wygląd i język"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:560
+msgid ""
+"Larger weights (of the same prio) are given a proportionately higher "
+"probability of being selected."
+msgstr ""
+"Większe ważności (tego samego priorytetu) mają proporcjonalnie większe "
+"prawdopodobieństwo wyboru."
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:575
msgid "Last member interval"
msgstr "Interwał ostatniego użytkownika"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
msgid "Latency"
msgstr "Opoźnienie"
msgid "Learn routes"
msgstr "Poznaj trasy"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:348
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:353
msgid "Lease file"
msgstr "Plik dzierżawy"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:697
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:768
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:679
msgid "Lease time"
msgstr "Czas dzierżawy"
msgid "Limit"
msgstr "Limit"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
msgid "Line Attenuation (LATN)"
msgstr "Tłumienie linii (LATN)"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
msgid "Line Mode"
msgstr "Tryb linii"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:17
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
msgid "Line State"
msgstr "Stan linii"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
msgid "Line Uptime"
msgstr "Czas działania linii"
msgid "Link layer header bits %d-%d"
msgstr "Bity nagłówka warstwy łącza %d-%d"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
msgid "List of IP addresses to convert into NXDOMAIN responses."
msgstr "Lista adresów IP do konwersji na odpowiedzi NXDOMAIN."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:296
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:581
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:652
msgid "List of IP sets to populate with the specified domain IPs."
msgstr ""
"Lista zestawów adresów IP do wypełnienia określonymi adresami IP domeny."
msgid "List of SSH key files for auth"
msgstr "Lista kluczy SSH do autoryzacji"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:317
msgid "List of domains to allow RFC1918 responses for."
msgstr "Lista domen zezwalających na odpowiedzi RFC1918."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:290
-msgid "List of domains to force to an IP address."
-msgstr "Lista wymuszonych domen na adres IP."
-
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:283
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:285
msgid "List of upstream resolvers to forward queries to."
msgstr "Lista źródłowych resolwerów, do których będą przekazywane zapytania."
msgid "Listen Port"
msgstr "Port nasłuchiwania"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:332
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:337
msgid "Listen interfaces"
msgstr "Nasłuchuj interfejsy"
msgstr ""
"Słuchaj tylko na podanym interfejsie lub, jeśli nie określono, na wszystkich"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:333
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
msgid ""
"Listen only on the specified interfaces, and loopback if not excluded "
"explicitly."
msgid "ListenPort setting is invalid"
msgstr "Ustawienie portu nasłuchiwania jest nieprawidłowe"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:439
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:444
msgid "Listening port for inbound DNS queries."
msgstr "Port nasłuchu dla przychodzących zapytań DNS."
msgstr "Ładowanie zawartości katalogu.…"
#: modules/luci-base/htdocs/luci-static/resources/luci.js:1942
-#: modules/luci-base/luasrc/view/view.htm:4
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:45
+#: modules/luci-base/ucode/template/view.ut:4
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:40
msgid "Loading view…"
msgstr "Ładowanie widoku…"
msgid "Local ULA"
msgstr "Lokalny ULA"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:273
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:275
msgid "Local domain"
msgstr "Domena lokalna"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:274
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:276
msgid "Local domain suffix appended to DHCP names and hosts file entries."
msgstr ""
"Przyrostek (sufiks) domeny przyłączany do nazw DHCP i wpisów w pliku hosts."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:269
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:271
msgid "Local server"
msgstr "Serwer lokalny"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:319
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:324
msgid "Local service only"
msgstr "Tylko usługa lokalna"
msgid "Local wireguard key"
msgstr "Lokalny klucz Wireguard"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
msgid "Localise queries"
msgstr "Zapytania lokalizujące"
msgid "Log output level"
msgstr "Poziom logowania"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:277
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:279
msgid "Log queries"
msgstr "Loguj zapytania"
msgstr ""
"Sieć logiczna, do której tunel zostanie dodany (zmostkowy) (opcjonalnie)."
-#: modules/luci-base/luasrc/view/sysauth.htm:38
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:41
+#: modules/luci-base/ucode/template/sysauth.ut:38
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:36
msgid "Login"
msgstr "Zaloguj"
msgid "Loose filtering"
msgstr "Luźne filtrowanie"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
msgid "Loss of Signal Seconds (LOSS)"
msgstr "Utrata sygnału (LOSS)"
msgid "Lowest leased address as offset from the network address."
msgstr "Najniższy wydzierżawiony adres jako offset dla adresu sieci."
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/footer.ut:12
+msgid "Lua compatibility mode active"
+msgstr "Aktywny tryb zgodności Lua"
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:48
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:83
msgid "MAC"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:591
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:40
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:619
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1164
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2177
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:56
msgid "MTU"
msgstr "MTU"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:259
+msgid "MX"
+msgstr "MX"
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:303
msgid ""
"Make sure to clone the root filesystem using something like the commands "
msgid "Max <abbr title=\"Router Advertisement\">RA</abbr> interval"
msgstr "Maksymalny odstęp czasu <abbr title=\"Router Advertisement\">RA</abbr>"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
msgid "Max. Attainable Data Rate (ATTNDR)"
msgstr "Maksymalna osiągalna przepustowość danych (ATTNDR)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:457
msgid "Max. DHCP leases"
msgstr ""
"<abbr title=\"Maksymalna ilość\">Maks.</abbr> dzierżaw <abbr title=\"Dynamic "
"Host Configuration Protocol\">DHCP</abbr>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:459
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:464
msgid "Max. EDNS0 packet size"
msgstr ""
"<abbr title=\"Maksymalny\">Maks.</abbr> rozmiar pakietu <abbr title="
"\"Extension Mechanisms for Domain Name System\">EDNS0</abbr>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:466
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:471
msgid "Max. concurrent queries"
msgstr "<abbr title=\"Maksymalna ilość\">Maks.</abbr> jednoczesnych zapytań"
msgid "Maximum allowed Listen Interval"
msgstr "Maksymalny dozwolony odstęp czasu"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:453
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:458
msgid "Maximum allowed number of active DHCP leases."
msgstr "Maksymalna dozwolona liczba aktywnych dzierżaw DHCP."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:467
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:472
msgid "Maximum allowed number of concurrent DNS queries."
msgstr "Maksymalna dozwolona liczba jednoczesnych zapytań DNS."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:460
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:465
msgid "Maximum allowed size of EDNS0 UDP packets."
msgstr "Maksymalny dozwolony rozmiar pakietów EDNS.0 UDP."
msgid "Maximum transmit power"
msgstr "Maksymalna moc nadawania"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:394
msgid "May prevent VoIP or other services from working."
msgstr "Może uniemożliwić działanie VoIP lub innych usług."
msgid "Name of the tunnel device"
msgstr "Nazwa urządzenia tunelowego"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:46
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:39
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:50
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:44
msgid "Navigation"
msgstr "Nawigacja"
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:10
+msgid "Nebula Network"
+msgstr "Sieć Nebula"
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:653
msgid "Neighbour cache validity"
msgstr "Ważność pamięci podręcznej sąsiada"
msgid "Network address"
msgstr "Adres sieci"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:492
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:497
msgid "Network boot image"
msgstr "Sieciowy obraz startowy"
msgid "Network interface"
msgstr "Interfejs sieciowy"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:536
msgid "Network-ID"
msgstr "Identyfikator sieci"
msgid "Never"
msgstr "Nigdy"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:270
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:272
msgid ""
"Never forward matching domains and subdomains, resolve from DHCP or hosts "
"files only."
msgid "No RX signal"
msgstr "Brak sygnału RX"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:80
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:87
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:68
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:82
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:65
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:90
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:70
msgid ""
"No changes to settings will be stored and are lost after rebooting. This "
"mode should only be used to install a firmware upgrade"
msgid "No entries in this directory"
msgstr "Brak wpisów w tym katalogu"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:82
-msgid "No files found"
-msgstr "Nie znaleziono plików"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:833
msgid ""
"No fixed interface listening port defined, peers might not be able to "
msgid "No more slaves available, can not save interface"
msgstr "Brak dostępnych niewolników, nie można zapisać interfejsu"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:413
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
msgid "No negative cache"
msgstr "Wyłącz buforowanie negatywnych odpowiedzi"
msgid "No nftables ruleset loaded."
msgstr "Nie załadowano zestawu reguł nftables."
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:69
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:61
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:57
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:54
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:79
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:59
msgid "No password set!"
msgstr "Nie ustawiono hasła!"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:146
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:283
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:140
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:277
msgid "No public keys present yet."
msgstr "Nie istnieją jeszcze klucze publiczne."
msgid "Noise"
msgstr "Szum"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
msgid "Noise Margin (SNR)"
msgstr "Margines szumów (SNR)"
msgid "Noise:"
msgstr "Szum:"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
msgid "Non Pre-emptive CRC errors (CRC_P)"
msgstr "Nieprzewidziane błedy CRC (CRC_P)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:330
msgid "Non-wildcard"
msgstr "Bez symboli wieloznacznych"
msgid "Normal"
msgstr "Normalny"
-#: modules/luci-base/luasrc/view/error404.htm:8
+#: modules/luci-base/ucode/template/error404.ut:9
msgid "Not Found"
msgstr "Nie znaleziono"
msgid "Number of IGMP membership reports"
msgstr "Liczba raportów członkowskich IGMP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:474
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:479
msgid "Number of cached DNS entries, 10000 is maximum, 0 is no caching."
msgstr ""
"Liczba buforowanych wpisów DNS (maksymalnie 10000, 0 oznacza brak pamięci "
msgid "On-link"
msgstr "Trasa łącza"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:672
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:743
msgid "One of hostname or MAC address must be specified!"
msgstr "Nazwa hosta lub adres MAC musi być podany!"
msgstr "Otwórz przegląd reguł iptables…"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:472
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:19
msgid "Open list..."
msgstr "Otwórz listę..."
msgid "Options"
msgstr "Opcje"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:526
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
msgid ""
"Options for the Network-ID. (Note: needs also Network-ID.) E.g. "
"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</code>"
"systemu z uruchomionym dnsmasq\"."
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:125
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:119
msgid "Options:"
msgstr "Opcje:"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
+msgid "Ordinal: lower comes first."
+msgstr "Porządkowa: niższe jest pierwsze."
+
#: protocols/luci-proto-batman-adv/htdocs/luci-static/resources/protocol/batadv.js:55
msgid "Originator Interval"
msgstr "Interwał inicjatora"
msgstr ""
"Pass-through (kopia lustrzana urządzenia fizycznego do pojedynczego MAC VLAN)"
-#: modules/luci-base/luasrc/view/sysauth.htm:29
+#: modules/luci-base/ucode/template/sysauth.ut:29
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1690
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:51
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:114
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:103
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:24
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:19
msgid "Password"
msgstr "Hasło"
msgstr "Hasło2"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:266
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:260
msgid "Paste or drag SSH key file…"
msgstr "Wklej lub przeciągnij plik klucza SSH…"
msgid "Pkts."
msgstr "Pktw."
-#: modules/luci-base/luasrc/view/sysauth.htm:19
+#: modules/luci-base/ucode/template/sysauth.ut:19
msgid "Please enter your username and password."
msgstr "Proszę wprowadzić swoją nazwę użytkownika i hasło."
msgid "Policy: <strong>%h</strong> (%h)"
msgstr "Polityka: <strong>%h</strong> (%h)"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:579
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:21
msgid "Port"
msgstr "Port"
msgid "Potential negation of: %s"
msgstr "Potencjalne odrzucenie: %s"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:38
msgid "Power Management Mode"
msgstr "Tryb zarządzania energią"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
msgid "Pre-emptive CRC errors (CRCP_P)"
msgstr "Przewidziane błedy CRC (CRCP_P)"
"Główny staje się aktywnym niewolnikiem za każdym razem, gdy wróci (zawsze 0)"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:129
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:197
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:223
msgstr "Klucz publiczny: %h"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:290
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:284
msgid ""
"Public keys allow for the passwordless SSH logins with a higher security "
"compared to the use of plain passwords. In order to upload a new key to the "
msgid "Quality"
msgstr "Jakość"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
msgid "Query all available upstream resolvers."
msgstr "Zapytaj o wszystkie dostępne źródłowe resolwery."
"Surowe bajty kodowane szesnastkowo. Pozostaw puste, chyba że wymaga tego "
"dostawca internetowy"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:345
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:350
msgid "Read <code>/etc/ethers</code> to configure the DHCP server."
msgstr ""
"Przejrzyj plik <code>/etc/ethers</code>, aby skonfigurować serwer DHCP."
msgid "Reassociation Deadline"
msgstr "Termin reasocjacji"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
msgid "Rebind protection"
msgstr "Przypisz ochronę"
"mniejsza lub równa określonej wartości"
#: modules/luci-compat/luasrc/model/network/proto_relay.lua:153
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:611
#: protocols/luci-proto-relay/htdocs/luci-static/resources/protocol/relay.js:39
msgid "Relay"
msgstr "Przekaźnik"
msgstr ""
"Wymagane. Klucz prywatny zakodowany w formacie Base64 dla tego interfejsu."
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Required. Path to the .yml config file for this interface."
+msgstr "Wymagane. Ścieżka do pliku konfiguracyjnego .yml dla tego interfejsu."
+
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:587
msgid "Required. Public key of the WireGuard peer."
msgstr "Wymagane. Klucz publiczny peera WireGuard."
msgstr "Polityka reelekcji głównego niewolnika"
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2197
-#: modules/luci-base/luasrc/view/sysauth.htm:39
+#: modules/luci-base/ucode/template/sysauth.ut:39
#: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
#: modules/luci-compat/luasrc/view/cbi/footer.htm:30
#: modules/luci-compat/luasrc/view/cbi/simpleform.htm:66
msgid "Resolv and Hosts Files"
msgstr "Pliki resolv i hosts"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:356
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:361
msgid "Resolv file"
msgstr "Plik resolv"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:292
+msgid "Resolve specified FQDNs to an IP."
+msgstr "Lista wymuszonych domen na adres IP."
+
#: modules/luci-base/htdocs/luci-static/resources/rpc.js:405
msgid "Resource not found"
msgstr "Nie znaleziono zasobu"
msgid "Restore backup"
msgstr "Przywróć kopię zapasową"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
msgid ""
"Return answers to DNS queries matching the subnet from which the query was "
"received if multiple IPs are available."
msgid "Robustness"
msgstr "Wytrzymałość"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:491
msgid ""
"Root directory for files served via TFTP. <em>Enable TFTP server</em> and "
"<em>TFTP server root</em> turn on the TFTP server and serve files from "
msgid "SNR"
msgstr "SNR"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "SRV"
+msgstr "SRV"
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:10
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:38
msgid "SSH Access"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:289
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:51
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:283
msgid "SSH-Keys"
msgstr "Klucze SSH"
msgid "Server"
msgstr "Serwer"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:524
msgid "Server address"
msgstr "Adres serwera"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:518
msgid "Server name"
msgstr "Nazwa serwera"
msgid "Setup routes for proxied IPv6 neighbours."
msgstr "Ustawienie tras dla sąsiadów IPv6 z proxy."
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
msgid "Severely Errored Seconds (SES)"
msgstr "Ilość poważnych błedów (SES)"
msgstr "Krótki wstęp"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:470
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:18
msgid "Show current backup file list"
msgstr "Pokaż aktualną listę plików kopii zapasowej"
msgid "Signal / Noise"
msgstr "Sygnał/Szum"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
msgid "Signal Attenuation (SATN)"
msgstr "Tłumienie sygnału (SATN)"
msgid "Size"
msgstr "Rozmiar"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:473
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:478
msgid "Size of DNS query cache"
msgstr "Rozmiar pamięci podręcznej zapytań DNS"
msgid "Skip from backup files that are equal to those in /rom"
msgstr "Pomiń pliki kopii zapasowej, które są równe plikom w /rom"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:42
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:35
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:46
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:40
msgid "Skip to content"
msgstr "Pomiń do zawartości"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:41
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:34
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:45
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:39
msgid "Skip to navigation"
msgstr "Pomiń do nawigacji"
msgid "Some fields are invalid, cannot save values!"
msgstr "Wartości pewnych pól są niewłaściwe, nie mogę ich zachować!"
-#: modules/luci-base/luasrc/view/error404.htm:9
+#: modules/luci-base/ucode/template/error404.ut:10
msgid "Sorry, the object you requested was not found."
msgstr "Przepraszamy, ale żądany obiekt nie został znaleziony."
-#: modules/luci-base/luasrc/view/error500.htm:9
-msgid "Sorry, the server encountered an unexpected error."
-msgstr "Przepraszamy, ale serwer napotkał nieoczekiwany błąd."
-
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:442
msgid ""
"Sorry, there is no sysupgrade support present; a new firmware image must be "
msgid "Source port"
msgstr "Źródłowy port"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:505
msgid ""
"Special <abbr title=\"Preboot eXecution Environment\">PXE</abbr> boot "
"options for Dnsmasq."
msgid "Static address"
msgstr "Stały adres"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:598
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:669
msgid ""
"Static leases are used to assign fixed IP addresses and symbolic hostnames "
"to DHCP clients. They are also required for non-dynamic interface "
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:16
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:541
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:929
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:9
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:9
msgid "Status"
msgstr "Status"
msgid "Strict filtering"
msgstr "Filtrowanie ścisłe"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
msgid "Strict order"
msgstr "Zachowaj kolejność"
msgid "Submit"
msgstr "Prześlij"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
msgid "Suppress logging"
msgstr "Pomiń rejestrowanie"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:373
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
msgid "Suppress logging of the routine operation for the DHCP protocol."
msgstr "Pomiń rejestrowanie rutynowych operacji dla protokołu DHCP."
msgid "Sync with browser"
msgstr "Synchronizuj z przeglądarką"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:293
+msgid "Syntax: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+msgstr "Składnia: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "Syntax: <code>_service._proto.example.com</code>."
+msgstr "Składnia: <code>_service._proto.example.com</code>."
+
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:26
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:17
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:113
msgid "System log buffer size"
msgstr "Rozmiar bufora dziennika systemowego"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:79
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:86
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:71
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:67
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:81
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:64
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:69
msgid "System running in recovery (initramfs) mode."
msgstr "System działa w trybie odzyskiwania (initramfs)."
msgid "TCP:"
msgstr "TCP:"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:490
msgid "TFTP server root"
msgstr "Katalog główny serwera TFTP"
msgid "Table"
msgstr "Tablica"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:56
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:66
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:187
"Konfiguracja aktualizacji punktu końcowego HE.net uległa zmianie, musisz "
"teraz użyć zwykłej nazwy użytkownika zamiast ID użytkownika!"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:681
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:752
msgid "The IP address %h is already used by another static lease"
msgstr "Adres IP %h jest już używany przez inną statyczną dzierżawę"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:761
msgid "The IP address is outside of any DHCP pool address range"
msgstr "Adres IP jest poza zakresem adresów puli DHCP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:520
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
msgid "The IP address of the boot server"
msgstr "Adres IP serwera startowego"
"WireGuard w celu nawiązania połączenia z tym urządzeniem."
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:172
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:166
msgid "The given SSH public key has already been added."
msgstr "Podany klucz publiczny SSH został już dodany."
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:178
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:172
msgid ""
"The given SSH public key is invalid. Please supply proper public RSA, "
"ED25519 or ECDSA keys."
"dodatkowego przeskoku (pakiet musi zostać odebrany i ponownie przesłany, co "
"kosztuje czas emisji)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:514
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
msgid "The hostname of the boot server"
msgstr "Nazwa hosta serwera startowego"
msgid "The selected %s mode is incompatible with %s encryption"
msgstr "Wybrany tryb %s jest niekompatybilny z szyfrowaniem %s"
-#: modules/luci-base/luasrc/view/csrftoken.htm:11
+#: modules/luci-base/ucode/template/csrftoken.ut:11
msgid "The submitted security token is invalid or already expired!"
msgstr "Zgłoszony token bezpieczeństwa jest nieważny lub wygasł!"
"W systemie są obecne starsze reguły iptables. Mieszanie reguł iptables i "
"nftables jest odradzane i może prowadzić do niekompletnego filtrowania ruchu."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:746
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:778
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:817
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:849
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:130
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:179
msgid "There are no active leases"
msgid "There are no changes to apply"
msgstr "Nie ma żadnych zmian do zastosowania"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:70
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:58
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:55
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:80
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:60
msgid ""
"There is no password set on this router. Please configure a root password to "
"protect the web interface."
msgstr "Nie wygląda to na ważny plik PEM"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:16
msgid ""
"This is a list of shell glob patterns for matching files and directories to "
"include during sysupgrade. Modified files in /etc/config/ and certain other "
"kończący się z <code>...:2/64</code>"
# w tłumaczeniu pojawiła się spacja po DHCP</abbr> co powoduje niepoprawne wyświetlanie się strony z lang PL
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:266
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:268
msgid "This is the only DHCP server in the local network."
msgstr "To jest jedyny serwer DHCP w sieci lokalnej."
msgid "Unable to determine upstream interface"
msgstr "Nie można określić interfejsu źródłowego"
-#: modules/luci-base/luasrc/view/error404.htm:11
+#: modules/luci-base/ucode/template/error404.ut:12
msgid "Unable to dispatch"
msgstr "Nie można wysłać"
msgid "Unable to verify PIN"
msgstr "Nie można zweryfikować kodu PIN"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
msgid "Unavailable Seconds (UAS)"
msgstr "Czas niedostępnośći (UAS)"
msgstr "Odmontuj"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:121
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:115
msgid "Unnamed key"
msgstr "Klucz bez nazwy"
"a sieć zostanie ponownie uruchomiona w celu zastosowania zaktualizowanej "
"konfiguracji."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
msgid "Upstream resolvers will be queried in the order of the resolv file."
msgstr ""
"Odpytywania źródłowych resolwerów będą odbywać się w kolejności pliku resolv."
msgid "Uptime"
msgstr "Czas pracy"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
msgid "Use <code>/etc/ethers</code>"
msgstr "Użyj <code>/etc/ethers</code>"
msgid "Use system certificates for inner-tunnel"
msgstr "Użyj certyfikatów systemowych dla tunelu wewnętrznego"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:599
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:670
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC address</"
"em> identifies the host, the <em>IPv4 address</em> specifies the fixed "
msgid "User key (PEM encoded)"
msgstr "Klucz użytkownika (zakodowany PEM)"
-#: modules/luci-base/luasrc/view/sysauth.htm:23
+#: modules/luci-base/ucode/template/sysauth.ut:23
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:112
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:101
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:56
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:18
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:13
msgid "Username"
msgstr "Nazwa użytkownika"
msgid "VXLANv6 (RFC7348)"
msgstr "VXLANv6 (RFC7348)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
msgid ""
"Validate DNS replies and cache DNSSEC data, requires upstream to support "
"DNSSEC."
msgid "Vendor Class to send when requesting DHCP"
msgstr "Klasa producenta do wysłania podczas żądania DHCP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:408
msgid "Verify unsigned domain responses really come from unsigned domains."
msgstr ""
"Sprawdź, czy odpowiedzi z niepodpisanych domen naprawdę pochodzą z "
msgid "Weak"
msgstr "Słabe"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+msgid "Weight"
+msgstr "Ważność"
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1029
msgid ""
"When delegating prefixes to multiple downstreams, interfaces with a higher "
msgid "Wireless network is enabled"
msgstr "Sieć bezprzewodowa jest włączona"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:278
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:280
msgid "Write received DNS queries to syslog."
msgstr "Zapisz otrzymane zapytania DNS do dziennika systemowego."
"Jeśli wyłączysz podstawowe skrypty typu \"network\", urządzenie może stać "
"się nieosiągalne!</strong>"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:90
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:97
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
+msgid "You may add multiple records for the same Target."
+msgstr "Możesz dodać wiele rekordów dla tego samego celu."
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:596
+msgid "You may add multiple records for the same domain."
+msgstr "Możesz dodać wiele rekordów dla tej samej domeny."
+
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:78
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:92
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:73
msgid ""
"You must enable JavaScript in your browser or LuCI will not work properly."
msgid "ZRam Size"
msgstr "Rozmiar ZRam"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:558
+msgid "_proto: _tcp, _udp, _sctp, _quic, … ."
+msgstr "_proto: _tcp, _udp, _sctp, _quic, … ."
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:557
+msgid ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Note: while _http is "
+"possible, no browsers support SRV records.)"
+msgstr ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Uwaga: chociaż _http "
+"jest możliwe, żadna przeglądarka nie obsługuje rekordów SRV.)"
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:454
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:152
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:163
msgid "any"
msgid "e.g: dump"
msgstr "np: dump"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:726
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:756
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:797
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:827
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:101
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:148
msgid "expired"
msgid "unknown"
msgstr "nieznane"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:456
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:724
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:754
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:461
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:795
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:825
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:99
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:146
msgid "unlimited"
msgid "« Back"
msgstr "« Wróć"
+#~ msgid "Back to configuration"
+#~ msgstr "Wróć do konfiguracji"
+
+#~ msgid "Close list..."
+#~ msgstr "Zamknij listę..."
+
+#~ msgid "Internal Server Error"
+#~ msgstr "Wewnętrzny błąd serwera"
+
+#~ msgid "No files found"
+#~ msgstr "Nie znaleziono plików"
+
+#~ msgid "Sorry, the server encountered an unexpected error."
+#~ msgstr "Przepraszamy, ale serwer napotkał nieoczekiwany błąd."
+
#~ msgid "Do not forward queries that cannot be answered by public resolvers."
#~ msgstr ""
#~ "Nie przekazuj zapytań, które nie mogą być zrealizowane przez publiczne "
msgid "<abbr title=\"Router Advertisement\">RA</abbr>-Service"
msgstr "<abbr title=\"Router Advertisement\">RA</abbr>-Serviço"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:294
+msgid ""
+"<code>/#/</code> matches any domain. <code>/example.com/</code> returns "
+"NXDOMAIN."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+msgid ""
+"<code>/example.com/#</code> returns NULL addresses (<code>0.0.0.0</code> and "
+"<code>::</code>) for example.com and its subdomains."
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:87
msgctxt "nft relational \">\" operator expression"
msgid "<var>%s</var> greater than <strong>%s</strong>"
msgid "ATM device number"
msgstr "Número do aparelho ATM"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
msgid "ATU-C System Vendor ID"
msgstr "ID do vendedor de sistema ATU-C"
msgid "Absent Interface"
msgstr "Interface ausente"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:320
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
msgid "Accept DNS queries only from hosts whose address is on a local subnet."
msgstr ""
"Limitar o serviço DNS para subredes das interfaces nas quais está a ser "
msgid "Add key"
msgstr "Adicionar chave"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:410
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:415
msgid "Add local domain suffix to names served from hosts files."
msgstr ""
"Adicionar um sufixo de domínio local aos nomes servidos dos ficheiros hosts."
msgid "Add to Whitelist"
msgstr "Adicionar à lista branca"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:367
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
msgid "Additional hosts files"
msgstr "Ficheiro Hosts adicional"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:417
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
msgid "Additional servers file"
msgstr "Ficheiro servers adicional"
msgid "Address to access local relay bridge"
msgstr "Endereço para acesso à ponte de retransmissão local"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:289
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:291
msgid "Addresses"
msgstr "Endereços"
msgid "Aggregate Originator Messages"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
msgid "Aggregate Transmit Power (ACTATP)"
msgstr ""
-"Potência de Transmissão Agregada (<abbr title=\"Aggregate Transmit "
-"Power\">ACTATP</abbr>)"
+"Potência de Transmissão Agregada (<abbr title=\"Aggregate Transmit Power"
+"\">ACTATP</abbr>)"
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:260
msgid "Aggregation Selection Logic"
msgid "Alias of \"%s\""
msgstr "Interface adicional de \"%s\""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
msgid "All servers"
msgstr "Todos os Servidores"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
msgid ""
"Allocate IP addresses sequentially, starting from the lowest available "
"address."
"Alocar endereços IP sequencialmente, a partir do endereço mais baixo "
"disponível."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
msgid "Allocate IPs sequentially"
msgstr "Alocar endereços IP sequencialmente"
msgid "Allow listed only"
msgstr "Permitir somente os listados"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
msgid "Allow localhost"
msgstr "Permitir localhost"
msgid "Always on (kernel: default-on)"
msgstr "Sempre ligado (kernel: ligado por predefinição)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:538
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
msgid "Always send DHCP Options. Sometimes needed, with e.g. PXELinux."
msgstr ""
"Sempre enviar as opções de DHCP. É às vezes necessário com, por exemplo, "
msgstr "Uma descrição opcional e curta para este aparelho"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1484
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
msgid "Annex"
msgstr "Anexo"
msgid "Any zone"
msgstr "Qualquer zona"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:532
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
msgid "Apply DHCP Options to this net. (Empty = all clients)."
msgstr "Aplicar as opções de DHCP a esta rede. (Vazio = todos os clientes)."
msgid "Authentication Type"
msgstr "Tipo de Autenticação"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:265
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:267
msgid "Authoritative"
msgstr "Autoritário"
-#: modules/luci-base/luasrc/view/sysauth.htm:17
+#: modules/luci-base/ucode/template/sysauth.ut:17
#: themes/luci-theme-bootstrap/htdocs/luci-static/resources/view/bootstrap/sysauth.js:11
msgid "Authorization Required"
msgstr "Autorização Requerida"
msgid "Avoid Bridge Loops"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
msgid ""
"Avoid uselessly triggering dial-on-demand links (filters SRV/SOA records and "
"names with underscores)."
msgid "Back to Overview"
msgstr "Voltar à Visão Global"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:48
-msgid "Back to configuration"
-msgstr "Voltar à configuração"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:826
msgid "Back to peer configuration"
msgstr ""
msgstr "Backup / Flash Firmware"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:351
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:12
msgid "Backup file list"
msgstr "Lista de ficheiros para backup"
msgstr "Intervalo do quadro de monitorização (Beacon)"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:352
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:46
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
msgid "Bind NTP server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:326
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:331
msgid "Bind dynamically to interfaces rather than wildcard address."
msgstr "Ligar dinamicamente a interfaces ao invés de endereços wildcard."
msgid "Bind interface"
msgstr "Ligar à interface"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:595
+msgid ""
+"Bind service records to a domain name: specify the location of services."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:556
+msgid ""
+"Bind service records to a domain name: specify the location of services. See "
+"<a href=\"%s\">RFC2782</a>."
+msgstr ""
+
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gre.js:59
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gretap.js:64
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/grev6.js:64
msgid "CLAT configuration failed"
msgstr "Configuração CLAT falhou"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
+msgid "CNAME or fqdn"
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/processes.js:72
msgid "CPU usage (%)"
msgstr "Uso do CPU (%)"
"Fechar ligação inativa após um dado tempo em segundos, use 0 para manter a "
"ligação"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:49
-msgid "Close list..."
-msgstr "Fechar lista..."
-
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:44
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:63
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2184
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:391
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:352
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:355
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:72
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:66
msgid "Collecting data..."
msgstr "A recolher dados..."
msgid "Compute outgoing checksum (optional)."
msgstr "Cálculo do checksum de saída (opcional)."
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Config File"
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4375
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
msgid "Configuration"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:764
msgid ""
-"Configures the operation mode of the <abbr title=\"Router "
-"Advertisement\">RA</abbr> service on this interface."
+"Configures the operation mode of the <abbr title=\"Router Advertisement"
+"\">RA</abbr> service on this interface."
msgstr ""
-"Configura o modo de operação do serviço de <abbr title=\"Router "
-"Advertisement\"> RA </abbr> nesta interface."
+"Configura o modo de operação do serviço de <abbr title=\"Router Advertisement"
+"\"> RA </abbr> nesta interface."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:879
msgid "Configures the operation mode of the DHCPv6 service on this interface."
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/leds.js:59
msgid ""
-"Customizes the behaviour of the device <abbr title=\"Light Emitting "
-"Diode\">LED</abbr>s if possible."
+"Customizes the behaviour of the device <abbr title=\"Light Emitting Diode"
+"\">LED</abbr>s if possible."
msgstr ""
"Personaliza o comportamento dos <abbr title=\"Diodo Emissor de Luz\">LED</"
"abbr>s, se possível."
msgid "DAE-Secret"
msgstr "Segredo DAE"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:530
msgid "DHCP Options"
msgstr "Opções do DHCP"
msgid "DNS"
msgstr "DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:282
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:284
msgid "DNS forwardings"
msgstr "Encaminhamentos DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:445
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:450
msgid "DNS query port"
msgstr ""
"Porta de consulta do <abbr title=\"Servidor de Nomes de Domínio\">DNS</abbr>"
msgid "DNS search domains"
msgstr "Domínios de pesquisa do DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:443
msgid "DNS server port"
msgstr ""
"Porta do servidor <abbr title=\"Servidor de Nomes de Domínio\">DNS</abbr>"
msgid "DNS-Label / FQDN"
msgstr "Rótulo DNS / FQDN"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
msgid "DNSSEC"
msgstr "DNSSEC"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:407
msgid "DNSSEC check unsigned"
msgstr "Verificar DNSSEC sem assinatura"
msgstr "Endereço DS-Lite AFTR"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1481
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:44
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:45
msgid "DSL"
msgstr "DSL"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:14
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:15
msgid "DSL Status"
msgstr "Estado da DSL"
msgstr "Intervalo DTIM"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:59
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:700
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:771
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:136
msgid "DUID"
msgstr "DUID"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
msgid "Data Rate"
msgstr "Taxa de Dados"
msgid "Disassociate On Low Acknowledgement"
msgstr "Desassociar quando tiver baixa confirmação"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:302
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
msgid ""
"Discard upstream responses containing <a href=\"%s\">RFC1918</a> addresses."
msgstr ""
-"Descarta as respostas dos servidores externos que conteem endereços <a "
-"href=\"%s\">RFC1918</a>."
+"Descarta as respostas dos servidores externos que conteem endereços <a href="
+"\"%s\">RFC1918</a>."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:198
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:723
msgid "Distributed ARP Table"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:548
msgid ""
"Dnsmasq instance to which this boot section is bound. If unspecified, the "
"section is valid for all dnsmasq instances."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:246
msgid ""
-"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</"
-"abbr> forwarder."
+"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</abbr> "
+"forwarder."
msgstr ""
"O Dnsmasq é um servidor leve de <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> e encaminhador de <abbr title=\"Domain Name "
-"System\">DNS</abbr>."
+"Protocol\">DHCP</abbr> e encaminhador de <abbr title=\"Domain Name System"
+"\">DNS</abbr>."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:419
msgid "Do not cache negative replies, e.g. for non-existent domains."
msgstr "Não por respostas negativas em cache, p.e. para domínios inexistentes."
msgid "Do not create host route to peer (optional)."
msgstr "Não crie a rota do host para o peer (opcional)."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:262
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:264
msgid "Do not forward DNS queries without dots or domain parts."
msgstr "Não encaminhar consultas DNS sem pontos ou partes de domínio."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
msgid "Do not forward reverse lookups for local networks."
msgstr "Não encaminhar buscas reversas para redes locais."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:339
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
msgid "Do not listen on the specified interfaces."
msgstr "Evite escutar nestas Interfaces."
msgid "Do you want to replace the current keys?"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:593
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:606
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:664
msgid "Domain"
msgstr "Domínio"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:261
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:263
msgid "Domain required"
msgstr "Domínio requerido"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:316
msgid "Domain whitelist"
msgstr "Lista Branca do Domínio"
"Dropbear offers <abbr title=\"Secure Shell\">SSH</abbr> network shell access "
"and an integrated <abbr title=\"Secure Copy\">SCP</abbr> server"
msgstr ""
-"Dropbear oferece um acesso shell seguro à rede <abbr title=\"Secure "
-"Shell\">SSH</abbr> e um servidor <abbr title=\"Secure Copy\">SCP</abbr> "
-"integrado"
+"Dropbear oferece um acesso shell seguro à rede <abbr title=\"Secure Shell"
+"\">SSH</abbr> e um servidor <abbr title=\"Secure Copy\">SCP</abbr> integrado"
#: modules/luci-compat/luasrc/model/network/proto_4x6.lua:14
#: protocols/luci-proto-ipv6/htdocs/luci-static/resources/protocol/dslite.js:11
"Enable <abbr title=\"Internet Group Management Protocol\">IGMP</abbr> "
"snooping"
msgstr ""
-"Ativar a monitorização do <abbr title=\"Internet Group Management "
-"Protocol\">IGMP</abbr> (Snooping)"
+"Ativar a monitorização do <abbr title=\"Internet Group Management Protocol"
+"\">IGMP</abbr> (Snooping)"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:518
msgid "Enable <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgid "Enable Single DES"
msgstr "Ativar DES Único"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:480
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
msgid "Enable TFTP server"
msgstr "Ativar o servidor TFTP"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/uhttpd.js:14
msgid ""
-"Enable automatic redirection of <abbr title=\"Hypertext Transfer "
-"Protocol\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol "
-"Secure\">HTTPS</abbr> port."
+"Enable automatic redirection of <abbr title=\"Hypertext Transfer Protocol"
+"\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol Secure"
+"\">HTTPS</abbr> port."
msgstr ""
"Ative o redirecionamento automático das solicitações <abbr title=\"Hypertext "
"Transfer Protocol\">HTTP</abbr> à porta <abbr title=\"Hypertext Transfer "
msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets."
msgstr "Ativa o campo DF (Não Fragmentar) dos pacotes encapsulados."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:481
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
msgid "Enable the built-in single-instance TFTP server."
msgstr "Ativar o servidor integrado de instância única de TFTP."
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:538
msgid "Enables IGMP snooping on this bridge"
msgstr ""
-"Ativar a monitorização do <abbr title=\"Internet Group Management "
-"Protocol\">IGMP</abbr> (Snooping) nesta bridge"
+"Ativar a monitorização do <abbr title=\"Internet Group Management Protocol"
+"\">IGMP</abbr> (Snooping) nesta bridge"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1522
msgid ""
msgid "Error getting PublicKey"
msgstr "Erro ao obter a PublicKey"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
msgid "Errored seconds (ES)"
msgstr "Segundos com erro (ES)"
msgid "Every second (fast, 1)"
msgstr "A cada segundo (rápido, 1)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:343
msgid "Exclude interfaces"
msgstr "Excluir interfaces"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
msgid ""
"Exempt <code>127.0.0.0/8</code> and <code>::1</code> from rebinding checks, "
"e.g. for RBL services."
msgid "Existing device"
msgstr "Aparelho existente"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:409
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
msgid "Expand hosts"
msgstr "Expandir hosts"
msgid "File"
msgstr "Ficheiro"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
msgid ""
"File listing upstream resolvers, optionally domain-specific, e.g. "
"<code>server=1.2.3.4</code>, <code>server=/domain/1.2.3.4</code>."
msgid "File not accessible"
msgstr "Ficheiro não acessível"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:354
msgid "File to store DHCP lease information."
msgstr "Ficheiro para armazenar informações de concessão de DHCP."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:362
msgid "File with upstream resolvers."
msgstr "Ficheiro com os resolvedores upstream."
#: modules/luci-base/htdocs/luci-static/resources/ui.js:2846
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:507
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:512
msgid "Filename"
msgstr "Nome do ficheiro"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:493
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:498
msgid "Filename of the boot image advertised to clients."
msgstr "Nome do ficheiro da imagem de inicialização anunciada aos clientes."
msgid "Filesystem"
msgstr "Sistema de ficheiros"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
msgid "Filter private"
msgstr "Filtrar endereços privados"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
msgid "Filter useless"
msgstr "Filtrar inúteis"
msgid "Firmware Version"
msgstr "Versão do firmware"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:446
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:451
msgid "Fixed source port for outbound DNS queries."
msgstr "Porta de origem fixa para consultas de DNS de saída."
msgid "Flashing…"
msgstr "A fazer o Flash…"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:686
msgid "Force"
msgstr "Forçar"
msgid "Force use of NAT-T"
msgstr "Forçar o uso do NAT-T"
-#: modules/luci-base/luasrc/view/csrftoken.htm:8
+#: modules/luci-base/ucode/template/csrftoken.ut:8
msgid "Form token mismatch"
msgstr "Chave electrónica do formulário não corresponde"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:919
msgid ""
-"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr "
-"title=\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr "
-"title=\"Neighbour Advertisement, Type 136\">NA</abbr> messages between the "
-"designated master interface and downstream interfaces."
+"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr title="
+"\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr title=\"Neighbour "
+"Advertisement, Type 136\">NA</abbr> messages between the designated master "
+"interface and downstream interfaces."
msgstr ""
"Encaminhe as mensagens <abbr title=\"Neighbour Discovery Protocol\">NDP</"
"abbr> <abbr title=\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr "
"Encaminhe as mensagens DHCPv6 entre a interface principal e as interfaces "
"\"downstream\"."
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
msgid "Forward Error Correction Seconds (FECS)"
msgstr ""
"Encaminhar segundos da correção de erros ( <abbr title=\"Forward Error "
msgid "Global network options"
msgstr "Opções de rede globais"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:82
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:74
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:70
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:84
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:67
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:92
msgid "Go to firmware upgrade..."
msgstr "Ir à atualização do firmware..."
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:72
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:64
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:60
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:57
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:82
msgid "Go to password configuration..."
msgstr "Ir para a configuração da palavra-passe…"
msgid "Hang Up"
msgstr "Desligar"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
msgid "Header Error Code Errors (HEC)"
msgstr ""
"Erros de Código de Erro de Cabeçalho (<abbr title=\"Header Error Code\">HEC</"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1140
msgid "Hide <abbr title=\"Extended Service Set Identifier\">ESSID</abbr>"
msgstr ""
-"Ocultar <abbr title=\"Identificador de Conjunto de Serviços "
-"Estendidos\">ESSID</abbr>"
+"Ocultar <abbr title=\"Identificador de Conjunto de Serviços Estendidos"
+"\">ESSID</abbr>"
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:293
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:332
msgid "Host expiry timeout"
msgstr "Tempo limite de expiração de equipamento"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
msgid "Host requests this filename from the boot server."
msgstr "O host solicita este nome de ficheiro no servidor de inicialização."
msgstr "Conteúdo da etiqueta Host-Uniq"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:38
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:607
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:678
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:54
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:87
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:135
msgid "Hostnames"
msgstr "Endereços de Hosts"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:551
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:622
msgid ""
"Hostnames are used to bind a domain name to an IP address. This setting is "
"redundant for hostnames already configured with static leases, but it can be "
msgid "IP Protocol"
msgstr "Protocolo IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:260
msgid "IP Sets"
msgstr "Conjuntos de IP"
msgid "IP Type"
msgstr "Tipo de IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:563
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:634
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:178
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:204
msgid "IP address"
msgid "IP protocol"
msgstr "Protocolo IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:660
msgid "IP set"
msgstr "conjunto de IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:300
msgid "IP sets"
msgstr "Conjuntos IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:437
msgid "IPs to override with NXDOMAIN"
msgstr "Substituir Domínios NX Falsos"
#: modules/luci-base/htdocs/luci-static/resources/protocol/static.js:178
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:736
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:88
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:164
msgid "IPv4 address"
msgid "IPv6 suffix"
msgstr "Sufixo IPv6"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:706
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:777
msgid "IPv6 suffix (hex)"
msgstr ""
"Sufixo (hex) <abbr title=\"Protocolo de Internet Versão 6\">IPv6</abbr>"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:340
msgid ""
"If your physical memory is insufficient unused data can be temporarily "
-"swapped to a swap-device resulting in a higher amount of usable <abbr "
-"title=\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a "
-"very slow process as the swap-device cannot be accessed with the high "
-"datarates of the <abbr title=\"Random Access Memory\">RAM</abbr>."
+"swapped to a swap-device resulting in a higher amount of usable <abbr title="
+"\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a very "
+"slow process as the swap-device cannot be accessed with the high datarates "
+"of the <abbr title=\"Random Access Memory\">RAM</abbr>."
msgstr ""
"Se a memória física for insuficiente, os dados não usados poderão ser "
"guardados temporariamente para um aparelho swap, resultando numa maior "
"lento, pois o aparelho swap não pode ser acedido com a alta taxa de dados da "
"memória <abbr title=\"Random Access Memory\">RAM</abbr>."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:363
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:368
msgid "Ignore <code>/etc/hosts</code>"
msgstr "Ignorar <code>/etc/hosts</code>"
msgid "Ignore interface"
msgstr "Ignorar interface"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:352
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
msgid "Ignore resolv file"
msgstr "Ignorar o ficheiro resolv.conf"
"order to avoid broadcast loops that can bring the entire LAN to a standstill."
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:13
+#: modules/luci-base/ucode/template/csrftoken.ut:13
msgid ""
"In order to prevent unauthorized access to the system, your request has been "
"blocked. Click \"Continue »\" below to return to the previous page."
msgid "Install protocol extensions..."
msgstr "Instalar extensões do protocolo..."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:547
msgid "Instance"
msgstr "Instância"
msgid "Internal"
msgstr "Interno"
-#: modules/luci-base/luasrc/view/error500.htm:8
-msgid "Internal Server Error"
-msgstr "Erro Interno do Servidor"
-
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:285
msgid "Interval For Sending Learning Packets"
msgstr "Intervalo para o Envio dos Pacotes de Aprendizagem"
msgid "Invalid hexadecimal value"
msgstr "Valor hexadecimal inválido"
-#: modules/luci-base/luasrc/view/sysauth.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:37
+#: modules/luci-base/ucode/template/sysauth.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:32
msgid "Invalid username and/or password! Please try again."
msgstr "Username e/ou password inválidos! Por favor, tente novamente."
"A imagem que está a tentar carregar aparenta não caber na flash do "
"equipamento, por favor verifique o ficheiro da imagem!"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:89
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:96
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:77
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:91
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:72
msgid "JavaScript required!"
msgstr "É necessário JavaScript!"
msgid "Language and Style"
msgstr "Língua e Tema"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:560
+msgid ""
+"Larger weights (of the same prio) are given a proportionately higher "
+"probability of being selected."
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:575
msgid "Last member interval"
msgstr "O intervalo do último membro"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
msgid "Latency"
msgstr "Latência"
msgid "Learn routes"
msgstr "Aprender rotas"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:348
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:353
msgid "Lease file"
msgstr "Ficheiro de concessões"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:697
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:768
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:679
msgid "Lease time"
msgstr "Tempo de concessão"
msgid "Limit"
msgstr "Limite"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
msgid "Line Attenuation (LATN)"
msgstr "Atenuação de Linha (<abbr title=\"Line Attenuation\">LATN</abbr>)"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
msgid "Line Mode"
msgstr "Modo da Linha"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:17
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
msgid "Line State"
msgstr "Estado da Linha"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
msgid "Line Uptime"
msgstr "Tempo de Ativo da Linha"
msgid "Link layer header bits %d-%d"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
msgid "List of IP addresses to convert into NXDOMAIN responses."
msgstr "Lista de endereços IP a serem convertidos em respostas NXDOMAIN."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:296
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:581
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:652
msgid "List of IP sets to populate with the specified domain IPs."
msgstr ""
"Lista os conjuntos dos IPs para preencher os IPs com domínios especificados."
msgid "List of SSH key files for auth"
msgstr "Lista de ficheiros de chaves SSH para autenticação"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:317
msgid "List of domains to allow RFC1918 responses for."
msgstr "Lista de domínios para quais permitir respostas de RFC1918."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:290
-msgid "List of domains to force to an IP address."
-msgstr "Lista de domínios a forçar para um endereço IP."
-
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:283
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:285
msgid "List of upstream resolvers to forward queries to."
msgstr "Lista de resolvedores upstream a quem encaminhar as consultas."
msgid "Listen Port"
msgstr "Porta de escuta"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:332
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:337
msgid "Listen interfaces"
msgstr "Interfaces de Escuta"
msgstr ""
"Escutar apenas na interface fornecida ou, se não especificada, em todas"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:333
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
msgid ""
"Listen only on the specified interfaces, and loopback if not excluded "
"explicitly."
msgid "ListenPort setting is invalid"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:439
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:444
msgid "Listening port for inbound DNS queries."
msgstr "Porta de escuta para entrada de consultas DNS"
msgstr "Carregando o conteúdo do diretório…"
#: modules/luci-base/htdocs/luci-static/resources/luci.js:1942
-#: modules/luci-base/luasrc/view/view.htm:4
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:45
+#: modules/luci-base/ucode/template/view.ut:4
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:40
msgid "Loading view…"
msgstr "Carregando visualização…"
msgid "Local ULA"
msgstr "ULA local"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:273
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:275
msgid "Local domain"
msgstr "Domínio local"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:274
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:276
msgid "Local domain suffix appended to DHCP names and hosts file entries."
msgstr ""
"Sufixo de domínio local anexado a nomes de DHCP e entradas no ficheiro hosts."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:269
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:271
msgid "Local server"
msgstr "Servidor local"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:319
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:324
msgid "Local service only"
msgstr "Somente Serviço Local"
msgid "Local wireguard key"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
msgid "Localise queries"
msgstr "Localizar consultas"
msgid "Log output level"
msgstr "Nível de output do log"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:277
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:279
msgid "Log queries"
msgstr "Registo das consultas"
msgid "Logical network to which the tunnel will be added (bridged) (optional)."
msgstr "Rede lógica onde o túnel será adicionado (bridged) (opcional)."
-#: modules/luci-base/luasrc/view/sysauth.htm:38
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:41
+#: modules/luci-base/ucode/template/sysauth.ut:38
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:36
msgid "Login"
msgstr "Login"
msgid "Loose filtering"
msgstr "Filtragem livre"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
msgid "Loss of Signal Seconds (LOSS)"
msgstr ""
"Segundos de Perda de Sinal (<abbr title=\"Loss of Signal Seconds\">LOSS</"
msgid "Lowest leased address as offset from the network address."
msgstr "O endereço mais baixo concedido como deslocamento do endereço da rede."
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/footer.ut:12
+msgid "Lua compatibility mode active"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:48
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:83
msgid "MAC"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:591
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:40
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:619
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1164
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2177
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:56
msgid "MTU"
msgstr "MTU"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:259
+msgid "MX"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:303
msgid ""
"Make sure to clone the root filesystem using something like the commands "
msgid "Max <abbr title=\"Router Advertisement\">RA</abbr> interval"
msgstr "Intervalo máximo <abbr title=\"Router Advertisement\">RA</abbr>"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
msgid "Max. Attainable Data Rate (ATTNDR)"
msgstr ""
-"Taxa de Dados Atingível Máxima (<abbr title=\"Maximum Attainable Data "
-"Rate\">ATTNDR</abbr>)"
+"Taxa de Dados Atingível Máxima (<abbr title=\"Maximum Attainable Data Rate"
+"\">ATTNDR</abbr>)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:457
msgid "Max. DHCP leases"
msgstr ""
"<abbr title=\"Máximo\">Max.</abbr> de concessões<abbr title=\"Protocolo de "
"Configuracao Dinamica de Hosts\">DHCP</abbr>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:459
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:464
msgid "Max. EDNS0 packet size"
msgstr ""
-"Tamanho <abbr title=\"Máximo\">max.</abbr> do pacote <abbr "
-"title=\"Mecanismos de Extensão para Sistemas de Nomes de Domínio\">EDNS0</"
-"abbr>"
+"Tamanho <abbr title=\"Máximo\">max.</abbr> do pacote <abbr title="
+"\"Mecanismos de Extensão para Sistemas de Nomes de Domínio\">EDNS0</abbr>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:466
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:471
msgid "Max. concurrent queries"
msgstr "<abbr title=\"máximo\">Max.</abbr> de consultas concorrentes"
msgid "Maximum allowed Listen Interval"
msgstr "Intervalo de Escuta máximo permitido"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:453
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:458
msgid "Maximum allowed number of active DHCP leases."
msgstr "Quantidade máxima permitida de concessões DHCP ativas."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:467
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:472
msgid "Maximum allowed number of concurrent DNS queries."
msgstr "Quantidade máxima permitida de consultas simultâneas de DNS."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:460
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:465
msgid "Maximum allowed size of EDNS0 UDP packets."
msgstr "Tamanho máximo permitido dos pacotes UDP EDNS0."
msgid "Maximum transmit power"
msgstr "Potência máxima de transmissão"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:394
msgid "May prevent VoIP or other services from working."
msgstr ""
msgid "Name of the tunnel device"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:46
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:39
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:50
msgid "Navigation"
msgstr "Navegação"
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:10
+msgid "Nebula Network"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:653
msgid "Neighbour cache validity"
msgstr "Validade do cache vizinho"
msgid "Network address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:492
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:497
msgid "Network boot image"
msgstr "Imagem de arranque via rede"
msgid "Network interface"
msgstr "Interfaces de rede"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:536
msgid "Network-ID"
msgstr "ID da rede"
msgid "Never"
msgstr "Nunca"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:270
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:272
msgid ""
"Never forward matching domains and subdomains, resolve from DHCP or hosts "
"files only."
msgid "No RX signal"
msgstr "Sem sinal RX"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:80
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:87
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:68
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:82
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:65
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:90
msgid ""
"No changes to settings will be stored and are lost after rebooting. This "
msgid "No entries in this directory"
msgstr "Não há entradas neste diretório"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:82
-msgid "No files found"
-msgstr "Não foram encontrados ficheiros"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:833
msgid ""
"No fixed interface listening port defined, peers might not be able to "
msgid "No more slaves available, can not save interface"
msgstr "Não há mais escravos disponíveis, não é possível gravar a interface"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:413
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
msgid "No negative cache"
msgstr "Sem cache negativa"
msgid "No nftables ruleset loaded."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:69
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:61
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:57
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:54
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:79
msgid "No password set!"
msgstr "Sem password definida!"
msgid "Noise"
msgstr "Ruído"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
msgid "Noise Margin (SNR)"
msgstr ""
"Margem de Ruído (<abbr title=\"Razão entre Sinal e Ruído/Signal to Noise "
msgid "Noise:"
msgstr "Ruído:"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
msgid "Non Pre-emptive CRC errors (CRC_P)"
msgstr ""
"Erros CRC Não Preemptivos<abbr title=\"Non Pre-emptive CRC errors\">CRC_P</"
"abbr>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:330
msgid "Non-wildcard"
msgstr "Sem caracter curinga"
msgid "Normal"
msgstr "Normal"
-#: modules/luci-base/luasrc/view/error404.htm:8
+#: modules/luci-base/ucode/template/error404.ut:9
msgid "Not Found"
msgstr "Não encontrado"
msgid "Number of IGMP membership reports"
msgstr "Quantidade de relatórios associados ao IGMP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:474
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:479
msgid "Number of cached DNS entries, 10000 is maximum, 0 is no caching."
msgstr ""
"Quantidade das entradas DNS em cache, 10000 é o máximo, 0 desativa o cache."
msgid "On-link"
msgstr "Rota On-Link"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:672
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:743
msgid "One of hostname or MAC address must be specified!"
msgstr "Um nome de host ou endereço MAC deve ser especificado!"
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:472
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:19
msgid "Open list..."
msgstr "Abrir lista..."
"Protocol\">NDP</abbr> proxying."
msgstr ""
"Operar em <em>modo relé</em> se uma interface principal designada estiver "
-"configurada e ativa, caso contrário desativar fazer proxy do <abbr "
-"title=\"Neighbour Discovery Protocol\">NDP</abbr>."
+"configurada e ativa, caso contrário desativar fazer proxy do <abbr title="
+"\"Neighbour Discovery Protocol\">NDP</abbr>."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:723
msgid ""
msgid "Options"
msgstr "Opções"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:526
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
msgid ""
"Options for the Network-ID. (Note: needs also Network-ID.) E.g. "
-"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</"
-"code>\" for default route. <code>0.0.0.0</code> means \"the address of the "
-"system running dnsmasq\"."
+"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</code>"
+"\" for default route. <code>0.0.0.0</code> means \"the address of the system "
+"running dnsmasq\"."
msgstr ""
"Opções para o ID da rede. (Nota: precisa também do ID da rede.) Por exemplo, "
"\"<code>42,192.168.1.4</code>\" para o servidor NTP, \"<code>3,192.168.4.4</"
msgid "Options:"
msgstr "Opções:"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
+msgid "Ordinal: lower comes first."
+msgstr ""
+
#: protocols/luci-proto-batman-adv/htdocs/luci-static/resources/protocol/batadv.js:55
msgid "Originator Interval"
msgstr ""
msgid "Pass-through (Mirror physical device to single MAC VLAN)"
msgstr "Passagem direta (Aparelho físico espelhado para um único MAC VLAN)"
-#: modules/luci-base/luasrc/view/sysauth.htm:29
+#: modules/luci-base/ucode/template/sysauth.ut:29
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1690
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:51
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:114
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:103
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:24
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:19
msgid "Password"
msgstr "Palavra-passe"
msgid "Pkts."
msgstr "Pcts."
-#: modules/luci-base/luasrc/view/sysauth.htm:19
+#: modules/luci-base/ucode/template/sysauth.ut:19
msgid "Please enter your username and password."
msgstr "Insira o seu username e password."
msgid "Policy: <strong>%h</strong> (%h)"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:579
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:21
msgid "Port"
msgstr "Porta"
msgid "Potential negation of: %s"
msgstr "Negação potencial de: %s"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:38
msgid "Power Management Mode"
msgstr "Modo de Gestão de Energia"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
msgid "Pre-emptive CRC errors (CRCP_P)"
msgstr ""
"Erros CRC Preemptivos<abbr title=\"Pre-emptive CRC errors\">CRCP_P</abbr>"
msgstr "O primário torna-se um escravo ativo sempre que retornar (sempre, 0)"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:129
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:197
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:223
msgid "Quality"
msgstr "Qualidade"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
msgid "Query all available upstream resolvers."
msgstr "Consultar todos os resolvedores disponíveis upstream."
"Bytes brutos codificados em hexadecimal. Deixe vazio a não ser que seu "
"provedor requeira isso"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:345
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:350
msgid "Read <code>/etc/ethers</code> to configure the DHCP server."
msgstr "Ler <code>/etc/ethers</code> para configurar o servidor DHCP."
msgid "Reassociation Deadline"
msgstr "Limite para Reassociação"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
msgid "Rebind protection"
msgstr "Religar protecção"
msgstr ""
#: modules/luci-compat/luasrc/model/network/proto_relay.lua:153
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:611
#: protocols/luci-proto-relay/htdocs/luci-static/resources/protocol/relay.js:39
msgid "Relay"
msgstr "Retransmissor"
msgid "Required. Base64-encoded private key for this interface."
msgstr "Obrigatório. Chave privada codificada em Base64 para esta interface."
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Required. Path to the .yml config file for this interface."
+msgstr ""
+
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:587
msgid "Required. Public key of the WireGuard peer."
msgstr ""
msgstr "Política de nova seleção para o escravo primário"
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2197
-#: modules/luci-base/luasrc/view/sysauth.htm:39
+#: modules/luci-base/ucode/template/sysauth.ut:39
#: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
#: modules/luci-compat/luasrc/view/cbi/footer.htm:30
#: modules/luci-compat/luasrc/view/cbi/simpleform.htm:66
msgid "Resolv and Hosts Files"
msgstr "Ficheiros Resolv e Hosts"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:356
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:361
msgid "Resolv file"
msgstr "Resolver ficheiro"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:292
+msgid "Resolve specified FQDNs to an IP."
+msgstr "Lista de domínios a forçar para um endereço IP."
+
#: modules/luci-base/htdocs/luci-static/resources/rpc.js:405
msgid "Resource not found"
msgstr "Recurso não encontrado"
msgid "Restore backup"
msgstr "Restaurar backup"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
msgid ""
"Return answers to DNS queries matching the subnet from which the query was "
"received if multiple IPs are available."
msgid "Robustness"
msgstr "Robustez"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:491
msgid ""
"Root directory for files served via TFTP. <em>Enable TFTP server</em> and "
"<em>TFTP server root</em> turn on the TFTP server and serve files from "
msgid "SNR"
msgstr "SNR"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "SRV"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:10
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:38
msgid "SSH Access"
msgid "Server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:524
msgid "Server address"
msgstr "Endereço do servidor"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:518
msgid "Server name"
msgstr "Nome do servidor"
"When enabled, clients will perform stateless IPv6 address autoconfiguration."
msgstr ""
"Definir a bandeira de configuração de endereço autónoma nas opções de "
-"informação de prefixo das mensagens de <abbr title=\"Router "
-"Advertisement\">RA</abbr> enviadas. Quando ativado, os clientes irão "
-"realizar a autoconfiguração de endereços IPv6 sem estado."
+"informação de prefixo das mensagens de <abbr title=\"Router Advertisement"
+"\">RA</abbr> enviadas. Quando ativado, os clientes irão realizar a "
+"autoconfiguração de endereços IPv6 sem estado."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:719
msgid ""
msgid "Setup routes for proxied IPv6 neighbours."
msgstr "Configuração de rotas para vizinhos de IPv6 que fazem proxy."
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
msgid "Severely Errored Seconds (SES)"
msgstr ""
"Segundos com erro severos (<abbr title=\"Severely Errored Seconds\">SES</"
msgstr "Preâmbulo curto"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:470
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:18
msgid "Show current backup file list"
msgstr "Mostrar lista ficheiros para backup"
msgid "Signal / Noise"
msgstr "Sinal / Ruído"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
msgid "Signal Attenuation (SATN)"
msgstr "Atenuação do Sinal (<abbr title=\"Signal Attenuation\">SATN</abbr>)"
msgid "Size"
msgstr "Tamanho"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:473
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:478
msgid "Size of DNS query cache"
msgstr "Tamanho do cache de consultas DNS"
msgid "Skip from backup files that are equal to those in /rom"
msgstr "Ignore os ficheiros de backup que sejam iguais aos ficheiros em /rom"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:42
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:35
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:46
msgid "Skip to content"
msgstr "Ir para o conteúdo"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:41
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:34
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:45
msgid "Skip to navigation"
msgstr "Ir para a navegação"
msgid "Some fields are invalid, cannot save values!"
msgstr "Alguns campos são inválidos, não é possível gravar valores!"
-#: modules/luci-base/luasrc/view/error404.htm:9
+#: modules/luci-base/ucode/template/error404.ut:10
msgid "Sorry, the object you requested was not found."
msgstr "Lamento, o objecto que pediu não foi encontrado."
-#: modules/luci-base/luasrc/view/error500.htm:9
-msgid "Sorry, the server encountered an unexpected error."
-msgstr "Lamento, o servidor encontrou um erro inesperado."
-
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:442
msgid ""
"Sorry, there is no sysupgrade support present; a new firmware image must be "
msgid "Source port"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:505
msgid ""
"Special <abbr title=\"Preboot eXecution Environment\">PXE</abbr> boot "
"options for Dnsmasq."
msgstr ""
-"Opções de inicialização especiais <abbr title=\"Preboot eXecution "
-"Environment\">PXE</abbr> para o Dnsmasq."
+"Opções de inicialização especiais <abbr title=\"Preboot eXecution Environment"
+"\">PXE</abbr> para o Dnsmasq."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:906
msgid ""
msgid "Static address"
msgstr "Endereço estático"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:598
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:669
msgid ""
"Static leases are used to assign fixed IP addresses and symbolic hostnames "
"to DHCP clients. They are also required for non-dynamic interface "
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:16
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:541
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:929
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:9
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:9
msgid "Status"
msgstr "Estado"
msgid "Strict filtering"
msgstr "Filtragem rigorosa"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
msgid "Strict order"
msgstr "Ordem exacta"
msgid "Submit"
msgstr "Submeter"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
msgid "Suppress logging"
msgstr "Suprimir registros (log)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:373
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
msgid "Suppress logging of the routine operation for the DHCP protocol."
msgstr "Suprimir registos (log) de operações rotineiras do protocolo DHCP."
msgid "Sync with browser"
msgstr "Sincronizar com o browser"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:293
+msgid "Syntax: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "Syntax: <code>_service._proto.example.com</code>."
+msgstr ""
+
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:26
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:17
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:113
msgid "System log buffer size"
msgstr "Tamanho do buffer de registro do sistema"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:79
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:86
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:71
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:67
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:81
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:64
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:89
msgid "System running in recovery (initramfs) mode."
msgstr "Sistema em execução no modo de recuperação (initramfs)."
msgid "TCP:"
msgstr "TCP:"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:490
msgid "TFTP server root"
msgstr "Raíz do servidor TFTP"
msgid "Table"
msgstr "Tabela"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:56
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:66
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:187
"A configuração da atualização de pontas HE.net mudou. Você deve agora usar o "
"nome do utilizador ao invés do identificador do utilizador!"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:681
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:752
msgid "The IP address %h is already used by another static lease"
msgstr "O endereço IP %h já é utilizado por outra concessão estática"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:761
msgid "The IP address is outside of any DHCP pool address range"
msgstr "O endereço IP está fora de qualquer faixa de endereços do DHCP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:520
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
msgid "The IP address of the boot server"
msgstr "O endereço IP do servidor de inicialização"
"The device file of the memory or partition (<abbr title=\"for example\">e.g."
"</abbr> <code>/dev/sda1</code>)"
msgstr ""
-"O ficheiro do aparelho de memória ou da partição (<abbr title=\"por "
-"exemplo\">ex.</abbr> <code>/dev/sda1</code>)"
+"O ficheiro do aparelho de memória ou da partição (<abbr title=\"por exemplo"
+"\">ex.</abbr> <code>/dev/sda1</code>)"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:450
msgid "The device name \"%s\" is already taken"
"to be received and retransmitted which costs airtime)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:514
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
msgid "The hostname of the boot server"
msgstr "O nome do host do servidor de inicialização"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/switch.js:139
msgid ""
-"The network ports on this device can be combined to several <abbr "
-"title=\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
+"The network ports on this device can be combined to several <abbr title="
+"\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
"communicate directly with each other. <abbr title=\"Virtual Local Area "
"Network\">VLAN</abbr>s are often used to separate different network "
"segments. Often there is by default one Uplink port for a connection to the "
"next greater network like the internet and other ports for a local network."
msgstr ""
-"As portas de rede neste aparelho podem ser combinadas com várias <abbr "
-"title=\"Rede de Área Local Virtual\">VLAN</abbr>s onde os computadores podem "
-"comunicar diretamente entre eles. <abbr title=\"Rede de Área Local "
-"Virtual\">VLAN</abbr>s são muito utilizadas para separar dois segmentos de "
-"rede diferentes. Muitas vezes existe por defeito uma porta de ligação "
-"ascendente para uma ligação para a rede acima como a Internet ou outras "
-"portas de uma rede local."
+"As portas de rede neste aparelho podem ser combinadas com várias <abbr title="
+"\"Rede de Área Local Virtual\">VLAN</abbr>s onde os computadores podem "
+"comunicar diretamente entre eles. <abbr title=\"Rede de Área Local Virtual"
+"\">VLAN</abbr>s são muito utilizadas para separar dois segmentos de rede "
+"diferentes. Muitas vezes existe por defeito uma porta de ligação ascendente "
+"para uma ligação para a rede acima como a Internet ou outras portas de uma "
+"rede local."
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:759
msgid ""
msgid "The selected %s mode is incompatible with %s encryption"
msgstr "O modo %s selecionado é incompatível com a criptografia %s"
-#: modules/luci-base/luasrc/view/csrftoken.htm:11
+#: modules/luci-base/ucode/template/csrftoken.ut:11
msgid "The submitted security token is invalid or already expired!"
msgstr "A chave eletrônica enviada é inválida ou já expirou!"
"nftables rules is discouraged and may lead to incomplete traffic filtering."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:746
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:778
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:817
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:849
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:130
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:179
msgid "There are no active leases"
msgid "There are no changes to apply"
msgstr "Não há alterações a serem aplicadas"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:70
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:58
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:55
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:80
msgid ""
"There is no password set on this router. Please configure a root password to "
msgstr "Isto não parece ser um ficheiro PEM válido"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:16
msgid ""
"This is a list of shell glob patterns for matching files and directories to "
"include during sysupgrade. Modified files in /etc/config/ and certain other "
"Este é o endereço da ponta local designado pelo agente de túnel. normalmente "
"ele termina com <code>...:2/64</code>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:266
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:268
msgid "This is the only DHCP server in the local network."
msgstr "Este é o único servidor DHCP na rede local."
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:440
msgid ""
"To fully configure the local WireGuard interface from an existing (e.g. "
-"provider supplied) configuration file, use the <strong><a class=\"full-"
-"import\" href=\"#\">configuration import</a></strong> instead."
+"provider supplied) configuration file, use the <strong><a class=\"full-import"
+"\" href=\"#\">configuration import</a></strong> instead."
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2674
msgid "Unable to determine upstream interface"
msgstr "Não foi possível determinar a interface com a rede externa"
-#: modules/luci-base/luasrc/view/error404.htm:11
+#: modules/luci-base/ucode/template/error404.ut:12
msgid "Unable to dispatch"
msgstr "Não é possível a expedição"
msgid "Unable to verify PIN"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
msgid "Unavailable Seconds (UAS)"
msgstr ""
"Segundos de indisponibilidade (<abbr title=\"Unavailable Seconds\">UAS</"
"Ao pressionar \"Continuar\", as opções ifname serão renomeadas e a rede será "
"reiniciada para aplicar a atualização da configuração."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
msgid "Upstream resolvers will be queried in the order of the resolv file."
msgstr ""
"Os resolvedores upstream serão consultados na ordem do ficheiro resolv."
msgid "Uptime"
msgstr "Tempo de atividade"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
msgid "Use <code>/etc/ethers</code>"
msgstr "Usar <code>/etc/ethers</code>"
#: protocols/luci-proto-ipv6/htdocs/luci-static/resources/protocol/map.js:84
msgid "Use MTU on tunnel interface"
msgstr ""
-"Use o <abbr title=\"Maximum Transmission Unit/Unidade Máxima de "
-"Transmissão\">MTU</abbr> na interface do túnel"
+"Use o <abbr title=\"Maximum Transmission Unit/Unidade Máxima de Transmissão"
+"\">MTU</abbr> na interface do túnel"
#: protocols/luci-proto-ipv6/htdocs/luci-static/resources/protocol/6in4.js:85
#: protocols/luci-proto-ipv6/htdocs/luci-static/resources/protocol/6rd.js:65
msgid "Use system certificates for inner-tunnel"
msgstr "Usar certificados de sistema para o túnel interno"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:599
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:670
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC address</"
"em> identifies the host, the <em>IPv4 address</em> specifies the fixed "
msgid "User key (PEM encoded)"
msgstr "Chave do utilizador (codificada em formato PEM)"
-#: modules/luci-base/luasrc/view/sysauth.htm:23
+#: modules/luci-base/ucode/template/sysauth.ut:23
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:112
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:101
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:56
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:18
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:13
msgid "Username"
msgstr "Nome do utilizador"
msgid "VXLANv6 (RFC7348)"
msgstr "VXLANv6 (RFC7348)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
msgid ""
"Validate DNS replies and cache DNSSEC data, requires upstream to support "
"DNSSEC."
msgid "Vendor Class to send when requesting DHCP"
msgstr "Classe do fabricante para enviar quando requisitar o DHCP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:408
msgid "Verify unsigned domain responses really come from unsigned domains."
msgstr ""
"Verifique se as respostas dos domínios não assinados vêm realmente de "
msgid "Weak"
msgstr "Fraco"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+msgid "Weight"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1029
msgid ""
"When delegating prefixes to multiple downstreams, interfaces with a higher "
msgid "Wireless network is enabled"
msgstr "A rede wireless está ativada"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:278
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:280
msgid "Write received DNS queries to syslog."
msgstr "Escrever as consultas DNS recebidas no syslog."
"como por exemplo \"rede/network\", o aparelho poderá tornar-se inacessível!</"
"strong>"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:90
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:97
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
+msgid "You may add multiple records for the same Target."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:596
+msgid "You may add multiple records for the same domain."
+msgstr ""
+
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:78
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:92
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:73
msgid ""
"You must enable JavaScript in your browser or LuCI will not work properly."
msgid "ZRam Size"
msgstr "Tamanho do ZRam"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:558
+msgid "_proto: _tcp, _udp, _sctp, _quic, … ."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:557
+msgid ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Note: while _http is "
+"possible, no browsers support SRV records.)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:454
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:152
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:163
msgid "any"
msgid "e.g: dump"
msgstr "p.ex.: despejo"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:726
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:756
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:797
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:827
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:101
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:148
msgid "expired"
"<abbr title=\"Hypertext Transfer Protocol Secure\">HTTPS</abbr> network "
"access."
msgstr ""
-"o uHTTPd oferece acesso à rede <abbr title=\"Hypertext Transfer "
-"Protocol\">HTTP</abbr> ou <abbr title=\"Hypertext Transfer Protocol "
-"Secure\">HTTPS</abbr>."
+"o uHTTPd oferece acesso à rede <abbr title=\"Hypertext Transfer Protocol"
+"\">HTTP</abbr> ou <abbr title=\"Hypertext Transfer Protocol Secure\">HTTPS</"
+"abbr>."
#: modules/luci-base/htdocs/luci-static/resources/validation.js:574
msgid "unique value"
msgid "unknown"
msgstr "desconhecido"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:456
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:724
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:754
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:461
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:795
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:825
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:99
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:146
msgid "unlimited"
msgid "« Back"
msgstr "« Voltar"
+#~ msgid "Back to configuration"
+#~ msgstr "Voltar à configuração"
+
+#~ msgid "Close list..."
+#~ msgstr "Fechar lista..."
+
+#~ msgid "Internal Server Error"
+#~ msgstr "Erro Interno do Servidor"
+
+#~ msgid "No files found"
+#~ msgstr "Não foram encontrados ficheiros"
+
+#~ msgid "Sorry, the server encountered an unexpected error."
+#~ msgstr "Lamento, o servidor encontrou um erro inesperado."
+
#~ msgid "Do not forward queries that cannot be answered by public resolvers."
#~ msgstr ""
#~ "Não encaminhar pedidos que não possam ser respondidos por servidores "
#~ msgid ""
#~ "<ul style=\"list-style-type:none;\"> <li><strong>server mode</strong>: "
-#~ "Router advertises itself as the default IPv6 gateway via <abbr "
-#~ "title=\"Router Advertisement, ICMPv6 Type 134\">RA</abbr> messages (to "
+#~ "Router advertises itself as the default IPv6 gateway via <abbr title="
+#~ "\"Router Advertisement, ICMPv6 Type 134\">RA</abbr> messages (to "
#~ "<code>ff02::1</code>) and provides <abbr title=\"Prefix Delegation\">PD</"
#~ "abbr> to downstream devices.</li> <li><strong>relay mode</strong>: Router "
#~ "relays <abbr title=\"Router Advertisement, ICMPv6 Type 134\">RA</abbr> "
#~ msgid ""
#~ "<ul style=\"list-style-type:none;\"> <li><strong>server mode</strong>: "
-#~ "Router assigns IPs and delegates prefixes (<abbr title=\"Prefix "
-#~ "Delegation\">PD</abbr>) to downstream interfaces.</li> <li><strong>relay "
-#~ "mode</strong>: Router relays WAN interface config downstream. Helps "
-#~ "support upstream links that lack <abbr title=\"Prefix Delegation\">PD</"
-#~ "abbr>.</li> <li><strong>hybrid mode</strong>: Router does combination of "
-#~ "server+relay.</li></ul>"
+#~ "Router assigns IPs and delegates prefixes (<abbr title=\"Prefix Delegation"
+#~ "\">PD</abbr>) to downstream interfaces.</li> <li><strong>relay mode</"
+#~ "strong>: Router relays WAN interface config downstream. Helps support "
+#~ "upstream links that lack <abbr title=\"Prefix Delegation\">PD</abbr>.</"
+#~ "li> <li><strong>hybrid mode</strong>: Router does combination of server"
+#~ "+relay.</li></ul>"
#~ msgstr ""
#~ "<ul style=\"list-style-type:none;\"> <li><strong> Modo servidor</strong>: "
#~ "O roteador atribui os IPs e delega os prefixos (<abbr title=\"Prefix "
#~ "Advertisement, ICMPv6 Type 134\">RA</abbr>. Default is 600 seconds "
#~ "(<code>600</code>)."
#~ msgstr ""
-#~ "O tempo máximo permitido entre o envio não solicitado do <abbr "
-#~ "title=\"Router Advertisement, ICMPv6 Type 134\">RA</abbr>. O tempo "
-#~ "predefinido são 600 segundos (<code>600</code>)."
+#~ "O tempo máximo permitido entre o envio não solicitado do <abbr title="
+#~ "\"Router Advertisement, ICMPv6 Type 134\">RA</abbr>. O tempo predefinido "
+#~ "são 600 segundos (<code>600</code>)."
#~ msgid ""
#~ "Minimum time allowed between sending unsolicited <abbr title=\"Router "
#~ "Advertisement, ICMPv6 Type 134\">RA</abbr>. Default is 200 seconds "
#~ "(<code>200</code>)."
#~ msgstr ""
-#~ "O tempo mínimo permitido entre o envio não solicitado do <abbr "
-#~ "title=\"Router Advertisement, ICMPv6 Type 134\">RA</abbr>. O tempo "
-#~ "predefinido são 200 segundos (<code>200</code>)."
+#~ "O tempo mínimo permitido entre o envio não solicitado do <abbr title="
+#~ "\"Router Advertisement, ICMPv6 Type 134\">RA</abbr>. O tempo predefinido "
+#~ "são 200 segundos (<code>200</code>)."
#~ msgid "Override MAC address"
#~ msgstr "Sobrescrever o endereço MAC"
#~ "<abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> Proxy como um "
#~ "Proxy ARP para o IPv6: unifique os hosts em diferentes segmentos de "
#~ "hardware físico na mesma sub-rede IP. Consiste em <abbr title=\"Neighbour "
-#~ "Solicitation, Type 135\">NS</abbr> e nas mensagens <abbr "
-#~ "title=\"Neighbour Advertisement, Type 136\">NA</abbr>. <abbr "
-#~ "title=\"Neighbour Discovery Protocol\">NDP</abbr>-O Proxy escuta o <abbr "
-#~ "title=\"Neighbour Solicitation, Type 135\">NS</abbr> numa interface "
-#~ "marcada como <code>master</code> com valor boleano como 1 (ou seja, o "
-#~ "principal), depois consulta as interfaces escravo/interno para este IP "
-#~ "alvo antes de finalmente enviar uma mensagem <abbr title=\"Neighbour "
-#~ "Advertisement, Type 136\">NA</abbr>. <abbr title=\"Neighbour Discovery "
-#~ "Protocol\">O NDP</abbr> é um ARP efetivo para o IPv6. <abbr "
-#~ "title=\"Neighbour Solicitation, Type 135\">NS</abbr> e <abbr "
-#~ "title=\"Neighbour Advertisement, Type 136\">NA</abbr> detectam se os "
-#~ "endereços são alcançáveis e se estão duplicados num enlace, é um pré-"
-#~ "requisito próprio para a auto configuração do SLAAC.<br /> <ul "
-#~ "style=\"list-style-type:none;\"> <li><strong> desativado</strong>: Não as "
-#~ "mensagens do <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> são "
-#~ "enviadas pelas interfaces verdadeiras do proxy <code>ndproxy_slave</code>."
-#~ "</li> <li><strong>modo de distribuição</strong>: As mensagens dos proxies "
-#~ "<abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> a partir das "
-#~ "interfaces verdadeiras do <code>master</code> para o <code>ndproxy_slave</"
-#~ "code>. Ajuda a compatibilidade dos provedores dos enlaces sem <abbr "
-#~ "title=\"Prefix Delegation\">PD</abbr> e para os hosts que forem um proxy "
-#~ "do firewall.</li> <li><strong>modo híbrido</strong>: O modo de "
-#~ "distribuição está desativado até que a interface <code>master</code> "
-#~ "tenha um valor boleano igual a 1.</li></ul>"
+#~ "Solicitation, Type 135\">NS</abbr> e nas mensagens <abbr title="
+#~ "\"Neighbour Advertisement, Type 136\">NA</abbr>. <abbr title=\"Neighbour "
+#~ "Discovery Protocol\">NDP</abbr>-O Proxy escuta o <abbr title=\"Neighbour "
+#~ "Solicitation, Type 135\">NS</abbr> numa interface marcada como "
+#~ "<code>master</code> com valor boleano como 1 (ou seja, o principal), "
+#~ "depois consulta as interfaces escravo/interno para este IP alvo antes de "
+#~ "finalmente enviar uma mensagem <abbr title=\"Neighbour Advertisement, "
+#~ "Type 136\">NA</abbr>. <abbr title=\"Neighbour Discovery Protocol\">O NDP</"
+#~ "abbr> é um ARP efetivo para o IPv6. <abbr title=\"Neighbour Solicitation, "
+#~ "Type 135\">NS</abbr> e <abbr title=\"Neighbour Advertisement, Type "
+#~ "136\">NA</abbr> detectam se os endereços são alcançáveis e se estão "
+#~ "duplicados num enlace, é um pré-requisito próprio para a auto "
+#~ "configuração do SLAAC.<br /> <ul style=\"list-style-type:none;\"> "
+#~ "<li><strong> desativado</strong>: Não as mensagens do <abbr title="
+#~ "\"Neighbour Discovery Protocol\">NDP</abbr> são enviadas pelas interfaces "
+#~ "verdadeiras do proxy <code>ndproxy_slave</code>.</li> <li><strong>modo de "
+#~ "distribuição</strong>: As mensagens dos proxies <abbr title=\"Neighbour "
+#~ "Discovery Protocol\">NDP</abbr> a partir das interfaces verdadeiras do "
+#~ "<code>master</code> para o <code>ndproxy_slave</code>. Ajuda a "
+#~ "compatibilidade dos provedores dos enlaces sem <abbr title=\"Prefix "
+#~ "Delegation\">PD</abbr> e para os hosts que forem um proxy do firewall.</"
+#~ "li> <li><strong>modo híbrido</strong>: O modo de distribuição está "
+#~ "desativado até que a interface <code>master</code> tenha um valor boleano "
+#~ "igual a 1.</li></ul>"
#~ msgid ""
#~ "Router Lifetime published in <abbr title=\"Router Advertisement, ICMPv6 "
#~ "de 1280."
#~ msgid ""
-#~ "The maximum hops to be published in <abbr title=\"Router "
-#~ "Advertisement\">RA</abbr> messages.<br />Default is 0 (<code>0</code>), "
-#~ "meaning unspecified. Max 255."
+#~ "The maximum hops to be published in <abbr title=\"Router Advertisement"
+#~ "\">RA</abbr> messages.<br />Default is 0 (<code>0</code>), meaning "
+#~ "unspecified. Max 255."
#~ msgstr ""
#~ "A quantidade de saltos máximos que serão publicados nas mensagens <abbr "
#~ "title=\"Router Advertisement\">RA</abbr>.<br />O padrão é 0 (<code>0</"
#~ msgid ""
#~ "The filesystem that was used to format the memory (<abbr title=\"for "
-#~ "example\">e.g.</abbr> <samp><abbr title=\"Third Extended "
-#~ "Filesystem\">ext3</abbr></samp>)"
+#~ "example\">e.g.</abbr> <samp><abbr title=\"Third Extended Filesystem"
+#~ "\">ext3</abbr></samp>)"
#~ msgstr ""
-#~ "O sistema que foi usado para formatar a memória (<abbr title=\"por "
-#~ "exemplo\">ex.</abbr> <samp><abbr title=\"Sistema de Arquivos ext3\">ext3</"
-#~ "abbr></samp>)"
+#~ "O sistema que foi usado para formatar a memória (<abbr title=\"por exemplo"
+#~ "\">ex.</abbr> <samp><abbr title=\"Sistema de Arquivos ext3\">ext3</abbr></"
+#~ "samp>)"
#~ msgid ""
#~ "The flash image was uploaded. Below is the checksum and file size listed, "
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-06-10 03:41+0200\n"
-"PO-Revision-Date: 2022-10-04 18:07+0000\n"
+"PO-Revision-Date: 2022-10-25 10:20+0000\n"
"Last-Translator: Wellington Terumi Uemura <wellingtonuemura@gmail.com>\n"
"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
"openwrt/luci/pt_BR/>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.14.1\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:643
msgctxt "Yet unknown nftables table family (\"family\" table \"name\")"
msgstr "%.1f dB"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:123
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:117
msgid "%d Bit"
msgstr "%d Bit"
msgid "<abbr title=\"Router Advertisement\">RA</abbr>-Service"
msgstr "<abbr title=\"Router Advertisement\">RA</abbr>-Serviço"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:294
+msgid ""
+"<code>/#/</code> matches any domain. <code>/example.com/</code> returns "
+"NXDOMAIN."
+msgstr ""
+"<code>/#/</code> corresponde a qualquer domínio. <code>/example.com/</code> "
+"retorna NXDOMAIN."
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+msgid ""
+"<code>/example.com/#</code> returns NULL addresses (<code>0.0.0.0</code> and "
+"<code>::</code>) for example.com and its subdomains."
+msgstr ""
+"<code>/example.com/#</code> retorna endereços NULL (<code>0.0.0.0</code> e "
+"<code>::</code>) para example.com e os seus subdomínios."
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:87
msgctxt "nft relational \">\" operator expression"
msgid "<var>%s</var> greater than <strong>%s</strong>"
msgid "ATM device number"
msgstr "Número do dispositivo ATM"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
msgid "ATU-C System Vendor ID"
msgstr "Identificador de"
msgid "Absent Interface"
msgstr "Interface ausente"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:320
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
msgid "Accept DNS queries only from hosts whose address is on a local subnet."
msgstr ""
"Limite o serviço DNS para subredes das interfaces nas quais estamos servindo "
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:171
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:177
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:274
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:165
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:268
msgid "Add key"
msgstr "Adicione uma chave"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:410
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:415
msgid "Add local domain suffix to names served from hosts files."
msgstr "Adiciona um sufixo de domínio local para equipamentos conhecidos."
msgid "Add to Whitelist"
msgstr "Adicionar à lista branca"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:367
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
msgid "Additional hosts files"
msgstr "Arquivos adicionais de equipamentos conhecidos (hosts)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:417
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
msgid "Additional servers file"
msgstr "Arquivo de servidores adicionais"
msgid "Address to access local relay bridge"
msgstr "Endereço para acessar a ponte por retransmissão local"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:289
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:291
msgid "Addresses"
msgstr "Endereços"
msgid "Aggregate Originator Messages"
msgstr "Mensagens agregadas do originador"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
msgid "Aggregate Transmit Power (ACTATP)"
msgstr ""
"Potência de Transmissão Agregada (<abbr title=\"Aggregate Transmit Power"
msgid "Alias of \"%s\""
msgstr "Interface adicional de \"%s\""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
msgid "All servers"
msgstr "Todos os Servidores"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
msgid ""
"Allocate IP addresses sequentially, starting from the lowest available "
"address."
"Aloque endereços IP sequencialmente, iniciando a partir do endereço mais "
"baixo disponível."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
msgid "Allocate IPs sequentially"
msgstr "Alocar endereços IP sequencialmente"
msgid "Allow listed only"
msgstr "Permitir somente os listados"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
msgid "Allow localhost"
msgstr "Permitir computador local"
msgid "Always on (kernel: default-on)"
msgstr "Sempre ligado (kernel: padrão)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:538
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
msgid "Always send DHCP Options. Sometimes needed, with e.g. PXELinux."
msgstr ""
"Sempre envie opções DHCP. Às vezes necessário com, por exemplo, PXELinux."
msgstr "Uma descrição opcional e curta para este dispositivo"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1484
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
msgid "Annex"
msgstr "Anexo"
msgid "Any zone"
msgstr "Qualquer zona"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:532
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
msgid "Apply DHCP Options to this net. (Empty = all clients)."
msgstr "Aplique as opções DHCP nesta rede. (Vazio = todos os clientes)."
msgid "Authentication Type"
msgstr "Tipo de Autenticação"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:265
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:267
msgid "Authoritative"
msgstr "Autoritário"
-#: modules/luci-base/luasrc/view/sysauth.htm:17
+#: modules/luci-base/ucode/template/sysauth.ut:17
#: themes/luci-theme-bootstrap/htdocs/luci-static/resources/view/bootstrap/sysauth.js:11
msgid "Authorization Required"
msgstr "Autenticação Obrigatória"
msgid "Avoid Bridge Loops"
msgstr "Evite os loops da ponte"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
msgid ""
"Avoid uselessly triggering dial-on-demand links (filters SRV/SOA records and "
"names with underscores)."
msgid "Back to Overview"
msgstr "Voltar para Visão Geral"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:48
-msgid "Back to configuration"
-msgstr "Voltar para configuração"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:826
msgid "Back to peer configuration"
msgstr "Retorna à configuração de pares"
msgstr "Cópia de Segurança / Gravar Firmware"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:351
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:12
msgid "Backup file list"
msgstr "Lista de arquivos para a cópia de segurança"
msgstr "Intervalo do quadro de monitoramento (Beacon)"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:352
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:46
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
msgid "Bind NTP server"
msgstr "Servidor NTP Bind"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:326
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:331
msgid "Bind dynamically to interfaces rather than wildcard address."
msgstr ""
"Vincula dinamicamente nas interfaces em vez do endereço curinga (recomendado "
msgid "Bind interface"
msgstr "Interface Vinculada"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:595
+msgid ""
+"Bind service records to a domain name: specify the location of services."
+msgstr ""
+"Vincula os registros do serviço a um nome de domínio: especifique o local "
+"dos serviços."
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:556
+msgid ""
+"Bind service records to a domain name: specify the location of services. See "
+"<a href=\"%s\">RFC2782</a>."
+msgstr ""
+"Vincula os registros do serviço a um nome de domínio: especifique o local "
+"dos serviços. Consulte <a href=\"%s\">RFC2782</a>."
+
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gre.js:59
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gretap.js:64
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/grev6.js:64
msgid "CLAT configuration failed"
msgstr "Configuração CLAT falhou"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
+msgid "CNAME or fqdn"
+msgstr "CNAME ou fqdn"
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/processes.js:72
msgid "CPU usage (%)"
msgstr "Uso da CPU (%)"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:295
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:209
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:487
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:203
msgid "Cancel"
msgstr "Cancelar"
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4392
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:173
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:179
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:167
msgid "Close"
msgstr "Fechar"
"Feche as conexões inativas após uma dada quantidade de segundos. Use 0 para "
"manter as conexões"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:49
-msgid "Close list..."
-msgstr "Fechar a lista..."
-
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:44
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:63
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2184
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:391
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:352
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:355
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:72
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:66
msgid "Collecting data..."
msgstr "Coletando dados..."
msgid "Compute outgoing checksum (optional)."
msgstr "Cálculo do checksum de saída (opcional)."
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Config File"
+msgstr "Arquivo de configuração"
+
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4375
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
msgid "Configuration"
msgid "DAE-Secret"
msgstr "Segredo DAE"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:530
msgid "DHCP Options"
msgstr "Opções do DHCP"
msgid "DNS"
msgstr "DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:282
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:284
msgid "DNS forwardings"
msgstr "Encaminhamentos do DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:445
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:450
msgid "DNS query port"
msgstr ""
"Porta de consulta <abbr title=\"Sistema de Nomes de Domínios\">DNS</abbr>"
msgid "DNS search domains"
msgstr "Domínios de pesquisa do DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:443
msgid "DNS server port"
msgstr ""
"Porta do servidor <abbr title=\"Sistema de Nomes de Domínios\">DNS</abbr>"
msgid "DNS-Label / FQDN"
msgstr "Rótulo DNS / FQDN"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
msgid "DNSSEC"
msgstr "DNSSEC"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:407
msgid "DNSSEC check unsigned"
msgstr "Verificar DNSSEC sem assinatura"
msgstr "Endereço DS-Lite AFTR"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1481
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:44
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:45
msgid "DSL"
msgstr "DSL"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:14
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:15
msgid "DSL Status"
msgstr "Estado da DSL"
"Traffic Indication Message\">DTIM</abbr>"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:59
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:700
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:771
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:136
msgid "DUID"
msgstr "DUID"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
msgid "Data Rate"
msgstr "Taxa de Dados"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:205
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:211
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:199
msgid "Delete key"
msgstr "Apagar chave"
msgid "Disassociate On Low Acknowledgement"
msgstr "Desassocie quando houver baixa confirmação de recebimento"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:302
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
msgid ""
"Discard upstream responses containing <a href=\"%s\">RFC1918</a> addresses."
msgstr ""
msgid "Distributed ARP Table"
msgstr "Tabela ARP distribuída"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:548
msgid ""
"Dnsmasq instance to which this boot section is bound. If unspecified, the "
"section is valid for all dnsmasq instances."
"Dinâmica de Hosts\">DHCP</abbr> e o encaminhador para o <abbr title="
"\"Sistema dos Nomes de Domínios\">DNS</abbr>."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:419
msgid "Do not cache negative replies, e.g. for non-existent domains."
msgstr ""
"Não mantenha em cache qualquer retorno negativo como domínios inexistentes "
msgid "Do not create host route to peer (optional)."
msgstr "Não crie a rota do host para o peer (opcional)."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:262
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:264
msgid "Do not forward DNS queries without dots or domain parts."
msgstr "Não encaminhe as consultas DNS sem os pontos ou as partes do domínio."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
msgid "Do not forward reverse lookups for local networks."
msgstr "Não encaminhe buscas pelo endereço reverso para as redes locais."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:339
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
msgid "Do not listen on the specified interfaces."
msgstr "Evite escutar nestas Interfaces."
msgstr "Você realmente deseja apagar \"%s\" ?"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:206
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:200
msgid "Do you really want to delete the following SSH key?"
msgstr "Você realmente deseja apagar a seguinte chave SSH?"
msgid "Do you want to replace the current keys?"
msgstr "Deseja substituir as chaves atuais?"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:593
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:606
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:664
msgid "Domain"
msgstr "Domínio"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:261
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:263
msgid "Domain required"
msgstr "Requerer domínio"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:316
msgid "Domain whitelist"
msgstr "Lista branca de domínios"
msgid "Enable Single DES"
msgstr "Ative o DES Simples"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:480
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
msgid "Enable TFTP server"
msgstr "Ative o servidor TFTP"
msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets."
msgstr "Ative o campo DF (Não Fragmentar) dos pacotes encapsulados."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:481
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
msgid "Enable the built-in single-instance TFTP server."
msgstr "Ative o servidor TFTP integrado com única instância."
msgid "Error getting PublicKey"
msgstr "Houve um erro ao obter a PublicKey"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
msgid "Errored seconds (ES)"
msgstr "Segundos com erro (ES)"
msgid "Every second (fast, 1)"
msgstr "A cada segundo (rápido, 1)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:343
msgid "Exclude interfaces"
msgstr "Excluir interfaces"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
msgid ""
"Exempt <code>127.0.0.0/8</code> and <code>::1</code> from rebinding checks, "
"e.g. for RBL services."
msgid "Existing device"
msgstr "Dispositivo existente"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:409
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
msgid "Expand hosts"
msgstr "Expandir arquivos de equipamentos conhecidos (hosts)"
msgid "File"
msgstr "Arquivo"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
msgid ""
"File listing upstream resolvers, optionally domain-specific, e.g. "
"<code>server=1.2.3.4</code>, <code>server=/domain/1.2.3.4</code>."
msgid "File not accessible"
msgstr "Arquivo não associado"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:354
msgid "File to store DHCP lease information."
msgstr "O arquivo para armazenar as informações da locação do DHCP."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:362
msgid "File with upstream resolvers."
msgstr "Arquivo com os resolvedores upstream."
#: modules/luci-base/htdocs/luci-static/resources/ui.js:2846
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:507
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:512
msgid "Filename"
msgstr "Nome do arquivo"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:493
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:498
msgid "Filename of the boot image advertised to clients."
msgstr "Nome do arquivo da imagem de boot que é anunciada aos clientes."
msgid "Filesystem"
msgstr "Sistema de arquivo"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
msgid "Filter private"
msgstr "Filtrar endereços privados"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
msgid "Filter useless"
msgstr "Filtrar consultas inúteis"
msgid "Firmware Version"
msgstr "Versão do firmware"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:446
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:451
msgid "Fixed source port for outbound DNS queries."
msgstr "Porta fixa da origem para a saída das consultas DNS."
msgid "Flashing…"
msgstr "Instalando…"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:686
msgid "Force"
msgstr "Impor"
msgid "Force use of NAT-T"
msgstr "Impor o uso de NAT-T"
-#: modules/luci-base/luasrc/view/csrftoken.htm:8
+#: modules/luci-base/ucode/template/csrftoken.ut:8
msgid "Form token mismatch"
msgstr "Chave eletrônica do formulário não casa"
"Encaminhe as mensagens DHCPv6 entre a interface principal e as interfaces "
"\"downstream\"."
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
msgid "Forward Error Correction Seconds (FECS)"
msgstr ""
"Segundos a frente de correção de erros ( <abbr title=\"Forward Error "
msgid "Global network options"
msgstr "Opção global de rede"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:82
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:74
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:70
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:84
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:67
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:92
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
msgid "Go to firmware upgrade..."
msgstr "Ir para a atualização do firmware..."
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:72
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:64
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:60
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:57
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:82
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
msgid "Go to password configuration..."
msgstr "Ir para a configuração de senha..."
msgid "Hang Up"
msgstr "Suspender"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
msgid "Header Error Code Errors (HEC)"
msgstr ""
"Erros de Código de Erro de Cabeçalho (<abbr title=\"Header Error Code\">HEC</"
msgid "Host expiry timeout"
msgstr "Tempo limite de expiração de equipamento"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
msgid "Host requests this filename from the boot server."
msgstr "O Host solicita este nome de arquivo no servidor de inicialização."
msgstr "Conteúdo da etiqueta única do equipamento"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:38
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:607
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:678
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:54
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:87
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:135
msgid "Hostnames"
msgstr "Nome dos equipamentos"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:551
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:622
msgid ""
"Hostnames are used to bind a domain name to an IP address. This setting is "
"redundant for hostnames already configured with static leases, but it can be "
msgid "IP Protocol"
msgstr "Protocolo IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:260
msgid "IP Sets"
msgstr "Conjuntos IP"
msgid "IP Type"
msgstr "Tipo de IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:563
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:634
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:178
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:204
msgid "IP address"
msgid "IP protocol"
msgstr "Protocolo IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:660
msgid "IP set"
msgstr "conjunto IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:300
msgid "IP sets"
msgstr "Conjuntos IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:437
msgid "IPs to override with NXDOMAIN"
msgstr "Substitua por um domínio NX falso"
#: modules/luci-base/htdocs/luci-static/resources/protocol/static.js:178
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:736
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:88
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:164
msgid "IPv4 address"
msgid "IPv6 suffix"
msgstr "Sufixo IPv6"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:706
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:777
msgid "IPv6 suffix (hex)"
msgstr ""
"<abbr title=\"Internet Protocol Version 6/Protocolo Internet Versão "
"de transferência tão altas com a memória <abbr title=\"Memória de Acesso "
"Aleatório\">RAM</abbr>."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:363
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:368
msgid "Ignore <code>/etc/hosts</code>"
msgstr "Ignorar <code>/etc/hosts</code>"
msgid "Ignore interface"
msgstr "Ignorar interface"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:352
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
msgid "Ignore resolv file"
msgstr "Ignorar o arquivo de resolução de nomes (resolv.conf)"
"ponte, visando evitar os loops de transmissão que podem levar toda a LAN a "
"uma paralisação."
-#: modules/luci-base/luasrc/view/csrftoken.htm:13
+#: modules/luci-base/ucode/template/csrftoken.ut:13
msgid ""
"In order to prevent unauthorized access to the system, your request has been "
"blocked. Click \"Continue »\" below to return to the previous page."
msgid "Install protocol extensions..."
msgstr "Instalar extensões de protocolo..."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:547
msgid "Instance"
msgstr "Instância"
msgid "Internal"
msgstr "Interno"
-#: modules/luci-base/luasrc/view/error500.htm:8
-msgid "Internal Server Error"
-msgstr "Erro Interno no Servidor"
-
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:285
msgid "Interval For Sending Learning Packets"
msgstr "Intervalo para o Envio dos Pacotes de Aprendizagem"
msgid "Invalid hexadecimal value"
msgstr "Valor hexadecimal inválido"
-#: modules/luci-base/luasrc/view/sysauth.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:37
+#: modules/luci-base/ucode/template/sysauth.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:32
msgid "Invalid username and/or password! Please try again."
msgstr "Usuário e/ou senha inválida! Por favor, tente novamente."
"A imagem que está a tentar carregar aparenta nao caber na flash do "
"equipamento. Por favor verifique o arquivo da imagem!"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:89
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:96
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:77
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:91
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:72
msgid "JavaScript required!"
msgstr "É necessário JavaScript!"
msgid "Language and Style"
msgstr "Idioma e Estilo"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:560
+msgid ""
+"Larger weights (of the same prio) are given a proportionately higher "
+"probability of being selected."
+msgstr ""
+"Pesos maiores (do mesmo prio) recebem uma probabilidade proporcionalmente "
+"maior de serem selecionados."
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:575
msgid "Last member interval"
msgstr "O intervalo do último membro"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
msgid "Latency"
msgstr "Latência"
msgid "Learn routes"
msgstr "Aprenda as rotas"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:348
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:353
msgid "Lease file"
msgstr "Arquivo de atribuições"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:697
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:768
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:679
msgid "Lease time"
msgstr "Tempo de concessão"
msgid "Limit"
msgstr "Limite"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
msgid "Line Attenuation (LATN)"
msgstr "Atenuação de Linha (<abbr title=\"Line Attenuation\">LATN</abbr>)"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
msgid "Line Mode"
msgstr "Modo da Linha"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:17
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
msgid "Line State"
msgstr "Estado da Linha"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
msgid "Line Uptime"
msgstr "Tempo de Atividade da Linha"
msgid "Link layer header bits %d-%d"
msgstr "Bits do cabeçalho da camada do enlace %d-%d"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
msgid "List of IP addresses to convert into NXDOMAIN responses."
msgstr "Lista dos endereços IP que serão convertidos em respostas NXDOMAIN."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:296
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:581
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:652
msgid "List of IP sets to populate with the specified domain IPs."
msgstr ""
"Lista os conjuntos dos IPs para preencher os IPs com domínios especificados."
msgid "List of SSH key files for auth"
msgstr "Lista de arquivos de chaves SSH para autenticação"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:317
msgid "List of domains to allow RFC1918 responses for."
msgstr "Lista dos domínios com permissão para respostas RFC1918."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:290
-msgid "List of domains to force to an IP address."
-msgstr "Lista dos domínios que serão impostos num endereço IP."
-
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:283
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:285
msgid "List of upstream resolvers to forward queries to."
msgstr ""
"Lista de resolvedores upstream para onde as consultas serão encaminhadas."
msgid "Listen Port"
msgstr "Porta de escuta"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:332
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:337
msgid "Listen interfaces"
msgstr "Interfaces de escuta"
msgstr ""
"Escuta apenas na interface especificada. Se não especificado, escuta em todas"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:333
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
msgid ""
"Listen only on the specified interfaces, and loopback if not excluded "
"explicitly."
msgid "ListenPort setting is invalid"
msgstr "A configuração ListenPort está inválida"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:439
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:444
msgid "Listening port for inbound DNS queries."
msgstr "Porta de escuta para o recebimento das consultas do DNS."
msgstr "Carregando conteúdo do diretório…"
#: modules/luci-base/htdocs/luci-static/resources/luci.js:1942
-#: modules/luci-base/luasrc/view/view.htm:4
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:45
+#: modules/luci-base/ucode/template/view.ut:4
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:40
msgid "Loading view…"
msgstr "Carregando a visualização…"
msgid "Local ULA"
msgstr "ULA local"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:273
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:275
msgid "Local domain"
msgstr "Domínio local"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:274
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:276
msgid "Local domain suffix appended to DHCP names and hosts file entries."
msgstr ""
"O sufixo do domínio local anexado aos nomes DHCP e as entradas dos arquivos "
"hosts."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:269
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:271
msgid "Local server"
msgstr "Servidor local"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:319
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:324
msgid "Local service only"
msgstr "Somente o serviço local"
msgid "Local wireguard key"
msgstr "Chave wireguard local"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
msgid "Localise queries"
msgstr "Localizar consultas"
msgid "Log output level"
msgstr "Nível de detalhamento de saída dos registros"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:277
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:279
msgid "Log queries"
msgstr "Registar as consultas"
msgid "Logical network to which the tunnel will be added (bridged) (optional)."
msgstr "Rede lógica onde o túnel será adicionado (bridged) (opcional)."
-#: modules/luci-base/luasrc/view/sysauth.htm:38
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:41
+#: modules/luci-base/ucode/template/sysauth.ut:38
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:36
msgid "Login"
msgstr "Entrar"
msgid "Loose filtering"
msgstr "Filtragem livre"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
msgid "Loss of Signal Seconds (LOSS)"
msgstr ""
"Segundos de Perda de Sinal (<abbr title=\"Loss of Signal Seconds\">LOSS</"
msgid "Lowest leased address as offset from the network address."
msgstr "O endereço mais baixo concedido como deslocamento do endereço da rede."
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/footer.ut:12
+msgid "Lua compatibility mode active"
+msgstr "Modo de compatibilidade lua ativo"
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:48
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:83
msgid "MAC"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:591
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:40
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:619
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1164
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2177
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:56
msgid "MTU"
msgstr "MTU"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:259
+msgid "MX"
+msgstr "MX"
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:303
msgid ""
"Make sure to clone the root filesystem using something like the commands "
msgid "Max <abbr title=\"Router Advertisement\">RA</abbr> interval"
msgstr "Intervalo máximo <abbr title=\"Router Advertisement\">RA</abbr>"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
msgid "Max. Attainable Data Rate (ATTNDR)"
msgstr ""
"Taxa de Dados Atingível Máxima (<abbr title=\"Maximum Attainable Data Rate"
"\">ATTNDR</abbr>)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:457
msgid "Max. DHCP leases"
msgstr ""
"Numero máximo de concessões <abbr title=\"Protocolo de Configuração Dinâmica "
"de Equipamentos\">DHCP</abbr>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:459
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:464
msgid "Max. EDNS0 packet size"
msgstr ""
"Tamanho máximo do pacote do <abbr title=\"Extension Mechanisms for Domain "
"Name System\">EDNS0</abbr>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:466
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:471
msgid "Max. concurrent queries"
msgstr "Número máximo de consultas concorrentes"
msgid "Maximum allowed Listen Interval"
msgstr "Intervalo máximo permitido de escuta"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:453
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:458
msgid "Maximum allowed number of active DHCP leases."
msgstr "A quantidade máxima permitida para as alocações ativas do DHCP."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:467
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:472
msgid "Maximum allowed number of concurrent DNS queries."
msgstr "A quantidade máxima permitida de consultas concorrentes do DNS."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:460
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:465
msgid "Maximum allowed size of EDNS0 UDP packets."
msgstr "O tamanho máximo permitido dos pacotes UDP EDNS.0."
msgid "Maximum transmit power"
msgstr "Potência máxima de transmissão"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:394
msgid "May prevent VoIP or other services from working."
msgstr "Pode impedir o funcionamento do VoIP ou de outros serviços."
msgid "Name of the tunnel device"
msgstr "Nome do túnel do dispositivo"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:46
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:39
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:50
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:44
msgid "Navigation"
msgstr "Navegação"
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:10
+msgid "Nebula Network"
+msgstr "Rede Nebulosa"
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:653
msgid "Neighbour cache validity"
msgstr "Validade do cache vizinho"
msgid "Network address"
msgstr "Endereço de rede"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:492
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:497
msgid "Network boot image"
msgstr "Imagem de boot pela rede"
msgid "Network interface"
msgstr "Interfaces de rede"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:536
msgid "Network-ID"
msgstr "Network-ID"
msgid "Never"
msgstr "Nunca"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:270
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:272
msgid ""
"Never forward matching domains and subdomains, resolve from DHCP or hosts "
"files only."
msgid "No RX signal"
msgstr "Sem sinal RX"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:80
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:87
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:68
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:82
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:65
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:90
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:70
msgid ""
"No changes to settings will be stored and are lost after rebooting. This "
"mode should only be used to install a firmware upgrade"
msgid "No entries in this directory"
msgstr "Nenhuma entrada neste diretório"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:82
-msgid "No files found"
-msgstr "Nenhum arquivo encontrado"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:833
msgid ""
"No fixed interface listening port defined, peers might not be able to "
msgid "No more slaves available, can not save interface"
msgstr "Não há mais escravos disponíveis, não é possível salvar a interface"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:413
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
msgid "No negative cache"
msgstr "Nenhum cache negativo"
msgid "No nftables ruleset loaded."
msgstr "Nenhuma regra nftables foi carregada."
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:69
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:61
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:57
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:54
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:79
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:59
msgid "No password set!"
msgstr "Nenhuma senha definida!"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:146
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:283
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:140
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:277
msgid "No public keys present yet."
msgstr "Nenhuma chave pública presente ainda."
msgid "Noise"
msgstr "Ruído"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
msgid "Noise Margin (SNR)"
msgstr ""
"Margem de Ruído (<abbr title=\"Razão entre Sinal e Ruído/Signal to Noise "
msgid "Noise:"
msgstr "Ruído:"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
msgid "Non Pre-emptive CRC errors (CRC_P)"
msgstr ""
"Erros CRC Não Preemptivos<abbr title=\"Non Pre-emptive CRC errors\">CRC_P</"
"abbr>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:330
msgid "Non-wildcard"
msgstr "Sem caracter curinga"
msgid "Normal"
msgstr "Normal"
-#: modules/luci-base/luasrc/view/error404.htm:8
+#: modules/luci-base/ucode/template/error404.ut:9
msgid "Not Found"
msgstr "Não Encontrado"
msgid "Number of IGMP membership reports"
msgstr "Quantidade de relatórios associados ao IGMP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:474
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:479
msgid "Number of cached DNS entries, 10000 is maximum, 0 is no caching."
msgstr ""
"A quantidade das entradas DNS em cache, 10000 é o máximo, 0 desativa o cache."
msgid "On-link"
msgstr "Rota em enlace"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:672
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:743
msgid "One of hostname or MAC address must be specified!"
msgstr ""
"É necessário especificar ao menos um nome de equipamento ou endereço MAC!"
msgstr "Abrir a visão geral das regras do iptables…"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:472
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:19
msgid "Open list..."
msgstr "Abrir lista..."
msgid "Options"
msgstr "Opções"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:526
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
msgid ""
"Options for the Network-ID. (Note: needs also Network-ID.) E.g. "
"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</code>"
"\"o endereço do sistema executando o dnsmasq\"."
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:125
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:119
msgid "Options:"
msgstr "Opções:"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
+msgid "Ordinal: lower comes first."
+msgstr "Ordinal: o menor vem primeiro."
+
#: protocols/luci-proto-batman-adv/htdocs/luci-static/resources/protocol/batadv.js:55
msgid "Originator Interval"
msgstr "Intervalo do originador"
msgid "Pass-through (Mirror physical device to single MAC VLAN)"
msgstr "Passagem direta (Dispositivo físico espelhado para um único MAC VLAN)"
-#: modules/luci-base/luasrc/view/sysauth.htm:29
+#: modules/luci-base/ucode/template/sysauth.ut:29
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1690
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:51
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:114
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:103
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:24
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:19
msgid "Password"
msgstr "Senha"
msgstr "Senha2"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:266
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:260
msgid "Paste or drag SSH key file…"
msgstr "Colar ou arrastar arquivo chave SSH…"
msgid "Pkts."
msgstr "Pcts."
-#: modules/luci-base/luasrc/view/sysauth.htm:19
+#: modules/luci-base/ucode/template/sysauth.ut:19
msgid "Please enter your username and password."
msgstr "Entre com o nome do seu usuário e a senha."
msgid "Policy: <strong>%h</strong> (%h)"
msgstr "Política: <strong>%h</strong> (%h)"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:579
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:21
msgid "Port"
msgstr "Porta"
msgid "Potential negation of: %s"
msgstr "Negação potencial de: %s"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:38
msgid "Power Management Mode"
msgstr "Modo de Gerenciamento de Energia"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
msgid "Pre-emptive CRC errors (CRCP_P)"
msgstr ""
"Erros CRC Preemptivos<abbr title=\"Pre-emptive CRC errors\">CRCP_P</abbr>"
msgstr "O primário se torna um escravo ativo sempre que retornar (sempre, 0)"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:129
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:197
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:223
msgstr "Chave pública: %h"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:290
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:284
msgid ""
"Public keys allow for the passwordless SSH logins with a higher security "
"compared to the use of plain passwords. In order to upload a new key to the "
msgid "Quality"
msgstr "Qualidade"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
msgid "Query all available upstream resolvers."
msgstr ""
"Consulte todos os servidores <abbr title=\"Domain Name System\">DNS</abbr> "
"Bytes brutos codificados em hexadecimal. Deixe vazio a não ser que seu "
"provedor requeira isso"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:345
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:350
msgid "Read <code>/etc/ethers</code> to configure the DHCP server."
msgstr "Leia o <code>/etc/ethers</code> para configurar o servidor DHCP."
msgid "Reassociation Deadline"
msgstr "Limite para Reassociação"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
msgid "Rebind protection"
msgstr "Proteção contra \"Rebind\""
"ou igual ao valor especificado"
#: modules/luci-compat/luasrc/model/network/proto_relay.lua:153
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:611
#: protocols/luci-proto-relay/htdocs/luci-static/resources/protocol/relay.js:39
msgid "Relay"
msgstr "Retransmissor"
msgid "Required. Base64-encoded private key for this interface."
msgstr "Obrigatório. Chave privada codificada em Base64 para esta interface."
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Required. Path to the .yml config file for this interface."
+msgstr ""
+"Obrigatório. O caminho para o arquivo de configuração .yml desta interface."
+
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:587
msgid "Required. Public key of the WireGuard peer."
msgstr "Obrigatório. Chave pública do par WireGuard."
msgstr "Política de nova seleção para o escravo primário"
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2197
-#: modules/luci-base/luasrc/view/sysauth.htm:39
+#: modules/luci-base/ucode/template/sysauth.ut:39
#: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
#: modules/luci-compat/luasrc/view/cbi/footer.htm:30
#: modules/luci-compat/luasrc/view/cbi/simpleform.htm:66
msgid "Resolv and Hosts Files"
msgstr "Arquivos resolv e hosts"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:356
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:361
msgid "Resolv file"
msgstr "Arquivo resolv"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:292
+msgid "Resolve specified FQDNs to an IP."
+msgstr "Lista dos domínios que serão impostos num endereço IP."
+
#: modules/luci-base/htdocs/luci-static/resources/rpc.js:405
msgid "Resource not found"
msgstr "Recurso não encontrado"
msgid "Restore backup"
msgstr "Restaure uma cópia de segurança"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
msgid ""
"Return answers to DNS queries matching the subnet from which the query was "
"received if multiple IPs are available."
msgid "Robustness"
msgstr "Robustez"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:491
msgid ""
"Root directory for files served via TFTP. <em>Enable TFTP server</em> and "
"<em>TFTP server root</em> turn on the TFTP server and serve files from "
msgid "SNR"
msgstr "SNR"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "SRV"
+msgstr "SRV"
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:10
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:38
msgid "SSH Access"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:289
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:51
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:283
msgid "SSH-Keys"
msgstr "Chaves SSH"
msgid "Server"
msgstr "Servidor"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:524
msgid "Server address"
msgstr "Endereço do servidor"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:518
msgid "Server name"
msgstr "Nome do servidor"
msgid "Setup routes for proxied IPv6 neighbours."
msgstr "Rotas de configuração para vizinhos IPv6 que tiverem proxy."
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
msgid "Severely Errored Seconds (SES)"
msgstr ""
"Segundos com erro severos (<abbr title=\"Severely Errored Seconds\">SES</"
msgstr "Preâmbulo curto"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:470
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:18
msgid "Show current backup file list"
msgstr "Mostra a lista atual de arquivos para a cópia de segurança"
msgid "Signal / Noise"
msgstr "Sinal / Ruído"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
msgid "Signal Attenuation (SATN)"
msgstr "Atenuação do Sinal (<abbr title=\"Signal Attenuation\">SATN</abbr>)"
msgid "Size"
msgstr "Tamanho"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:473
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:478
msgid "Size of DNS query cache"
msgstr "Tamanho do cache de consultas DNS"
msgid "Skip from backup files that are equal to those in /rom"
msgstr "Ignore os arquivos de backup que sejam iguais aos arquivos em /rom"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:42
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:35
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:46
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:40
msgid "Skip to content"
msgstr "Pular para o conteúdo"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:41
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:34
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:45
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:39
msgid "Skip to navigation"
msgstr "Pular para a navegação"
msgid "Some fields are invalid, cannot save values!"
msgstr "Alguns campos estão inválidos e os valores não podem ser salvos!"
-#: modules/luci-base/luasrc/view/error404.htm:9
+#: modules/luci-base/ucode/template/error404.ut:10
msgid "Sorry, the object you requested was not found."
msgstr "Desculpe o objeto solicitado não foi encontrado."
-#: modules/luci-base/luasrc/view/error500.htm:9
-msgid "Sorry, the server encountered an unexpected error."
-msgstr "Desculpe, o servidor encontrou um erro inesperado."
-
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:442
msgid ""
"Sorry, there is no sysupgrade support present; a new firmware image must be "
msgid "Source port"
msgstr "Porta de origem"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:505
msgid ""
"Special <abbr title=\"Preboot eXecution Environment\">PXE</abbr> boot "
"options for Dnsmasq."
msgid "Static address"
msgstr "Endereço Estático"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:598
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:669
msgid ""
"Static leases are used to assign fixed IP addresses and symbolic hostnames "
"to DHCP clients. They are also required for non-dynamic interface "
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:16
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:541
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:929
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:9
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:9
msgid "Status"
msgstr "Condição Geral"
msgid "Strict filtering"
msgstr "Filtragem rigorosa"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
msgid "Strict order"
msgstr "Ordem Exata"
msgid "Submit"
msgstr "Enviar"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
msgid "Suppress logging"
msgstr "Suprimir registros (log)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:373
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
msgid "Suppress logging of the routine operation for the DHCP protocol."
msgstr "Suprima dos registros (log) as operações rotineiras do protocolo DHCP."
msgid "Sync with browser"
msgstr "Sincronize com o navegador"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:293
+msgid "Syntax: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+msgstr "Sintaxe: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "Syntax: <code>_service._proto.example.com</code>."
+msgstr "Sintaxe: <code>_service._proto.example.com</code>."
+
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:26
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:17
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:113
msgid "System log buffer size"
msgstr "Tamanho do buffer de registro do sistema"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:79
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:86
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:71
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:67
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:81
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:64
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:69
msgid "System running in recovery (initramfs) mode."
msgstr "Sistema funcionando em modo de recuperação (initramfs)."
msgid "TCP:"
msgstr "TCP:"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:490
msgid "TFTP server root"
msgstr "Raiz do servidor TFTP"
msgid "Table"
msgstr "Tabela"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:56
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:66
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:187
"A configuração da atualização de pontas HE.net mudou. Você deve agora usar o "
"nome do usuário ao invés do identificador do usuário!"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:681
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:752
msgid "The IP address %h is already used by another static lease"
msgstr "O endereço IP %h já é utilizado por outra concessão estática"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:761
msgid "The IP address is outside of any DHCP pool address range"
msgstr "O endereço IP está fora de qualquer faixa de endereços do DHCP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:520
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
msgid "The IP address of the boot server"
msgstr "O endereço IP do servidor de inicialização"
"WireGuard para configurar uma conexão neste dispositivo."
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:172
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:166
msgid "The given SSH public key has already been added."
msgstr "A chave pública SSH fornecida já foi adicionada."
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:178
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:172
msgid ""
"The given SSH public key is invalid. Please supply proper public RSA, "
"ED25519 or ECDSA keys."
"TQ de cada OGM encaminhado, propagando assim o custo de um salto extra (o "
"pacote deve ser recebido e retransmitido, o que custa tempo de antena)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:514
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
msgid "The hostname of the boot server"
msgstr "O nome do host do servidor de inicialização"
msgid "The selected %s mode is incompatible with %s encryption"
msgstr "O modo %s selecionado é incompatível com a criptografia %s"
-#: modules/luci-base/luasrc/view/csrftoken.htm:11
+#: modules/luci-base/ucode/template/csrftoken.ut:11
msgid "The submitted security token is invalid or already expired!"
msgstr "A chave eletrônica enviada é inválida ou já expirou!"
"regras do iptables com o nftables é desencorajada e pode levar a uma "
"incompleta filtragem de tráfego."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:746
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:778
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:817
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:849
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:130
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:179
msgid "There are no active leases"
msgid "There are no changes to apply"
msgstr "Não há alterações a serem aplicadas"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:70
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:58
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:55
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:80
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:60
msgid ""
"There is no password set on this router. Please configure a root password to "
"protect the web interface."
msgstr "Isso não se parece com um arquivo PEM válido"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:16
msgid ""
"This is a list of shell glob patterns for matching files and directories to "
"include during sysupgrade. Modified files in /etc/config/ and certain other "
"Este é o endereço da ponta local designado pelo agente de túnel. normalmente "
"ele termina com <code>...:2/64</code>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:266
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:268
msgid "This is the only DHCP server in the local network."
msgstr "Este é o único servidor DHCP na rede local."
msgid "Unable to determine upstream interface"
msgstr "Não foi possível determinar a interface com a rede externa"
-#: modules/luci-base/luasrc/view/error404.htm:11
+#: modules/luci-base/ucode/template/error404.ut:12
msgid "Unable to dispatch"
msgstr "Não é possível a expedição"
msgid "Unable to verify PIN"
msgstr "Não foi possível verificar o PIN"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
msgid "Unavailable Seconds (UAS)"
msgstr ""
"Segundos de indisponibilidade (<abbr title=\"Unavailable Seconds\">UAS</"
msgstr "Desmontar"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:121
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:115
msgid "Unnamed key"
msgstr "Chave sem nome"
"Ao pressionar \"Continuar\", as opções ifname serão renomeadas e a rede será "
"reiniciada para aplicar a atualização da configuração."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
msgid "Upstream resolvers will be queried in the order of the resolv file."
msgstr ""
"Os resolvedores upstream serão consultados na ordem que estiverem no arquivo "
msgid "Uptime"
msgstr "Tempo de atividade"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
msgid "Use <code>/etc/ethers</code>"
msgstr "Usar <code>/etc/ethers</code>"
msgid "Use system certificates for inner-tunnel"
msgstr "Utilizar certificados de sistema para túnel interno"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:599
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:670
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC address</"
"em> identifies the host, the <em>IPv4 address</em> specifies the fixed "
msgid "User key (PEM encoded)"
msgstr "Chave do usuário (codificada em formato PEM)"
-#: modules/luci-base/luasrc/view/sysauth.htm:23
+#: modules/luci-base/ucode/template/sysauth.ut:23
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:112
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:101
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:56
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:18
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:13
msgid "Username"
msgstr "Nome do usuário"
#: protocols/luci-proto-vti/htdocs/luci-static/resources/protocol/vti.js:10
msgid "VTI"
-msgstr ""
+msgstr "VTI"
#: protocols/luci-proto-vxlan/htdocs/luci-static/resources/protocol/vxlan.js:10
msgid "VXLAN (RFC7348)"
msgid "VXLANv6 (RFC7348)"
msgstr "VXLANv6 (RFC7348)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
msgid ""
"Validate DNS replies and cache DNSSEC data, requires upstream to support "
"DNSSEC."
msgid "Vendor Class to send when requesting DHCP"
msgstr "Classe do fabricante para enviar quando requisitar o DHCP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:408
msgid "Verify unsigned domain responses really come from unsigned domains."
msgstr ""
"Verifique se as respostas dos domínios não assinados vêm realmente de "
msgid "Weak"
msgstr "Fraco"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+msgid "Weight"
+msgstr "Peso"
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1029
msgid ""
"When delegating prefixes to multiple downstreams, interfaces with a higher "
msgid "Wireless network is enabled"
msgstr "A rede sem fio está habilitada"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:278
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:280
msgid "Write received DNS queries to syslog."
msgstr "Salve as consultas recebidas do DNS no syslog."
"por exemplo \"rede/network\", o dispositivo poderá ficar inacessível!</"
"strong>"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:90
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:97
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
+msgid "You may add multiple records for the same Target."
+msgstr "Você pode adicionar vários registros para o mesmo destino."
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:596
+msgid "You may add multiple records for the same domain."
+msgstr "Você pode adicionar vários registros para o mesmo domínio."
+
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:78
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:92
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:73
msgid ""
"You must enable JavaScript in your browser or LuCI will not work properly."
msgid "ZRam Size"
msgstr "Tamanho ZRam"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:558
+msgid "_proto: _tcp, _udp, _sctp, _quic, … ."
+msgstr "_proto: _tcp, _udp, _sctp, _quic, … ."
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:557
+msgid ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Note: while _http is "
+"possible, no browsers support SRV records.)"
+msgstr ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Observação: embora o "
+"_http seja possível, nenhum navegador suporta registros SRV.)"
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:454
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:152
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:163
msgid "any"
msgid "e.g: dump"
msgstr "por exemplo: despejo"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:726
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:756
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:797
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:827
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:101
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:148
msgid "expired"
msgid "unknown"
msgstr "desconhecido"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:456
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:724
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:754
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:461
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:795
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:825
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:99
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:146
msgid "unlimited"
msgid "« Back"
msgstr "« Voltar"
+#~ msgid "Back to configuration"
+#~ msgstr "Voltar para configuração"
+
+#~ msgid "Close list..."
+#~ msgstr "Fechar a lista..."
+
+#~ msgid "Internal Server Error"
+#~ msgstr "Erro Interno no Servidor"
+
+#~ msgid "No files found"
+#~ msgstr "Nenhum arquivo encontrado"
+
+#~ msgid "Sorry, the server encountered an unexpected error."
+#~ msgstr "Desculpe, o servidor encontrou um erro inesperado."
+
#~ msgid "Do not forward queries that cannot be answered by public resolvers."
#~ msgstr ""
#~ "Não encaminhe as requisições que não possam ser respondidas pelos "
msgstr "%.1f dB"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:123
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:117
msgid "%d Bit"
msgstr "%d Bit"
msgid "<abbr title=\"Router Advertisement\">RA</abbr>-Service"
msgstr "Serviciu-<abbr title=\"Router Advertisement\">RA</abbr>"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:294
+msgid ""
+"<code>/#/</code> matches any domain. <code>/example.com/</code> returns "
+"NXDOMAIN."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+msgid ""
+"<code>/example.com/#</code> returns NULL addresses (<code>0.0.0.0</code> and "
+"<code>::</code>) for example.com and its subdomains."
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:87
msgctxt "nft relational \">\" operator expression"
msgid "<var>%s</var> greater than <strong>%s</strong>"
msgid "ATM device number"
msgstr "Număr echipament ATM"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
msgid "ATU-C System Vendor ID"
msgstr "ID-ul furnizorului sistemului ATU-C"
msgid "Absent Interface"
msgstr "Interfață Absentă"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:320
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
msgid "Accept DNS queries only from hosts whose address is on a local subnet."
msgstr ""
"Acceptați interogări DNS numai de la gazde a căror adresă se află într-o "
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:171
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:177
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:274
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:165
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:268
msgid "Add key"
msgstr "Adăugați cheia"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:410
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:415
msgid "Add local domain suffix to names served from hosts files."
msgstr ""
"Adăugați sufixul domeniului local la numele servite din fișierele hosts."
msgid "Add to Whitelist"
msgstr "Adăugați la lista albă"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:367
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
msgid "Additional hosts files"
msgstr "Fișiere de tip hosts adiționale"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:417
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
msgid "Additional servers file"
msgstr "Fișier suplimentar pentru servere"
msgid "Address to access local relay bridge"
msgstr "Adresa de acces punte locala repetor"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:289
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:291
msgid "Addresses"
msgstr "Adrese"
msgid "Aggregate Originator Messages"
msgstr "Agregarea mesajelor inițiatorului"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
msgid "Aggregate Transmit Power (ACTATP)"
msgstr "Puterea de transmisie agregată (ACTATP)"
msgid "Alias of \"%s\""
msgstr "Alias al lui \"%s\""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
msgid "All servers"
msgstr "Toate serverele"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
msgid ""
"Allocate IP addresses sequentially, starting from the lowest available "
"address."
"Alocați adresele IP în mod secvențial, începând cu cea mai mică adresă "
"disponibilă."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
msgid "Allocate IPs sequentially"
msgstr "Alocă IP-urile secvențial"
msgid "Allow listed only"
msgstr "Permiteți doar din listă"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
msgid "Allow localhost"
msgstr "Permiteți localhost"
msgid "Always on (kernel: default-on)"
msgstr "Întotdeauna activat (kernel: implicit activat)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:538
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
msgid "Always send DHCP Options. Sometimes needed, with e.g. PXELinux."
msgstr ""
"Trimiteți întotdeauna opțiunile DHCP. Uneori ele sunt necesare, de exemplu, "
msgstr "O scurtă descriere opțională pentru acest dispozitiv"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1484
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
msgid "Annex"
msgstr "Anexa"
msgid "Any zone"
msgstr "Orice zonă"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:532
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
msgid "Apply DHCP Options to this net. (Empty = all clients)."
msgstr "Aplicați opțiunile DHCP la această rețea. (Gol = toți clienții)."
msgid "Authentication Type"
msgstr "Tipul Autentificării"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:265
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:267
msgid "Authoritative"
msgstr "Autoritar"
-#: modules/luci-base/luasrc/view/sysauth.htm:17
+#: modules/luci-base/ucode/template/sysauth.ut:17
#: themes/luci-theme-bootstrap/htdocs/luci-static/resources/view/bootstrap/sysauth.js:11
msgid "Authorization Required"
msgstr "Autorizație Necesară"
msgid "Avoid Bridge Loops"
msgstr "Evitați buclele de pod"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
msgid ""
"Avoid uselessly triggering dial-on-demand links (filters SRV/SOA records and "
"names with underscores)."
msgid "Back to Overview"
msgstr "Înapoi la Prezentare generală"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:48
-msgid "Back to configuration"
-msgstr "Înapoi la configurare"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:826
msgid "Back to peer configuration"
msgstr "Înapoi la configurația peer"
msgstr "Salvați / Scrieți Firmware"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:351
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:12
msgid "Backup file list"
msgstr "Salvează lista de fișiere"
msgstr "Interval de semnalizare"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:352
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:46
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
msgid "Bind NTP server"
msgstr "Legătura serverului NTP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:326
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:331
msgid "Bind dynamically to interfaces rather than wildcard address."
msgstr ""
"Se leagă în mod dinamic la interfețe mai degrabă decât la adrese wildcard."
msgid "Bind interface"
msgstr "Legați interfața"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:595
+msgid ""
+"Bind service records to a domain name: specify the location of services."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:556
+msgid ""
+"Bind service records to a domain name: specify the location of services. See "
+"<a href=\"%s\">RFC2782</a>."
+msgstr ""
+
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gre.js:59
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gretap.js:64
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/grev6.js:64
msgid "CLAT configuration failed"
msgstr "Configurarea CLAT a eșuat"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
+msgid "CNAME or fqdn"
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/processes.js:72
msgid "CPU usage (%)"
msgstr "Utilizarea procesorului (%)"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:295
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:209
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:487
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:203
msgid "Cancel"
msgstr "Anulare"
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4392
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:173
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:179
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:167
msgid "Close"
msgstr "Închideți"
"Închideți conexiunea inactivă după un număr de secunde dat, utilizați 0 "
"pentru a menține conexiunea"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:49
-msgid "Close list..."
-msgstr "Închideți lista..."
-
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:44
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:63
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2184
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:391
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:352
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:355
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:72
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:66
msgid "Collecting data..."
msgstr "Colectare date..."
msgid "Compute outgoing checksum (optional)."
msgstr "Calculați suma de control de ieșire (opțional)."
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Config File"
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4375
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
msgid "Configuration"
msgid "DAE-Secret"
msgstr "Secretul-DAE"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:530
msgid "DHCP Options"
msgstr "Opțiuni DHCP"
msgid "DNS"
msgstr "DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:282
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:284
msgid "DNS forwardings"
msgstr "Redirecționări DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:445
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:450
msgid "DNS query port"
msgstr "Port de interogare DNS"
msgid "DNS search domains"
msgstr "Domenii de căutare DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:443
msgid "DNS server port"
msgstr "Portul serverului DNS"
msgid "DNS-Label / FQDN"
msgstr "Etichetă DNS / FQDN"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
msgid "DNSSEC"
msgstr "DNSSEC"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:407
msgid "DNSSEC check unsigned"
msgstr "Verificare DNSSEC nesemnată"
msgstr "Adresa DS-Lite AFTR"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1481
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:44
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:45
msgid "DSL"
msgstr "DSL"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:14
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:15
msgid "DSL Status"
msgstr "Starea DSL"
msgstr "Interval DTIM"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:59
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:700
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:771
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:136
msgid "DUID"
msgstr "DUID"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
msgid "Data Rate"
msgstr "Rata de date"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:205
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:211
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:199
msgid "Delete key"
msgstr "Ștergeți cheia"
msgid "Disassociate On Low Acknowledgement"
msgstr "Dezasociere la recunoaștere scăzută"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:302
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
msgid ""
"Discard upstream responses containing <a href=\"%s\">RFC1918</a> addresses."
msgstr ""
msgid "Distributed ARP Table"
msgstr "Tabel ARP distribuit"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:548
msgid ""
"Dnsmasq instance to which this boot section is bound. If unspecified, the "
"section is valid for all dnsmasq instances."
"\">DHCP</abbr> și <abbr title=\"Domain Name System\">DNS</abbr> "
"redirecționator."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:419
msgid "Do not cache negative replies, e.g. for non-existent domains."
msgstr ""
"Nu puneți în cache răspunsurile negative, de exemplu pentru domenii "
msgid "Do not create host route to peer (optional)."
msgstr "Nu creați o rută gazdă către partener (opțional)."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:262
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:264
msgid "Do not forward DNS queries without dots or domain parts."
msgstr "Nu transmiteți interogări DNS fără puncte sau părți de domeniu."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
msgid "Do not forward reverse lookups for local networks."
msgstr "Nu redirecționați căutările inverse pentru rețelele locale."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:339
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
msgid "Do not listen on the specified interfaces."
msgstr "Nu ascultați pe interfețele specificate."
msgstr "Sigur doriți să ștergeți \"%s\" ?"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:206
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:200
msgid "Do you really want to delete the following SSH key?"
msgstr "Sigur doriți să ștergeți această cheie SSH?"
msgid "Do you want to replace the current keys?"
msgstr "Doriți să înlocuiți cheile actuale?"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:593
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:606
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:664
msgid "Domain"
msgstr "Domeniu"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:261
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:263
msgid "Domain required"
msgstr "Domeniul este necesar"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:316
msgid "Domain whitelist"
msgstr "Lista albă de domenii"
msgid "Enable Single DES"
msgstr "Activează DES unic"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:480
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
msgid "Enable TFTP server"
msgstr "Activați serverul TFTP"
msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets."
msgstr "Activați indicatorul DF (Don't Fragment) al pachetelor încapsulate."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:481
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
msgid "Enable the built-in single-instance TFTP server."
msgstr "Activați serverul TFTP încorporat într-o singură instanță."
msgid "Error getting PublicKey"
msgstr "Eroare la obținerea PublicKey"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
msgid "Errored seconds (ES)"
msgstr "Secunde eronate (ES)"
msgid "Every second (fast, 1)"
msgstr "La fiecare secundă (rapid, 1)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:343
msgid "Exclude interfaces"
msgstr "Excludeți interfețele"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
msgid ""
"Exempt <code>127.0.0.0/8</code> and <code>::1</code> from rebinding checks, "
"e.g. for RBL services."
msgid "Existing device"
msgstr "Dispozitiv existent"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:409
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
msgid "Expand hosts"
msgstr "Extindeți gazdele"
msgid "File"
msgstr "Fișier"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
msgid ""
"File listing upstream resolvers, optionally domain-specific, e.g. "
"<code>server=1.2.3.4</code>, <code>server=/domain/1.2.3.4</code>."
msgid "File not accessible"
msgstr "Fișierul nu este accesibil"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:354
msgid "File to store DHCP lease information."
msgstr "Fișier în care se stochează informațiile de închiriere DHCP."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:362
msgid "File with upstream resolvers."
msgstr "Fișier cu rezolvatori din amonte."
#: modules/luci-base/htdocs/luci-static/resources/ui.js:2846
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:507
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:512
msgid "Filename"
msgstr "Numele fișierului"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:493
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:498
msgid "Filename of the boot image advertised to clients."
msgstr "Numele de fișier al imaginii de pornire anunțate clienților."
msgid "Filesystem"
msgstr "Sistemul de fișiere"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
msgid "Filter private"
msgstr "Filtrați privatele"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
msgid "Filter useless"
msgstr "Filtrați nefolosite"
msgid "Firmware Version"
msgstr "Versiunea Firmware-ului"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:446
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:451
msgid "Fixed source port for outbound DNS queries."
msgstr "Port sursă fix pentru interogările DNS de ieșire."
msgid "Flashing…"
msgstr "Scriere…"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:686
msgid "Force"
msgstr "Forțați"
msgid "Force use of NAT-T"
msgstr "Forțați utilizarea NAT-T"
-#: modules/luci-base/luasrc/view/csrftoken.htm:8
+#: modules/luci-base/ucode/template/csrftoken.ut:8
msgid "Form token mismatch"
msgstr "Necorespundere între simboluri de formular"
"Redirecționează mesajele DHCPv6 între interfața principală desemnată și "
"interfețele din downstream."
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
msgid "Forward Error Correction Seconds (FECS)"
msgstr "Secunde de corecție a erorilor înainte (FECS)"
msgid "Global network options"
msgstr "Opțiuni de rețea globală"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:82
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:74
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:70
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:84
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:67
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:92
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
msgid "Go to firmware upgrade..."
msgstr "Mergeți la actualizarea firmware-ului..."
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:72
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:64
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:60
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:57
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:82
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
msgid "Go to password configuration..."
msgstr "Mergeți la configurarea parolei..."
msgid "Hang Up"
msgstr "Închideți"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
msgid "Header Error Code Errors (HEC)"
msgstr "Erori de cod de eroare de antet (HEC)"
msgid "Host expiry timeout"
msgstr "Timpul de expirare a gazdei"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
msgid "Host requests this filename from the boot server."
msgstr "Gazda solicită acest nume de fișier de la serverul de pornire."
msgstr "Conținutul etichetei Host-Uniq"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:38
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:607
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:678
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:54
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:87
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:135
msgid "Hostnames"
msgstr "Numele gazdelor (hostnames)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:551
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:622
msgid ""
"Hostnames are used to bind a domain name to an IP address. This setting is "
"redundant for hostnames already configured with static leases, but it can be "
msgid "IP Protocol"
msgstr "Protocolul IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:260
msgid "IP Sets"
msgstr "Seturi IP"
msgid "IP Type"
msgstr "Tip IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:563
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:634
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:178
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:204
msgid "IP address"
msgid "IP protocol"
msgstr "Protocolul IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:660
msgid "IP set"
msgstr "Set IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:300
msgid "IP sets"
msgstr "Seturi IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:437
msgid "IPs to override with NXDOMAIN"
msgstr "Bogus NX Domain Override"
#: modules/luci-base/htdocs/luci-static/resources/protocol/static.js:178
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:736
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:88
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:164
msgid "IPv4 address"
msgid "IPv6 suffix"
msgstr "Sufixul IPv6"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:706
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:777
msgid "IPv6 suffix (hex)"
msgstr "Sufixul IPv6 (hexagonal)"
"deoarece dispozitivul swap nu poate fi accesat cu vitezele mari de date ale "
"<abbr title=\"Random Access Memory\">RAM</abbr>."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:363
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:368
msgid "Ignore <code>/etc/hosts</code>"
msgstr "Ignorați <code>/etc/hosts</code>"
msgid "Ignore interface"
msgstr "Ignorați interfața"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:352
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
msgid "Ignore resolv file"
msgstr "Ignoră fișierul resolv"
"evitare a buclelor de bridge pentru a evita buclele de difuzare care pot "
"bloca întreaga rețea LAN."
-#: modules/luci-base/luasrc/view/csrftoken.htm:13
+#: modules/luci-base/ucode/template/csrftoken.ut:13
msgid ""
"In order to prevent unauthorized access to the system, your request has been "
"blocked. Click \"Continue »\" below to return to the previous page."
msgid "Install protocol extensions..."
msgstr "Instalați extensiile de protocol..."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:547
msgid "Instance"
msgstr "Instanța"
msgid "Internal"
msgstr "Internă"
-#: modules/luci-base/luasrc/view/error500.htm:8
-msgid "Internal Server Error"
-msgstr "Eroare internă de server"
-
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:285
msgid "Interval For Sending Learning Packets"
msgstr "Interval pentru trimiterea pachetelor de învățare"
msgid "Invalid hexadecimal value"
msgstr "Valoare hexazecimală invalidă"
-#: modules/luci-base/luasrc/view/sysauth.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:37
+#: modules/luci-base/ucode/template/sysauth.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:32
msgid "Invalid username and/or password! Please try again."
msgstr ""
"Numele de utilizator și/sau parola nevalide! Vă rugăm să încercați din nou."
"Se pare că încercați să scrieți o imagine care nu se încadrează în memoria "
"flash, vă rugăm să verificați fișierul imagine!"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:89
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:96
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:77
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:91
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:72
msgid "JavaScript required!"
msgstr "JavaScript este necesar!"
msgid "Language and Style"
msgstr "Limba și stilul interfeței"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:560
+msgid ""
+"Larger weights (of the same prio) are given a proportionately higher "
+"probability of being selected."
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:575
msgid "Last member interval"
msgstr "Intervalul ultimului membru"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
msgid "Latency"
msgstr "Latență"
msgid "Learn routes"
msgstr "Învățați rutele"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:348
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:353
msgid "Lease file"
msgstr "Fișier de închiriere"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:697
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:768
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:679
msgid "Lease time"
msgstr "Timp de închiriere"
msgid "Limit"
msgstr "Limită"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
msgid "Line Attenuation (LATN)"
msgstr "Atenuarea liniei (LATN)"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
msgid "Line Mode"
msgstr "Mod linie"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:17
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
msgid "Line State"
msgstr "Stare de linie"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
msgid "Line Uptime"
msgstr "Timpul de funcționare a liniei"
msgid "Link layer header bits %d-%d"
msgstr "Biți de antet de nivel de legătură %d-%d"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
msgid "List of IP addresses to convert into NXDOMAIN responses."
msgstr "Lista de adrese IP care trebuie convertite în răspunsuri NXDOMAIN."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:296
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:581
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:652
msgid "List of IP sets to populate with the specified domain IPs."
msgstr ""
"Listă de seturi IP care trebuie completate cu IP-urile de domeniu "
msgid "List of SSH key files for auth"
msgstr "Lista de fișiere de chei SSH pentru autentificare"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:317
msgid "List of domains to allow RFC1918 responses for."
msgstr "Lista domeniilor pentru care se permit răspunsurile RFC1918."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:290
-msgid "List of domains to force to an IP address."
-msgstr "Lista domeniilor care trebuie forțate la o adresă IP."
-
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:283
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:285
msgid "List of upstream resolvers to forward queries to."
msgstr "Lista de rezolvatori din upstream către care se transmit interogările."
msgid "Listen Port"
msgstr "Port de ascultare"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:332
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:337
msgid "Listen interfaces"
msgstr "Interfețe de ascultare"
"Ascultă numai pe interfața dată sau, dacă nu este specificat, pe toate "
"interfețele"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:333
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
msgid ""
"Listen only on the specified interfaces, and loopback if not excluded "
"explicitly."
msgid "ListenPort setting is invalid"
msgstr "Setarea ListenPort nu este validă"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:439
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:444
msgid "Listening port for inbound DNS queries."
msgstr "Port de ascultare pentru interogările DNS de intrare."
msgstr "Încărcarea conținutului directorului…"
#: modules/luci-base/htdocs/luci-static/resources/luci.js:1942
-#: modules/luci-base/luasrc/view/view.htm:4
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:45
+#: modules/luci-base/ucode/template/view.ut:4
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:40
msgid "Loading view…"
msgstr "Se încarcă vizualizarea…"
msgid "Local ULA"
msgstr "ULA locală"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:273
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:275
msgid "Local domain"
msgstr "Domeniu local"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:274
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:276
msgid "Local domain suffix appended to DHCP names and hosts file entries."
msgstr ""
"Sufixul domeniului local adăugat la numele DHCP și la intrările din fișierul "
"hosts."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:269
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:271
msgid "Local server"
msgstr "Server local"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:319
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:324
msgid "Local service only"
msgstr "Doar serviciu local"
msgid "Local wireguard key"
msgstr "Cheie locală wireguard"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
msgid "Localise queries"
msgstr "Localizați interogările"
msgid "Log output level"
msgstr "Nivelul de ieșire a jurnalului"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:277
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:279
msgid "Log queries"
msgstr "Scrieți in jurnal interogările"
msgid "Logical network to which the tunnel will be added (bridged) (optional)."
msgstr "Rețeaua logică la care va fi adăugat tunelul (punte) (opțional)."
-#: modules/luci-base/luasrc/view/sysauth.htm:38
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:41
+#: modules/luci-base/ucode/template/sysauth.ut:38
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:36
msgid "Login"
msgstr "Autentificare"
msgid "Loose filtering"
msgstr "Filtrare liberă"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
msgid "Loss of Signal Seconds (LOSS)"
msgstr "Secunde de pierdere a semnalului (LOSS)"
msgid "Lowest leased address as offset from the network address."
msgstr "Cea mai joasă adresă închiriată ca decalaj față de adresa de rețea."
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/footer.ut:12
+msgid "Lua compatibility mode active"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:48
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:83
msgid "MAC"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:591
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:40
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:619
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1164
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2177
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:56
msgid "MTU"
msgstr "MTU"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:259
+msgid "MX"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:303
msgid ""
"Make sure to clone the root filesystem using something like the commands "
msgid "Max <abbr title=\"Router Advertisement\">RA</abbr> interval"
msgstr "Intervalul maxim <abbr title=\"Router Advertisement\">RA</abbr>"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
msgid "Max. Attainable Data Rate (ATTNDR)"
msgstr "Max. Rata de date realizabilă (ATTNDR)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:457
msgid "Max. DHCP leases"
msgstr "Max. Închirieri DHCP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:459
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:464
msgid "Max. EDNS0 packet size"
msgstr "Dimensiunea maximă a pachetului EDNS0"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:466
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:471
msgid "Max. concurrent queries"
msgstr "Numărul maxim de interogări simultane"
msgid "Maximum allowed Listen Interval"
msgstr "Intervalul de ascultare maxim permis"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:453
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:458
msgid "Maximum allowed number of active DHCP leases."
msgstr "Numărul maxim permis de închirieri DHCP active."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:467
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:472
msgid "Maximum allowed number of concurrent DNS queries."
msgstr "Numărul maxim de interogări DNS simultane."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:460
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:465
msgid "Maximum allowed size of EDNS0 UDP packets."
msgstr "Dimensiunea maximă permisă a pachetelor UDP EDNS0."
msgid "Maximum transmit power"
msgstr "Putere maximă de transmisie"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:394
msgid "May prevent VoIP or other services from working."
msgstr "Poate împiedica funcționarea serviciilor VoIP sau a altor servicii."
msgid "Name of the tunnel device"
msgstr "Numele dispozitivului de tunel"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:46
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:39
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:50
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:44
msgid "Navigation"
msgstr "Navigare"
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:10
+msgid "Nebula Network"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:653
msgid "Neighbour cache validity"
msgstr "Valabilitatea cache-ului de vecinătate"
msgid "Network address"
msgstr "Adresa de rețea"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:492
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:497
msgid "Network boot image"
msgstr "Imagine de pornire în rețea"
msgid "Network interface"
msgstr "Interfață de rețea"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:536
msgid "Network-ID"
msgstr "ID-ul rețelei"
msgid "Never"
msgstr "Niciodată"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:270
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:272
msgid ""
"Never forward matching domains and subdomains, resolve from DHCP or hosts "
"files only."
msgid "No RX signal"
msgstr "Fără recepție semnal (RX)"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:80
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:87
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:68
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:82
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:65
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:90
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:70
msgid ""
"No changes to settings will be stored and are lost after rebooting. This "
"mode should only be used to install a firmware upgrade"
msgid "No entries in this directory"
msgstr "Fără intrări în acest director"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:82
-msgid "No files found"
-msgstr "Nu s-au găsit fișiere"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:833
msgid ""
"No fixed interface listening port defined, peers might not be able to "
msgid "No more slaves available, can not save interface"
msgstr "Nu mai sunt secundare disponibile, nu se poate salva interfața"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:413
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
msgid "No negative cache"
msgstr "Fără memorie cache negativă"
msgid "No nftables ruleset loaded."
msgstr "Nu s-a încărcat niciun set de reguli nftables."
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:69
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:61
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:57
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:54
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:79
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:59
msgid "No password set!"
msgstr "Nu este setată nicio parolă!"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:146
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:283
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:140
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:277
msgid "No public keys present yet."
msgstr "Fără chei publice prezente încă."
msgid "Noise"
msgstr "Zgomot"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
msgid "Noise Margin (SNR)"
msgstr "Marja de zgomot (SNR)"
msgid "Noise:"
msgstr "Zgomot:"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
msgid "Non Pre-emptive CRC errors (CRC_P)"
msgstr "Erori CRC non-preemptive (CRC_P)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:330
msgid "Non-wildcard"
msgstr "Fără-wildcard"
msgid "Normal"
msgstr "Normal"
-#: modules/luci-base/luasrc/view/error404.htm:8
+#: modules/luci-base/ucode/template/error404.ut:9
msgid "Not Found"
msgstr "Nu a fost găsit"
msgid "Number of IGMP membership reports"
msgstr "Numărul de rapoarte de apartenență IGMP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:474
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:479
msgid "Number of cached DNS entries, 10000 is maximum, 0 is no caching."
msgstr ""
"Numărul de intrări DNS stocate în memoria cache, 10000 este maxim, 0 "
msgid "On-link"
msgstr "Pornit de pe link"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:672
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:743
msgid "One of hostname or MAC address must be specified!"
msgstr "Trebuie specificat unul dintre numele de gazdă sau adresa MAC!"
msgstr "Deschideți prezentarea generală a regulilor iptables…"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:472
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:19
msgid "Open list..."
msgstr "Deschideți lista..."
msgid "Options"
msgstr "Opțiuni"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:526
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
msgid ""
"Options for the Network-ID. (Note: needs also Network-ID.) E.g. "
"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</code>"
"sistemului care rulează dnsmasq\"."
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:125
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:119
msgid "Options:"
msgstr "Opțiuni:"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
+msgid "Ordinal: lower comes first."
+msgstr ""
+
#: protocols/luci-proto-batman-adv/htdocs/luci-static/resources/protocol/batadv.js:55
msgid "Originator Interval"
msgstr "Intervalul de origine"
msgid "Pass-through (Mirror physical device to single MAC VLAN)"
msgstr "Pass-through (dispozitiv fizic în oglindă pentru un singur MAC VLAN)"
-#: modules/luci-base/luasrc/view/sysauth.htm:29
+#: modules/luci-base/ucode/template/sysauth.ut:29
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1690
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:51
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:114
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:103
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:24
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:19
msgid "Password"
msgstr "Parolă"
msgstr "Parola2"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:266
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:260
msgid "Paste or drag SSH key file…"
msgstr "Lipiți sau trageți fișierul cu cheia SSH…"
msgid "Pkts."
msgstr "Pachete."
-#: modules/luci-base/luasrc/view/sysauth.htm:19
+#: modules/luci-base/ucode/template/sysauth.ut:19
msgid "Please enter your username and password."
msgstr "Vă rugăm să introduceți numele de utilizator și parola."
msgid "Policy: <strong>%h</strong> (%h)"
msgstr "Politica: <strong>%h</strong> (%h)"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:579
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:21
msgid "Port"
msgstr "Port"
msgid "Potential negation of: %s"
msgstr "Negație potențială a: %s"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:38
msgid "Power Management Mode"
msgstr "Modul de gestionare a energiei"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
msgid "Pre-emptive CRC errors (CRCP_P)"
msgstr "Erori CRC preemptive (CRCP_P)"
"(întotdeauna, 0)"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:129
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:197
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:223
msgstr "Cheia publică: %h"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:290
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:284
msgid ""
"Public keys allow for the passwordless SSH logins with a higher security "
"compared to the use of plain passwords. In order to upload a new key to the "
msgid "Quality"
msgstr "Calitate"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
msgid "Query all available upstream resolvers."
msgstr "Interoghează toți rezolvatorii din amonte disponibili."
"Octeți brute codificați în format hexazecimal. Lăsați gol, cu excepția "
"cazului în care ISP-ul dumneavoastră solicită acest lucru"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:345
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:350
msgid "Read <code>/etc/ethers</code> to configure the DHCP server."
msgstr "Citiți <code>/etc/ethers</code> pentru a configura serverul DHCP."
msgid "Reassociation Deadline"
msgstr "Termenul limită pentru reasociere"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
msgid "Rebind protection"
msgstr "Protecție de relegare"
"egală cu valoarea specificată"
#: modules/luci-compat/luasrc/model/network/proto_relay.lua:153
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:611
#: protocols/luci-proto-relay/htdocs/luci-static/resources/protocol/relay.js:39
msgid "Relay"
msgstr "Releu"
msgstr ""
"Este necesar. Cheia privată codificată în baza 64 pentru această interfață."
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Required. Path to the .yml config file for this interface."
+msgstr ""
+
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:587
msgid "Required. Public key of the WireGuard peer."
msgstr "Este necesar. Cheia publică a omologului WireGuard."
msgstr "Politica de realegere pentru secundara principală"
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2197
-#: modules/luci-base/luasrc/view/sysauth.htm:39
+#: modules/luci-base/ucode/template/sysauth.ut:39
#: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
#: modules/luci-compat/luasrc/view/cbi/footer.htm:30
#: modules/luci-compat/luasrc/view/cbi/simpleform.htm:66
msgid "Resolv and Hosts Files"
msgstr "Fișierele de rezolvare și host-uri DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:356
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:361
msgid "Resolv file"
msgstr "Fișierul de rezolvare"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:292
+msgid "Resolve specified FQDNs to an IP."
+msgstr "Lista domeniilor care trebuie forțate la o adresă IP."
+
#: modules/luci-base/htdocs/luci-static/resources/rpc.js:405
msgid "Resource not found"
msgstr "Resursa nu a fost găsită"
msgid "Restore backup"
msgstr "Restaurați o copie de rezervă"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
msgid ""
"Return answers to DNS queries matching the subnet from which the query was "
"received if multiple IPs are available."
msgid "Robustness"
msgstr "Robustețe"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:491
msgid ""
"Root directory for files served via TFTP. <em>Enable TFTP server</em> and "
"<em>TFTP server root</em> turn on the TFTP server and serve files from "
msgid "SNR"
msgstr "SNR"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "SRV"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:10
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:38
msgid "SSH Access"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:289
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:51
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:283
msgid "SSH-Keys"
msgstr "Chei SSH"
msgid "Server"
msgstr "Serverul"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:524
msgid "Server address"
msgstr "Adresa serverului"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:518
msgid "Server name"
msgstr "Nume server"
msgid "Setup routes for proxied IPv6 neighbours."
msgstr "Configurarea rutelor pentru vecinii IPv6 proxi."
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
msgid "Severely Errored Seconds (SES)"
msgstr "Secunde cu erori grave (SES)"
msgstr "Expunere Scurtă"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:470
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:18
msgid "Show current backup file list"
msgstr "Afișați lista curentă de fișiere de rezervă"
msgid "Signal / Noise"
msgstr "Semnal / Zgomot"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
msgid "Signal Attenuation (SATN)"
msgstr "Atenuarea semnalului (SATN)"
msgid "Size"
msgstr "Mărime"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:473
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:478
msgid "Size of DNS query cache"
msgstr "Dimensiunea cache-ului de interogare DNS"
msgid "Skip from backup files that are equal to those in /rom"
msgstr "Omiteți din fișierele de rezervă care sunt egale cu cele din /rom"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:42
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:35
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:46
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:40
msgid "Skip to content"
msgstr "Sari la conținut"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:41
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:34
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:45
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:39
msgid "Skip to navigation"
msgstr "Sari la navigare"
msgid "Some fields are invalid, cannot save values!"
msgstr "Unele câmpuri sunt invalide, nu se pot salva valorile!"
-#: modules/luci-base/luasrc/view/error404.htm:9
+#: modules/luci-base/ucode/template/error404.ut:10
msgid "Sorry, the object you requested was not found."
msgstr "Ne pare rău, obiectul pe care l-ați solicitat nu a fost găsit."
-#: modules/luci-base/luasrc/view/error500.htm:9
-msgid "Sorry, the server encountered an unexpected error."
-msgstr "Ne pare rău, serverul a întâmpinat o eroare neașteptată."
-
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:442
msgid ""
"Sorry, there is no sysupgrade support present; a new firmware image must be "
msgid "Source port"
msgstr "Portul sursă"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:505
msgid ""
"Special <abbr title=\"Preboot eXecution Environment\">PXE</abbr> boot "
"options for Dnsmasq."
msgid "Static address"
msgstr "Adresă statică"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:598
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:669
msgid ""
"Static leases are used to assign fixed IP addresses and symbolic hostnames "
"to DHCP clients. They are also required for non-dynamic interface "
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:16
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:541
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:929
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:9
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:9
msgid "Status"
msgstr "Stare"
msgid "Strict filtering"
msgstr "Filtrare strictă"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
msgid "Strict order"
msgstr "Ordine strictă"
msgid "Submit"
msgstr "Trimiteți"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
msgid "Suppress logging"
msgstr "Suprimați înregistrarea in jurnal"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:373
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
msgid "Suppress logging of the routine operation for the DHCP protocol."
msgstr ""
"Suprimați înregistrarea în jurnal a operațiunii de rutină pentru protocolul "
msgid "Sync with browser"
msgstr "Sincronizați cu browserul"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:293
+msgid "Syntax: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "Syntax: <code>_service._proto.example.com</code>."
+msgstr ""
+
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:26
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:17
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:113
msgid "System log buffer size"
msgstr "Dimensiunea tamponului de jurnal de sistem"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:79
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:86
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:71
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:67
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:81
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:64
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:69
msgid "System running in recovery (initramfs) mode."
msgstr "Sistemul rulează în modul de recuperare (initramfs)."
msgid "TCP:"
msgstr "TCP:"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:490
msgid "TFTP server root"
msgstr "Rădăcina serverului TFTP"
msgid "Table"
msgstr "Tabelul"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:56
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:66
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:187
"trebuie să folosiți numele de utilizator simplu în loc de ID-ul de "
"utilizator!"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:681
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:752
msgid "The IP address %h is already used by another static lease"
msgstr "Adresa IP %h este deja folosită de o altă închiriere statică"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:761
msgid "The IP address is outside of any DHCP pool address range"
msgstr "Adresa IP se află în afara oricărui interval de adrese de grup DHCP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:520
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
msgid "The IP address of the boot server"
msgstr "Adresa IP a serverului de pornire"
"pentru a stabili o conexiune cu acest dispozitiv."
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:172
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:166
msgid "The given SSH public key has already been added."
msgstr "Cheia publică SSH dată a fost deja adăugată."
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:178
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:172
msgid ""
"The given SSH public key is invalid. Please supply proper public RSA, "
"ED25519 or ECDSA keys."
"unui salt suplimentar (pachetul trebuie să fie primit și retransmis, ceea ce "
"costă timp de emisie)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:514
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
msgid "The hostname of the boot server"
msgstr "Numele de gazdă al serverului de boot-are"
msgid "The selected %s mode is incompatible with %s encryption"
msgstr "Modul %s selectat este incompatibil cu criptarea %s"
-#: modules/luci-base/luasrc/view/csrftoken.htm:11
+#: modules/luci-base/ucode/template/csrftoken.ut:11
msgid "The submitted security token is invalid or already expired!"
msgstr "Tokenul de securitate trimis este nevalid sau a expirat deja!"
"regulilor iptables și nftables este descurajată și poate duce la o filtrare "
"incompletă a traficului."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:746
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:778
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:817
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:849
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:130
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:179
msgid "There are no active leases"
msgid "There are no changes to apply"
msgstr "Nu există modificări de aplicat"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:70
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:58
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:55
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:80
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:60
msgid ""
"There is no password set on this router. Please configure a root password to "
"protect the web interface."
msgstr "Acesta nu pare a fi un fișier PEM valid"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:16
msgid ""
"This is a list of shell glob patterns for matching files and directories to "
"include during sysupgrade. Modified files in /etc/config/ and certain other "
"Aceasta este adresa locală a punctului final atribuită de către brokerul de "
"tunel, de obicei se termină cu <code>...:2/64</code>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:266
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:268
msgid "This is the only DHCP server in the local network."
msgstr "Acesta este singurul server DHCP din rețeaua locală."
msgid "Unable to determine upstream interface"
msgstr "Nu se poate determina interfața în flux ascendent"
-#: modules/luci-base/luasrc/view/error404.htm:11
+#: modules/luci-base/ucode/template/error404.ut:12
msgid "Unable to dispatch"
msgstr "Imposibilitatea de a expedia"
msgid "Unable to verify PIN"
msgstr "Nu se poate verifica PIN-ul"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
msgid "Unavailable Seconds (UAS)"
msgstr "Secunde indisponibile (UAS)"
msgstr "Demontează"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:121
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:115
msgid "Unnamed key"
msgstr "Cheie fără nume"
"La apăsarea \"Continuați\", opțiunile ifname vor fi redenumite și rețeaua va "
"fi repornită pentru a aplica configurația actualizată."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
msgid "Upstream resolvers will be queried in the order of the resolv file."
msgstr ""
"Rezolutorii din upstream vor fi interogați în ordinea din fișierul resolv."
msgid "Uptime"
msgstr "Timp de funcționare"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
msgid "Use <code>/etc/ethers</code>"
msgstr "Folosește <code>/etc/ethers</code>"
msgid "Use system certificates for inner-tunnel"
msgstr "Utilizați certificate de sistem pentru tunelul interior"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:599
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:670
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC address</"
"em> identifies the host, the <em>IPv4 address</em> specifies the fixed "
msgid "User key (PEM encoded)"
msgstr "Cheie utilizator (codare PEM)"
-#: modules/luci-base/luasrc/view/sysauth.htm:23
+#: modules/luci-base/ucode/template/sysauth.ut:23
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:112
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:101
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:56
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:18
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:13
msgid "Username"
msgstr "Nume Utilizator"
msgid "VXLANv6 (RFC7348)"
msgstr "VXLANv6 (RFC7348)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
msgid ""
"Validate DNS replies and cache DNSSEC data, requires upstream to support "
"DNSSEC."
msgid "Vendor Class to send when requesting DHCP"
msgstr "Clasa furnizorului care trebuie trimisă la solicitarea DHCP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:408
msgid "Verify unsigned domain responses really come from unsigned domains."
msgstr ""
"Verificați dacă răspunsurile din domenii nesemnate provin într-adevăr din "
msgid "Weak"
msgstr "Slabă"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+msgid "Weight"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1029
msgid ""
"When delegating prefixes to multiple downstreams, interfaces with a higher "
msgid "Wireless network is enabled"
msgstr "Rețeaua wireless este activată"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:278
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:280
msgid "Write received DNS queries to syslog."
msgstr "Scrieți interogările DNS primite in syslog."
"dezactivați scripturi init esențiale, cum ar fi \"network\", dispozitivul "
"dvs. ar putea deveni inaccesibil!</strong>"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:90
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:97
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
+msgid "You may add multiple records for the same Target."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:596
+msgid "You may add multiple records for the same domain."
+msgstr ""
+
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:78
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:92
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:73
msgid ""
"You must enable JavaScript in your browser or LuCI will not work properly."
msgid "ZRam Size"
msgstr "Dimensiunea ZRam"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:558
+msgid "_proto: _tcp, _udp, _sctp, _quic, … ."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:557
+msgid ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Note: while _http is "
+"possible, no browsers support SRV records.)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:454
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:152
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:163
msgid "any"
msgid "e.g: dump"
msgstr "de exemplu: dump"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:726
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:756
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:797
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:827
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:101
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:148
msgid "expired"
msgid "unknown"
msgstr "necunoscut"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:456
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:724
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:754
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:461
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:795
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:825
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:99
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:146
msgid "unlimited"
msgid "« Back"
msgstr "« Înapoi"
+#~ msgid "Back to configuration"
+#~ msgstr "Înapoi la configurare"
+
+#~ msgid "Close list..."
+#~ msgstr "Închideți lista..."
+
+#~ msgid "Internal Server Error"
+#~ msgstr "Eroare internă de server"
+
+#~ msgid "No files found"
+#~ msgstr "Nu s-au găsit fișiere"
+
+#~ msgid "Sorry, the server encountered an unexpected error."
+#~ msgstr "Ne pare rău, serverul a întâmpinat o eroare neașteptată."
+
#~ msgid "Do not forward queries that cannot be answered by public resolvers."
#~ msgstr ""
#~ "Nu transmiteți interogări la care nu pot răspunde rezolvatorii publici."
msgstr ""
"Project-Id-Version: LuCI: base\n"
"POT-Creation-Date: 2010-05-09 01:01+0300\n"
-"PO-Revision-Date: 2022-10-09 16:44+0000\n"
-"Last-Translator: Anton Kikin <a.a.kikin@gmail.com>\n"
+"PO-Revision-Date: 2022-10-25 10:20+0000\n"
+"Last-Translator: sergio <sergio+it@outerface.net>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/openwrt/luci/ru/>"
"\n"
"Language: ru\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.14.1\n"
+"X-Generator: Weblate 4.14.2-dev\n"
"Project-Info: Это технический перевод, не дословный. Главное-удобный русский "
"интерфейс, все проверялось в графическом режиме, совместим с другими apps\n"
msgid "<abbr title=\"Router Advertisement\">RA</abbr>-Service"
msgstr "Служба <abbr title=\"Router Advertisement\">RA</abbr>"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:294
+msgid ""
+"<code>/#/</code> matches any domain. <code>/example.com/</code> returns "
+"NXDOMAIN."
+msgstr ""
+"<code>/#/</code> соответствует любому домену. <code>/example.com/</code> "
+"возвращает NXDOMAIN."
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+msgid ""
+"<code>/example.com/#</code> returns NULL addresses (<code>0.0.0.0</code> and "
+"<code>::</code>) for example.com and its subdomains."
+msgstr ""
+"<code>/example.com/#</code> возвращает NULL адреса (<code>0.0.0.0</code> и "
+"<code>::</code>) для example.com и его поддоменов."
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:87
msgctxt "nft relational \">\" operator expression"
msgid "<var>%s</var> greater than <strong>%s</strong>"
msgid "ATM device number"
msgstr "ATM номер устройства"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
msgid "ATU-C System Vendor ID"
msgstr "ATU-C идентификатор производителя"
msgid "Absent Interface"
msgstr "Отсутствующий интерфейс"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:320
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
msgid "Accept DNS queries only from hosts whose address is on a local subnet."
msgstr "Ограничение сервиса DNS, для подсетей интерфейса использующего DNS."
msgid "Add key"
msgstr "Добавить ключ"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:410
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:415
msgid "Add local domain suffix to names served from hosts files."
msgstr ""
"Добавить локальный суффикс домена для имен из файла hosts (/etc/hosts)."
msgid "Add to Whitelist"
msgstr "Добавить в белый список"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:367
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
msgid "Additional hosts files"
msgstr "Дополнительный hosts файл"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:417
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
msgid "Additional servers file"
msgstr "Дополнительный файл серверов"
msgid "Address to access local relay bridge"
msgstr "Адрес для доступа к локальному мосту-ретранслятору"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:289
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:291
msgid "Addresses"
msgstr "Адреса"
msgid "Aggregate Originator Messages"
msgstr "Агрегировать сообщения отправителей"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
msgid "Aggregate Transmit Power (ACTATP)"
msgstr "Общая мощность передачи (ACTATP)"
msgid "Alias of \"%s\""
msgstr "Псевдоним интерфейса \"%s\""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
msgid "All servers"
msgstr "Все серверы"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
msgid ""
"Allocate IP addresses sequentially, starting from the lowest available "
"address."
msgstr ""
"Выделять IP-адреса последовательно, начинать с меньшего доступного адреса."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
msgid "Allocate IPs sequentially"
msgstr "Выделять IP-адреса последовательно"
msgid "Allow listed only"
msgstr "Разрешить только перечисленные"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
msgid "Allow localhost"
msgstr "Разрешить localhost"
msgid "Always on (kernel: default-on)"
msgstr "Всегда включен (kernel: default-on)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:538
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
msgid "Always send DHCP Options. Sometimes needed, with e.g. PXELinux."
msgstr ""
"Всегда отправлять опции DHCP. Это требуется в некоторых случаях, например, "
msgstr "Необязательное, краткое описание для этого устройства"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1484
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
msgid "Annex"
msgstr "Annex"
msgid "Any zone"
msgstr "Любая зона"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:532
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
msgid "Apply DHCP Options to this net. (Empty = all clients)."
msgstr "Применить опции DHCP к этой сети (пусто = все клиенты)."
msgid "Authentication Type"
msgstr "Тип аутентификации"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:265
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:267
msgid "Authoritative"
msgstr "Основной"
-#: modules/luci-base/luasrc/view/sysauth.htm:17
+#: modules/luci-base/ucode/template/sysauth.ut:17
#: themes/luci-theme-bootstrap/htdocs/luci-static/resources/view/bootstrap/sysauth.js:11
msgid "Authorization Required"
msgstr "Веб-интерфейс"
msgid "Avoid Bridge Loops"
msgstr "Избегать мостовых петель"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
msgid ""
"Avoid uselessly triggering dial-on-demand links (filters SRV/SOA records and "
"names with underscores)."
msgid "Back to Overview"
msgstr "Назад к обзору"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:48
-msgid "Back to configuration"
-msgstr "Назад к настройкам"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:826
msgid "Back to peer configuration"
msgstr "Вернуться к конфигурации узла"
msgstr "Восстановление / Обновление"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:351
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:12
msgid "Backup file list"
msgstr "Список файлов для резервного копирования"
msgstr "Интервал рассылки пакетов Beacon"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:352
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:46
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
msgid "Bind NTP server"
msgstr "Привязать NTP-сервер"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:326
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:331
msgid "Bind dynamically to interfaces rather than wildcard address."
msgstr ""
"Привязывать динамически к интерфейсам, а не по шаблону адреса (рекомендуется "
msgid "Bind interface"
msgstr "Открытый интерфейс"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:595
+msgid ""
+"Bind service records to a domain name: specify the location of services."
+msgstr ""
+"Привязка записей служб к доменному имени: определение местоположения служб."
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:556
+msgid ""
+"Bind service records to a domain name: specify the location of services. See "
+"<a href=\"%s\">RFC2782</a>."
+msgstr ""
+"Привязка записей служб к доменному имени: определение местоположения служб. "
+"См. <a href=\"%s\">RFC2782</a>."
+
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gre.js:59
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gretap.js:64
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/grev6.js:64
msgid "CLAT configuration failed"
msgstr "Ошибка конфигурации CLAT"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
+msgid "CNAME or fqdn"
+msgstr "CNAME или fqdn"
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/processes.js:72
msgid "CPU usage (%)"
msgstr "Использование ЦП (%)"
"Завершать неактивное соединение после заданного интервала (сек.), "
"используйте значение 0 для удержания неактивного соединения"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:49
-msgid "Close list..."
-msgstr "Закрыть список..."
-
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:44
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:63
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2184
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:391
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:352
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:355
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:72
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:66
msgid "Collecting data..."
msgstr "Сбор данных..."
msgid "Compute outgoing checksum (optional)."
msgstr "Вычислять исходящую контрольную сумму (опционально)."
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Config File"
+msgstr "Конфигурационный файл"
+
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4375
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
msgid "Configuration"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:764
msgid ""
-"Configures the operation mode of the <abbr title=\"Router "
-"Advertisement\">RA</abbr> service on this interface."
+"Configures the operation mode of the <abbr title=\"Router Advertisement"
+"\">RA</abbr> service on this interface."
msgstr ""
"Конфигурирует режим работы службы <abbr title=\"Router Advertisement\">RA</"
"abbr> на данном интерфейсе."
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/leds.js:59
msgid ""
-"Customizes the behaviour of the device <abbr title=\"Light Emitting "
-"Diode\">LED</abbr>s if possible."
+"Customizes the behaviour of the device <abbr title=\"Light Emitting Diode"
+"\">LED</abbr>s if possible."
msgstr ""
"Настройка поведения светодиодной индикации устройства, если это возможно."
msgid "DAE-Secret"
msgstr "DAE-секрет"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:530
msgid "DHCP Options"
msgstr "Опции DHCP"
msgid "DNS"
msgstr "DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:282
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:284
msgid "DNS forwardings"
msgstr "Перенаправление запросов DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:445
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:450
msgid "DNS query port"
msgstr "<abbr title=\"Система доменных имён\">DNS</abbr> порт запроса"
msgid "DNS search domains"
msgstr "Домены поиска DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:443
msgid "DNS server port"
msgstr "<abbr title=\"Система доменных имен\">DNS</abbr> порт сервера"
msgid "DNS-Label / FQDN"
msgstr "DNS-имя / FQDN"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
msgid "DNSSEC"
msgstr "DNSSEC"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:407
msgid "DNSSEC check unsigned"
msgstr "DNSSEC проверка без знака"
msgstr "DS-Lite AFTR-адрес"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1481
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:44
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:45
msgid "DSL"
msgstr "DSL"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:14
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:15
msgid "DSL Status"
msgstr "Состояние DSL"
msgstr "Интервал DTIM"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:59
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:700
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:771
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:136
msgid "DUID"
msgstr "DUID"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
msgid "Data Rate"
msgstr "Скорость передачи данных"
msgid "Disassociate On Low Acknowledgement"
msgstr "Не ассоциировать при низком подтверждении"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:302
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
msgid ""
"Discard upstream responses containing <a href=\"%s\">RFC1918</a> addresses."
msgstr ""
-"Отбрасывать ответы вышестоящего сервера, содержащие адреса <a "
-"href=\"%s\">RFC1918</a>."
+"Отбрасывать ответы вышестоящего сервера, содержащие адреса <a href=\"%s"
+"\">RFC1918</a>."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:198
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:723
msgid "Distributed ARP Table"
msgstr "Распределенная таблица ARP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:548
msgid ""
"Dnsmasq instance to which this boot section is bound. If unspecified, the "
"section is valid for all dnsmasq instances."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:246
msgid ""
-"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</"
-"abbr> forwarder."
+"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</abbr> "
+"forwarder."
msgstr ""
-"Dnsmasq содержит в себе <abbr title=\"Протокол динамической настройки "
-"узла\">DHCP</abbr>-сервер и <abbr title=\"Служба доменных имён\">DNS</abbr>-"
-"прокси для сетевых экранов <abbr title=\"Преобразование сетевых "
-"адресов\">NAT</abbr>."
+"Dnsmasq содержит в себе <abbr title=\"Протокол динамической настройки узла"
+"\">DHCP</abbr>-сервер и <abbr title=\"Служба доменных имён\">DNS</abbr>-"
+"прокси для сетевых экранов <abbr title=\"Преобразование сетевых адресов"
+"\">NAT</abbr>."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:419
msgid "Do not cache negative replies, e.g. for non-existent domains."
msgstr "Не кешировать отрицательные ответы, в т.ч. для несуществующих доменов."
msgid "Do not create host route to peer (optional)."
msgstr "Не создавать маршрут к узлу (опционально)."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:262
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:264
msgid "Do not forward DNS queries without dots or domain parts."
msgstr ""
"Не перенаправлять <abbr title=\"Служба доменных имён\">DNS</abbr>-запросы "
"без <abbr title=\"Служба доменных имён\">DNS</abbr>-имени."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
msgid "Do not forward reverse lookups for local networks."
msgstr "Не перенаправлять обратные DNS-запросы для локальных сетей."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:339
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
msgid "Do not listen on the specified interfaces."
msgstr "Запретить прослушивание этих интерфейсов."
"Do not proxy any <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> "
"packets."
msgstr ""
-"Не проксировать любые пакеты <abbr title=\"Neighbour Discovery "
-"Protocol\">NDP</abbr>."
+"Не проксировать любые пакеты <abbr title=\"Neighbour Discovery Protocol"
+"\">NDP</abbr>."
#: modules/luci-base/htdocs/luci-static/resources/protocol/dhcp.js:25
msgid "Do not send a hostname"
msgid "Do you want to replace the current keys?"
msgstr "Вы хотите заменить текущие ключи?"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:593
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:606
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:664
msgid "Domain"
msgstr "Домен"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:261
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:263
msgid "Domain required"
msgstr "Требуется домен"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:316
msgid "Domain whitelist"
msgstr "Белый список доменов"
msgid "Enable Single DES"
msgstr "Включить Single DES"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:480
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
msgid "Enable TFTP server"
msgstr "Включить TFTP-сервер"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/uhttpd.js:14
msgid ""
-"Enable automatic redirection of <abbr title=\"Hypertext Transfer "
-"Protocol\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol "
-"Secure\">HTTPS</abbr> port."
+"Enable automatic redirection of <abbr title=\"Hypertext Transfer Protocol"
+"\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol Secure"
+"\">HTTPS</abbr> port."
msgstr ""
"Перенаправлять запросы с <abbr title=\"Hypertext Transfer Protocol\">HTTP</"
"abbr> на порт <abbr title=\"Hypertext Transfer Protocol Secure\">HTTPS</"
msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets."
msgstr "Включите флаг DF (не Фрагментировать) инкапсулирующих пакетов."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:481
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
msgid "Enable the built-in single-instance TFTP server."
msgstr "Включить встроенный одноэкземплярный сервер TFTP."
msgid "Error getting PublicKey"
msgstr "Ошибка получения публичного ключа"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
msgid "Errored seconds (ES)"
msgstr "Ошибочные секунды (ES)"
msgid "Every second (fast, 1)"
msgstr "Каждую секунду (fast, 1)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:343
msgid "Exclude interfaces"
msgstr "Исключить интерфейсы"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
msgid ""
"Exempt <code>127.0.0.0/8</code> and <code>::1</code> from rebinding checks, "
"e.g. for RBL services."
msgid "Existing device"
msgstr "Существующее устройство"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:409
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
msgid "Expand hosts"
msgstr "Расширять имена узлов"
msgid "File"
msgstr "Файл"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
msgid ""
"File listing upstream resolvers, optionally domain-specific, e.g. "
"<code>server=1.2.3.4</code>, <code>server=/domain/1.2.3.4</code>."
msgid "File not accessible"
msgstr "Файл не доступен"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:354
msgid "File to store DHCP lease information."
msgstr ""
"Файл, где хранятся арендованные <abbr title=\"Протокол динамической "
"настройки узла\">DHCP</abbr>-адреса."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:362
msgid "File with upstream resolvers."
msgstr "Локальный <abbr title=\"Служба доменных имён\">DNS</abbr>-файл."
#: modules/luci-base/htdocs/luci-static/resources/ui.js:2846
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:507
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:512
msgid "Filename"
msgstr "Имя файла"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:493
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:498
msgid "Filename of the boot image advertised to clients."
msgstr "Имя загрузочного образа, извещаемого клиентам."
msgid "Filesystem"
msgstr "Файловая система"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
msgid "Filter private"
msgstr "Фильтровать частные"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
msgid "Filter useless"
msgstr "Фильтровать бесполезные"
msgid "Firmware Version"
msgstr "Версия прошивки"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:446
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:451
msgid "Fixed source port for outbound DNS queries."
msgstr "Фиксированный порт для исходящих DNS-запросов."
msgid "Flashing…"
msgstr "Прошивка…"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:686
msgid "Force"
msgstr "Принудительно (Force)"
msgid "Force use of NAT-T"
msgstr "Принудительно использовать NAT-T"
-#: modules/luci-base/luasrc/view/csrftoken.htm:8
+#: modules/luci-base/ucode/template/csrftoken.ut:8
msgid "Form token mismatch"
msgstr "Несоответствие маркеров формы"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:919
msgid ""
-"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr "
-"title=\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr "
-"title=\"Neighbour Advertisement, Type 136\">NA</abbr> messages between the "
-"designated master interface and downstream interfaces."
+"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr title="
+"\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr title=\"Neighbour "
+"Advertisement, Type 136\">NA</abbr> messages between the designated master "
+"interface and downstream interfaces."
msgstr ""
"Пересылать <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr "
-"title=\"Neighbour Solicitation, Type 135\">NS</abbr> и <abbr "
-"title=\"Neighbour Advertisement, Type 136\">NA</abbr> сообщения между "
-"назнаÑ\87еннÑ\8bм маÑ\81Ñ\82еÑ\80 инÑ\82еÑ\80Ñ\84ейÑ\81ом и downstream инÑ\82еÑ\80Ñ\84ейÑ\81ами."
+"title=\"Neighbour Solicitation, Type 135\">NS</abbr> и <abbr title="
+"\"Neighbour Advertisement, Type 136\">NA</abbr> сообщения между назначенным "
+"мастер интерфейсом и downstream интерфейсами."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:770
msgid ""
"Пересылать сообщения DHCPv6 между назначенным мастер интерфейсом и "
"downstream интерфейсами."
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
msgid "Forward Error Correction Seconds (FECS)"
msgstr "Секунды прямой коррекции ошибок (FECS)"
msgid "Global network options"
msgstr "Основные настройки сети"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:82
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:74
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:70
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:84
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:67
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:92
msgid "Go to firmware upgrade..."
msgstr "Перейти к обновлению прошивки..."
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:72
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:64
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:60
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:57
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:82
msgid "Go to password configuration..."
msgstr "Перейти к настройке пароля..."
msgid "Hang Up"
msgstr "Перезапустить"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
msgid "Header Error Code Errors (HEC)"
msgstr "Ошибки контроля ошибок заголовка (HEC)"
msgid "Host expiry timeout"
msgstr "Время ожидания хоста"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
msgid "Host requests this filename from the boot server."
msgstr "Хост запрашивает указанный файл с сервера загрузки."
msgstr "Содержимое Host-Uniq тега"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:38
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:607
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:678
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:54
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:87
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:135
msgid "Hostnames"
msgstr "Имена устройств"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:551
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:622
msgid ""
"Hostnames are used to bind a domain name to an IP address. This setting is "
"redundant for hostnames already configured with static leases, but it can be "
msgid "IP Protocol"
msgstr "IP-протокол"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:260
msgid "IP Sets"
msgstr "Списки IP"
msgid "IP Type"
msgstr "Тип IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:563
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:634
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:178
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:204
msgid "IP address"
msgid "IP protocol"
msgstr "IP-протокол"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:660
msgid "IP set"
msgstr "Список IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:300
msgid "IP sets"
msgstr "Списки IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:437
msgid "IPs to override with NXDOMAIN"
msgstr "Переопределение поддельного NX-домена"
#: modules/luci-base/htdocs/luci-static/resources/protocol/static.js:178
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:736
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:88
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:164
msgid "IPv4 address"
msgid "IPv6 suffix"
msgstr "IPv6 суффикс"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:706
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:777
msgid "IPv6 suffix (hex)"
msgstr "Суффикс IPv6 (hex)"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:340
msgid ""
"If your physical memory is insufficient unused data can be temporarily "
-"swapped to a swap-device resulting in a higher amount of usable <abbr "
-"title=\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a "
-"very slow process as the swap-device cannot be accessed with the high "
-"datarates of the <abbr title=\"Random Access Memory\">RAM</abbr>."
+"swapped to a swap-device resulting in a higher amount of usable <abbr title="
+"\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a very "
+"slow process as the swap-device cannot be accessed with the high datarates "
+"of the <abbr title=\"Random Access Memory\">RAM</abbr>."
msgstr ""
"Если физической памяти не достаточно, то неиспользуемые данные могут быть "
"временно перемещены в раздел подкачки, что в свою очередь приведет к "
"устройство, на котором располагается раздел подкачки, работает гораздо "
"медленнее, чем <abbr title=\"Random Access Memory\">RAM</abbr>."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:363
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:368
msgid "Ignore <code>/etc/hosts</code>"
msgstr "Игнорировать <code>/etc/hosts</code>"
msgid "Ignore interface"
msgstr "Игнорировать интерфейс"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:352
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
msgid "Ignore resolv file"
msgstr "Игнорировать файл resolv"
"мостовых петель, чтобы избежать широковещательных петель, которые могут "
"привести к нарушению работы всей локальной сети."
-#: modules/luci-base/luasrc/view/csrftoken.htm:13
+#: modules/luci-base/ucode/template/csrftoken.ut:13
msgid ""
"In order to prevent unauthorized access to the system, your request has been "
"blocked. Click \"Continue »\" below to return to the previous page."
msgid "Install protocol extensions..."
msgstr "Установить расширения протокола..."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:547
msgid "Instance"
msgstr "Экземпляр"
msgid "Internal"
msgstr "Внутренний"
-#: modules/luci-base/luasrc/view/error500.htm:8
-msgid "Internal Server Error"
-msgstr "Внутренняя ошибка сервера"
-
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:285
msgid "Interval For Sending Learning Packets"
msgstr "Интервал отправки обучающих (learning) пакетов"
msgid "Invalid hexadecimal value"
msgstr "Неверное шестнадцатеричное значение"
-#: modules/luci-base/luasrc/view/sysauth.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:37
+#: modules/luci-base/ucode/template/sysauth.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:32
msgid "Invalid username and/or password! Please try again."
msgstr "Неверный логин и/или пароль! Попробуйте снова."
"Оказалось, что вы пытаетесь прошить устройство прошивкой, которая по размеру "
"не помещается в чип флэш-памяти, проверьте ваш файл прошивки!"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:89
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:96
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:77
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:91
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:72
msgid "JavaScript required!"
msgstr "Требуется JavaScript!"
msgid "Language and Style"
msgstr "Язык и тема"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:560
+msgid ""
+"Larger weights (of the same prio) are given a proportionately higher "
+"probability of being selected."
+msgstr ""
+"Большие веса (с одинаковым приоритетом) имеют пропорционально большую "
+"вероятность быть выбранными."
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:575
msgid "Last member interval"
msgstr "Интервал последнего членства"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
msgid "Latency"
msgstr "Задержка"
msgid "Learn routes"
msgstr "Изучать маршруты"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:348
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:353
msgid "Lease file"
msgstr "Файл аренд"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:697
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:768
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:679
msgid "Lease time"
msgstr "Срок аренды адреса"
msgid "Limit"
msgstr "Предел"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
msgid "Line Attenuation (LATN)"
msgstr "Затухание линии (LATN)"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
msgid "Line Mode"
msgstr "Режим линии"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:17
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
msgid "Line State"
msgstr "Состояние Линии"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
msgid "Line Uptime"
msgstr "Время бесперебойной работы линии"
msgid "Link layer header bits %d-%d"
msgstr "Биты заголовка канального уровня %d–%d"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
msgid "List of IP addresses to convert into NXDOMAIN responses."
msgstr "Список IP адресов, поставляющих поддельные результаты домена NX."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:296
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:581
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:652
msgid "List of IP sets to populate with the specified domain IPs."
msgstr ""
"Список наборов IP-адресов для заполнения указанными IP-адресами доменов."
msgid "List of SSH key files for auth"
msgstr "Список файлов ключей SSH для авторизации"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:317
msgid "List of domains to allow RFC1918 responses for."
msgstr "Список доменов, для которых разрешены ответы RFC1918."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:290
-msgid "List of domains to force to an IP address."
-msgstr "Список доменов для принудительного преобразования в IP-адрес."
-
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:283
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:285
msgid "List of upstream resolvers to forward queries to."
msgstr ""
"Список <abbr title=\"Domain Name System\">DNS</abbr>-серверов для "
msgid "Listen Port"
msgstr "Порт для входящих соединений"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:332
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:337
msgid "Listen interfaces"
msgstr "Интерфейс для входящих соединений"
"Принимать подключения только на указанном интерфейсе или, если интерфейс не "
"задан, на всех интерфейсах"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:333
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
msgid ""
"Listen only on the specified interfaces, and loopback if not excluded "
"explicitly."
msgid "ListenPort setting is invalid"
msgstr "Неверная настройка параметра ListenPort"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:439
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:444
msgid "Listening port for inbound DNS queries."
msgstr "Порт для входящих DNS-запросов."
msgstr "Загрузка содержимого директории…"
#: modules/luci-base/htdocs/luci-static/resources/luci.js:1942
-#: modules/luci-base/luasrc/view/view.htm:4
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:45
+#: modules/luci-base/ucode/template/view.ut:4
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:40
msgid "Loading view…"
msgstr "Загрузка страницы…"
msgid "Local ULA"
msgstr "Локальный ULA"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:273
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:275
msgid "Local domain"
msgstr "Локальный домен"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:274
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:276
msgid "Local domain suffix appended to DHCP names and hosts file entries."
msgstr ""
"Суффикс локального домена, который будет добавлен к DHCP-именам и записи "
"файла hosts (/etc/hosts)."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:269
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:271
msgid "Local server"
msgstr "Локальный сервер"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:319
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:324
msgid "Local service only"
msgstr "Только локальный DNS"
msgid "Local wireguard key"
msgstr "Локальный ключ WireGuard"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
msgid "Localise queries"
msgstr "Локализовывать запросы"
msgid "Log output level"
msgstr "Запись событий"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:277
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:279
msgid "Log queries"
msgstr "Запись запросов"
msgstr ""
"Логическая сеть, к которой будет добавлен туннель (мост) (опционально)."
-#: modules/luci-base/luasrc/view/sysauth.htm:38
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:41
+#: modules/luci-base/ucode/template/sysauth.ut:38
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:36
msgid "Login"
msgstr "Войти"
msgid "Loose filtering"
msgstr "Слабая фильтрация"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
msgid "Loss of Signal Seconds (LOSS)"
msgstr "Потеря сигнала в секундах (LOSS)"
msgid "Lowest leased address as offset from the network address."
msgstr "Минимальный адрес аренды."
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/footer.ut:12
+msgid "Lua compatibility mode active"
+msgstr "Режим совместимости с Lua активен"
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:48
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:83
msgid "MAC"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:591
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:40
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:619
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1164
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2177
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:56
msgid "MTU"
msgstr "MTU"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:259
+msgid "MX"
+msgstr "MX"
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:303
msgid ""
"Make sure to clone the root filesystem using something like the commands "
"Максимальный интервал <abbr title=\"Router Advertisement\">RA</abbr> "
"сообщений"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
msgid "Max. Attainable Data Rate (ATTNDR)"
msgstr "Макс. достижимая скорость передачи данных (ATTNDR)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:457
msgid "Max. DHCP leases"
msgstr ""
-"<abbr title=\"максимальное\">Макс.</abbr> кол-во аренд <abbr "
-"title=\"Протокол динамической настройки узла\">DHCP</abbr> аренды"
+"<abbr title=\"максимальное\">Макс.</abbr> кол-во аренд <abbr title="
+"\"Протокол динамической настройки узла\">DHCP</abbr> аренды"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:459
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:464
msgid "Max. EDNS0 packet size"
msgstr ""
"<abbr title=\"максимальный\">Макс.</abbr><abbr title=\"Extension Mechanisms "
"for Domain Name System\">EDNS0</abbr> размер пакета"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:466
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:471
msgid "Max. concurrent queries"
msgstr ""
"<abbr title=\"максимальное\">Макс.</abbr> кол-во одновременных запросов"
msgid "Maximum allowed Listen Interval"
msgstr "Максимально разрешенное значение интервала прослушивания клиента"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:453
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:458
msgid "Maximum allowed number of active DHCP leases."
msgstr "Максимальное количество активных арендованных DHCP-адресов."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:467
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:472
msgid "Maximum allowed number of concurrent DNS queries."
msgstr "Максимально допустимое количество одновременных DNS-запросов."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:460
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:465
msgid "Maximum allowed size of EDNS0 UDP packets."
msgstr "Максимально допустимый размер UDP пакетов EDNS0."
"Maximum time allowed between sending unsolicited <abbr title=\"Router "
"Advertisement, ICMPv6 Type 134\">RA</abbr>. Default is 600 seconds."
msgstr ""
-"Максимальное время, допустимое между отправкой незапрашиваемых <abbr "
-"title=\"Router Advertisement, ICMPv6 Type 134\">RA</abbr>. По умолчанию 600 "
-"секунд."
+"Максимальное время, допустимое между отправкой незапрашиваемых <abbr title="
+"\"Router Advertisement, ICMPv6 Type 134\">RA</abbr>. По умолчанию 600 секунд."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:947
msgid "Maximum transmit power"
msgstr "Максимальная мощность передачи"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:394
msgid "May prevent VoIP or other services from working."
msgstr "Может препятствовать работе VoIP или других служб."
"Minimum time allowed between sending unsolicited <abbr title=\"Router "
"Advertisement, ICMPv6 Type 134\">RA</abbr>. Default is 200 seconds."
msgstr ""
-"Минимальное время, допустимое между отправкой незапрашиваемых <abbr "
-"title=\"Router Advertisement, ICMPv6 Type 134\">RA</abbr>. По умолчанию 200 "
-"секунд."
+"Минимальное время, допустимое между отправкой незапрашиваемых <abbr title="
+"\"Router Advertisement, ICMPv6 Type 134\">RA</abbr>. По умолчанию 200 секунд."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/switch.js:204
msgid "Mirror monitor port"
msgid "Name of the tunnel device"
msgstr "Имя туннельного устройства"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:46
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:39
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:50
msgid "Navigation"
msgstr "Навигация"
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:10
+msgid "Nebula Network"
+msgstr "Сеть Nebula"
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:653
msgid "Neighbour cache validity"
msgstr "Действительность кэша соседей"
msgid "Network address"
msgstr "Сетевой адрес"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:492
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:497
msgid "Network boot image"
msgstr "Образ системы для сетевой загрузки"
msgid "Network interface"
msgstr "Сетевой интерфейс"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:536
msgid "Network-ID"
msgstr "Network-ID"
msgid "Never"
msgstr "Никогда"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:270
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:272
msgid ""
"Never forward matching domains and subdomains, resolve from DHCP or hosts "
"files only."
msgid "No RX signal"
msgstr "Rx сигнал отсутствует"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:80
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:87
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:68
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:82
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:65
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:90
msgid ""
"No changes to settings will be stored and are lost after rebooting. This "
msgid "No entries in this directory"
msgstr "Нет элементов в этом каталоге"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:82
-msgid "No files found"
-msgstr "Файлы не найдены"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:833
msgid ""
"No fixed interface listening port defined, peers might not be able to "
msgid "No more slaves available, can not save interface"
msgstr "Больше нет доступных ведомых, сохранить интерфейс невозможно"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:413
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
msgid "No negative cache"
msgstr "Отключить кэш отрицательных ответов"
msgid "No nftables ruleset loaded."
msgstr "Не загружен набор правил nftables."
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:69
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:61
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:57
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:54
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:79
msgid "No password set!"
msgstr "Пароль не установлен!"
msgid "Noise"
msgstr "Шум"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
msgid "Noise Margin (SNR)"
msgstr "Соотношение сигнал/шум (SNR)"
msgid "Noise:"
msgstr "Шум:"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
msgid "Non Pre-emptive CRC errors (CRC_P)"
msgstr "Ошибки без предварительного CRC (CRC_P)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:330
msgid "Non-wildcard"
msgstr "Не использовать wildcard"
msgid "Normal"
msgstr "Нормально"
-#: modules/luci-base/luasrc/view/error404.htm:8
+#: modules/luci-base/ucode/template/error404.ut:9
msgid "Not Found"
msgstr "Не найдено"
msgid "Number of IGMP membership reports"
msgstr "Количество отчётов о членстве IGMP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:474
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:479
msgid "Number of cached DNS entries, 10000 is maximum, 0 is no caching."
msgstr ""
"Количество кэшированных DNS записей (максимум — 10000, 0 — отключить "
msgid "On-link"
msgstr "On-link маршрут"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:672
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:743
msgid "One of hostname or MAC address must be specified!"
msgstr "Должен быть указан либо MAC-адрес, либо имя хоста!"
msgstr "Открыть обзор правил iptables…"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:472
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:19
msgid "Open list..."
msgstr "Открыть список..."
msgid "Options"
msgstr "Опции"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:526
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
msgid ""
"Options for the Network-ID. (Note: needs also Network-ID.) E.g. "
-"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</"
-"code>\" for default route. <code>0.0.0.0</code> means \"the address of the "
-"system running dnsmasq\"."
+"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</code>"
+"\" for default route. <code>0.0.0.0</code> means \"the address of the system "
+"running dnsmasq\"."
msgstr ""
"Параметры для Network-ID (примечание: необходим также Network-ID). Например, "
"<code>42,192.168.1.4</code> для NTP-сервера, <code>3,192.168.4.4</code> для "
msgid "Options:"
msgstr "Опции:"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
+msgid "Ordinal: lower comes first."
+msgstr "По порядку: меньший идет первым."
+
#: protocols/luci-proto-batman-adv/htdocs/luci-static/resources/protocol/batadv.js:55
msgid "Originator Interval"
msgstr "Интервал отправителя"
msgid "Pass-through (Mirror physical device to single MAC VLAN)"
msgstr "Pass-through (зеркалирование физического устройства в один MAC VLAN)"
-#: modules/luci-base/luasrc/view/sysauth.htm:29
+#: modules/luci-base/ucode/template/sysauth.ut:29
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1690
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:51
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:114
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:103
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:24
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:19
msgid "Password"
msgstr "Пароль"
msgid "Pkts."
msgstr "пакетов"
-#: modules/luci-base/luasrc/view/sysauth.htm:19
+#: modules/luci-base/ucode/template/sysauth.ut:19
msgid "Please enter your username and password."
msgstr "Пожалуйста, введите имя пользователя и пароль."
msgid "Policy: <strong>%h</strong> (%h)"
msgstr "Политика: <strong>%h</strong> (%h)"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:579
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:21
msgid "Port"
msgstr "Порт"
msgid "Potential negation of: %s"
msgstr "Потенциальное отрицание: %s"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:38
msgid "Power Management Mode"
msgstr "Режим управления питанием"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
msgid "Pre-emptive CRC errors (CRCP_P)"
msgstr "Предварительные ошибки CRC (CRCP_P)"
"(always, 0)"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:129
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:197
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:223
msgid "Quality"
msgstr "Качество"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
msgid "Query all available upstream resolvers."
msgstr ""
"Опрашивать все имеющиеся внешние <abbr title=\"Domain Name System\">DNS</"
"Строка в шестнадцатеричном коде. Оставьте пустой, если ваш провайдер не "
"требует этого"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:345
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:350
msgid "Read <code>/etc/ethers</code> to configure the DHCP server."
msgstr "Читать <code>/etc/ethers</code> для настройки DHCP сервера."
msgid "Reassociation Deadline"
msgstr "Срок реассоциации"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
msgid "Rebind protection"
msgstr "Защита от DNS Rebinding"
"указанному значению"
#: modules/luci-compat/luasrc/model/network/proto_relay.lua:153
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:611
#: protocols/luci-proto-relay/htdocs/luci-static/resources/protocol/relay.js:39
msgid "Relay"
msgstr "Ретранслятор"
msgid "Required. Base64-encoded private key for this interface."
msgstr "Обязательно. Приватный ключ в кодировке Base64 для этого интерфейса."
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Required. Path to the .yml config file for this interface."
+msgstr "Обязательно. Путь к файлу конфигурации .yml для этого интерфейса."
+
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:587
msgid "Required. Public key of the WireGuard peer."
msgstr "Обязательно. Публичный ключ WireGuard узла."
msgstr "Политика переизбрания для первичного ведомого"
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2197
-#: modules/luci-base/luasrc/view/sysauth.htm:39
+#: modules/luci-base/ucode/template/sysauth.ut:39
#: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
#: modules/luci-compat/luasrc/view/cbi/footer.htm:30
#: modules/luci-compat/luasrc/view/cbi/simpleform.htm:66
msgid "Resolv and Hosts Files"
msgstr "Файлы resolv и hosts"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:356
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:361
msgid "Resolv file"
msgstr "Файл resolv"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:292
+msgid "Resolve specified FQDNs to an IP."
+msgstr "Список доменов для принудительного преобразования в IP-адрес."
+
#: modules/luci-base/htdocs/luci-static/resources/rpc.js:405
msgid "Resource not found"
msgstr "Ресурс не найден"
msgid "Restore backup"
msgstr "Восстановить резервную копию"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
msgid ""
"Return answers to DNS queries matching the subnet from which the query was "
"received if multiple IPs are available."
msgid "Robustness"
msgstr "Надёжность"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:491
msgid ""
"Root directory for files served via TFTP. <em>Enable TFTP server</em> and "
"<em>TFTP server root</em> turn on the TFTP server and serve files from "
msgid "SNR"
msgstr "SNR"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "SRV"
+msgstr "SRV"
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:10
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:38
msgid "SSH Access"
msgid "Server"
msgstr "Сервер"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:524
msgid "Server address"
msgstr "Адрес сервера"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:518
msgid "Server name"
msgstr "Имя сервера"
msgid "Setup routes for proxied IPv6 neighbours."
msgstr "Настройка маршрутов для проксированных соседей IPv6."
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
msgid "Severely Errored Seconds (SES)"
msgstr "Число секунд с многочисленными ошибками (SES)"
msgstr "Короткая преамбула"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:470
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:18
msgid "Show current backup file list"
msgstr "Показать текущий список файлов резервной копии"
msgid "Signal / Noise"
msgstr "Сигнал / шум"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
msgid "Signal Attenuation (SATN)"
msgstr "Затухание сигнала (SATN)"
msgid "Size"
msgstr "Размер"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:473
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:478
msgid "Size of DNS query cache"
msgstr "Размер кэша DNS запроса"
msgid "Skip from backup files that are equal to those in /rom"
msgstr "Исключить из резервной копии файлы, совпадающие с файлами в /rom"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:42
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:35
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:46
msgid "Skip to content"
msgstr "Перейти к содержимому"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:41
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:34
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:45
msgid "Skip to navigation"
msgstr "Перейти к навигации"
msgid "Some fields are invalid, cannot save values!"
msgstr "Некоторые значения полей недопустимы, невозможно сохранить информацию!"
-#: modules/luci-base/luasrc/view/error404.htm:9
+#: modules/luci-base/ucode/template/error404.ut:10
msgid "Sorry, the object you requested was not found."
msgstr "Извините, запрошенный объект не был найден."
-#: modules/luci-base/luasrc/view/error500.htm:9
-msgid "Sorry, the server encountered an unexpected error."
-msgstr "Извините, сервер столкнулся с неожиданной ошибкой."
-
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:442
msgid ""
"Sorry, there is no sysupgrade support present; a new firmware image must be "
msgid "Source port"
msgstr "Порт источника"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:505
msgid ""
"Special <abbr title=\"Preboot eXecution Environment\">PXE</abbr> boot "
"options for Dnsmasq."
msgid "Static address"
msgstr "Статический адрес"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:598
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:669
msgid ""
"Static leases are used to assign fixed IP addresses and symbolic hostnames "
"to DHCP clients. They are also required for non-dynamic interface "
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:16
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:541
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:929
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:9
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:9
msgid "Status"
msgstr "Состояние"
msgid "Strict filtering"
msgstr "Строгая фильтрация"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
msgid "Strict order"
msgstr "Строгий порядок"
msgid "Submit"
msgstr "Применить"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
msgid "Suppress logging"
msgstr "Подавить логирование"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:373
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
msgid "Suppress logging of the routine operation for the DHCP protocol."
msgstr "Подавить логирование стандартной работы этих протоколов."
msgid "Sync with browser"
msgstr "Скопир. из браузера"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:293
+msgid "Syntax: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+msgstr "Синтаксис: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "Syntax: <code>_service._proto.example.com</code>."
+msgstr "Синтаксис: <code>_service._proto.example.com</code>."
+
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:26
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:17
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:113
msgid "System log buffer size"
msgstr "Размер системного журнала"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:79
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:86
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:71
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:67
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:81
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:64
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:89
msgid "System running in recovery (initramfs) mode."
msgstr "Система работает в режиме восстановления (initramfs)."
msgid "TCP:"
msgstr "TCP:"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:490
msgid "TFTP server root"
msgstr "TFTP сервер root"
msgid "Table"
msgstr "Таблица"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:56
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:66
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:187
"HE.net конфигурация обновления конечной точки изменена, теперь вы должны "
"использовать простое имя пользователя вместо ID пользователя!"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:681
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:752
msgid "The IP address %h is already used by another static lease"
msgstr "IP-адрес %h уже используется в другой постоянной аренде"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:761
msgid "The IP address is outside of any DHCP pool address range"
msgstr "IP-адрес находится вне диапазона пула адресов DHCP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:520
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
msgid "The IP address of the boot server"
msgstr "IP-адрес сервера загрузки"
"дополнительного перехода (пакет должен быть получен и повторно передан, что "
"требует затрат эфирного времени)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:514
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
msgid "The hostname of the boot server"
msgstr "Имя хоста сервера загрузки"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/switch.js:139
msgid ""
-"The network ports on this device can be combined to several <abbr "
-"title=\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
+"The network ports on this device can be combined to several <abbr title="
+"\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
"communicate directly with each other. <abbr title=\"Virtual Local Area "
"Network\">VLAN</abbr>s are often used to separate different network "
"segments. Often there is by default one Uplink port for a connection to the "
"next greater network like the internet and other ports for a local network."
msgstr ""
-"Сетевые порты этого устройства могут быть объединены в несколько <abbr "
-"title=\"Virtual Local Area Network\">VLAN</abbr>ов, в которых компьютеры "
-"могут связываться напрямую между собой. <abbr title=\"Виртуальные локальные "
-"сети\">VLAN</abbr>ы часто используются для разделения нескольких сетевых "
+"Сетевые порты этого устройства могут быть объединены в несколько <abbr title="
+"\"Virtual Local Area Network\">VLAN</abbr>ов, в которых компьютеры могут "
+"связываться напрямую между собой. <abbr title=\"Виртуальные локальные сети"
+"\">VLAN</abbr>ы часто используются для разделения нескольких сетевых "
"сегментов. Обычно по умолчанию используется один порт для подключения к "
"внешней сети, например к Интернету и другие порты предназначенные для "
"внутренней — локальной сети."
msgid "The selected %s mode is incompatible with %s encryption"
msgstr "Выбранный режим %s несовместим с шифрованием %s"
-#: modules/luci-base/luasrc/view/csrftoken.htm:11
+#: modules/luci-base/ucode/template/csrftoken.ut:11
msgid "The submitted security token is invalid or already expired!"
msgstr "Представленный маркер безопасности недействителен или уже истек!"
"iptables и nftables не рекомендуется и может привести к неполной фильтрации "
"трафика."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:746
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:778
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:817
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:849
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:130
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:179
msgid "There are no active leases"
msgid "There are no changes to apply"
msgstr "Нет изменений для применения"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:70
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:58
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:55
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:80
msgid ""
"There is no password set on this router. Please configure a root password to "
msgstr "Это не похоже на корректный PEM файл"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:16
msgid ""
"This is a list of shell glob patterns for matching files and directories to "
"include during sysupgrade. Modified files in /etc/config/ and certain other "
"Это локальный адрес, назначенный туннельным брокером, обычно заканчивается "
"на <code>...:2/64</code>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:266
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:268
msgid "This is the only DHCP server in the local network."
msgstr ""
"Это единственный <abbr title=\"Протокол динамической настройки узла\">DHCP</"
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:440
msgid ""
"To fully configure the local WireGuard interface from an existing (e.g. "
-"provider supplied) configuration file, use the <strong><a class=\"full-"
-"import\" href=\"#\">configuration import</a></strong> instead."
+"provider supplied) configuration file, use the <strong><a class=\"full-import"
+"\" href=\"#\">configuration import</a></strong> instead."
msgstr ""
"Чтобы полностью настроить локальный интерфейс WireGuard из существующего "
"(например, предоставленного провайдером) файла конфигурации, используйте "
msgid "Unable to determine upstream interface"
msgstr "Невозможно определить основной (upstream) интерфейс"
-#: modules/luci-base/luasrc/view/error404.htm:11
+#: modules/luci-base/ucode/template/error404.ut:12
msgid "Unable to dispatch"
msgstr "Невозможно обработать запрос для"
msgid "Unable to verify PIN"
msgstr "Не удается проверить PIN-код"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
msgid "Unavailable Seconds (UAS)"
msgstr "Секунды неготовности (UAS)"
"После нажатия кнопки «Продолжить» опции ifname будут переименованы, и сеть "
"будет перезапущена для применения обновленной конфигурации."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
msgid "Upstream resolvers will be queried in the order of the resolv file."
msgstr ""
"<abbr title=\"Система доменных имен\">DNS</abbr> сервера будут опрошены в "
msgid "Uptime"
msgstr "Время работы"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
msgid "Use <code>/etc/ethers</code>"
msgstr "Использовать <code>/etc/ethers</code>"
msgstr ""
"Использовать системные сертификаты для внутреннего туннеля (inner-tunnel)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:599
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:670
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC address</"
"em> identifies the host, the <em>IPv4 address</em> specifies the fixed "
msgid "User key (PEM encoded)"
msgstr "Ключ пользователя (PEM encoded)"
-#: modules/luci-base/luasrc/view/sysauth.htm:23
+#: modules/luci-base/ucode/template/sysauth.ut:23
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:112
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:101
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:56
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:18
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:13
msgid "Username"
msgstr "Имя пользователя"
#: protocols/luci-proto-vti/htdocs/luci-static/resources/protocol/vti.js:10
msgid "VTI"
-msgstr ""
+msgstr "VTI"
#: protocols/luci-proto-vxlan/htdocs/luci-static/resources/protocol/vxlan.js:10
msgid "VXLAN (RFC7348)"
msgid "VXLANv6 (RFC7348)"
msgstr "VXLANv6 (RFC7348)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
msgid ""
"Validate DNS replies and cache DNSSEC data, requires upstream to support "
"DNSSEC."
msgstr ""
"Класс производителя (Vendor class), который отправлять при DHCP-запросах"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:408
msgid "Verify unsigned domain responses really come from unsigned domains."
msgstr ""
"Проверять, действительно ли ответы от неподписанных доменов приходят от "
msgid "Weak"
msgstr "Слабая"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+msgid "Weight"
+msgstr "Вес"
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1029
msgid ""
"When delegating prefixes to multiple downstreams, interfaces with a higher "
msgid "Wireless network is enabled"
msgstr "Беспроводная сеть включена"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:278
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:280
msgid "Write received DNS queries to syslog."
msgstr "Записывать полученные DNS-запросы в системный журнал."
"><strong>Внимание: если вы выключите один из основных скриптов инициализации "
"(например \"network\"), ваше устройство может оказаться недоступным!</strong>"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:90
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:97
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
+msgid "You may add multiple records for the same Target."
+msgstr "Вы можете добавить несколько записей для одной и той же цели."
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:596
+msgid "You may add multiple records for the same domain."
+msgstr "Вы можете добавить несколько записей для одного и того же домена."
+
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:78
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:92
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:73
msgid ""
"You must enable JavaScript in your browser or LuCI will not work properly."
msgid "ZRam Size"
msgstr "Размер ZRam"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:558
+msgid "_proto: _tcp, _udp, _sctp, _quic, … ."
+msgstr "_proto: _tcp, _udp, _sctp, _quic, … ."
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:557
+msgid ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Note: while _http is "
+"possible, no browsers support SRV records.)"
+msgstr ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Примечание: хотя "
+"_http возможен, ни один браузер не поддерживает SRV-записи)."
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:454
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:152
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:163
msgid "any"
msgid "e.g: dump"
msgstr "например: dump"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:726
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:756
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:797
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:827
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:101
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:148
msgid "expired"
"<abbr title=\"Hypertext Transfer Protocol Secure\">HTTPS</abbr> network "
"access."
msgstr ""
-"uHTTPd предоставляет доступ по <abbr title=\"Hypertext Transfer "
-"Protocol\">HTTP</abbr> или <abbr title=\"Hypertext Transfer Protocol "
-"Secure\">HTTPS</abbr>."
+"uHTTPd предоставляет доступ по <abbr title=\"Hypertext Transfer Protocol"
+"\">HTTP</abbr> или <abbr title=\"Hypertext Transfer Protocol Secure\">HTTPS</"
+"abbr>."
#: modules/luci-base/htdocs/luci-static/resources/validation.js:574
msgid "unique value"
msgid "unknown"
msgstr "неизвестный"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:456
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:724
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:754
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:461
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:795
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:825
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:99
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:146
msgid "unlimited"
msgid "« Back"
msgstr "« Назад"
+#~ msgid "Back to configuration"
+#~ msgstr "Назад к настройкам"
+
+#~ msgid "Close list..."
+#~ msgstr "Закрыть список..."
+
+#~ msgid "Internal Server Error"
+#~ msgstr "Внутренняя ошибка сервера"
+
+#~ msgid "No files found"
+#~ msgstr "Файлы не найдены"
+
+#~ msgid "Sorry, the server encountered an unexpected error."
+#~ msgstr "Извините, сервер столкнулся с неожиданной ошибкой."
+
#~ msgid "Do not forward queries that cannot be answered by public resolvers."
#~ msgstr ""
#~ "Не перенаправлять запросы, которые не могут быть обработаны публичными "
#~ msgid ""
#~ "<ul style=\"list-style-type:none;\"> <li><strong>server mode</strong>: "
-#~ "Router advertises itself as the default IPv6 gateway via <abbr "
-#~ "title=\"Router Advertisement, ICMPv6 Type 134\">RA</abbr> messages (to "
+#~ "Router advertises itself as the default IPv6 gateway via <abbr title="
+#~ "\"Router Advertisement, ICMPv6 Type 134\">RA</abbr> messages (to "
#~ "<code>ff02::1</code>) and provides <abbr title=\"Prefix Delegation\">PD</"
#~ "abbr> to downstream devices.</li> <li><strong>relay mode</strong>: Router "
#~ "relays <abbr title=\"Router Advertisement, ICMPv6 Type 134\">RA</abbr> "
#~ "расширяет конфигурацию интерфейсов восходящего потока (например, WAN) и "
#~ "префиксы для интерфейсов нисходящего потока (например, LAN).</li> "
#~ "<li><strong>гибридный режим</strong>: Маршрутизатор выполняет обе роли; "
-#~ "расширяет конфигурацию и префиксы устройств и использует <abbr "
-#~ "title=\"Prefix Delegation\">PD</abbr> локально.</li></ul>"
+#~ "расширяет конфигурацию и префиксы устройств и использует <abbr title="
+#~ "\"Prefix Delegation\">PD</abbr> локально.</li></ul>"
#~ msgid ""
#~ "<ul style=\"list-style-type:none;\"> <li><strong>server mode</strong>: "
-#~ "Router assigns IPs and delegates prefixes (<abbr title=\"Prefix "
-#~ "Delegation\">PD</abbr>) to downstream interfaces.</li> <li><strong>relay "
-#~ "mode</strong>: Router relays WAN interface config downstream. Helps "
-#~ "support upstream links that lack <abbr title=\"Prefix Delegation\">PD</"
-#~ "abbr>.</li> <li><strong>hybrid mode</strong>: Router does combination of "
-#~ "server+relay.</li></ul>"
+#~ "Router assigns IPs and delegates prefixes (<abbr title=\"Prefix Delegation"
+#~ "\">PD</abbr>) to downstream interfaces.</li> <li><strong>relay mode</"
+#~ "strong>: Router relays WAN interface config downstream. Helps support "
+#~ "upstream links that lack <abbr title=\"Prefix Delegation\">PD</abbr>.</"
+#~ "li> <li><strong>hybrid mode</strong>: Router does combination of server"
+#~ "+relay.</li></ul>"
#~ msgstr ""
#~ "<ul style=\"list-style-type:none;\"> <li><strong>режим сервера</strong>: "
-#~ "Маршрутизатор назначает IP-адреса и делегирует префиксы (<abbr "
-#~ "title=\"Prefix Delegation\">PD</abbr>) интерфейсам нисходящего потока.</"
-#~ "li> <li><strong>режим передачи</strong>: Маршрутизатор передаёт "
-#~ "конфигурацию WAN интерфейса в нисходящих поток. Помогает поддерживать "
-#~ "восходящие соединения, в которых отсутствует <abbr title=\"Prefix "
-#~ "Delegation\">PD</abbr>.</li> <li><strong>гибридный режим</strong>: "
-#~ "Ð\9cаÑ\80Ñ\88Ñ\80Ñ\83Ñ\82изаÑ\82оÑ\80 Ñ\80абоÑ\82аеÑ\82 в комбинаÑ\86ии Ñ\80ежимов Ñ\81еÑ\80веÑ\80а и пеÑ\80едаÑ\87и.</li></ul>"
+#~ "Маршрутизатор назначает IP-адреса и делегирует префиксы (<abbr title="
+#~ "\"Prefix Delegation\">PD</abbr>) интерфейсам нисходящего потока.</li> "
+#~ "<li><strong>режим передачи</strong>: Маршрутизатор передаёт конфигурацию "
+#~ "WAN интерфейса в нисходящих поток. Помогает поддерживать восходящие "
+#~ "соединения, в которых отсутствует <abbr title=\"Prefix Delegation\">PD</"
+#~ "abbr>.</li> <li><strong>гибридный режим</strong>: Маршрутизатор работает "
+#~ "в комбинации режимов сервера и передачи.</li></ul>"
#~ msgid "Always, even if no public prefix is available."
#~ msgstr "Всегда, даже если нет публичного префикса."
#~ "DHCPv6.</li> <li><strong>stateful-only</strong>: No SLAAC. Router assigns "
#~ "an IPv6 address to a host via DHCPv6.</li></ul>"
#~ msgstr ""
-#~ "Значение по умолчанию — 'без и с сохранением состояния'<br /> <ul "
-#~ "style=\"list-style-type:none;\"> <li><strong>без сохранения состояния</"
-#~ "strong>: Маршрутизатор объявляет префиксы, хост использует <abbr title=\\"
-#~ "\\\\\"Stateless Address Auto Config\\\\\\\">SLAAC</abbr> для "
-#~ "самостоятельного назначения своего адреса. DHCPv6 не используется.</li> "
-#~ "<li><strong>без и с сохранением состояния</strong>: В дополнение к SLAAC "
-#~ "маршрутизатор назначает IPv6-адрес хосту через DHCPv6.</li> "
-#~ "<li><strong>только с сохранением состояния</strong>: SLAAC не "
-#~ "используется. Маршрутизатор назначает IPv6-адрес хосту через DHCPv6.</"
-#~ "li></ul>"
+#~ "Значение по умолчанию — 'без и с сохранением состояния'<br /> <ul style="
+#~ "\"list-style-type:none;\"> <li><strong>без сохранения состояния</strong>: "
+#~ "Маршрутизатор объявляет префиксы, хост использует <abbr title=\\\\\\"
+#~ "\"Stateless Address Auto Config\\\\\\\">SLAAC</abbr> для самостоятельного "
+#~ "назначения своего адреса. DHCPv6 не используется.</li> <li><strong>без и "
+#~ "с сохранением состояния</strong>: В дополнение к SLAAC маршрутизатор "
+#~ "назначает IPv6-адрес хосту через DHCPv6.</li> <li><strong>только с "
+#~ "сохранением состояния</strong>: SLAAC не используется. Маршрутизатор "
+#~ "назначает IPv6-адрес хосту через DHCPv6.</li></ul>"
#~ msgid "Learn routes from NDP"
#~ msgstr "Изучать маршруты с помощью NDP"
#~ "SLAAC.<br /> <ul style=\"list-style-type:none;\"> <li><strong>disabled</"
#~ "strong>: Никакие <abbr title=\"Протокол обнаружения соседей\">NDP</abbr> "
#~ "сообщения не проксируются через true интерфейсы <code>ndproxy_slave</"
-#~ "code>.</li> <li><strong>режим реле</strong>: Сообщения прокси <abbr "
-#~ "title=\"Протокол обнаружения соседей\">NDP</abbr> из <code>master</code> "
-#~ "через true интерфейсы <code>ndproxy_slave</code>. Helps to support "
-#~ "provider links without <abbr title=\"Prefix Delegation\">PD</abbr>, and "
-#~ "to firewall proxied hosts.</li> <li><strong>гибридный режим</strong>: "
-#~ "Режим реле отключен, если логический интерфейс <code>master</code> "
-#~ "является 1.</li></ul>"
+#~ "code>.</li> <li><strong>режим реле</strong>: Сообщения прокси <abbr title="
+#~ "\"Протокол обнаружения соседей\">NDP</abbr> из <code>master</code> через "
+#~ "true интерфейсы <code>ndproxy_slave</code>. Helps to support provider "
+#~ "links without <abbr title=\"Prefix Delegation\">PD</abbr>, and to "
+#~ "firewall proxied hosts.</li> <li><strong>гибридный режим</strong>: Режим "
+#~ "реле отключен, если логический интерфейс <code>master</code> является 1.</"
+#~ "li></ul>"
#~ msgid ""
#~ "Router Lifetime published in <abbr title=\"Router Advertisement, ICMPv6 "
#~ "1280."
#~ msgid ""
-#~ "The maximum hops to be published in <abbr title=\"Router "
-#~ "Advertisement\">RA</abbr> messages.<br />Default is 0 (<code>0</code>), "
-#~ "meaning unspecified. Max 255."
+#~ "The maximum hops to be published in <abbr title=\"Router Advertisement"
+#~ "\">RA</abbr> messages.<br />Default is 0 (<code>0</code>), meaning "
+#~ "unspecified. Max 255."
#~ msgstr ""
#~ "Максимальное число прыжков, публикуемое в <abbr title=\"Router "
#~ "Advertisement\">RA</abbr> сообщениях.<br />По умолчанию 0 <code>0</"
#~ "адрес хосту через DHCPv6.</li><ul>"
#~ msgid ""
-#~ "The maximum hops to be published in <abbr title=\"Router "
-#~ "Advertisement\">RA</abbr> messages.<br>Default is 0 (<code>0</code>), "
-#~ "meaning unspecified. Max 255."
+#~ "The maximum hops to be published in <abbr title=\"Router Advertisement"
+#~ "\">RA</abbr> messages.<br>Default is 0 (<code>0</code>), meaning "
+#~ "unspecified. Max 255."
#~ msgstr ""
#~ "Максимальное число прыжков, публикуемое в <abbr title=\"Router "
#~ "Advertisement\">RA</abbr> сообщениях. По умолчанию 0 (<code>0</code>), то "
#~ msgid ""
#~ "The filesystem that was used to format the memory (<abbr title=\"for "
-#~ "example\">e.g.</abbr> <samp><abbr title=\"Third Extended "
-#~ "Filesystem\">ext3</abbr></samp>)"
+#~ "example\">e.g.</abbr> <samp><abbr title=\"Third Extended Filesystem"
+#~ "\">ext3</abbr></samp>)"
#~ msgstr ""
-#~ "Файловая система (<abbr title=\"например\">напр.</abbr> <samp><abbr "
-#~ "title=\"Third Extended Filesystem\">ext3</abbr></samp>)."
+#~ "Файловая система (<abbr title=\"например\">напр.</abbr> <samp><abbr title="
+#~ "\"Third Extended Filesystem\">ext3</abbr></samp>)."
#~ msgid ""
#~ "The flash image was uploaded. Below is the checksum and file size listed, "
msgid "<abbr title=\"Router Advertisement\">RA</abbr>-Service"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:294
+msgid ""
+"<code>/#/</code> matches any domain. <code>/example.com/</code> returns "
+"NXDOMAIN."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+msgid ""
+"<code>/example.com/#</code> returns NULL addresses (<code>0.0.0.0</code> and "
+"<code>::</code>) for example.com and its subdomains."
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:87
msgctxt "nft relational \">\" operator expression"
msgid "<var>%s</var> greater than <strong>%s</strong>"
msgid "ATM device number"
msgstr "Číslo zariadenia ATM"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
msgid "ATU-C System Vendor ID"
msgstr ""
msgid "Absent Interface"
msgstr "Chýbajúce rozhranie"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:320
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
msgid "Accept DNS queries only from hosts whose address is on a local subnet."
msgstr "Obmedzenie služby DNS rozhraniam podsietí, ktorým sa poskytuje DNS."
msgid "Add key"
msgstr "Pridať kľúč"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:410
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:415
msgid "Add local domain suffix to names served from hosts files."
msgstr ""
msgid "Add to Whitelist"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:367
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
msgid "Additional hosts files"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:417
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
msgid "Additional servers file"
msgstr "Súbor s dodatočnými servermi"
msgid "Address to access local relay bridge"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:289
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:291
msgid "Addresses"
msgstr ""
msgid "Aggregate Originator Messages"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
msgid "Aggregate Transmit Power (ACTATP)"
msgstr ""
msgid "Alias of \"%s\""
msgstr "Prezývka pre „%s“"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
msgid "All servers"
msgstr "Všetky servery"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
msgid ""
"Allocate IP addresses sequentially, starting from the lowest available "
"address."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
msgid "Allocate IPs sequentially"
msgstr ""
msgid "Allow listed only"
msgstr "Povoliť iba zo zoznamu"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
msgid "Allow localhost"
msgstr ""
msgid "Always on (kernel: default-on)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:538
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
msgid "Always send DHCP Options. Sometimes needed, with e.g. PXELinux."
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1484
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
msgid "Annex"
msgstr ""
msgid "Any zone"
msgstr "Akákoľvek zóna"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:532
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
msgid "Apply DHCP Options to this net. (Empty = all clients)."
msgstr ""
msgid "Authentication Type"
msgstr "Typ overenia totožnosti"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:265
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:267
msgid "Authoritative"
msgstr "Autoritatívny"
-#: modules/luci-base/luasrc/view/sysauth.htm:17
+#: modules/luci-base/ucode/template/sysauth.ut:17
#: themes/luci-theme-bootstrap/htdocs/luci-static/resources/view/bootstrap/sysauth.js:11
msgid "Authorization Required"
msgstr "Vyžaduje sa overenie totožnosti"
msgid "Avoid Bridge Loops"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
msgid ""
"Avoid uselessly triggering dial-on-demand links (filters SRV/SOA records and "
"names with underscores)."
msgid "Back to Overview"
msgstr "Späť na prehľad"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:48
-msgid "Back to configuration"
-msgstr "Späť na konfiguráciu"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:826
msgid "Back to peer configuration"
msgstr ""
msgstr "Zálohovať / nahrať firmvér"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:351
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:12
msgid "Backup file list"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:352
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:46
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
msgid "Bind NTP server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:326
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:331
msgid "Bind dynamically to interfaces rather than wildcard address."
msgstr ""
msgid "Bind interface"
msgstr "Previazať rozhranie"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:595
+msgid ""
+"Bind service records to a domain name: specify the location of services."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:556
+msgid ""
+"Bind service records to a domain name: specify the location of services. See "
+"<a href=\"%s\">RFC2782</a>."
+msgstr ""
+
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gre.js:59
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gretap.js:64
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/grev6.js:64
msgid "CLAT configuration failed"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
+msgid "CNAME or fqdn"
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/processes.js:72
msgid "CPU usage (%)"
msgstr "Využitie CPU (%)"
"persist connection"
msgstr ""
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:49
-msgid "Close list..."
-msgstr "Zavrieť zoznam..."
-
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:44
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:63
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2184
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:391
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:352
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:355
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:72
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:66
msgid "Collecting data..."
msgstr "Zbieram dáta..."
msgid "Compute outgoing checksum (optional)."
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Config File"
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4375
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
msgid "Configuration"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:764
msgid ""
-"Configures the operation mode of the <abbr title=\"Router "
-"Advertisement\">RA</abbr> service on this interface."
+"Configures the operation mode of the <abbr title=\"Router Advertisement"
+"\">RA</abbr> service on this interface."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:879
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/leds.js:59
msgid ""
-"Customizes the behaviour of the device <abbr title=\"Light Emitting "
-"Diode\">LED</abbr>s if possible."
+"Customizes the behaviour of the device <abbr title=\"Light Emitting Diode"
+"\">LED</abbr>s if possible."
msgstr ""
"Umožní prispôsobiť správanie <abbr title=\"Light Emitting Diode\">LED</abbr> "
"diód zariadenia, ak je to možné."
msgid "DAE-Secret"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:530
msgid "DHCP Options"
msgstr ""
msgid "DNS"
msgstr "DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:282
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:284
msgid "DNS forwardings"
msgstr "Presmerovania DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:445
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:450
msgid "DNS query port"
msgstr "<abbr title=\"Doménový názvový systém\">DNS</abbr> dotaz na port"
msgid "DNS search domains"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:443
msgid "DNS server port"
msgstr "Port <abbr title=\"Doménový názvový systém\">DNS</abbr> servera"
msgid "DNS-Label / FQDN"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
msgid "DNSSEC"
msgstr "DNSSEC"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:407
msgid "DNSSEC check unsigned"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1481
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:44
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:45
msgid "DSL"
msgstr "DSL"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:14
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:15
msgid "DSL Status"
msgstr "Stav DSL"
msgstr "Interval DTIM"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:59
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:700
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:771
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:136
msgid "DUID"
msgstr "DUID"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
msgid "Data Rate"
msgstr "Prenosová rýchlosť"
msgid "Disassociate On Low Acknowledgement"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:302
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
msgid ""
"Discard upstream responses containing <a href=\"%s\">RFC1918</a> addresses."
msgstr ""
msgid "Distributed ARP Table"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:548
msgid ""
"Dnsmasq instance to which this boot section is bound. If unspecified, the "
"section is valid for all dnsmasq instances."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:246
msgid ""
-"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</"
-"abbr> forwarder."
+"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</abbr> "
+"forwarder."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:419
msgid "Do not cache negative replies, e.g. for non-existent domains."
msgstr ""
msgid "Do not create host route to peer (optional)."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:262
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:264
msgid "Do not forward DNS queries without dots or domain parts."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
msgid "Do not forward reverse lookups for local networks."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:339
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
msgid "Do not listen on the specified interfaces."
msgstr "Zabránenie načúvaniu na týchto rozhraniach."
msgid "Do you want to replace the current keys?"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:593
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:606
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:664
msgid "Domain"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:261
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:263
msgid "Domain required"
msgstr "Vyžaduje sa doména"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:316
msgid "Domain whitelist"
msgstr "Biela listina domén"
msgid "Enable Single DES"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:480
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
msgid "Enable TFTP server"
msgstr "Povoliť server TFTP"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/uhttpd.js:14
msgid ""
-"Enable automatic redirection of <abbr title=\"Hypertext Transfer "
-"Protocol\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol "
-"Secure\">HTTPS</abbr> port."
+"Enable automatic redirection of <abbr title=\"Hypertext Transfer Protocol"
+"\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol Secure"
+"\">HTTPS</abbr> port."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:977
msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:481
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
msgid "Enable the built-in single-instance TFTP server."
msgstr ""
msgid "Error getting PublicKey"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
msgid "Errored seconds (ES)"
msgstr ""
msgid "Every second (fast, 1)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:343
msgid "Exclude interfaces"
msgstr "Vylúčiť rozhrania"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
msgid ""
"Exempt <code>127.0.0.0/8</code> and <code>::1</code> from rebinding checks, "
"e.g. for RBL services."
msgid "Existing device"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:409
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
msgid "Expand hosts"
msgstr ""
msgid "File"
msgstr "Súbor"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
msgid ""
"File listing upstream resolvers, optionally domain-specific, e.g. "
"<code>server=1.2.3.4</code>, <code>server=/domain/1.2.3.4</code>."
msgid "File not accessible"
msgstr "Súbor nie je prístupný"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:354
msgid "File to store DHCP lease information."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:362
msgid "File with upstream resolvers."
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/ui.js:2846
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:507
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:512
msgid "Filename"
msgstr "Názov súboru"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:493
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:498
msgid "Filename of the boot image advertised to clients."
msgstr "Názov súboru obrazu zavedenia oznámeného klientom"
msgid "Filesystem"
msgstr "Súborový systém"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
msgid "Filter private"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
msgid "Filter useless"
msgstr ""
msgid "Firmware Version"
msgstr "Verzia firmvéru"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:446
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:451
msgid "Fixed source port for outbound DNS queries."
msgstr ""
msgid "Flashing…"
msgstr "Nahráva sa…"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:686
msgid "Force"
msgstr "Vynútiť"
msgid "Force use of NAT-T"
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:8
+#: modules/luci-base/ucode/template/csrftoken.ut:8
msgid "Form token mismatch"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:919
msgid ""
-"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr "
-"title=\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr "
-"title=\"Neighbour Advertisement, Type 136\">NA</abbr> messages between the "
-"designated master interface and downstream interfaces."
+"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr title="
+"\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr title=\"Neighbour "
+"Advertisement, Type 136\">NA</abbr> messages between the designated master "
+"interface and downstream interfaces."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:770
"downstream interfaces."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
msgid "Forward Error Correction Seconds (FECS)"
msgstr ""
msgid "Global network options"
msgstr "Globálne voľby siete"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:82
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:74
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:70
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:84
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:67
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:92
msgid "Go to firmware upgrade..."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:72
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:64
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:60
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:57
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:82
msgid "Go to password configuration..."
msgstr "Prejsť na konfiguráciu hesla..."
msgid "Hang Up"
msgstr "Zložiť"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
msgid "Header Error Code Errors (HEC)"
msgstr ""
msgid "Host expiry timeout"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
msgid "Host requests this filename from the boot server."
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:38
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:607
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:678
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:54
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:87
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:135
msgid "Hostnames"
msgstr "Názvy hostiteľov"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:551
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:622
msgid ""
"Hostnames are used to bind a domain name to an IP address. This setting is "
"redundant for hostnames already configured with static leases, but it can be "
msgid "IP Protocol"
msgstr "Protokol IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:260
msgid "IP Sets"
msgstr ""
msgid "IP Type"
msgstr "Typ IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:563
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:634
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:178
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:204
msgid "IP address"
msgid "IP protocol"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:660
msgid "IP set"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:300
msgid "IP sets"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:437
msgid "IPs to override with NXDOMAIN"
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/protocol/static.js:178
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:736
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:88
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:164
msgid "IPv4 address"
msgid "IPv6 suffix"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:706
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:777
msgid "IPv6 suffix (hex)"
msgstr ""
"<abbr title=\"Internetový Protokol Verzia 6\">IPv6</abbr>-Prípona (hex)"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:340
msgid ""
"If your physical memory is insufficient unused data can be temporarily "
-"swapped to a swap-device resulting in a higher amount of usable <abbr "
-"title=\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a "
-"very slow process as the swap-device cannot be accessed with the high "
-"datarates of the <abbr title=\"Random Access Memory\">RAM</abbr>."
+"swapped to a swap-device resulting in a higher amount of usable <abbr title="
+"\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a very "
+"slow process as the swap-device cannot be accessed with the high datarates "
+"of the <abbr title=\"Random Access Memory\">RAM</abbr>."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:363
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:368
msgid "Ignore <code>/etc/hosts</code>"
msgstr "Ignorovať súbor <code>/etc/hosts</code>"
msgid "Ignore interface"
msgstr "Ignorovať rozhranie"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:352
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
msgid "Ignore resolv file"
msgstr ""
"order to avoid broadcast loops that can bring the entire LAN to a standstill."
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:13
+#: modules/luci-base/ucode/template/csrftoken.ut:13
msgid ""
"In order to prevent unauthorized access to the system, your request has been "
"blocked. Click \"Continue »\" below to return to the previous page."
msgid "Install protocol extensions..."
msgstr "Inštalovať rozšírenia protokolu..."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:547
msgid "Instance"
msgstr ""
msgid "Internal"
msgstr ""
-#: modules/luci-base/luasrc/view/error500.htm:8
-msgid "Internal Server Error"
-msgstr "Interná chyba serveru"
-
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:285
msgid "Interval For Sending Learning Packets"
msgstr ""
msgid "Invalid hexadecimal value"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:37
+#: modules/luci-base/ucode/template/sysauth.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:32
msgid "Invalid username and/or password! Please try again."
msgstr ""
"Zdá sa, že sa pokúšate nahrať obraz, ktorý sa nezmestí do pamäte flash. "
"Prosím, overte súbor obrazu!"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:89
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:96
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:77
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:91
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:72
msgid "JavaScript required!"
msgstr "Vyžaduje sa JavaScript!"
msgid "Language and Style"
msgstr "Jazyk a štýl"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:560
+msgid ""
+"Larger weights (of the same prio) are given a proportionately higher "
+"probability of being selected."
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:575
msgid "Last member interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
msgid "Latency"
msgstr "Oneskorenie"
msgid "Learn routes"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:348
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:353
msgid "Lease file"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:697
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:768
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:679
msgid "Lease time"
msgstr "Čas prenájmu"
msgid "Limit"
msgstr "Obmedzenie"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
msgid "Line Attenuation (LATN)"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
msgid "Line Mode"
msgstr "Režim linky"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:17
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
msgid "Line State"
msgstr "Stav linky"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
msgid "Line Uptime"
msgstr "Doba pripojenia linky"
msgid "Link layer header bits %d-%d"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
msgid "List of IP addresses to convert into NXDOMAIN responses."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:296
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:581
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:652
msgid "List of IP sets to populate with the specified domain IPs."
msgstr ""
msgid "List of SSH key files for auth"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:317
msgid "List of domains to allow RFC1918 responses for."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:290
-msgid "List of domains to force to an IP address."
-msgstr ""
-
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:283
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:285
msgid "List of upstream resolvers to forward queries to."
msgstr ""
"Zoznam serverov <abbr title=\"Domain Name System\">DNS</abbr>, ktorým sa "
msgid "Listen Port"
msgstr "Načúvací port"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:332
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:337
msgid "Listen interfaces"
msgstr "Načúvacie rozhrania"
msgstr ""
"Načúvať iba na zadaných rozhraniach, alebo na všetkých, ak nie sú určené"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:333
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
msgid ""
"Listen only on the specified interfaces, and loopback if not excluded "
"explicitly."
msgid "ListenPort setting is invalid"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:439
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:444
msgid "Listening port for inbound DNS queries."
msgstr ""
msgstr "Načítava sa obsah priečinka…"
#: modules/luci-base/htdocs/luci-static/resources/luci.js:1942
-#: modules/luci-base/luasrc/view/view.htm:4
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:45
+#: modules/luci-base/ucode/template/view.ut:4
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:40
msgid "Loading view…"
msgstr "Načítava sa zobrazenie…"
msgid "Local ULA"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:273
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:275
msgid "Local domain"
msgstr "Miestna doména"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:274
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:276
msgid "Local domain suffix appended to DHCP names and hosts file entries."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:269
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:271
msgid "Local server"
msgstr "Miestny server"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:319
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:324
msgid "Local service only"
msgstr "Iba miestna služba"
msgid "Local wireguard key"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
msgid "Localise queries"
msgstr "Lokalizovať požiadavky"
msgid "Log output level"
msgstr "Úroveň výstupného záznamu"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:277
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:279
msgid "Log queries"
msgstr ""
msgid "Logical network to which the tunnel will be added (bridged) (optional)."
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:38
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:41
+#: modules/luci-base/ucode/template/sysauth.ut:38
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:36
msgid "Login"
msgstr "Prihlásiť sa"
msgid "Loose filtering"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
msgid "Loss of Signal Seconds (LOSS)"
msgstr "Sekundy straty signálu (LOSS)"
msgid "Lowest leased address as offset from the network address."
msgstr ""
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/footer.ut:12
+msgid "Lua compatibility mode active"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:48
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:83
msgid "MAC"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:591
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:40
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:619
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1164
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2177
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:56
msgid "MTU"
msgstr "MTU"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:259
+msgid "MX"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:303
msgid ""
"Make sure to clone the root filesystem using something like the commands "
msgid "Max <abbr title=\"Router Advertisement\">RA</abbr> interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
msgid "Max. Attainable Data Rate (ATTNDR)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:457
msgid "Max. DHCP leases"
msgstr ""
"<abbr title=\"maximalny\">Max. počet</abbr> <abbr title=\"Konfiguračný "
"protokol dynamického hostiteľa\">DHCP</abbr> prenájmov"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:459
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:464
msgid "Max. EDNS0 packet size"
msgstr ""
-"<abbr title=\"maximálna\">Max.</abbr> veľkosť paketu <abbr "
-"title=\"Mechanizmy rozšírenia pre systém názvov domén\">EDNS0</abbr>"
+"<abbr title=\"maximálna\">Max.</abbr> veľkosť paketu <abbr title="
+"\"Mechanizmy rozšírenia pre systém názvov domén\">EDNS0</abbr>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:466
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:471
msgid "Max. concurrent queries"
msgstr "<abbr title=\"maximálny\">Max.</abbr> počet súbežných dotazov"
msgid "Maximum allowed Listen Interval"
msgstr "Maximálny povolený interval načúvania"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:453
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:458
msgid "Maximum allowed number of active DHCP leases."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:467
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:472
msgid "Maximum allowed number of concurrent DNS queries."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:460
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:465
msgid "Maximum allowed size of EDNS0 UDP packets."
msgstr ""
msgid "Maximum transmit power"
msgstr "Maximálny vysielací výkon"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:394
msgid "May prevent VoIP or other services from working."
msgstr ""
msgid "Name of the tunnel device"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:46
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:39
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:50
msgid "Navigation"
msgstr "Navigácia"
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:10
+msgid "Nebula Network"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:653
msgid "Neighbour cache validity"
msgstr ""
msgid "Network address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:492
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:497
msgid "Network boot image"
msgstr "Obraz sieťového zavedenia"
msgid "Network interface"
msgstr "Sieťové rozhranie"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:536
msgid "Network-ID"
msgstr ""
msgid "Never"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:270
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:272
msgid ""
"Never forward matching domains and subdomains, resolve from DHCP or hosts "
"files only."
msgid "No RX signal"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:80
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:87
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:68
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:82
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:65
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:90
msgid ""
"No changes to settings will be stored and are lost after rebooting. This "
msgid "No entries in this directory"
msgstr "V tomto adresári nie sú žiadne položky"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:82
-msgid "No files found"
-msgstr "Nenašli sa žiadne súbory"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:833
msgid ""
"No fixed interface listening port defined, peers might not be able to "
msgid "No more slaves available, can not save interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:413
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
msgid "No negative cache"
msgstr ""
msgid "No nftables ruleset loaded."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:69
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:61
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:57
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:54
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:79
msgid "No password set!"
msgstr "Nie je nastavené heslo!"
msgid "Noise"
msgstr "Šum"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
msgid "Noise Margin (SNR)"
msgstr ""
msgid "Noise:"
msgstr "Šum:"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
msgid "Non Pre-emptive CRC errors (CRC_P)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:330
msgid "Non-wildcard"
msgstr ""
msgid "Normal"
msgstr ""
-#: modules/luci-base/luasrc/view/error404.htm:8
+#: modules/luci-base/ucode/template/error404.ut:9
msgid "Not Found"
msgstr "Nenájdené"
msgid "Number of IGMP membership reports"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:474
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:479
msgid "Number of cached DNS entries, 10000 is maximum, 0 is no caching."
msgstr ""
msgid "On-link"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:672
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:743
msgid "One of hostname or MAC address must be specified!"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:472
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:19
msgid "Open list..."
msgstr "Otvoriť zoznam..."
msgid "Options"
msgstr "Voľby"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:526
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
msgid ""
"Options for the Network-ID. (Note: needs also Network-ID.) E.g. "
-"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</"
-"code>\" for default route. <code>0.0.0.0</code> means \"the address of the "
-"system running dnsmasq\"."
+"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</code>"
+"\" for default route. <code>0.0.0.0</code> means \"the address of the system "
+"running dnsmasq\"."
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:125
msgid "Options:"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
+msgid "Ordinal: lower comes first."
+msgstr ""
+
#: protocols/luci-proto-batman-adv/htdocs/luci-static/resources/protocol/batadv.js:55
msgid "Originator Interval"
msgstr ""
msgid "Pass-through (Mirror physical device to single MAC VLAN)"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:29
+#: modules/luci-base/ucode/template/sysauth.ut:29
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1690
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:51
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:114
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:103
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:24
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:19
msgid "Password"
msgstr "Heslo"
msgid "Pkts."
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:19
+#: modules/luci-base/ucode/template/sysauth.ut:19
msgid "Please enter your username and password."
msgstr "Prosím, zadajte vaše používateľské meno a heslo."
msgid "Policy: <strong>%h</strong> (%h)"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:579
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:21
msgid "Port"
msgstr "Port"
msgid "Potential negation of: %s"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:38
msgid "Power Management Mode"
msgstr "Režim správy napájania"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
msgid "Pre-emptive CRC errors (CRCP_P)"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:129
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:197
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:223
msgid "Quality"
msgstr "Kvalita"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
msgid "Query all available upstream resolvers."
msgstr ""
msgid "Raw hex-encoded bytes. Leave empty unless your ISP require this"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:345
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:350
msgid "Read <code>/etc/ethers</code> to configure the DHCP server."
msgstr ""
-"Prečítanie súboru <code>/etc/ethers</code> na nastavenie servera <abbr "
-"title=\"Dynamic Host Configuration Protocol\">DHCP</abbr>"
+"Prečítanie súboru <code>/etc/ethers</code> na nastavenie servera <abbr title="
+"\"Dynamic Host Configuration Protocol\">DHCP</abbr>"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:559
msgid "Really switch protocol?"
msgid "Reassociation Deadline"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
msgid "Rebind protection"
msgstr ""
msgstr ""
#: modules/luci-compat/luasrc/model/network/proto_relay.lua:153
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:611
#: protocols/luci-proto-relay/htdocs/luci-static/resources/protocol/relay.js:39
msgid "Relay"
msgstr ""
msgid "Required. Base64-encoded private key for this interface."
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Required. Path to the .yml config file for this interface."
+msgstr ""
+
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:587
msgid "Required. Public key of the WireGuard peer."
msgstr ""
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2197
-#: modules/luci-base/luasrc/view/sysauth.htm:39
+#: modules/luci-base/ucode/template/sysauth.ut:39
#: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
#: modules/luci-compat/luasrc/view/cbi/footer.htm:30
#: modules/luci-compat/luasrc/view/cbi/simpleform.htm:66
msgid "Resolv and Hosts Files"
msgstr "Súbory Resolv a Hosts"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:356
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:361
msgid "Resolv file"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:292
+msgid "Resolve specified FQDNs to an IP."
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/rpc.js:405
msgid "Resource not found"
msgstr "Prostriedok sa nenašiel"
msgid "Restore backup"
msgstr "Obnoviť zo zálohy"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
msgid ""
"Return answers to DNS queries matching the subnet from which the query was "
"received if multiple IPs are available."
msgid "Robustness"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:491
msgid ""
"Root directory for files served via TFTP. <em>Enable TFTP server</em> and "
"<em>TFTP server root</em> turn on the TFTP server and serve files from "
msgid "SNR"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "SRV"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:10
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:38
msgid "SSH Access"
msgid "Server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:524
msgid "Server address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:518
msgid "Server name"
msgstr ""
msgid "Setup routes for proxied IPv6 neighbours."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
msgid "Severely Errored Seconds (SES)"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:470
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:18
msgid "Show current backup file list"
msgstr ""
msgid "Signal / Noise"
msgstr "Signál / Šum"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
msgid "Signal Attenuation (SATN)"
msgstr ""
msgid "Size"
msgstr "Veľkosť"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:473
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:478
msgid "Size of DNS query cache"
msgstr ""
msgid "Skip from backup files that are equal to those in /rom"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:42
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:35
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:46
msgid "Skip to content"
msgstr "Preskočiť na obsah"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:41
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:34
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:45
msgid "Skip to navigation"
msgstr "Preskočiť na navigáciu"
msgid "Some fields are invalid, cannot save values!"
msgstr "Niektoré polia sú neplatné. Nedajú sa uložiť hodnoty!"
-#: modules/luci-base/luasrc/view/error404.htm:9
+#: modules/luci-base/ucode/template/error404.ut:10
msgid "Sorry, the object you requested was not found."
msgstr "Prepáčte, objekt, ktorý ste požadovali sa nenašiel."
-#: modules/luci-base/luasrc/view/error500.htm:9
-msgid "Sorry, the server encountered an unexpected error."
-msgstr "Prepáčte, serve narazil na neočakávanú chybu."
-
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:442
msgid ""
"Sorry, there is no sysupgrade support present; a new firmware image must be "
msgid "Source port"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:505
msgid ""
"Special <abbr title=\"Preboot eXecution Environment\">PXE</abbr> boot "
"options for Dnsmasq."
msgid "Static address"
msgstr "Pevná adresa"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:598
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:669
msgid ""
"Static leases are used to assign fixed IP addresses and symbolic hostnames "
"to DHCP clients. They are also required for non-dynamic interface "
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:16
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:541
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:929
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:9
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:9
msgid "Status"
msgstr "Stav"
msgid "Strict filtering"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
msgid "Strict order"
msgstr ""
msgid "Submit"
msgstr "Odoslať"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
msgid "Suppress logging"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:373
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
msgid "Suppress logging of the routine operation for the DHCP protocol."
msgstr ""
msgid "Sync with browser"
msgstr "Synch. s prehliadačom"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:293
+msgid "Syntax: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "Syntax: <code>_service._proto.example.com</code>."
+msgstr ""
+
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:26
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:17
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:113
msgid "System log buffer size"
msgstr "Veľkosť vyrovnávacej pamäte systémového denníka"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:79
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:86
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:71
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:67
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:81
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:64
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:89
msgid "System running in recovery (initramfs) mode."
msgstr ""
msgid "TCP:"
msgstr "TCP:"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:490
msgid "TFTP server root"
msgstr "Koreňový priečinok servera TFTP"
msgid "Table"
msgstr "Tabuľka"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:56
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:66
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:187
"username instead of the user ID!"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:681
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:752
msgid "The IP address %h is already used by another static lease"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:761
msgid "The IP address is outside of any DHCP pool address range"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:520
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
msgid "The IP address of the boot server"
msgstr ""
"to be received and retransmitted which costs airtime)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:514
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
msgid "The hostname of the boot server"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/switch.js:139
msgid ""
-"The network ports on this device can be combined to several <abbr "
-"title=\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
+"The network ports on this device can be combined to several <abbr title="
+"\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
"communicate directly with each other. <abbr title=\"Virtual Local Area "
"Network\">VLAN</abbr>s are often used to separate different network "
"segments. Often there is by default one Uplink port for a connection to the "
msgid "The selected %s mode is incompatible with %s encryption"
msgstr "Vybraný režim %s nie je kompatibilný so šifrovaním %s"
-#: modules/luci-base/luasrc/view/csrftoken.htm:11
+#: modules/luci-base/ucode/template/csrftoken.ut:11
msgid "The submitted security token is invalid or already expired!"
msgstr ""
"nftables rules is discouraged and may lead to incomplete traffic filtering."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:746
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:778
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:817
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:849
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:130
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:179
msgid "There are no active leases"
msgid "There are no changes to apply"
msgstr "Nie sú žiadne zmeny na aplikovanie"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:70
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:58
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:55
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:80
msgid ""
"There is no password set on this router. Please configure a root password to "
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:16
msgid ""
"This is a list of shell glob patterns for matching files and directories to "
"include during sysupgrade. Modified files in /etc/config/ and certain other "
"ends with <code>...:2/64</code>"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:266
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:268
msgid "This is the only DHCP server in the local network."
msgstr ""
-"Toto je jediný server <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> v miestnej sieti"
+"Toto je jediný server <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> v miestnej sieti"
#: protocols/luci-proto-ipv6/htdocs/luci-static/resources/protocol/6in4.js:73
msgid "This is the plain username for logging into the account"
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:440
msgid ""
"To fully configure the local WireGuard interface from an existing (e.g. "
-"provider supplied) configuration file, use the <strong><a class=\"full-"
-"import\" href=\"#\">configuration import</a></strong> instead."
+"provider supplied) configuration file, use the <strong><a class=\"full-import"
+"\" href=\"#\">configuration import</a></strong> instead."
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2674
msgid "Unable to determine upstream interface"
msgstr ""
-#: modules/luci-base/luasrc/view/error404.htm:11
+#: modules/luci-base/ucode/template/error404.ut:12
msgid "Unable to dispatch"
msgstr ""
msgid "Unable to verify PIN"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
msgid "Unavailable Seconds (UAS)"
msgstr ""
"will be restarted to apply the updated configuration."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
msgid "Upstream resolvers will be queried in the order of the resolv file."
msgstr ""
"<abbr title=\"Doménový názvový systém\">DNS</abbr> servery budú dotazované v "
msgid "Uptime"
msgstr "Doba spustenia"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
msgid "Use <code>/etc/ethers</code>"
msgstr "Použiť súbor <code>/etc/ethers</code>"
msgid "Use system certificates for inner-tunnel"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:599
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:670
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC address</"
"em> identifies the host, the <em>IPv4 address</em> specifies the fixed "
msgid "User key (PEM encoded)"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:23
+#: modules/luci-base/ucode/template/sysauth.ut:23
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:112
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:101
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:56
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:18
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:13
msgid "Username"
msgstr "Používateľské meno"
msgid "VXLANv6 (RFC7348)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
msgid ""
"Validate DNS replies and cache DNSSEC data, requires upstream to support "
"DNSSEC."
msgid "Vendor Class to send when requesting DHCP"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:408
msgid "Verify unsigned domain responses really come from unsigned domains."
msgstr ""
msgid "Weak"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+msgid "Weight"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1029
msgid ""
"When delegating prefixes to multiple downstreams, interfaces with a higher "
msgid "Wireless network is enabled"
msgstr "Bezdrôtová sieť je povolená"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:278
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:280
msgid "Write received DNS queries to syslog."
msgstr ""
"základné iniciačné skripty, napríklad „sieť“, vaše zariadenie by sa mohlo "
"stať neprístupným!</strong>"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:90
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:97
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
+msgid "You may add multiple records for the same Target."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:596
+msgid "You may add multiple records for the same domain."
+msgstr ""
+
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:78
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:92
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:73
msgid ""
"You must enable JavaScript in your browser or LuCI will not work properly."
msgid "ZRam Size"
msgstr "Veľkosť ZRam"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:558
+msgid "_proto: _tcp, _udp, _sctp, _quic, … ."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:557
+msgid ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Note: while _http is "
+"possible, no browsers support SRV records.)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:454
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:152
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:163
msgid "any"
msgid "e.g: dump"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:726
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:756
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:797
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:827
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:101
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:148
msgid "expired"
msgid "unknown"
msgstr "neznámy"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:456
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:724
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:754
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:461
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:795
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:825
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:99
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:146
msgid "unlimited"
msgid "« Back"
msgstr "« Späť"
+#~ msgid "Back to configuration"
+#~ msgstr "Späť na konfiguráciu"
+
+#~ msgid "Close list..."
+#~ msgstr "Zavrieť zoznam..."
+
+#~ msgid "Internal Server Error"
+#~ msgstr "Interná chyba serveru"
+
+#~ msgid "No files found"
+#~ msgstr "Nenašli sa žiadne súbory"
+
+#~ msgid "Sorry, the server encountered an unexpected error."
+#~ msgstr "Prepáčte, serve narazil na neočakávanú chybu."
+
#~ msgid "Generate Key"
#~ msgstr "Generovať kľúč"
msgstr "%.1f dB"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:123
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:117
msgid "%d Bit"
msgstr "%d Bit"
msgid "<abbr title=\"Router Advertisement\">RA</abbr>-Service"
msgstr "<abbr title=\"Router Advertisement\">RA</abbr>-tjänst"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:294
+msgid ""
+"<code>/#/</code> matches any domain. <code>/example.com/</code> returns "
+"NXDOMAIN."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+msgid ""
+"<code>/example.com/#</code> returns NULL addresses (<code>0.0.0.0</code> and "
+"<code>::</code>) for example.com and its subdomains."
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:87
msgctxt "nft relational \">\" operator expression"
msgid "<var>%s</var> greater than <strong>%s</strong>"
msgid "ATM device number"
msgstr "ATM enhetsnummer"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
msgid "ATU-C System Vendor ID"
msgstr ""
msgid "Absent Interface"
msgstr "Frånvarande gränssnitt"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:320
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
msgid "Accept DNS queries only from hosts whose address is on a local subnet."
msgstr ""
"Acceptera DNS-förfrågningar endast från värdar vars adress är i ett lokalt "
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:171
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:177
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:274
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:165
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:268
msgid "Add key"
msgstr "Lägg till nyckel"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:410
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:415
msgid "Add local domain suffix to names served from hosts files."
msgstr "Lägg till lokala domänsuffix i namn från host-filer."
msgid "Add to Whitelist"
msgstr "Lägg till i Vitlista"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:367
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
msgid "Additional hosts files"
msgstr "Ytterligare värdfiler"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:417
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
msgid "Additional servers file"
msgstr "Ytterligare server-filer"
msgid "Address to access local relay bridge"
msgstr "Adress för att komma åt lokal reläbrygga"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:289
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:291
msgid "Addresses"
msgstr "Adresser"
msgid "Aggregate Originator Messages"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
msgid "Aggregate Transmit Power (ACTATP)"
msgstr ""
msgid "Alias of \"%s\""
msgstr "Alias för \"%s\""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
msgid "All servers"
msgstr "Alla Servrar"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
msgid ""
"Allocate IP addresses sequentially, starting from the lowest available "
"address."
msgstr ""
"Allokera IP-adresser sekventiellt med start från den lägsta möjliga adressen."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
msgid "Allocate IPs sequentially"
msgstr "Allokera IP sekventiellt"
msgid "Allow listed only"
msgstr "Tillåt enbart listade"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
msgid "Allow localhost"
msgstr "Tillåt localhost"
msgid "Always on (kernel: default-on)"
msgstr "Alltid på (kärna: standard-på)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:538
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
msgid "Always send DHCP Options. Sometimes needed, with e.g. PXELinux."
msgstr ""
"Skicka alltid DHCP-alternativ. Ibland så behövs det med till exempel "
msgstr "En valfri, kort beskrivning för den här enheten"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1484
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
msgid "Annex"
msgstr "Tillbyggnad"
msgid "Any zone"
msgstr "Någon zon"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:532
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
msgid "Apply DHCP Options to this net. (Empty = all clients)."
msgstr "Verkställ DHCP-alternativ till det här nätet. (Tom = alla klienter)."
msgid "Authentication Type"
msgstr "Typ av autentisering"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:265
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:267
msgid "Authoritative"
msgstr "Auktoritär"
-#: modules/luci-base/luasrc/view/sysauth.htm:17
+#: modules/luci-base/ucode/template/sysauth.ut:17
#: themes/luci-theme-bootstrap/htdocs/luci-static/resources/view/bootstrap/sysauth.js:11
msgid "Authorization Required"
msgstr "Tillstånd krävs"
msgid "Avoid Bridge Loops"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
msgid ""
"Avoid uselessly triggering dial-on-demand links (filters SRV/SOA records and "
"names with underscores)."
msgid "Back to Overview"
msgstr "Backa till Överblick"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:48
-msgid "Back to configuration"
-msgstr "Backa till konfiguration"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:826
msgid "Back to peer configuration"
msgstr ""
msgstr "Säkerhetskopiera / Flasha inre mjukvara"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:351
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:12
msgid "Backup file list"
msgstr "Säkerhetskopiera fillista"
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:352
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:46
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
msgid "Bind NTP server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:326
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:331
msgid "Bind dynamically to interfaces rather than wildcard address."
msgstr ""
msgid "Bind interface"
msgstr "Bind gränssnitt"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:595
+msgid ""
+"Bind service records to a domain name: specify the location of services."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:556
+msgid ""
+"Bind service records to a domain name: specify the location of services. See "
+"<a href=\"%s\">RFC2782</a>."
+msgstr ""
+
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gre.js:59
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gretap.js:64
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/grev6.js:64
msgid "CLAT configuration failed"
msgstr "CLAT konfiguration misslyckades"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
+msgid "CNAME or fqdn"
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/processes.js:72
msgid "CPU usage (%)"
msgstr "CPU-användning (%)"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:295
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:209
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:487
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:203
msgid "Cancel"
msgstr "Avbryt"
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4392
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:173
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:179
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:167
msgid "Close"
msgstr "Stäng"
"persist connection"
msgstr ""
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:49
-msgid "Close list..."
-msgstr "Stäng ner lista..."
-
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:44
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:63
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2184
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:391
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:352
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:355
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:72
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:66
msgid "Collecting data..."
msgstr "Samlar in data..."
msgid "Compute outgoing checksum (optional)."
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Config File"
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4375
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
msgid "Configuration"
msgid "DAE-Secret"
msgstr "DAE-nyckel"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:530
msgid "DHCP Options"
msgstr ""
msgid "DNS"
msgstr "DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:282
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:284
msgid "DNS forwardings"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:445
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:450
msgid "DNS query port"
msgstr "<abbr title=\"Domain Name System\">DNS</abbr>förfrågningsport"
msgid "DNS search domains"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:443
msgid "DNS server port"
msgstr "<abbr title=\"Domain Name System\">DNS</abbr>server-port"
msgid "DNS-Label / FQDN"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
msgid "DNSSEC"
msgstr "DNSSEC"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:407
msgid "DNSSEC check unsigned"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1481
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:44
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:45
msgid "DSL"
msgstr "DSL"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:14
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:15
msgid "DSL Status"
msgstr "DSL-status"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:59
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:700
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:771
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:136
msgid "DUID"
msgstr "DUID"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
msgid "Data Rate"
msgstr "Datahastighet"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:205
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:211
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:199
msgid "Delete key"
msgstr "Radera nyckel"
msgid "Disassociate On Low Acknowledgement"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:302
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
msgid ""
"Discard upstream responses containing <a href=\"%s\">RFC1918</a> addresses."
msgstr ""
msgid "Distributed ARP Table"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:548
msgid ""
"Dnsmasq instance to which this boot section is bound. If unspecified, the "
"section is valid for all dnsmasq instances."
"forwarder."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:419
msgid "Do not cache negative replies, e.g. for non-existent domains."
msgstr "Cachea inte negativa svar, t.ex för icke-existerade domäner."
msgid "Do not create host route to peer (optional)."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:262
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:264
msgid "Do not forward DNS queries without dots or domain parts."
msgstr ""
"Vidarebefordra inte <abbr title=\"Domain Name System\">DNS</abbr>-"
"förfrågningar utan <abbr title=\"Domain Name System\">DNS</abbr>-namn."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
msgid "Do not forward reverse lookups for local networks."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:339
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
msgid "Do not listen on the specified interfaces."
msgstr "Förhindra lyssning på dessa gränssnitt."
msgstr "Vill du verkligen radera \"%s\" ?"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:206
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:200
msgid "Do you really want to delete the following SSH key?"
msgstr "Vill du verkligen ta bort följande SSH-nyckel?"
msgid "Do you want to replace the current keys?"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:593
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:606
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:664
msgid "Domain"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:261
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:263
msgid "Domain required"
msgstr "Domän krävs"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:316
msgid "Domain whitelist"
msgstr "Vitlista för domäner"
msgid "Enable Single DES"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:480
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
msgid "Enable TFTP server"
msgstr "Aktivera TFTP-server"
msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:481
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
msgid "Enable the built-in single-instance TFTP server."
msgstr ""
msgid "Error getting PublicKey"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
msgid "Errored seconds (ES)"
msgstr ""
msgid "Every second (fast, 1)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:343
msgid "Exclude interfaces"
msgstr "Inkludera inte dessa gränssnitt"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
msgid ""
"Exempt <code>127.0.0.0/8</code> and <code>::1</code> from rebinding checks, "
"e.g. for RBL services."
msgid "Existing device"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:409
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
msgid "Expand hosts"
msgstr "Expandera värdar"
msgid "File"
msgstr "Fil"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
msgid ""
"File listing upstream resolvers, optionally domain-specific, e.g. "
"<code>server=1.2.3.4</code>, <code>server=/domain/1.2.3.4</code>."
msgid "File not accessible"
msgstr "Fil ej nåbar"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:354
msgid "File to store DHCP lease information."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:362
msgid "File with upstream resolvers."
msgstr "lokal <abbr title=\"Domain Name System\">DNS</abbr>-fil."
#: modules/luci-base/htdocs/luci-static/resources/ui.js:2846
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:507
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:512
msgid "Filename"
msgstr "Filnamn"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:493
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:498
msgid "Filename of the boot image advertised to clients."
msgstr ""
msgid "Filesystem"
msgstr "Filsystem"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
msgid "Filter private"
msgstr "Filtrera privata"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
msgid "Filter useless"
msgstr "Filtrera icke-användbara"
msgid "Firmware Version"
msgstr "Firmware Version"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:446
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:451
msgid "Fixed source port for outbound DNS queries."
msgstr ""
msgid "Flashing…"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:686
msgid "Force"
msgstr "Tvinga"
msgid "Force use of NAT-T"
msgstr "Tvinga användning av NAT-T"
-#: modules/luci-base/luasrc/view/csrftoken.htm:8
+#: modules/luci-base/ucode/template/csrftoken.ut:8
msgid "Form token mismatch"
msgstr ""
"downstream interfaces."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
msgid "Forward Error Correction Seconds (FECS)"
msgstr ""
msgid "Global network options"
msgstr "Globala nätverksalternativ"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:82
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:74
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:70
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:84
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:67
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:92
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
msgid "Go to firmware upgrade..."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:72
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:64
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:60
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:57
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:82
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
msgid "Go to password configuration..."
msgstr "Gå till lösenordskonfiguration..."
msgid "Hang Up"
msgstr "Lägg på"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
msgid "Header Error Code Errors (HEC)"
msgstr ""
msgid "Host expiry timeout"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
msgid "Host requests this filename from the boot server."
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:38
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:607
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:678
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:54
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:87
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:135
msgid "Hostnames"
msgstr "Värdnamn"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:551
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:622
msgid ""
"Hostnames are used to bind a domain name to an IP address. This setting is "
"redundant for hostnames already configured with static leases, but it can be "
msgid "IP Protocol"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:260
msgid "IP Sets"
msgstr ""
msgid "IP Type"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:563
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:634
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:178
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:204
msgid "IP address"
msgid "IP protocol"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:660
msgid "IP set"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:300
msgid "IP sets"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:437
msgid "IPs to override with NXDOMAIN"
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/protocol/static.js:178
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:736
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:88
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:164
msgid "IPv4 address"
msgid "IPv6 suffix"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:706
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:777
msgid "IPv6 suffix (hex)"
msgstr "<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>Suffix (hex)"
"of the <abbr title=\"Random Access Memory\">RAM</abbr>."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:363
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:368
msgid "Ignore <code>/etc/hosts</code>"
msgstr "Ignorera <code>/etc/hosts</code>"
msgid "Ignore interface"
msgstr "Ignorera gränssnitt"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:352
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
msgid "Ignore resolv file"
msgstr "Ignorera resolv-fil"
"order to avoid broadcast loops that can bring the entire LAN to a standstill."
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:13
+#: modules/luci-base/ucode/template/csrftoken.ut:13
msgid ""
"In order to prevent unauthorized access to the system, your request has been "
"blocked. Click \"Continue »\" below to return to the previous page."
msgid "Install protocol extensions..."
msgstr "Installera protokoll-förlängningar..."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:547
msgid "Instance"
msgstr ""
msgid "Internal"
msgstr "Internt"
-#: modules/luci-base/luasrc/view/error500.htm:8
-msgid "Internal Server Error"
-msgstr "Internt server-fel"
-
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:285
msgid "Interval For Sending Learning Packets"
msgstr ""
msgid "Invalid hexadecimal value"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:37
+#: modules/luci-base/ucode/template/sysauth.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:32
msgid "Invalid username and/or password! Please try again."
msgstr "Ogiltigt användarnamn och/eller lösenord! Vänligen försök igen."
"flash memory, please verify the image file!"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:89
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:96
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:77
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:91
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:72
msgid "JavaScript required!"
msgstr "JavaScript krävs!"
msgid "Language and Style"
msgstr "Språk och Stil"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:560
+msgid ""
+"Larger weights (of the same prio) are given a proportionately higher "
+"probability of being selected."
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:575
msgid "Last member interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
msgid "Latency"
msgstr "Latens"
msgid "Learn routes"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:348
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:353
msgid "Lease file"
msgstr "Kontraktsfil"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:697
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:768
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:679
msgid "Lease time"
msgstr "Kontraktstid"
msgid "Limit"
msgstr "Begränsa"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
msgid "Line Attenuation (LATN)"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
msgid "Line Mode"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:17
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
msgid "Line State"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
msgid "Line Uptime"
msgstr ""
msgid "Link layer header bits %d-%d"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
msgid "List of IP addresses to convert into NXDOMAIN responses."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:296
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:581
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:652
msgid "List of IP sets to populate with the specified domain IPs."
msgstr ""
msgid "List of SSH key files for auth"
msgstr "Lista över SSH-nyckelfiler för auth"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:317
msgid "List of domains to allow RFC1918 responses for."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:290
-msgid "List of domains to force to an IP address."
-msgstr ""
-
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:283
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:285
msgid "List of upstream resolvers to forward queries to."
msgstr ""
msgid "Listen Port"
msgstr "Lyssningsport"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:332
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:337
msgid "Listen interfaces"
msgstr ""
msgstr ""
"Lyssna endast på det angivna gränssnittet eller, om o-specificerat på alla"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:333
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
msgid ""
"Listen only on the specified interfaces, and loopback if not excluded "
"explicitly."
msgid "ListenPort setting is invalid"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:439
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:444
msgid "Listening port for inbound DNS queries."
msgstr "Lyssningsportar för ankommande DNS-förfrågningar."
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:1942
-#: modules/luci-base/luasrc/view/view.htm:4
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:45
+#: modules/luci-base/ucode/template/view.ut:4
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:40
msgid "Loading view…"
msgstr ""
msgid "Local ULA"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:273
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:275
msgid "Local domain"
msgstr "Lokal domän"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:274
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:276
msgid "Local domain suffix appended to DHCP names and hosts file entries."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:269
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:271
msgid "Local server"
msgstr "Lokal server"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:319
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:324
msgid "Local service only"
msgstr "Enbart lokal tjänst"
msgid "Local wireguard key"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
msgid "Localise queries"
msgstr "Lokalisera förfrågningar"
msgid "Log output level"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:277
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:279
msgid "Log queries"
msgstr ""
msgid "Logical network to which the tunnel will be added (bridged) (optional)."
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:38
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:41
+#: modules/luci-base/ucode/template/sysauth.ut:38
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:36
msgid "Login"
msgstr "Logga in"
msgid "Loose filtering"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
msgid "Loss of Signal Seconds (LOSS)"
msgstr ""
msgid "Lowest leased address as offset from the network address."
msgstr ""
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/footer.ut:12
+msgid "Lua compatibility mode active"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:48
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:83
msgid "MAC"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:591
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:40
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:619
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1164
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2177
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:56
msgid "MTU"
msgstr "MTU"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:259
+msgid "MX"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:303
msgid ""
"Make sure to clone the root filesystem using something like the commands "
msgid "Max <abbr title=\"Router Advertisement\">RA</abbr> interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
msgid "Max. Attainable Data Rate (ATTNDR)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:457
msgid "Max. DHCP leases"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:459
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:464
msgid "Max. EDNS0 packet size"
msgstr ""
"<abbr title=\"maximal\">Max.</abbr><abbr title=\"Extension Mechanisms for "
"Domain Name System\">EDNS0</abbr>paketstorlek"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:466
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:471
msgid "Max. concurrent queries"
msgstr ""
msgid "Maximum allowed Listen Interval"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:453
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:458
msgid "Maximum allowed number of active DHCP leases."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:467
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:472
msgid "Maximum allowed number of concurrent DNS queries."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:460
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:465
msgid "Maximum allowed size of EDNS0 UDP packets."
msgstr ""
msgid "Maximum transmit power"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:394
msgid "May prevent VoIP or other services from working."
msgstr ""
msgid "Name of the tunnel device"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:46
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:39
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:50
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:44
msgid "Navigation"
msgstr "Navigering"
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:10
+msgid "Nebula Network"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:653
msgid "Neighbour cache validity"
msgstr ""
msgid "Network address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:492
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:497
msgid "Network boot image"
msgstr "Uppstartsbild för nätverket"
msgid "Network interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:536
msgid "Network-ID"
msgstr ""
msgid "Never"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:270
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:272
msgid ""
"Never forward matching domains and subdomains, resolve from DHCP or hosts "
"files only."
msgid "No RX signal"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:80
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:87
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:68
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:82
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:65
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:90
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:70
msgid ""
"No changes to settings will be stored and are lost after rebooting. This "
"mode should only be used to install a firmware upgrade"
msgid "No entries in this directory"
msgstr ""
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:82
-msgid "No files found"
-msgstr "Inga filer hittades"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:833
msgid ""
"No fixed interface listening port defined, peers might not be able to "
msgid "No more slaves available, can not save interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:413
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
msgid "No negative cache"
msgstr "Ingen negativ cache"
msgid "No nftables ruleset loaded."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:69
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:61
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:57
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:54
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:79
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:59
msgid "No password set!"
msgstr "Inget lösenord inställt!"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:146
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:283
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:140
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:277
msgid "No public keys present yet."
msgstr ""
msgid "Noise"
msgstr "Buller"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
msgid "Noise Margin (SNR)"
msgstr ""
msgid "Noise:"
msgstr "Buller:"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
msgid "Non Pre-emptive CRC errors (CRC_P)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:330
msgid "Non-wildcard"
msgstr ""
msgid "Normal"
msgstr "Normal"
-#: modules/luci-base/luasrc/view/error404.htm:8
+#: modules/luci-base/ucode/template/error404.ut:9
msgid "Not Found"
msgstr "Hittades inte"
msgid "Number of IGMP membership reports"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:474
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:479
msgid "Number of cached DNS entries, 10000 is maximum, 0 is no caching."
msgstr ""
msgid "On-link"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:672
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:743
msgid "One of hostname or MAC address must be specified!"
msgstr "En utav värdnamn eller MAC-adress måste anges!"
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:472
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:19
msgid "Open list..."
msgstr "Öppna lista..."
msgid "Options"
msgstr "Alternativ"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:526
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
msgid ""
"Options for the Network-ID. (Note: needs also Network-ID.) E.g. "
"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</code>"
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:125
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:119
msgid "Options:"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
+msgid "Ordinal: lower comes first."
+msgstr ""
+
#: protocols/luci-proto-batman-adv/htdocs/luci-static/resources/protocol/batadv.js:55
msgid "Originator Interval"
msgstr ""
msgid "Pass-through (Mirror physical device to single MAC VLAN)"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:29
+#: modules/luci-base/ucode/template/sysauth.ut:29
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1690
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:51
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:114
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:103
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:24
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:19
msgid "Password"
msgstr "Lösenord"
msgstr "Lösenord2"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:266
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:260
msgid "Paste or drag SSH key file…"
msgstr ""
msgid "Pkts."
msgstr "Pkt."
-#: modules/luci-base/luasrc/view/sysauth.htm:19
+#: modules/luci-base/ucode/template/sysauth.ut:19
msgid "Please enter your username and password."
msgstr "Vänligen ange ditt användarnamn och lösenord."
msgid "Policy: <strong>%h</strong> (%h)"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:579
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:21
msgid "Port"
msgstr "Port"
msgid "Potential negation of: %s"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:38
msgid "Power Management Mode"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
msgid "Pre-emptive CRC errors (CRCP_P)"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:129
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:197
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:223
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:290
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:284
msgid ""
"Public keys allow for the passwordless SSH logins with a higher security "
"compared to the use of plain passwords. In order to upload a new key to the "
msgid "Quality"
msgstr "Kvalité"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
msgid "Query all available upstream resolvers."
msgstr ""
msgid "Raw hex-encoded bytes. Leave empty unless your ISP require this"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:345
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:350
msgid "Read <code>/etc/ethers</code> to configure the DHCP server."
msgstr "Läs <code>/etc/ethers</code> för att ställa in DHCP-servern."
msgid "Reassociation Deadline"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
msgid "Rebind protection"
msgstr ""
msgstr ""
#: modules/luci-compat/luasrc/model/network/proto_relay.lua:153
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:611
#: protocols/luci-proto-relay/htdocs/luci-static/resources/protocol/relay.js:39
msgid "Relay"
msgstr "Relä"
msgid "Required. Base64-encoded private key for this interface."
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Required. Path to the .yml config file for this interface."
+msgstr ""
+
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:587
msgid "Required. Public key of the WireGuard peer."
msgstr ""
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2197
-#: modules/luci-base/luasrc/view/sysauth.htm:39
+#: modules/luci-base/ucode/template/sysauth.ut:39
#: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
#: modules/luci-compat/luasrc/view/cbi/footer.htm:30
#: modules/luci-compat/luasrc/view/cbi/simpleform.htm:66
msgid "Resolv and Hosts Files"
msgstr "Resolv och Värd-filer"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:356
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:361
msgid "Resolv file"
msgstr "Resolv-fil"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:292
+msgid "Resolve specified FQDNs to an IP."
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/rpc.js:405
msgid "Resource not found"
msgstr ""
msgid "Restore backup"
msgstr "Återställ säkerhetskopian"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
msgid ""
"Return answers to DNS queries matching the subnet from which the query was "
"received if multiple IPs are available."
msgid "Robustness"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:491
msgid ""
"Root directory for files served via TFTP. <em>Enable TFTP server</em> and "
"<em>TFTP server root</em> turn on the TFTP server and serve files from "
msgid "SNR"
msgstr "SNR"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "SRV"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:10
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:38
msgid "SSH Access"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:289
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:51
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:283
msgid "SSH-Keys"
msgstr "SSH-nycklar"
msgid "Server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:524
msgid "Server address"
msgstr "Server-adress"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:518
msgid "Server name"
msgstr ""
msgid "Setup routes for proxied IPv6 neighbours."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
msgid "Severely Errored Seconds (SES)"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:470
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:18
msgid "Show current backup file list"
msgstr ""
msgid "Signal / Noise"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
msgid "Signal Attenuation (SATN)"
msgstr ""
msgid "Size"
msgstr "Storlek"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:473
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:478
msgid "Size of DNS query cache"
msgstr ""
msgid "Skip from backup files that are equal to those in /rom"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:42
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:35
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:46
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:40
msgid "Skip to content"
msgstr "Hoppa över till innehåll"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:41
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:34
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:45
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:39
msgid "Skip to navigation"
msgstr "Hoppa över till navigering"
msgid "Some fields are invalid, cannot save values!"
msgstr "Några fält är ogiltiga, kan inte spara värden!"
-#: modules/luci-base/luasrc/view/error404.htm:9
+#: modules/luci-base/ucode/template/error404.ut:10
msgid "Sorry, the object you requested was not found."
msgstr "Tyvärr, objektet som du frågade efter kunde inte hittas."
-#: modules/luci-base/luasrc/view/error500.htm:9
-msgid "Sorry, the server encountered an unexpected error."
-msgstr "Tyvärr, servern stötte på ett oväntat fel."
-
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:442
msgid ""
"Sorry, there is no sysupgrade support present; a new firmware image must be "
msgid "Source port"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:505
msgid ""
"Special <abbr title=\"Preboot eXecution Environment\">PXE</abbr> boot "
"options for Dnsmasq."
msgid "Static address"
msgstr "Statiska adresser"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:598
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:669
msgid ""
"Static leases are used to assign fixed IP addresses and symbolic hostnames "
"to DHCP clients. They are also required for non-dynamic interface "
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:16
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:541
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:929
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:9
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:9
msgid "Status"
msgstr "Status"
msgid "Strict filtering"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
msgid "Strict order"
msgstr "Strikt sortering"
msgid "Submit"
msgstr "Skicka"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
msgid "Suppress logging"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:373
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
msgid "Suppress logging of the routine operation for the DHCP protocol."
msgstr ""
msgid "Sync with browser"
msgstr "Synkronisera med webbläsare"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:293
+msgid "Syntax: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "Syntax: <code>_service._proto.example.com</code>."
+msgstr ""
+
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:26
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:17
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:113
msgid "System log buffer size"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:79
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:86
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:71
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:67
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:81
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:64
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:69
msgid "System running in recovery (initramfs) mode."
msgstr ""
msgid "TCP:"
msgstr "TCP:"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:490
msgid "TFTP server root"
msgstr "Root för TFTP-server"
msgid "Table"
msgstr "Tabell"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:56
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:66
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:187
"username instead of the user ID!"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:681
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:752
msgid "The IP address %h is already used by another static lease"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:761
msgid "The IP address is outside of any DHCP pool address range"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:520
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
msgid "The IP address of the boot server"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:172
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:166
msgid "The given SSH public key has already been added."
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:178
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:172
msgid ""
"The given SSH public key is invalid. Please supply proper public RSA, "
"ED25519 or ECDSA keys."
"to be received and retransmitted which costs airtime)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:514
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
msgid "The hostname of the boot server"
msgstr ""
msgid "The selected %s mode is incompatible with %s encryption"
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:11
+#: modules/luci-base/ucode/template/csrftoken.ut:11
msgid "The submitted security token is invalid or already expired!"
msgstr ""
"nftables rules is discouraged and may lead to incomplete traffic filtering."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:746
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:778
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:817
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:849
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:130
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:179
msgid "There are no active leases"
msgid "There are no changes to apply"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:70
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:58
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:55
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:80
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:60
msgid ""
"There is no password set on this router. Please configure a root password to "
"protect the web interface."
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:16
msgid ""
"This is a list of shell glob patterns for matching files and directories to "
"include during sysupgrade. Modified files in /etc/config/ and certain other "
"ends with <code>...:2/64</code>"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:266
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:268
msgid "This is the only DHCP server in the local network."
msgstr ""
msgid "Unable to determine upstream interface"
msgstr ""
-#: modules/luci-base/luasrc/view/error404.htm:11
+#: modules/luci-base/ucode/template/error404.ut:12
msgid "Unable to dispatch"
msgstr "Det går inte att skicka"
msgid "Unable to verify PIN"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
msgid "Unavailable Seconds (UAS)"
msgstr "Otillgängliga Sekunder (UAS)"
msgstr "Avmontera"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:121
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:115
msgid "Unnamed key"
msgstr ""
"will be restarted to apply the updated configuration."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
msgid "Upstream resolvers will be queried in the order of the resolv file."
msgstr ""
msgid "Uptime"
msgstr "Upptid"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
msgid "Use <code>/etc/ethers</code>"
msgstr "Använd <code>/etc/ethers</code>"
msgid "Use system certificates for inner-tunnel"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:599
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:670
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC address</"
"em> identifies the host, the <em>IPv4 address</em> specifies the fixed "
msgid "User key (PEM encoded)"
msgstr "Användarnyckel (PEM-krypterad)"
-#: modules/luci-base/luasrc/view/sysauth.htm:23
+#: modules/luci-base/ucode/template/sysauth.ut:23
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:112
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:101
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:56
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:18
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:13
msgid "Username"
msgstr "Användarnamn"
msgid "VXLANv6 (RFC7348)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
msgid ""
"Validate DNS replies and cache DNSSEC data, requires upstream to support "
"DNSSEC."
msgid "Vendor Class to send when requesting DHCP"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:408
msgid "Verify unsigned domain responses really come from unsigned domains."
msgstr ""
msgid "Weak"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+msgid "Weight"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1029
msgid ""
"When delegating prefixes to multiple downstreams, interfaces with a higher "
msgid "Wireless network is enabled"
msgstr "Trådlöst nätverk är aktiverat"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:278
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:280
msgid "Write received DNS queries to syslog."
msgstr "Skriv mottagna DNS-förfrågningar till syslogg."
"scripts like \"network\", your device might become inaccessible!</strong>"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:90
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:97
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
+msgid "You may add multiple records for the same Target."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:596
+msgid "You may add multiple records for the same domain."
+msgstr ""
+
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:78
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:92
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:73
msgid ""
"You must enable JavaScript in your browser or LuCI will not work properly."
msgid "ZRam Size"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:558
+msgid "_proto: _tcp, _udp, _sctp, _quic, … ."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:557
+msgid ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Note: while _http is "
+"possible, no browsers support SRV records.)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:454
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:152
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:163
msgid "any"
msgid "e.g: dump"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:726
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:756
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:797
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:827
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:101
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:148
msgid "expired"
msgid "unknown"
msgstr "okänd"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:456
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:724
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:754
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:461
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:795
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:825
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:99
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:146
msgid "unlimited"
msgid "« Back"
msgstr "« Bakåt"
+#~ msgid "Back to configuration"
+#~ msgstr "Backa till konfiguration"
+
+#~ msgid "Close list..."
+#~ msgstr "Stäng ner lista..."
+
+#~ msgid "Internal Server Error"
+#~ msgstr "Internt server-fel"
+
+#~ msgid "No files found"
+#~ msgstr "Inga filer hittades"
+
+#~ msgid "Sorry, the server encountered an unexpected error."
+#~ msgstr "Tyvärr, servern stötte på ett oväntat fel."
+
#~ msgid "Do not forward queries that cannot be answered by public resolvers."
#~ msgstr ""
#~ "Vidarebefordra inte förfrågningar som inte kan ta emot svar från publika "
msgid "<abbr title=\"Router Advertisement\">RA</abbr>-Service"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:294
+msgid ""
+"<code>/#/</code> matches any domain. <code>/example.com/</code> returns "
+"NXDOMAIN."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+msgid ""
+"<code>/example.com/#</code> returns NULL addresses (<code>0.0.0.0</code> and "
+"<code>::</code>) for example.com and its subdomains."
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:87
msgctxt "nft relational \">\" operator expression"
msgid "<var>%s</var> greater than <strong>%s</strong>"
msgid "ATM device number"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
msgid "ATU-C System Vendor ID"
msgstr ""
msgid "Absent Interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:320
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
msgid "Accept DNS queries only from hosts whose address is on a local subnet."
msgstr ""
msgid "Add key"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:410
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:415
msgid "Add local domain suffix to names served from hosts files."
msgstr ""
msgid "Add to Whitelist"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:367
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
msgid "Additional hosts files"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:417
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
msgid "Additional servers file"
msgstr ""
msgid "Address to access local relay bridge"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:289
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:291
msgid "Addresses"
msgstr ""
msgid "Aggregate Originator Messages"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
msgid "Aggregate Transmit Power (ACTATP)"
msgstr ""
msgid "Alias of \"%s\""
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
msgid "All servers"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
msgid ""
"Allocate IP addresses sequentially, starting from the lowest available "
"address."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
msgid "Allocate IPs sequentially"
msgstr ""
msgid "Allow listed only"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
msgid "Allow localhost"
msgstr ""
msgid "Always on (kernel: default-on)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:538
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
msgid "Always send DHCP Options. Sometimes needed, with e.g. PXELinux."
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1484
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
msgid "Annex"
msgstr ""
msgid "Any zone"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:532
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
msgid "Apply DHCP Options to this net. (Empty = all clients)."
msgstr ""
msgid "Authentication Type"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:265
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:267
msgid "Authoritative"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:17
+#: modules/luci-base/ucode/template/sysauth.ut:17
#: themes/luci-theme-bootstrap/htdocs/luci-static/resources/view/bootstrap/sysauth.js:11
msgid "Authorization Required"
msgstr ""
msgid "Avoid Bridge Loops"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
msgid ""
"Avoid uselessly triggering dial-on-demand links (filters SRV/SOA records and "
"names with underscores)."
msgid "Back to Overview"
msgstr ""
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:48
-msgid "Back to configuration"
-msgstr ""
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:826
msgid "Back to peer configuration"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:351
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:12
msgid "Backup file list"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:352
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:46
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
msgid "Bind NTP server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:326
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:331
msgid "Bind dynamically to interfaces rather than wildcard address."
msgstr ""
msgid "Bind interface"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:595
+msgid ""
+"Bind service records to a domain name: specify the location of services."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:556
+msgid ""
+"Bind service records to a domain name: specify the location of services. See "
+"<a href=\"%s\">RFC2782</a>."
+msgstr ""
+
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gre.js:59
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gretap.js:64
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/grev6.js:64
msgid "CLAT configuration failed"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
+msgid "CNAME or fqdn"
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/processes.js:72
msgid "CPU usage (%)"
msgstr ""
"persist connection"
msgstr ""
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:49
-msgid "Close list..."
-msgstr ""
-
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:44
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:63
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2184
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:391
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:352
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:355
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:72
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:66
msgid "Collecting data..."
msgstr ""
msgid "Compute outgoing checksum (optional)."
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Config File"
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4375
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
msgid "Configuration"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:764
msgid ""
-"Configures the operation mode of the <abbr title=\"Router "
-"Advertisement\">RA</abbr> service on this interface."
+"Configures the operation mode of the <abbr title=\"Router Advertisement"
+"\">RA</abbr> service on this interface."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:879
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/leds.js:59
msgid ""
-"Customizes the behaviour of the device <abbr title=\"Light Emitting "
-"Diode\">LED</abbr>s if possible."
+"Customizes the behaviour of the device <abbr title=\"Light Emitting Diode"
+"\">LED</abbr>s if possible."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:673
msgid "DAE-Secret"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:530
msgid "DHCP Options"
msgstr ""
msgid "DNS"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:282
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:284
msgid "DNS forwardings"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:445
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:450
msgid "DNS query port"
msgstr ""
msgid "DNS search domains"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:443
msgid "DNS server port"
msgstr ""
msgid "DNS-Label / FQDN"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
msgid "DNSSEC"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:407
msgid "DNSSEC check unsigned"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1481
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:44
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:45
msgid "DSL"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:14
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:15
msgid "DSL Status"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:59
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:700
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:771
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:136
msgid "DUID"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
msgid "Data Rate"
msgstr ""
msgid "Disassociate On Low Acknowledgement"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:302
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
msgid ""
"Discard upstream responses containing <a href=\"%s\">RFC1918</a> addresses."
msgstr ""
msgid "Distributed ARP Table"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:548
msgid ""
"Dnsmasq instance to which this boot section is bound. If unspecified, the "
"section is valid for all dnsmasq instances."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:246
msgid ""
-"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</"
-"abbr> forwarder."
+"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</abbr> "
+"forwarder."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:419
msgid "Do not cache negative replies, e.g. for non-existent domains."
msgstr ""
msgid "Do not create host route to peer (optional)."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:262
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:264
msgid "Do not forward DNS queries without dots or domain parts."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
msgid "Do not forward reverse lookups for local networks."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:339
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
msgid "Do not listen on the specified interfaces."
msgstr ""
msgid "Do you want to replace the current keys?"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:593
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:606
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:664
msgid "Domain"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:261
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:263
msgid "Domain required"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:316
msgid "Domain whitelist"
msgstr ""
msgid "Enable Single DES"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:480
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
msgid "Enable TFTP server"
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/uhttpd.js:14
msgid ""
-"Enable automatic redirection of <abbr title=\"Hypertext Transfer "
-"Protocol\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol "
-"Secure\">HTTPS</abbr> port."
+"Enable automatic redirection of <abbr title=\"Hypertext Transfer Protocol"
+"\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol Secure"
+"\">HTTPS</abbr> port."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:977
msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:481
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
msgid "Enable the built-in single-instance TFTP server."
msgstr ""
msgid "Error getting PublicKey"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
msgid "Errored seconds (ES)"
msgstr ""
msgid "Every second (fast, 1)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:343
msgid "Exclude interfaces"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
msgid ""
"Exempt <code>127.0.0.0/8</code> and <code>::1</code> from rebinding checks, "
"e.g. for RBL services."
msgid "Existing device"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:409
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
msgid "Expand hosts"
msgstr ""
msgid "File"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
msgid ""
"File listing upstream resolvers, optionally domain-specific, e.g. "
"<code>server=1.2.3.4</code>, <code>server=/domain/1.2.3.4</code>."
msgid "File not accessible"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:354
msgid "File to store DHCP lease information."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:362
msgid "File with upstream resolvers."
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/ui.js:2846
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:507
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:512
msgid "Filename"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:493
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:498
msgid "Filename of the boot image advertised to clients."
msgstr ""
msgid "Filesystem"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
msgid "Filter private"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
msgid "Filter useless"
msgstr ""
msgid "Firmware Version"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:446
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:451
msgid "Fixed source port for outbound DNS queries."
msgstr ""
msgid "Flashing…"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:686
msgid "Force"
msgstr ""
msgid "Force use of NAT-T"
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:8
+#: modules/luci-base/ucode/template/csrftoken.ut:8
msgid "Form token mismatch"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:919
msgid ""
-"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr "
-"title=\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr "
-"title=\"Neighbour Advertisement, Type 136\">NA</abbr> messages between the "
-"designated master interface and downstream interfaces."
+"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr title="
+"\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr title=\"Neighbour "
+"Advertisement, Type 136\">NA</abbr> messages between the designated master "
+"interface and downstream interfaces."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:770
"downstream interfaces."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
msgid "Forward Error Correction Seconds (FECS)"
msgstr ""
msgid "Global network options"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:82
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:74
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:70
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:84
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:67
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:92
msgid "Go to firmware upgrade..."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:72
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:64
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:60
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:57
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:82
msgid "Go to password configuration..."
msgstr ""
msgid "Hang Up"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
msgid "Header Error Code Errors (HEC)"
msgstr ""
msgid "Host expiry timeout"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
msgid "Host requests this filename from the boot server."
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:38
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:607
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:678
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:54
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:87
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:135
msgid "Hostnames"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:551
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:622
msgid ""
"Hostnames are used to bind a domain name to an IP address. This setting is "
"redundant for hostnames already configured with static leases, but it can be "
msgid "IP Protocol"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:260
msgid "IP Sets"
msgstr ""
msgid "IP Type"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:563
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:634
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:178
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:204
msgid "IP address"
msgid "IP protocol"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:660
msgid "IP set"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:300
msgid "IP sets"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:437
msgid "IPs to override with NXDOMAIN"
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/protocol/static.js:178
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:736
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:88
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:164
msgid "IPv4 address"
msgid "IPv6 suffix"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:706
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:777
msgid "IPv6 suffix (hex)"
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:340
msgid ""
"If your physical memory is insufficient unused data can be temporarily "
-"swapped to a swap-device resulting in a higher amount of usable <abbr "
-"title=\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a "
-"very slow process as the swap-device cannot be accessed with the high "
-"datarates of the <abbr title=\"Random Access Memory\">RAM</abbr>."
+"swapped to a swap-device resulting in a higher amount of usable <abbr title="
+"\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a very "
+"slow process as the swap-device cannot be accessed with the high datarates "
+"of the <abbr title=\"Random Access Memory\">RAM</abbr>."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:363
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:368
msgid "Ignore <code>/etc/hosts</code>"
msgstr ""
msgid "Ignore interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:352
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
msgid "Ignore resolv file"
msgstr ""
"order to avoid broadcast loops that can bring the entire LAN to a standstill."
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:13
+#: modules/luci-base/ucode/template/csrftoken.ut:13
msgid ""
"In order to prevent unauthorized access to the system, your request has been "
"blocked. Click \"Continue »\" below to return to the previous page."
msgid "Install protocol extensions..."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:547
msgid "Instance"
msgstr ""
msgid "Internal"
msgstr ""
-#: modules/luci-base/luasrc/view/error500.htm:8
-msgid "Internal Server Error"
-msgstr ""
-
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:285
msgid "Interval For Sending Learning Packets"
msgstr ""
msgid "Invalid hexadecimal value"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:37
+#: modules/luci-base/ucode/template/sysauth.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:32
msgid "Invalid username and/or password! Please try again."
msgstr ""
"flash memory, please verify the image file!"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:89
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:96
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:77
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:91
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:72
msgid "JavaScript required!"
msgstr ""
msgid "Language and Style"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:560
+msgid ""
+"Larger weights (of the same prio) are given a proportionately higher "
+"probability of being selected."
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:575
msgid "Last member interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
msgid "Latency"
msgstr ""
msgid "Learn routes"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:348
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:353
msgid "Lease file"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:697
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:768
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:679
msgid "Lease time"
msgstr ""
msgid "Limit"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
msgid "Line Attenuation (LATN)"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
msgid "Line Mode"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:17
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
msgid "Line State"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
msgid "Line Uptime"
msgstr ""
msgid "Link layer header bits %d-%d"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
msgid "List of IP addresses to convert into NXDOMAIN responses."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:296
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:581
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:652
msgid "List of IP sets to populate with the specified domain IPs."
msgstr ""
msgid "List of SSH key files for auth"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:317
msgid "List of domains to allow RFC1918 responses for."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:290
-msgid "List of domains to force to an IP address."
-msgstr ""
-
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:283
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:285
msgid "List of upstream resolvers to forward queries to."
msgstr ""
msgid "Listen Port"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:332
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:337
msgid "Listen interfaces"
msgstr ""
msgid "Listen only on the given interface or, if unspecified, on all"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:333
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
msgid ""
"Listen only on the specified interfaces, and loopback if not excluded "
"explicitly."
msgid "ListenPort setting is invalid"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:439
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:444
msgid "Listening port for inbound DNS queries."
msgstr ""
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:1942
-#: modules/luci-base/luasrc/view/view.htm:4
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:45
+#: modules/luci-base/ucode/template/view.ut:4
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:40
msgid "Loading view…"
msgstr ""
msgid "Local ULA"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:273
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:275
msgid "Local domain"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:274
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:276
msgid "Local domain suffix appended to DHCP names and hosts file entries."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:269
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:271
msgid "Local server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:319
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:324
msgid "Local service only"
msgstr ""
msgid "Local wireguard key"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
msgid "Localise queries"
msgstr ""
msgid "Log output level"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:277
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:279
msgid "Log queries"
msgstr ""
msgid "Logical network to which the tunnel will be added (bridged) (optional)."
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:38
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:41
+#: modules/luci-base/ucode/template/sysauth.ut:38
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:36
msgid "Login"
msgstr ""
msgid "Loose filtering"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
msgid "Loss of Signal Seconds (LOSS)"
msgstr ""
msgid "Lowest leased address as offset from the network address."
msgstr ""
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/footer.ut:12
+msgid "Lua compatibility mode active"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:48
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:83
msgid "MAC"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:591
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:40
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:619
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1164
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2177
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:56
msgid "MTU"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:259
+msgid "MX"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:303
msgid ""
"Make sure to clone the root filesystem using something like the commands "
msgid "Max <abbr title=\"Router Advertisement\">RA</abbr> interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
msgid "Max. Attainable Data Rate (ATTNDR)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:457
msgid "Max. DHCP leases"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:459
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:464
msgid "Max. EDNS0 packet size"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:466
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:471
msgid "Max. concurrent queries"
msgstr ""
msgid "Maximum allowed Listen Interval"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:453
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:458
msgid "Maximum allowed number of active DHCP leases."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:467
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:472
msgid "Maximum allowed number of concurrent DNS queries."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:460
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:465
msgid "Maximum allowed size of EDNS0 UDP packets."
msgstr ""
msgid "Maximum transmit power"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:394
msgid "May prevent VoIP or other services from working."
msgstr ""
msgid "Name of the tunnel device"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:46
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:39
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:50
msgid "Navigation"
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:10
+msgid "Nebula Network"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:653
msgid "Neighbour cache validity"
msgstr ""
msgid "Network address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:492
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:497
msgid "Network boot image"
msgstr ""
msgid "Network interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:536
msgid "Network-ID"
msgstr ""
msgid "Never"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:270
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:272
msgid ""
"Never forward matching domains and subdomains, resolve from DHCP or hosts "
"files only."
msgid "No RX signal"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:80
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:87
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:68
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:82
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:65
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:90
msgid ""
"No changes to settings will be stored and are lost after rebooting. This "
msgid "No entries in this directory"
msgstr ""
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:82
-msgid "No files found"
-msgstr ""
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:833
msgid ""
"No fixed interface listening port defined, peers might not be able to "
msgid "No more slaves available, can not save interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:413
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
msgid "No negative cache"
msgstr ""
msgid "No nftables ruleset loaded."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:69
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:61
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:57
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:54
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:79
msgid "No password set!"
msgstr ""
msgid "Noise"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
msgid "Noise Margin (SNR)"
msgstr ""
msgid "Noise:"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
msgid "Non Pre-emptive CRC errors (CRC_P)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:330
msgid "Non-wildcard"
msgstr ""
msgid "Normal"
msgstr ""
-#: modules/luci-base/luasrc/view/error404.htm:8
+#: modules/luci-base/ucode/template/error404.ut:9
msgid "Not Found"
msgstr ""
msgid "Number of IGMP membership reports"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:474
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:479
msgid "Number of cached DNS entries, 10000 is maximum, 0 is no caching."
msgstr ""
msgid "On-link"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:672
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:743
msgid "One of hostname or MAC address must be specified!"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:472
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:19
msgid "Open list..."
msgstr ""
msgid "Options"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:526
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
msgid ""
"Options for the Network-ID. (Note: needs also Network-ID.) E.g. "
-"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</"
-"code>\" for default route. <code>0.0.0.0</code> means \"the address of the "
-"system running dnsmasq\"."
+"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</code>"
+"\" for default route. <code>0.0.0.0</code> means \"the address of the system "
+"running dnsmasq\"."
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:125
msgid "Options:"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
+msgid "Ordinal: lower comes first."
+msgstr ""
+
#: protocols/luci-proto-batman-adv/htdocs/luci-static/resources/protocol/batadv.js:55
msgid "Originator Interval"
msgstr ""
msgid "Pass-through (Mirror physical device to single MAC VLAN)"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:29
+#: modules/luci-base/ucode/template/sysauth.ut:29
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1690
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:51
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:114
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:103
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:24
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:19
msgid "Password"
msgstr ""
msgid "Pkts."
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:19
+#: modules/luci-base/ucode/template/sysauth.ut:19
msgid "Please enter your username and password."
msgstr ""
msgid "Policy: <strong>%h</strong> (%h)"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:579
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:21
msgid "Port"
msgstr ""
msgid "Potential negation of: %s"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:38
msgid "Power Management Mode"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
msgid "Pre-emptive CRC errors (CRCP_P)"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:129
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:197
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:223
msgid "Quality"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
msgid "Query all available upstream resolvers."
msgstr ""
msgid "Raw hex-encoded bytes. Leave empty unless your ISP require this"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:345
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:350
msgid "Read <code>/etc/ethers</code> to configure the DHCP server."
msgstr ""
msgid "Reassociation Deadline"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
msgid "Rebind protection"
msgstr ""
msgstr ""
#: modules/luci-compat/luasrc/model/network/proto_relay.lua:153
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:611
#: protocols/luci-proto-relay/htdocs/luci-static/resources/protocol/relay.js:39
msgid "Relay"
msgstr ""
msgid "Required. Base64-encoded private key for this interface."
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Required. Path to the .yml config file for this interface."
+msgstr ""
+
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:587
msgid "Required. Public key of the WireGuard peer."
msgstr ""
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2197
-#: modules/luci-base/luasrc/view/sysauth.htm:39
+#: modules/luci-base/ucode/template/sysauth.ut:39
#: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
#: modules/luci-compat/luasrc/view/cbi/footer.htm:30
#: modules/luci-compat/luasrc/view/cbi/simpleform.htm:66
msgid "Resolv and Hosts Files"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:356
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:361
msgid "Resolv file"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:292
+msgid "Resolve specified FQDNs to an IP."
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/rpc.js:405
msgid "Resource not found"
msgstr ""
msgid "Restore backup"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
msgid ""
"Return answers to DNS queries matching the subnet from which the query was "
"received if multiple IPs are available."
msgid "Robustness"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:491
msgid ""
"Root directory for files served via TFTP. <em>Enable TFTP server</em> and "
"<em>TFTP server root</em> turn on the TFTP server and serve files from "
msgid "SNR"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "SRV"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:10
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:38
msgid "SSH Access"
msgid "Server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:524
msgid "Server address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:518
msgid "Server name"
msgstr ""
msgid "Setup routes for proxied IPv6 neighbours."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
msgid "Severely Errored Seconds (SES)"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:470
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:18
msgid "Show current backup file list"
msgstr ""
msgid "Signal / Noise"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
msgid "Signal Attenuation (SATN)"
msgstr ""
msgid "Size"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:473
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:478
msgid "Size of DNS query cache"
msgstr ""
msgid "Skip from backup files that are equal to those in /rom"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:42
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:35
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:46
msgid "Skip to content"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:41
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:34
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:45
msgid "Skip to navigation"
msgstr ""
msgid "Some fields are invalid, cannot save values!"
msgstr ""
-#: modules/luci-base/luasrc/view/error404.htm:9
+#: modules/luci-base/ucode/template/error404.ut:10
msgid "Sorry, the object you requested was not found."
msgstr ""
-#: modules/luci-base/luasrc/view/error500.htm:9
-msgid "Sorry, the server encountered an unexpected error."
-msgstr ""
-
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:442
msgid ""
"Sorry, there is no sysupgrade support present; a new firmware image must be "
msgid "Source port"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:505
msgid ""
"Special <abbr title=\"Preboot eXecution Environment\">PXE</abbr> boot "
"options for Dnsmasq."
msgid "Static address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:598
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:669
msgid ""
"Static leases are used to assign fixed IP addresses and symbolic hostnames "
"to DHCP clients. They are also required for non-dynamic interface "
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:16
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:541
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:929
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:9
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:9
msgid "Status"
msgstr ""
msgid "Strict filtering"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
msgid "Strict order"
msgstr ""
msgid "Submit"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
msgid "Suppress logging"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:373
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
msgid "Suppress logging of the routine operation for the DHCP protocol."
msgstr ""
msgid "Sync with browser"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:293
+msgid "Syntax: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "Syntax: <code>_service._proto.example.com</code>."
+msgstr ""
+
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:26
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:17
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:113
msgid "System log buffer size"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:79
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:86
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:71
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:67
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:81
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:64
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:89
msgid "System running in recovery (initramfs) mode."
msgstr ""
msgid "TCP:"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:490
msgid "TFTP server root"
msgstr ""
msgid "Table"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:56
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:66
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:187
"username instead of the user ID!"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:681
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:752
msgid "The IP address %h is already used by another static lease"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:761
msgid "The IP address is outside of any DHCP pool address range"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:520
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
msgid "The IP address of the boot server"
msgstr ""
"to be received and retransmitted which costs airtime)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:514
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
msgid "The hostname of the boot server"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/switch.js:139
msgid ""
-"The network ports on this device can be combined to several <abbr "
-"title=\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
+"The network ports on this device can be combined to several <abbr title="
+"\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
"communicate directly with each other. <abbr title=\"Virtual Local Area "
"Network\">VLAN</abbr>s are often used to separate different network "
"segments. Often there is by default one Uplink port for a connection to the "
msgid "The selected %s mode is incompatible with %s encryption"
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:11
+#: modules/luci-base/ucode/template/csrftoken.ut:11
msgid "The submitted security token is invalid or already expired!"
msgstr ""
"nftables rules is discouraged and may lead to incomplete traffic filtering."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:746
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:778
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:817
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:849
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:130
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:179
msgid "There are no active leases"
msgid "There are no changes to apply"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:70
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:58
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:55
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:80
msgid ""
"There is no password set on this router. Please configure a root password to "
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:16
msgid ""
"This is a list of shell glob patterns for matching files and directories to "
"include during sysupgrade. Modified files in /etc/config/ and certain other "
"ends with <code>...:2/64</code>"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:266
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:268
msgid "This is the only DHCP server in the local network."
msgstr ""
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:440
msgid ""
"To fully configure the local WireGuard interface from an existing (e.g. "
-"provider supplied) configuration file, use the <strong><a class=\"full-"
-"import\" href=\"#\">configuration import</a></strong> instead."
+"provider supplied) configuration file, use the <strong><a class=\"full-import"
+"\" href=\"#\">configuration import</a></strong> instead."
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2674
msgid "Unable to determine upstream interface"
msgstr ""
-#: modules/luci-base/luasrc/view/error404.htm:11
+#: modules/luci-base/ucode/template/error404.ut:12
msgid "Unable to dispatch"
msgstr ""
msgid "Unable to verify PIN"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
msgid "Unavailable Seconds (UAS)"
msgstr ""
"will be restarted to apply the updated configuration."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
msgid "Upstream resolvers will be queried in the order of the resolv file."
msgstr ""
msgid "Uptime"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
msgid "Use <code>/etc/ethers</code>"
msgstr ""
msgid "Use system certificates for inner-tunnel"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:599
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:670
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC address</"
"em> identifies the host, the <em>IPv4 address</em> specifies the fixed "
msgid "User key (PEM encoded)"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:23
+#: modules/luci-base/ucode/template/sysauth.ut:23
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:112
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:101
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:56
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:18
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:13
msgid "Username"
msgstr ""
msgid "VXLANv6 (RFC7348)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
msgid ""
"Validate DNS replies and cache DNSSEC data, requires upstream to support "
"DNSSEC."
msgid "Vendor Class to send when requesting DHCP"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:408
msgid "Verify unsigned domain responses really come from unsigned domains."
msgstr ""
msgid "Weak"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+msgid "Weight"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1029
msgid ""
"When delegating prefixes to multiple downstreams, interfaces with a higher "
msgid "Wireless network is enabled"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:278
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:280
msgid "Write received DNS queries to syslog."
msgstr ""
"scripts like \"network\", your device might become inaccessible!</strong>"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:90
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:97
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
+msgid "You may add multiple records for the same Target."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:596
+msgid "You may add multiple records for the same domain."
+msgstr ""
+
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:78
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:92
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:73
msgid ""
"You must enable JavaScript in your browser or LuCI will not work properly."
msgid "ZRam Size"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:558
+msgid "_proto: _tcp, _udp, _sctp, _quic, … ."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:557
+msgid ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Note: while _http is "
+"possible, no browsers support SRV records.)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:454
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:152
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:163
msgid "any"
msgid "e.g: dump"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:726
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:756
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:797
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:827
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:101
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:148
msgid "expired"
msgid "unknown"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:456
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:724
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:754
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:461
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:795
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:825
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:99
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:146
msgid "unlimited"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2022-09-25 14:22+0000\n"
"Last-Translator: semih <semiht@gmail.com>\n"
-"Language-Team: Turkish <https://hosted.weblate.org/projects/openwrt/luci/tr/>"
-"\n"
+"Language-Team: Turkish <https://hosted.weblate.org/projects/openwrt/luci/tr/"
+">\n"
"Language: tr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
msgid "<abbr title=\"Router Advertisement\">RA</abbr>-Service"
msgstr "<abbr title=\"Router Advertisement\">RA</abbr>-Servisi"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:294
+msgid ""
+"<code>/#/</code> matches any domain. <code>/example.com/</code> returns "
+"NXDOMAIN."
+msgstr ""
+"<code>/#/</code> herhangi bir alanla eşleşir. <code>/example.com/</code>, "
+"NXDOMAIN değerini döndürür."
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+msgid ""
+"<code>/example.com/#</code> returns NULL addresses (<code>0.0.0.0</code> and "
+"<code>::</code>) for example.com and its subdomains."
+msgstr ""
+"<code>/example.com/#</code>, example.com ve alt alanları için NULL adresleri "
+"(<code>0.0.0.0</code> ve <code>::</code>) döndürür."
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:87
msgctxt "nft relational \">\" operator expression"
msgid "<var>%s</var> greater than <strong>%s</strong>"
"to the STA MAC address. Note: This is not Directed Multicast Service (DMS) "
"in 802.11v. Note: might break receiver STA multicast expectations."
msgstr ""
+"Çok noktaya yayın hedef MAC'leri ile ARP, IPv4 ve IPv6 (hatta 802.1Q), STA "
+"MAC adresine tek yayındır. Not: Bu, 802.11v'deki Yönlendirilmiş Çok Noktaya "
+"Yayın Hizmeti (DMS) değildir. Not: alıcının STA çok noktaya yayın "
+"beklentilerini bozabilir."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1511
msgid "ATM (Asynchronous Transfer Mode)"
msgid "ATM device number"
msgstr "ATM cihaz numarası"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
msgid "ATU-C System Vendor ID"
msgstr "ATU-C Sistem Satıcısı Kimliği"
msgid "Absent Interface"
msgstr "Eksik Arayüz"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:320
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
msgid "Accept DNS queries only from hosts whose address is on a local subnet."
msgstr ""
"DNS hizmetini, DNS hizmeti verdiğimiz alt ağ arabirimleriyle sınırlayın."
msgid "Add key"
msgstr "Anahtar ekle"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:410
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:415
msgid "Add local domain suffix to names served from hosts files."
msgstr "Host dosyalarından sunulan adlara yerel etki alanı son eki ekle."
msgid "Add to Whitelist"
msgstr "Beyaz Listeye Ekle"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:367
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
msgid "Additional hosts files"
msgstr "Ek Hosts dosyaları"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:417
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
msgid "Additional servers file"
msgstr "Ek sunucular dosyası"
msgid "Address to access local relay bridge"
msgstr "Yerel aktarma köprüsüne erişim adresi"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:289
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:291
msgid "Addresses"
msgstr "Adresler"
msgid "Aggregate Originator Messages"
msgstr "Gönderen Mesajlarını Birleştir"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
msgid "Aggregate Transmit Power (ACTATP)"
msgstr "Toplam İletim Gücü (ACTATP)"
msgid "Alias of \"%s\""
msgstr "\"%s\" lakabı"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
msgid "All servers"
msgstr "Tüm Sunucular"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
msgid ""
"Allocate IP addresses sequentially, starting from the lowest available "
"address."
msgstr ""
"Kullanılabilir en düşük adresten başlayarak IP adreslerini sırayla tahsis et."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
msgid "Allocate IPs sequentially"
msgstr "Sırayla IP tahsis et"
msgid "Allow listed only"
msgstr "Yanlızca listelenenlere izin ver"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
msgid "Allow localhost"
msgstr "Yerel ağa izin ver"
msgid "Always on (kernel: default-on)"
msgstr "Her zaman açık (çekirdek: varsayılan-açık)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:538
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
msgid "Always send DHCP Options. Sometimes needed, with e.g. PXELinux."
msgstr ""
"Her zaman DHCP Seçeneklerini gönderin. Bazen gerekebilir, örn. PXELinux."
msgstr "Bu cihaz için isteğe bağlı, kısa bir açıklama"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1484
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
msgid "Annex"
msgstr "Annex"
msgid "Any zone"
msgstr "Herhangi bir bölge"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:532
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
msgid "Apply DHCP Options to this net. (Empty = all clients)."
msgstr "Bu ağa DHCP Seçeneklerini uygulayın. (Boş = tüm istemciler)."
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4395
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4515
msgid "Apply unchecked"
-msgstr "İşaretlenmemişi uygula"
+msgstr "Kontrolsuz olarak uygula"
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4648
msgid "Apply with revert after connectivity loss"
msgid "Authentication Type"
msgstr "Kimlik doğrulama türü"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:265
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:267
msgid "Authoritative"
msgstr "Yetkili"
-#: modules/luci-base/luasrc/view/sysauth.htm:17
+#: modules/luci-base/ucode/template/sysauth.ut:17
#: themes/luci-theme-bootstrap/htdocs/luci-static/resources/view/bootstrap/sysauth.js:11
msgid "Authorization Required"
msgstr "İzin Gerekli"
msgid "Avoid Bridge Loops"
msgstr "Köprü Döngülerinden Kaçın"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
msgid ""
"Avoid uselessly triggering dial-on-demand links (filters SRV/SOA records and "
"names with underscores)."
msgstr ""
+"İsteğe bağlı arama bağlantılarını gereksiz yere tetiklemekten kaçın (SRV/SOA "
+"kayıtlarını ve alt çizgili adları filtreler)."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1505
msgid "B43 + B43C"
msgid "Back to Overview"
msgstr "Genel Bakışa dön"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:48
-msgid "Back to configuration"
-msgstr "Yapılandırmaya dön"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:826
msgid "Back to peer configuration"
msgstr "Eş yapılandırmasına geri dön"
msgstr "Yedekleme/Sistem Yazılımı Yükleme"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:351
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:12
msgid "Backup file list"
msgstr "Yedek dosya listesi"
msgstr "İşaret Aralığı"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:352
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:46
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
msgid "Bind NTP server"
msgstr "NTP sunucusu bağla"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:326
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:331
msgid "Bind dynamically to interfaces rather than wildcard address."
msgstr "Joker karakter adresi yerine arayüzlere dinamik olarak bağlan."
msgid "Bind interface"
msgstr "Arabirimi bağla"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:595
+msgid ""
+"Bind service records to a domain name: specify the location of services."
+msgstr "Hizmet kayıtlarını bir alan adına bağla: hizmetlerin yerini belirtin."
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:556
+msgid ""
+"Bind service records to a domain name: specify the location of services. See "
+"<a href=\"%s\">RFC2782</a>."
+msgstr ""
+"Hizmet kayıtlarını bir alan adına bağla: hizmetlerin yerini belirtin. <a "
+"href=\"%s\">RFC2782</a>'ye bakın."
+
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gre.js:59
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gretap.js:64
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/grev6.js:64
msgid "CLAT configuration failed"
msgstr "CLAT yapılandırması başarısız oldu"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
+msgid "CNAME or fqdn"
+msgstr "CNAME veya fqdn"
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/processes.js:72
msgid "CPU usage (%)"
msgstr "CPU kullanımı (%)"
"Belirli bir saniye süresinden sonra etkin olmayan bağlantıyı kapatın, "
"bağlantıyı sürdürmek için 0'ı kullanın"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:49
-msgid "Close list..."
-msgstr "Listeyi kapat..."
-
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:44
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:63
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2184
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:391
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:352
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:355
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:72
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:66
msgid "Collecting data..."
msgstr "Veriler toplanıyor..."
msgid "Compute outgoing checksum (optional)."
msgstr "Giden sağlama toplamını hesaplayın (isteğe bağlı)."
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Config File"
+msgstr "Yapılandırma dosyası"
+
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4375
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
msgid "Configuration"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:764
msgid ""
-"Configures the operation mode of the <abbr title=\"Router "
-"Advertisement\">RA</abbr> service on this interface."
+"Configures the operation mode of the <abbr title=\"Router Advertisement"
+"\">RA</abbr> service on this interface."
msgstr ""
"Bu arayüzde <abbr title=\"Router Advertisement\">RA</abbr> hizmetinin "
"çalışma modunu yapılandırır."
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/leds.js:59
msgid ""
-"Customizes the behaviour of the device <abbr title=\"Light Emitting "
-"Diode\">LED</abbr>s if possible."
+"Customizes the behaviour of the device <abbr title=\"Light Emitting Diode"
+"\">LED</abbr>s if possible."
msgstr ""
"Mümkünse, cihazın <abbr title=\"Light Emitting Diode\">LED</abbr> lerinin "
"davranışını özelleştirir."
msgid "DAE-Secret"
msgstr "DAE-Gizli kelime"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:530
msgid "DHCP Options"
msgstr "DHCP Seçenekleri"
msgid "DNS"
msgstr "DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:282
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:284
msgid "DNS forwardings"
msgstr "DNS iletimleri"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:445
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:450
msgid "DNS query port"
msgstr "<abbr title=\"Domain Name System\">DNS</abbr> sorgusu bağlantı noktası"
msgid "DNS search domains"
msgstr "DNS arama alanları"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:443
msgid "DNS server port"
msgstr ""
"<abbr title=\"Domain Name System\">DNS</abbr> sunucusu bağlantı noktası"
msgid "DNS-Label / FQDN"
msgstr "DNS Etiketi / FQDN"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
msgid "DNSSEC"
msgstr "DNSSEC"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:407
msgid "DNSSEC check unsigned"
msgstr "DNSSEC kontrolü imzalanmamış"
msgstr "DS-Lite AFTR adresi"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1481
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:44
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:45
msgid "DSL"
msgstr "DSL"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:14
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:15
msgid "DSL Status"
msgstr "DSL Durumu"
msgstr "DTIM Aralığı"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:59
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:700
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:771
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:136
msgid "DUID"
msgstr "DUID"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
msgid "Data Rate"
msgstr "Veri hızı"
msgid "Disassociate On Low Acknowledgement"
msgstr "Düşük Onayda İlişkilendirmeyi Kes"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:302
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
msgid ""
"Discard upstream responses containing <a href=\"%s\">RFC1918</a> addresses."
msgstr ""
msgid "Distributed ARP Table"
msgstr "Dağıtılmış ARP Tablosu"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:548
msgid ""
"Dnsmasq instance to which this boot section is bound. If unspecified, the "
"section is valid for all dnsmasq instances."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:246
msgid ""
-"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</"
-"abbr> forwarder."
+"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</abbr> "
+"forwarder."
msgstr ""
"Dnsmasq, hafif bir <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</"
"abbr> sunucusu ve <abbr title=\"Domain Name System\">DNS</abbr> "
"yönlendiricisidir."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:419
msgid "Do not cache negative replies, e.g. for non-existent domains."
msgstr ""
"Olumsuz yanıtları önbelleğe alma, ör. mevcut olmayan etki alanları için."
msgid "Do not create host route to peer (optional)."
msgstr "Eşe ana bilgisayar yolu oluşturmayın (isteğe bağlı)."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:262
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:264
msgid "Do not forward DNS queries without dots or domain parts."
msgstr "DNS sorgularını noktalar veya etki alanı bölümleri olmadan iletme."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
msgid "Do not forward reverse lookups for local networks."
msgstr "Yerel ağlar için geriye doğru aramaları iletme."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:339
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
msgid "Do not listen on the specified interfaces."
msgstr "Bu arayüzlerde dinlemeyi önle."
msgid "Do you want to replace the current keys?"
msgstr "Mevcut anahtarları değiştirmek istiyor musunuz?"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:593
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:606
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:664
msgid "Domain"
msgstr "Alan"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:261
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:263
msgid "Domain required"
msgstr "Alan gerekli"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:316
msgid "Domain whitelist"
msgstr "Alan beyaz listesi"
msgid "Enable Single DES"
msgstr "Tek DES'i Etkinleştir"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:480
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
msgid "Enable TFTP server"
msgstr "TFTP sunucusunu etkinleştir"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/uhttpd.js:14
msgid ""
-"Enable automatic redirection of <abbr title=\"Hypertext Transfer "
-"Protocol\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol "
-"Secure\">HTTPS</abbr> port."
+"Enable automatic redirection of <abbr title=\"Hypertext Transfer Protocol"
+"\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol Secure"
+"\">HTTPS</abbr> port."
msgstr ""
"<abbr title=\"Hypertext Transfer Protocol\">HTTP</abbr> isteklerinin <abbr "
"title=\"Hypertext Transfer Protocol Secure\">HTTPS</abbr> bağlantı noktasına "
msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets."
msgstr "Kapsüllenen paketlerin DF (Parçalama) bayrağını etkinleştirin."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:481
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
msgid "Enable the built-in single-instance TFTP server."
msgstr "Yerleşik tek örnekli TFTP sunucusunu etkinleştirin."
msgid "Error getting PublicKey"
msgstr "PublicKey alınırken hata oluştu"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
msgid "Errored seconds (ES)"
msgstr "Hatalı saniye (ES)"
msgid "Every second (fast, 1)"
msgstr "Her saniye (hızlı, 1)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:343
msgid "Exclude interfaces"
msgstr "Arayüzleri hariç tut"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
msgid ""
"Exempt <code>127.0.0.0/8</code> and <code>::1</code> from rebinding checks, "
"e.g. for RBL services."
msgid "Existing device"
msgstr "Mevcut cihaz"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:409
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
msgid "Expand hosts"
msgstr "Ana bilgisayarları genişlet"
msgid "File"
msgstr "Dosya"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
msgid ""
"File listing upstream resolvers, optionally domain-specific, e.g. "
"<code>server=1.2.3.4</code>, <code>server=/domain/1.2.3.4</code>."
msgid "File not accessible"
msgstr "Dosyaya erişilemiyor"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:354
msgid "File to store DHCP lease information."
msgstr "DHCP kiralama bilgilerinin saklanacağı dosya."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:362
msgid "File with upstream resolvers."
msgstr "Yukarı akış çözümleyicilerinin olduğu dosya."
#: modules/luci-base/htdocs/luci-static/resources/ui.js:2846
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:507
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:512
msgid "Filename"
msgstr "Dosya adı"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:493
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:498
msgid "Filename of the boot image advertised to clients."
msgstr "İstemcilere tanıtılan önyükleme kalıbının dosya adı."
msgid "Filesystem"
msgstr "Dosya sistemi"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
msgid "Filter private"
msgstr "Özelleri filtrele"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
msgid "Filter useless"
msgstr "Faydasızları filtrele"
msgid "Firmware Version"
msgstr "Sistem Yazılımı Sürümü"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:446
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:451
msgid "Fixed source port for outbound DNS queries."
msgstr "Giden DNS sorguları için sabit kaynak bağlantı noktası."
msgid "Flashing…"
msgstr "Yazılıyor…"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:686
msgid "Force"
msgstr "Zorla"
msgid "Force use of NAT-T"
msgstr "NAT-T'yi kullanmaya zorla"
-#: modules/luci-base/luasrc/view/csrftoken.htm:8
+#: modules/luci-base/ucode/template/csrftoken.ut:8
msgid "Form token mismatch"
msgstr "Form belirteci uyuşmazlığı"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:919
msgid ""
-"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr "
-"title=\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr "
-"title=\"Neighbour Advertisement, Type 136\">NA</abbr> messages between the "
-"designated master interface and downstream interfaces."
+"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr title="
+"\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr title=\"Neighbour "
+"Advertisement, Type 136\">NA</abbr> messages between the designated master "
+"interface and downstream interfaces."
msgstr ""
-"<abbr title=\"Neighbour Discovery Protocol\">NDP</abbr><abbr "
-"title=\"Neighbour Solicitation, Type 135\">NS</abbr> ve <abbr "
-"title=\"Neighbour Advertisement, Type 136\">NA</abbr> belirlenmiş ana arayüz "
-"ve aşağı akış arayüzleri arasındaki mesajları ilet."
+"<abbr title=\"Neighbour Discovery Protocol\">NDP</abbr><abbr title="
+"\"Neighbour Solicitation, Type 135\">NS</abbr> ve <abbr title=\"Neighbour "
+"Advertisement, Type 136\">NA</abbr> belirlenmiş ana arayüz ve aşağı akış "
+"arayüzleri arasındaki mesajları ilet."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:770
msgid ""
"DHCPv6 mesajlarını belirlenen ana arabirim ve aşağı akış arabirimleri "
"arasında ilet."
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
msgid "Forward Error Correction Seconds (FECS)"
msgstr "İleri Hata Düzeltme Saniyelesi (FECS)"
msgid "Global network options"
msgstr "Genel ağ seçenekleri"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:82
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:74
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:70
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:84
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:67
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:92
msgid "Go to firmware upgrade..."
msgstr "Ürün yazılımı yükseltmesine git..."
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:72
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:64
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:60
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:57
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:82
msgid "Go to password configuration..."
msgstr "Parola yapılandırmasına git..."
msgid "Hang Up"
msgstr "Kapat"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
msgid "Header Error Code Errors (HEC)"
msgstr "Üstbilgi Hata Kodu Hataları (HEC)"
msgid "Host expiry timeout"
msgstr "Ana bilgisayar süre sonu zaman aşımı"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
msgid "Host requests this filename from the boot server."
msgstr "Ana makine, bu dosya adını önyükleme sunucusundan ister."
msgstr "Host-Uniq etiket içeriği"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:38
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:607
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:678
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:54
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:87
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:135
msgid "Hostnames"
msgstr "Ana bilgisayar adları"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:551
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:622
msgid ""
"Hostnames are used to bind a domain name to an IP address. This setting is "
"redundant for hostnames already configured with static leases, but it can be "
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:49
msgctxt "nft icmp code"
msgid "ICMP code"
-msgstr ""
+msgstr "ICMP kodu"
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:50
msgctxt "nft icmp type"
msgid "ICMP type"
-msgstr ""
+msgstr "ICMP türü"
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:51
msgctxt "nft icmpv6 code"
msgid "IP Protocol"
msgstr "IP Protokolü"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:260
msgid "IP Sets"
msgstr "IP Kümeleri"
msgid "IP Type"
msgstr "IP Türü"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:563
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:634
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:178
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:204
msgid "IP address"
msgid "IP protocol"
msgstr "IP protokolü"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:660
msgid "IP set"
msgstr "IP kümesi"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:300
msgid "IP sets"
msgstr "IP kümeleri"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:437
msgid "IPs to override with NXDOMAIN"
msgstr "Sahte NX Etki Alanını Geçersiz Kılma"
#: modules/luci-base/htdocs/luci-static/resources/protocol/static.js:178
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:736
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:88
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:164
msgid "IPv4 address"
msgid "IPv6 suffix"
msgstr "IPv6 son eki"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:706
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:777
msgid "IPv6 suffix (hex)"
msgstr ""
"<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Son ek (onaltılık)"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:340
msgid ""
"If your physical memory is insufficient unused data can be temporarily "
-"swapped to a swap-device resulting in a higher amount of usable <abbr "
-"title=\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a "
-"very slow process as the swap-device cannot be accessed with the high "
-"datarates of the <abbr title=\"Random Access Memory\">RAM</abbr>."
+"swapped to a swap-device resulting in a higher amount of usable <abbr title="
+"\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a very "
+"slow process as the swap-device cannot be accessed with the high datarates "
+"of the <abbr title=\"Random Access Memory\">RAM</abbr>."
msgstr ""
"Fiziksel belleğiniz yetersizse, kullanılmayan veriler geçici olarak bir "
"takas cihazına aktarılabilir ve bu da daha yüksek miktarda kullanılabilir "
"değerleri ile erişilemediğinden, verilerin değiş tokuşunun çok yavaş bir "
"süreç olduğunu unutmayın."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:363
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:368
msgid "Ignore <code>/etc/hosts</code>"
msgstr "<code>/etc/hosts</code>'u göz ardı et"
msgid "Ignore interface"
msgstr "Arayüzü yoksay"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:352
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
msgid "Ignore resolv file"
msgstr "Dosyayı çözümlemeyi göz ardı et"
"döngülerinden kaçınmak için köprü döngüsünden kaçınmanın etkinleştirilmesi "
"tavsiye edilir."
-#: modules/luci-base/luasrc/view/csrftoken.htm:13
+#: modules/luci-base/ucode/template/csrftoken.ut:13
msgid ""
"In order to prevent unauthorized access to the system, your request has been "
"blocked. Click \"Continue »\" below to return to the previous page."
msgid "Install protocol extensions..."
msgstr "Protokol uzantılarını yükle..."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:547
msgid "Instance"
msgstr "Örnek"
msgid "Internal"
msgstr "İç"
-#: modules/luci-base/luasrc/view/error500.htm:8
-msgid "Internal Server Error"
-msgstr "İç Sunucu Hatası"
-
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:285
msgid "Interval For Sending Learning Packets"
msgstr "Öğrenme Paketlerini Gönderme Aralığı"
msgid "Invalid hexadecimal value"
msgstr "Geçersiz onaltılık değer"
-#: modules/luci-base/luasrc/view/sysauth.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:37
+#: modules/luci-base/ucode/template/sysauth.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:32
msgid "Invalid username and/or password! Please try again."
msgstr "Geçersiz kullanıcı adı ve/veya şifre! Lütfen tekrar deneyin."
"Flash belleğe sığmayan bir görüntüyü flaş etmeye çalıştığınız anlaşılıyor, "
"lütfen görüntü dosyasını doğrulayın!"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:89
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:96
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:77
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:91
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:72
msgid "JavaScript required!"
msgstr "JavaScript gerekli!"
#: protocols/luci-proto-unet/htdocs/luci-static/resources/protocol/unet.js:44
msgid "Key used to sign network config"
-msgstr ""
+msgstr "Ağ yapılandırmasını imzalamak için kullanılan anahtar"
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:71
msgctxt "nft unit"
msgid "Language and Style"
msgstr "Dil ve Stil"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:560
+msgid ""
+"Larger weights (of the same prio) are given a proportionately higher "
+"probability of being selected."
+msgstr ""
+"Daha büyük ağırlıklara (aynı prio'nun) orantılı olarak daha yüksek seçilme "
+"olasılığı verilir."
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:575
msgid "Last member interval"
msgstr "Son üye aralığı"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
msgid "Latency"
msgstr "Gecikme"
msgid "Learn routes"
msgstr "Rotaları öğren"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:348
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:353
msgid "Lease file"
msgstr "Leasefile"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:697
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:768
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:679
msgid "Lease time"
msgstr "Kira süresi"
msgid "Limit"
msgstr "Sınır"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
msgid "Line Attenuation (LATN)"
msgstr "Hat Zayıflaması (LATN)"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
msgid "Line Mode"
msgstr "Hat Modu"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:17
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
msgid "Line State"
msgstr "Hat Durumu"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
msgid "Line Uptime"
msgstr "Hat Çalışma Süresi"
msgid "Link layer header bits %d-%d"
msgstr "Bağlantı katmanı başlık bitleri %d-%d"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
msgid "List of IP addresses to convert into NXDOMAIN responses."
msgstr "NXDOMAIN yanıtlarına dönüştürülecek IP adresleri listesi."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:296
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:581
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:652
msgid "List of IP sets to populate with the specified domain IPs."
msgstr "Belirtilen etki alanı IP'leriyle doldurulacak IP kümelerinin listesi."
msgid "List of SSH key files for auth"
msgstr "Kimlik doğrulama için SSH anahtar dosyalarının listesi"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:317
msgid "List of domains to allow RFC1918 responses for."
msgstr "RFC1918 yanıtlarına izin verilecek etki alanlarının listesi."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:290
-msgid "List of domains to force to an IP address."
-msgstr "Bir IP adresine zorlanacak etki alanlarının listesi."
-
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:283
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:285
msgid "List of upstream resolvers to forward queries to."
msgstr "Sorguların iletileceği yukarı akış çözümleyicilerinin listesi."
msgid "Listen Port"
msgstr "Bağlantı Noktasını Dinle"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:332
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:337
msgid "Listen interfaces"
msgstr "Arayüzleri Dinle"
msgid "Listen only on the given interface or, if unspecified, on all"
msgstr "Yalnızca verilen arayüzde dinle veya belirtilmemişse tümünde dinle"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:333
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
msgid ""
"Listen only on the specified interfaces, and loopback if not excluded "
"explicitly."
msgid "ListenPort setting is invalid"
msgstr "ListenPort ayarı geçersiz"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:439
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:444
msgid "Listening port for inbound DNS queries."
msgstr "Gelen DNS sorguları için dinleme bağlantı noktası."
msgstr "Dizin içeriği yükleniyor…"
#: modules/luci-base/htdocs/luci-static/resources/luci.js:1942
-#: modules/luci-base/luasrc/view/view.htm:4
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:45
+#: modules/luci-base/ucode/template/view.ut:4
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:40
msgid "Loading view…"
msgstr "Görünüm yükleniyor…"
msgid "Local ULA"
msgstr "Yerel ULA"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:273
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:275
msgid "Local domain"
msgstr "Yerel alan"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:274
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:276
msgid "Local domain suffix appended to DHCP names and hosts file entries."
msgstr ""
"DHCP adlarına ve ana dosya girişlerine eklenen yerel etki alanı son eki."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:269
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:271
msgid "Local server"
msgstr "Yerel sunucu"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:319
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:324
msgid "Local service only"
msgstr "Yalnızca Yerel Hizmet"
#: protocols/luci-proto-unet/htdocs/luci-static/resources/protocol/unet.js:41
msgid "Local wireguard key"
-msgstr ""
+msgstr "Yerel wireguard anahtarı"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
msgid "Localise queries"
msgstr "Sorguları yerelleştir"
msgid "Log output level"
msgstr "Günlük çıktı seviyesi"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:277
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:279
msgid "Log queries"
msgstr "Sorguları günlüğe ekle"
msgid "Logical network to which the tunnel will be added (bridged) (optional)."
msgstr "Tünelin ekleneceği mantıksal ağ (köprülü) (isteğe bağlı)."
-#: modules/luci-base/luasrc/view/sysauth.htm:38
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:41
+#: modules/luci-base/ucode/template/sysauth.ut:38
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:36
msgid "Login"
msgstr "Oturum Aç"
msgid "Loose filtering"
msgstr "Gevşek filtreleme"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
msgid "Loss of Signal Seconds (LOSS)"
msgstr "Sinyal Saniye Kaybı (LOSS)"
msgid "Lowest leased address as offset from the network address."
msgstr "Ağ adresinden ofset olarak en düşük kiralanan adres."
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/footer.ut:12
+msgid "Lua compatibility mode active"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:48
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:83
msgid "MAC"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:591
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:40
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:619
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1164
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2177
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:56
msgid "MTU"
msgstr "MTU"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:259
+msgid "MX"
+msgstr "MX"
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:303
msgid ""
"Make sure to clone the root filesystem using something like the commands "
msgid "Max <abbr title=\"Router Advertisement\">RA</abbr> interval"
msgstr "Maks <abbr title=\"Router Advertisement\">RA</abbr> aralığı"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
msgid "Max. Attainable Data Rate (ATTNDR)"
msgstr "Maks. Ulaşılabilir Veri Hızı (ATTNDR)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:457
msgid "Max. DHCP leases"
msgstr ""
"<abbr title=\"maximal\">Maks.</abbr> <abbr title=\"Dynamic Host "
"Configuration Protocol\">DHCP</abbr> kiraları"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:459
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:464
msgid "Max. EDNS0 packet size"
msgstr ""
"<abbr title=\"maximal\">Maks.</abbr> <abbr title=\"Extension Mechanisms for "
"Domain Name System\">EDNS0</abbr> paket boyutu"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:466
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:471
msgid "Max. concurrent queries"
msgstr "<abbr title=\"maximal\">Maks.</abbr> eşzamanlı sorgu"
msgid "Maximum allowed Listen Interval"
msgstr "İzin verilen maksimum Dinleme Aralığı"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:453
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:458
msgid "Maximum allowed number of active DHCP leases."
msgstr "İzin verilen en fazla etkin DHCP kira sayısı."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:467
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:472
msgid "Maximum allowed number of concurrent DNS queries."
msgstr "İzin verilen en fazla eşzamanlı DNS sorgu sayısı."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:460
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:465
msgid "Maximum allowed size of EDNS0 UDP packets."
msgstr "EDNS.0 UDP paketlerinin izin verilen azami boyutu."
msgid "Maximum transmit power"
msgstr "Maksimum iletim gücü"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:394
msgid "May prevent VoIP or other services from working."
-msgstr ""
+msgstr "VoIP veya diğer hizmetlerin çalışmasını engelleyebilir."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:129
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:188
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1151
msgid "Multi To Unicast"
-msgstr ""
+msgstr "Çok Noktadan Tek Noktaya"
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gre.js:89
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gretap.js:94
#: protocols/luci-proto-unet/htdocs/luci-static/resources/protocol/unet.js:38
msgid "Name of the tunnel device"
-msgstr ""
+msgstr "Tünel cihazının adı"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:46
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:39
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:50
msgid "Navigation"
msgstr "Navigasyon"
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:10
+msgid "Nebula Network"
+msgstr "Nebula Ağı"
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:653
msgid "Neighbour cache validity"
msgstr "Komşu önbellek geçerliliği"
msgid "Network address"
msgstr "Ağ adresi"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:492
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:497
msgid "Network boot image"
msgstr "Ağ önyükleme görüntüsü"
msgid "Network interface"
msgstr "Ağ arayüzü"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:536
msgid "Network-ID"
msgstr "Ağ kimliği"
msgid "Never"
msgstr "Asla"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:270
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:272
msgid ""
"Never forward matching domains and subdomains, resolve from DHCP or hosts "
"files only."
msgid "No RX signal"
msgstr "RX sinyali yok"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:80
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:87
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:68
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:82
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:65
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:90
msgid ""
"No changes to settings will be stored and are lost after rebooting. This "
msgid "No entries in this directory"
msgstr "Bu dizinde giriş yok"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:82
-msgid "No files found"
-msgstr "Dosya bulunamadı"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:833
msgid ""
"No fixed interface listening port defined, peers might not be able to "
msgid "No more slaves available, can not save interface"
msgstr "Daha fazla bağımlı yok, arayüz kaydedilemiyor"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:413
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
msgid "No negative cache"
msgstr "Negatif önbellek yok"
msgid "No nftables ruleset loaded."
msgstr "Yüklü nftables kural kümesi yok."
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:69
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:61
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:57
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:54
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:79
msgid "No password set!"
msgstr "Şifre belirlenmedi!"
msgid "Noise"
msgstr "Gürültü"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
msgid "Noise Margin (SNR)"
msgstr "Gürültü Marjı (SNR)"
msgid "Noise:"
msgstr "Gürültü:"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
msgid "Non Pre-emptive CRC errors (CRC_P)"
msgstr "Önleyici Olmayan CRC hataları (CRC_P)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:330
msgid "Non-wildcard"
msgstr "Joker karakter içermeyen"
msgid "Normal"
msgstr "Normal"
-#: modules/luci-base/luasrc/view/error404.htm:8
+#: modules/luci-base/ucode/template/error404.ut:9
msgid "Not Found"
msgstr "Bulunamadı"
msgid "Number of IGMP membership reports"
msgstr "IGMP üyelik raporlarının sayısı"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:474
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:479
msgid "Number of cached DNS entries, 10000 is maximum, 0 is no caching."
msgstr ""
"Önbelleğe alınan DNS girdilerinin sayısı (en fazla 10000, 0 ise önbelleğe "
msgid "On-link"
msgstr "Bağlantı rotası"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:672
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:743
msgid "One of hostname or MAC address must be specified!"
msgstr "Ana bilgisayar adı veya mac adreslerinden biri belirtilmelidir!"
msgstr "iptables kurallarına genel bakışı aç…"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:472
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:19
msgid "Open list..."
msgstr "Listeyi aç..."
msgid "Options"
msgstr "Seçenekler"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:526
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
msgid ""
"Options for the Network-ID. (Note: needs also Network-ID.) E.g. "
-"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</"
-"code>\" for default route. <code>0.0.0.0</code> means \"the address of the "
-"system running dnsmasq\"."
+"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</code>"
+"\" for default route. <code>0.0.0.0</code> means \"the address of the system "
+"running dnsmasq\"."
msgstr ""
"Ağ kimliği için seçenekler. (Not: ayrıca Ağ kimliğine ihtiyaç duyar.) Ör. "
"NTP sunucusu için \"<code>42,192.168.1.4</code>\", öntanımlı yönlendirme "
msgid "Options:"
msgstr "Seçenekler:"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
+msgid "Ordinal: lower comes first."
+msgstr "Sıra: düşük önce gelir."
+
#: protocols/luci-proto-batman-adv/htdocs/luci-static/resources/protocol/batadv.js:55
msgid "Originator Interval"
msgstr "Oluşturucu Aralığı"
msgid "Pass-through (Mirror physical device to single MAC VLAN)"
msgstr "Geçiş (Fiziksel cihazı tek bir MAC VLAN'a yansıtın)"
-#: modules/luci-base/luasrc/view/sysauth.htm:29
+#: modules/luci-base/ucode/template/sysauth.ut:29
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1690
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:51
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:114
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:103
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:24
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:19
msgid "Password"
msgstr "Parola"
msgid "Pkts."
msgstr "Pktler."
-#: modules/luci-base/luasrc/view/sysauth.htm:19
+#: modules/luci-base/ucode/template/sysauth.ut:19
msgid "Please enter your username and password."
msgstr "Lütfen kullanıcı adınızı ve şifrenizi giriniz."
msgid "Policy: <strong>%h</strong> (%h)"
msgstr "Politika: <strong>%h</strong> (%h)"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:579
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:21
msgid "Port"
msgstr "Bağlantı noktası"
msgid "Potential negation of: %s"
msgstr "Olası olumsuzluk: %s"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:38
msgid "Power Management Mode"
msgstr "Güç Yönetimi Modu"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
msgid "Pre-emptive CRC errors (CRCP_P)"
msgstr "Önleyici CRC hataları (CRCP_P)"
msgstr "Birincil, her geri geldiğinde aktif ikincil hale gelir (her zaman, 0)"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:129
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:197
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:223
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:120
msgid "Proxy Server"
-msgstr ""
+msgstr "Proxy sunucusu"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1077
msgid "Pseudo Ad-Hoc (ahdemo)"
msgid "Quality"
msgstr "Kalite"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
msgid "Query all available upstream resolvers."
msgstr "Kullanılabilir tüm yukarı akış çözümleyicilerini sorgula."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1456
msgid "RSN Preauth"
-msgstr ""
+msgstr "RSN Ön Yetkilendirme"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1003
msgid "RSSI threshold for joining"
msgid "Raw hex-encoded bytes. Leave empty unless your ISP require this"
msgstr "Ham onaltılı kodlanmış baytlar. ISS'niz gerektirmedikçe boş bırakın"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:345
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:350
msgid "Read <code>/etc/ethers</code> to configure the DHCP server."
msgstr ""
"DHCP sunucusunu yapılandırmak için <code>/etc/ethers</code> bölümünü okuyun."
msgid "Reassociation Deadline"
msgstr "Yeniden İlişkilendirme Son Tarihi"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
msgid "Rebind protection"
msgstr "Yeniden bağlama koruması"
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:164
msgid "Reconnect Timeout"
-msgstr ""
+msgstr "Yeniden Bağlanma Zaman Aşımı"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:504
msgid "Reconnect this interface"
"yönlendirme kararlarını reddet"
#: modules/luci-compat/luasrc/model/network/proto_relay.lua:153
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:611
#: protocols/luci-proto-relay/htdocs/luci-static/resources/protocol/relay.js:39
msgid "Relay"
msgstr "Röle"
msgid "Required. Base64-encoded private key for this interface."
msgstr "Gereklidir. Bu arabirim için Base64 ile kodlanmış özel anahtar."
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Required. Path to the .yml config file for this interface."
+msgstr "Gerekli. Bu arabirim için .yml yapılandırma dosyasının yolu."
+
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:587
msgid "Required. Public key of the WireGuard peer."
msgstr "Gerekli. WireGuard eşinin ortak anahtarı."
msgstr "Birincil bağımlı için yeniden seçim politikası"
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2197
-#: modules/luci-base/luasrc/view/sysauth.htm:39
+#: modules/luci-base/ucode/template/sysauth.ut:39
#: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
#: modules/luci-compat/luasrc/view/cbi/footer.htm:30
#: modules/luci-compat/luasrc/view/cbi/simpleform.htm:66
msgid "Resolv and Hosts Files"
msgstr "Resolv ve Hosts Dosyaları"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:356
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:361
msgid "Resolv file"
msgstr "Çözme dosyası"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:292
+msgid "Resolve specified FQDNs to an IP."
+msgstr "Bir IP adresine zorlanacak etki alanlarının listesi."
+
#: modules/luci-base/htdocs/luci-static/resources/rpc.js:405
msgid "Resource not found"
msgstr "Kaynak bulunamadı"
msgid "Restore backup"
msgstr "Yedeklemeyi geri yükle"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
msgid ""
"Return answers to DNS queries matching the subnet from which the query was "
"received if multiple IPs are available."
msgctxt "nft snat ip to addr:port"
msgid "Rewrite source to <strong>%h</strong>, port <strong>%h</strong>"
msgstr ""
-"Kaynağı <strong>%h</strong> olarak yeniden yazın, bağlantı noktası "
-"<strong>%h</strong>"
+"Kaynağı <strong>%h</strong> olarak yeniden yazın, bağlantı noktası <strong>"
+"%h</strong>"
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:108
msgctxt "nft snat ip6 to addr:port"
"(and advertise it in WLAN beacons). Only works if the specified network "
"interface is a bridge. Shortens the time-critical reassociation process."
msgstr ""
+"Sağlam Güvenlik Ağı (RSN): WPA2-EAP ağları için dolaşım ön yetkilendirmesine "
+"izin verin (ve bunu WLAN işaretlerinde tanıtın). Yalnızca belirtilen ağ "
+"arabirimi bir köprü ise çalışır. Zaman açısından kritik yeniden "
+"ilişkilendirme sürecini kısaltır."
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:551
msgid "Robustness"
msgstr "Sağlamlık"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:491
msgid ""
"Root directory for files served via TFTP. <em>Enable TFTP server</em> and "
"<em>TFTP server root</em> turn on the TFTP server and serve files from "
msgid "SNR"
msgstr "SNR"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "SRV"
+msgstr "SRV"
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:10
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:38
msgid "SSH Access"
msgid "Server"
msgstr "Sunucu"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:524
msgid "Server address"
msgstr "Sunucu adresi"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:518
msgid "Server name"
msgstr "Sunucu adı"
msgid "Setup routes for proxied IPv6 neighbours."
msgstr "Proxy'li IPv6 komşuları için kurulum yolları."
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
msgid "Severely Errored Seconds (SES)"
msgstr "Ciddi Şekilde Hatalı Saniyeler (SES)"
msgstr "Kısa Başlangıç"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:470
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:18
msgid "Show current backup file list"
msgstr "Mevcut yedekleme dosyası listesini göster"
msgid "Signal / Noise"
msgstr "Sinyal / Gürültü"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
msgid "Signal Attenuation (SATN)"
msgstr "Sinyal Zayıflaması (SATN)"
msgid "Size"
msgstr "Boyut"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:473
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:478
msgid "Size of DNS query cache"
msgstr "DNS sorgu önbelleğinin boyutu"
msgid "Skip from backup files that are equal to those in /rom"
msgstr "Yedekleme dosyalarından /rom'dakilerle aynı olanlarını atla"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:42
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:35
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:46
msgid "Skip to content"
msgstr "İçeriğe geç"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:41
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:34
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:45
msgid "Skip to navigation"
msgstr "Gezintiye atla"
msgid "Some fields are invalid, cannot save values!"
msgstr "Bazı alanlar geçersizdir, değerler kaydedilemez!"
-#: modules/luci-base/luasrc/view/error404.htm:9
+#: modules/luci-base/ucode/template/error404.ut:10
msgid "Sorry, the object you requested was not found."
msgstr "Üzgünüz, istediğiniz nesne bulunamadı."
-#: modules/luci-base/luasrc/view/error500.htm:9
-msgid "Sorry, the server encountered an unexpected error."
-msgstr "Üzgünüz, sunucu beklenmedik bir hatayla karşılaştı."
-
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:442
msgid ""
"Sorry, there is no sysupgrade support present; a new firmware image must be "
msgid "Source port"
msgstr "Kaynak bağlantı noktası"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:505
msgid ""
"Special <abbr title=\"Preboot eXecution Environment\">PXE</abbr> boot "
"options for Dnsmasq."
msgid "Static address"
msgstr "Statik adres"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:598
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:669
msgid ""
"Static leases are used to assign fixed IP addresses and symbolic hostnames "
"to DHCP clients. They are also required for non-dynamic interface "
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:16
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:541
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:929
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:9
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:9
msgid "Status"
msgstr "Durum"
msgid "Strict filtering"
msgstr "Sıkı Filtreleme"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
msgid "Strict order"
msgstr "Katı düzen"
msgid "Submit"
msgstr "Gönder"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
msgid "Suppress logging"
msgstr "Günlük kaydını bastır"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:373
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
msgid "Suppress logging of the routine operation for the DHCP protocol."
msgstr "DHCP protokolü için rutin işlemin günlüğe kaydedilmesini engelle."
msgid "Sync with browser"
msgstr "Tarayıcı ile senkronize et"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:293
+msgid "Syntax: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+msgstr "Sözdizimi: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "Syntax: <code>_service._proto.example.com</code>."
+msgstr "Sözdizimi: <code>_service._proto.example.com</code>."
+
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:26
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:17
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:113
msgid "System log buffer size"
msgstr "Sistem günlüğü arabellek boyutu"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:79
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:86
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:71
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:67
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:81
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:64
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:89
msgid "System running in recovery (initramfs) mode."
msgstr "Kurtarma (initramfs) modunda çalışan sistem."
msgid "TCP:"
msgstr "TCP:"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:490
msgid "TFTP server root"
msgstr "TFTP sunucusu kökü"
msgid "Table"
msgstr "Tablo"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:56
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:66
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:187
"HE.net uç nokta güncelleme yapılandırması değişti, şimdi kullanıcı kimliği "
"yerine düz kullanıcı adını kullanmalısınız!"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:681
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:752
msgid "The IP address %h is already used by another static lease"
msgstr "%h IP adresi zaten başka bir statik kiralama tarafından kullanılıyor"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:761
msgid "The IP address is outside of any DHCP pool address range"
msgstr "IP adresi, herhangi bir DHCP havuzu adres aralığının dışında"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:520
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
msgid "The IP address of the boot server"
msgstr "Önyükleme sunucusunun IP adresi"
"TQ'suna uygulanır, böylece ekstra bir atlamanın maliyetini yayar (paketin "
"alınması ve yeniden iletilmesi gerekir, bu da yayın süresine mal olur)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:514
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
msgid "The hostname of the boot server"
msgstr "Önyükleme sunucusunun ana makine adı"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/switch.js:139
msgid ""
-"The network ports on this device can be combined to several <abbr "
-"title=\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
+"The network ports on this device can be combined to several <abbr title="
+"\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
"communicate directly with each other. <abbr title=\"Virtual Local Area "
"Network\">VLAN</abbr>s are often used to separate different network "
"segments. Often there is by default one Uplink port for a connection to the "
msgid "The selected %s mode is incompatible with %s encryption"
msgstr "Seçilen %s modu, %s şifrelemesiyle uyumlu değil"
-#: modules/luci-base/luasrc/view/csrftoken.htm:11
+#: modules/luci-base/ucode/template/csrftoken.ut:11
msgid "The submitted security token is invalid or already expired!"
msgstr "Gönderilen güvenlik jetonu geçersiz veya süresi zaten dolmuş!"
"kurallarının karıştırılması önerilmez ve eksik trafik filtrelemesine neden "
"olabilir."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:746
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:778
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:817
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:849
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:130
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:179
msgid "There are no active leases"
msgid "There are no changes to apply"
msgstr "Uygulanabilecek değişiklik yok"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:70
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:58
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:55
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:80
msgid ""
"There is no password set on this router. Please configure a root password to "
msgstr "Bu geçerli bir PEM dosyası gibi görünmüyor"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:16
msgid ""
"This is a list of shell glob patterns for matching files and directories to "
"include during sysupgrade. Modified files in /etc/config/ and certain other "
"Bu, tünel aracısı tarafından atanan yerel uç nokta adresidir ve genellikle "
"<code>...:2/64</code> ile biter"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:266
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:268
msgid "This is the only DHCP server in the local network."
msgstr "Bu, yerel ağdaki tek DHCP sunucusudur."
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:440
msgid ""
"To fully configure the local WireGuard interface from an existing (e.g. "
-"provider supplied) configuration file, use the <strong><a class=\"full-"
-"import\" href=\"#\">configuration import</a></strong> instead."
+"provider supplied) configuration file, use the <strong><a class=\"full-import"
+"\" href=\"#\">configuration import</a></strong> instead."
msgstr ""
"Yerel WireGuard arayüzünü mevcut (ör. sağlayıcı tarafından sağlanan) "
"yapılandırma dosyasından tam olarak yapılandırmak için, bunun yerine "
msgid "Unable to determine upstream interface"
msgstr "Yukarı akış arayüzü belirlenemiyor"
-#: modules/luci-base/luasrc/view/error404.htm:11
+#: modules/luci-base/ucode/template/error404.ut:12
msgid "Unable to dispatch"
msgstr "Gönderilemiyor"
msgid "Unable to verify PIN"
msgstr "PIN doğrulanamadı"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
msgid "Unavailable Seconds (UAS)"
msgstr "Kullanılamayan Saniyeler (UAS)"
#: protocols/luci-proto-unet/htdocs/luci-static/resources/protocol/unet.js:8
msgid "Unet"
-msgstr ""
+msgstr "Unet"
#: modules/luci-base/htdocs/luci-static/resources/fs.js:102
msgid "Unexpected reply data format"
"\"Devam\" düğmesine basıldığında, ifname seçenekleri yeniden adlandırılacak "
"ve güncellenmiş yapılandırmayı uygulamak için ağ yeniden başlatılacaktır."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
msgid "Upstream resolvers will be queried in the order of the resolv file."
msgstr ""
"Yukarı akış çözümleyicileri, resolv dosyasındaki sıraya göre sorgulanacaktır."
msgid "Uptime"
msgstr "Çalışma süresi"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
msgid "Use <code>/etc/ethers</code>"
msgstr "<code>/etc/ethers</code> kullanın"
msgid "Use system certificates for inner-tunnel"
msgstr "İç tünel için sistem sertifikalarını kullan"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:599
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:670
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC address</"
"em> identifies the host, the <em>IPv4 address</em> specifies the fixed "
msgid "User key (PEM encoded)"
msgstr "Kullanıcı anahtarı (PEM kodlu)"
-#: modules/luci-base/luasrc/view/sysauth.htm:23
+#: modules/luci-base/ucode/template/sysauth.ut:23
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:112
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:101
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:56
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:18
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:13
msgid "Username"
msgstr "Kullanıcı adı"
#: protocols/luci-proto-vti/htdocs/luci-static/resources/protocol/vti.js:10
msgid "VTI"
-msgstr ""
+msgstr "VTI"
#: protocols/luci-proto-vxlan/htdocs/luci-static/resources/protocol/vxlan.js:10
msgid "VXLAN (RFC7348)"
msgid "VXLANv6 (RFC7348)"
msgstr "VXLANv6 (RFC7348)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
msgid ""
"Validate DNS replies and cache DNSSEC data, requires upstream to support "
"DNSSEC."
msgid "Vendor Class to send when requesting DHCP"
msgstr "DHCP istendiğinde gönderilecek Satıcı Sınıfı"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:408
msgid "Verify unsigned domain responses really come from unsigned domains."
msgstr ""
"İşaretsiz alan adlarının yanıtlarının gerçekten işaretsiz alan adlarından "
msgid "Weak"
msgstr "Güçsüz"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+msgid "Weight"
+msgstr "Ağırlık"
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1029
msgid ""
"When delegating prefixes to multiple downstreams, interfaces with a higher "
msgid "Wireless network is enabled"
msgstr "Kablosuz ağ etkinleştirildi"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:278
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:280
msgid "Write received DNS queries to syslog."
msgstr "Alınan DNS sorgularını sistem günlüğüne yaz."
"dosyalarını devre dışı bırakırsanız, cihazınız erişilemez hale gelebilir!</"
"strong>"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:90
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:97
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
+msgid "You may add multiple records for the same Target."
+msgstr "Aynı Hedef için birden fazla kayıt ekleyebilirsiniz."
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:596
+msgid "You may add multiple records for the same domain."
+msgstr "Aynı alan adı için birden fazla kayıt ekleyebilirsiniz."
+
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:78
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:92
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:73
msgid ""
"You must enable JavaScript in your browser or LuCI will not work properly."
msgid "ZRam Size"
msgstr "ZRam Boyutu"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:558
+msgid "_proto: _tcp, _udp, _sctp, _quic, … ."
+msgstr "_proto: _tcp, _udp, _sctp, _quic, … ."
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:557
+msgid ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Note: while _http is "
+"possible, no browsers support SRV records.)"
+msgstr ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … .(Not: http mümkün olsa "
+"da, hiçbir tarayıcı SRV kayıtlarını desteklemez.)"
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:454
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:152
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:163
msgid "any"
msgid "e.g: dump"
msgstr "örn: dump"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:726
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:756
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:797
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:827
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:101
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:148
msgid "expired"
msgid "unknown"
msgstr "bilinmeyen"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:456
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:724
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:754
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:461
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:795
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:825
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:99
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:146
msgid "unlimited"
msgid "« Back"
msgstr "« Geri"
+#~ msgid "Back to configuration"
+#~ msgstr "Yapılandırmaya dön"
+
+#~ msgid "Close list..."
+#~ msgstr "Listeyi kapat..."
+
+#~ msgid "Internal Server Error"
+#~ msgstr "İç Sunucu Hatası"
+
+#~ msgid "No files found"
+#~ msgstr "Dosya bulunamadı"
+
+#~ msgid "Sorry, the server encountered an unexpected error."
+#~ msgstr "Üzgünüz, sunucu beklenmedik bir hatayla karşılaştı."
+
#~ msgid "Do not forward queries that cannot be answered by public resolvers."
#~ msgstr "Genel ad sunucuları tarafından yanıtlanamayan istekleri iletme."
#~ msgid ""
#~ "<ul style=\"list-style-type:none;\"> <li><strong>server mode</strong>: "
-#~ "Router advertises itself as the default IPv6 gateway via <abbr "
-#~ "title=\"Router Advertisement, ICMPv6 Type 134\">RA</abbr> messages (to "
+#~ "Router advertises itself as the default IPv6 gateway via <abbr title="
+#~ "\"Router Advertisement, ICMPv6 Type 134\">RA</abbr> messages (to "
#~ "<code>ff02::1</code>) and provides <abbr title=\"Prefix Delegation\">PD</"
#~ "abbr> to downstream devices.</li> <li><strong>relay mode</strong>: Router "
#~ "relays <abbr title=\"Router Advertisement, ICMPv6 Type 134\">RA</abbr> "
#~ msgid ""
#~ "<ul style=\"list-style-type:none;\"> <li><strong>server mode</strong>: "
-#~ "Router assigns IPs and delegates prefixes (<abbr title=\"Prefix "
-#~ "Delegation\">PD</abbr>) to downstream interfaces.</li> <li><strong>relay "
-#~ "mode</strong>: Router relays WAN interface config downstream. Helps "
-#~ "support upstream links that lack <abbr title=\"Prefix Delegation\">PD</"
-#~ "abbr>.</li> <li><strong>hybrid mode</strong>: Router does combination of "
-#~ "server+relay.</li></ul>"
+#~ "Router assigns IPs and delegates prefixes (<abbr title=\"Prefix Delegation"
+#~ "\">PD</abbr>) to downstream interfaces.</li> <li><strong>relay mode</"
+#~ "strong>: Router relays WAN interface config downstream. Helps support "
+#~ "upstream links that lack <abbr title=\"Prefix Delegation\">PD</abbr>.</"
+#~ "li> <li><strong>hybrid mode</strong>: Router does combination of server"
+#~ "+relay.</li></ul>"
#~ msgstr ""
#~ "<ul style=\"list-style-type:none;\"> <li> <strong> sunucu modu </strong>: "
#~ "Yönlendirici, IP'leri atar ve önekleri delege eder (<abbr title=\"Prefix "
#~ "Protocol\">NDP </abbr> Proxy'yi IPv6 için Proxy ARP olarak düşünün: aynı "
#~ "IP alt ağına farklı fiziksel donanım segmentleri. <abbr title=\"Neighbour "
#~ "Solicitation, Type 135\">NS </abbr> ve <abbr title=\"Neighbour "
-#~ "Advertisement, Type 136\">NA </abbr> mesajlarından oluşur. <abbr "
-#~ "title=\"Neighbour Discovery Protocol\"> NDP </abbr>-Proxy, "
-#~ "boole<code>master</code> ile işaretlenmiş bir arayüzde <abbr "
-#~ "title=\"Neighbour Solicitation, Type 135\"> NS </abbr> için dinler 1 "
-#~ "olarak (yani yukarı akış), daha sonra sonunda bir <abbr title=\"Neighbour "
-#~ "Advertisement, Type 136\"> NA </abbr> mesajı göndermeden önce bu hedef IP "
-#~ "için ikincil / dahili arayüzleri sorgular. <abbr title=\"Neighbour "
-#~ "Discovery Protocol\"> NDP </abbr>, IPv6 için etkili bir ARP'dir. <abbr "
-#~ "title=\"Neighbour Solicitation, Type 135\"> NS </abbr> ve <abbr "
-#~ "title=\"Neighbour Advertisement, Type 136\"> NA </abbr> ulaşılabilirliği "
-#~ "ve bir bağlantıdaki yinelenen adresleri algılar, kendileri de SLAAC için "
-#~ "bir önkoşuldur autoconfig. <br /> <ul style=\"list-style-type:none;\"> "
-#~ "<li> <strong>devre dışı</strong>: <abbr title=\"Neighbour Discovery "
-#~ "Protocol\"> NDP </abbr> mesajı yok <code>ndproxy_slave</code> gerçek "
-#~ "arayüzler aracılığıyla proxy yapılır. </li> <li> <strong> aktarma modu </"
-#~ "strong>: Proxy'ler <abbr title=\"Neighbour Discovery Protocol\"> NDP </"
-#~ "abbr> mesajları <code> master</code> ile <code> ndproxy_slave </code> "
-#~ "gerçek arayüzleri. <abbr title=\"Prefix Delegation\"> PD </abbr> olmadan "
+#~ "Advertisement, Type 136\">NA </abbr> mesajlarından oluşur. <abbr title="
+#~ "\"Neighbour Discovery Protocol\"> NDP </abbr>-Proxy, boole<code>master</"
+#~ "code> ile işaretlenmiş bir arayüzde <abbr title=\"Neighbour Solicitation, "
+#~ "Type 135\"> NS </abbr> için dinler 1 olarak (yani yukarı akış), daha "
+#~ "sonra sonunda bir <abbr title=\"Neighbour Advertisement, Type 136\"> NA </"
+#~ "abbr> mesajı göndermeden önce bu hedef IP için ikincil / dahili "
+#~ "arayüzleri sorgular. <abbr title=\"Neighbour Discovery Protocol\"> NDP </"
+#~ "abbr>, IPv6 için etkili bir ARP'dir. <abbr title=\"Neighbour "
+#~ "Solicitation, Type 135\"> NS </abbr> ve <abbr title=\"Neighbour "
+#~ "Advertisement, Type 136\"> NA </abbr> ulaşılabilirliği ve bir "
+#~ "bağlantıdaki yinelenen adresleri algılar, kendileri de SLAAC için bir "
+#~ "önkoşuldur autoconfig. <br /> <ul style=\"list-style-type:none;\"> <li> "
+#~ "<strong>devre dışı</strong>: <abbr title=\"Neighbour Discovery Protocol"
+#~ "\"> NDP </abbr> mesajı yok <code>ndproxy_slave</code> gerçek arayüzler "
+#~ "aracılığıyla proxy yapılır. </li> <li> <strong> aktarma modu </strong>: "
+#~ "Proxy'ler <abbr title=\"Neighbour Discovery Protocol\"> NDP </abbr> "
+#~ "mesajları <code> master</code> ile <code> ndproxy_slave </code> gerçek "
+#~ "arayüzleri. <abbr title=\"Prefix Delegation\"> PD </abbr> olmadan "
#~ "sağlayıcı bağlantılarını ve güvenlik duvarı proxy'si olan ana "
#~ "bilgisayarları desteklemeye yardımcı olur. </li> <li> <strong> karma mod "
#~ "</strong>: arayüz boole <code>master</code> 1'dir. </li></ul>"
#~ "in <abbr title=\"Router Advertisement, ICMPv6 Type 134\">RA</abbr> "
#~ "messages. Default is 0 (<code>0</code>). Min 1280."
#~ msgstr ""
-#~ "<abbr title=\"Maximum Transmission Unit\"> MTU </abbr> <abbr "
-#~ "title=\"Router Advertisement, ICMPv6 Type 134\"> RA </abbr> mesajlarında "
+#~ "<abbr title=\"Maximum Transmission Unit\"> MTU </abbr> <abbr title="
+#~ "\"Router Advertisement, ICMPv6 Type 134\"> RA </abbr> mesajlarında "
#~ "yayınlanacaktır. Varsayılan 0'dır (<code> 0 </code>). En az 1280."
#~ msgid ""
-#~ "The maximum hops to be published in <abbr title=\"Router "
-#~ "Advertisement\">RA</abbr> messages.<br />Default is 0 (<code>0</code>), "
-#~ "meaning unspecified. Max 255."
+#~ "The maximum hops to be published in <abbr title=\"Router Advertisement"
+#~ "\">RA</abbr> messages.<br />Default is 0 (<code>0</code>), meaning "
+#~ "unspecified. Max 255."
#~ msgstr ""
#~ "<abbr title=\"Router Advertisement\"> RA </abbr> mesajlarında "
#~ "yayınlanacak maksimum atlama sayısı.<br /> Varsayılan 0'dır (<code> 0 </"
msgid "<abbr title=\"Router Advertisement\">RA</abbr>-Service"
msgstr "<abbr title=\"Router Advertisement\">RA</abbr>-Служба"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:294
+msgid ""
+"<code>/#/</code> matches any domain. <code>/example.com/</code> returns "
+"NXDOMAIN."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+msgid ""
+"<code>/example.com/#</code> returns NULL addresses (<code>0.0.0.0</code> and "
+"<code>::</code>) for example.com and its subdomains."
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:87
msgctxt "nft relational \">\" operator expression"
msgid "<var>%s</var> greater than <strong>%s</strong>"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1511
msgid "ATM (Asynchronous Transfer Mode)"
msgstr ""
-"<abbr title=\"Asynchronous Transfer Mode — асинхронний режим "
-"передавання\">ATM</abbr>"
+"<abbr title=\"Asynchronous Transfer Mode — асинхронний режим передавання"
+"\">ATM</abbr>"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1532
msgid "ATM Bridges"
#: protocols/luci-proto-ppp/htdocs/luci-static/resources/protocol/pppoa.js:70
msgid "ATM Virtual Path Identifier (VPI)"
msgstr ""
-"Ідентифікатор віртуального шляху ATM (<abbr title=\"Virtual Path "
-"Identifier\">VPI</abbr>)"
+"Ідентифікатор віртуального шляху ATM (<abbr title=\"Virtual Path Identifier"
+"\">VPI</abbr>)"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1532
msgid ""
msgid "ATM device number"
msgstr "Номер ATM-пристрою"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
msgid "ATU-C System Vendor ID"
msgstr "Ідентифікатор постачальника системи ATU-C"
msgid "Absent Interface"
msgstr "Відсутній інтерфейс"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:320
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
msgid "Accept DNS queries only from hosts whose address is on a local subnet."
msgstr ""
"Обмежувати службу DNS інтерфейсами підмереж, на яких ми обслуговуємо DNS."
msgid "Add key"
msgstr "Додати ключ"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:410
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:415
msgid "Add local domain suffix to names served from hosts files."
msgstr "Додавати суфікс локального домену до імен, отриманих із файлів hosts"
msgid "Add to Whitelist"
msgstr "Додати до білого списку"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:367
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
msgid "Additional hosts files"
msgstr "Додаткові файли hosts"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:417
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
msgid "Additional servers file"
msgstr "Додаткові файли servers"
msgid "Address to access local relay bridge"
msgstr "Адреса для доступу до мосту локального ретранслятора"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:289
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:291
msgid "Addresses"
msgstr "Адреси"
msgid "Aggregate Originator Messages"
msgstr "Складати повідомлення відправників"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
msgid "Aggregate Transmit Power (ACTATP)"
msgstr "Сукупна потужність передавача (ACTATP)"
msgid "Alias of \"%s\""
msgstr "Псевдонім \"%s\""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
msgid "All servers"
msgstr "Усі сервери"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
msgid ""
"Allocate IP addresses sequentially, starting from the lowest available "
"address."
msgstr "Виділяти IP-адреси послідовно, починаючи з найнижчої доступної адреси"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
msgid "Allocate IPs sequentially"
msgstr "Виділяти IP послідовно"
msgid "Allow listed only"
msgstr "Дозволити тільки зазначені"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
msgid "Allow localhost"
msgstr "Дозволити локальний вузол"
msgid "Always on (kernel: default-on)"
msgstr "Завжди ввімкнено (ядро: default-on)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:538
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
msgid "Always send DHCP Options. Sometimes needed, with e.g. PXELinux."
msgstr ""
"Завжди надсилайте параметри DHCP. Іноді це необхідно, напр. для PXELinux."
msgstr "Необов'язковий, короткий опис для цього пристрою"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1484
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
msgid "Annex"
msgstr "Annex"
msgid "Any zone"
msgstr "Будь-яка зона"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:532
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
msgid "Apply DHCP Options to this net. (Empty = all clients)."
msgstr ""
"Застосувати параметри DHCP до цієї мережі. (якщо порожньо = усі клієнти)."
msgid "Authentication Type"
msgstr "Тип автентифікації"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:265
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:267
msgid "Authoritative"
msgstr "Надійний"
-#: modules/luci-base/luasrc/view/sysauth.htm:17
+#: modules/luci-base/ucode/template/sysauth.ut:17
#: themes/luci-theme-bootstrap/htdocs/luci-static/resources/view/bootstrap/sysauth.js:11
msgid "Authorization Required"
msgstr "Потрібна авторизація"
msgid "Avoid Bridge Loops"
msgstr "Уникати мостових петель"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
msgid ""
"Avoid uselessly triggering dial-on-demand links (filters SRV/SOA records and "
"names with underscores)."
msgid "Back to Overview"
msgstr "Повернутися до переліку"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:48
-msgid "Back to configuration"
-msgstr "Повернутися до конфігурування"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:826
msgid "Back to peer configuration"
msgstr ""
msgstr "Рез. копіювання / Перепрош."
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:351
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:12
msgid "Backup file list"
msgstr "Список файлів резервних копій"
msgstr "Інтервал маяка"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:352
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:46
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
msgid "Bind NTP server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:326
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:331
msgid "Bind dynamically to interfaces rather than wildcard address."
msgstr ""
"Прив'язувати динамічно до інтерфейсів, а не за шаблоном адреси (типово для "
msgid "Bind interface"
msgstr "Прив'язка інтерфейсу"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:595
+msgid ""
+"Bind service records to a domain name: specify the location of services."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:556
+msgid ""
+"Bind service records to a domain name: specify the location of services. See "
+"<a href=\"%s\">RFC2782</a>."
+msgstr ""
+
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gre.js:59
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gretap.js:64
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/grev6.js:64
msgid "CLAT configuration failed"
msgstr "Помилка конфігурації <abbr title=\"464XLAT\">CLAT</abbr>"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
+msgid "CNAME or fqdn"
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/processes.js:72
msgid "CPU usage (%)"
msgstr "Завантаження ЦП, %"
"Закривати неактивні з'єднання після вказаного інтервалу часу (секунди). Для "
"утримання неактивних з'єднань використовуйте 0"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:49
-msgid "Close list..."
-msgstr "Згорнути список..."
-
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:44
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:63
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2184
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:391
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:352
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:355
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:72
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:66
msgid "Collecting data..."
msgstr "Збирання даних..."
msgid "Compute outgoing checksum (optional)."
msgstr "Обчислити вихідну контрольну суму (необов’язково)."
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Config File"
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4375
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
msgid "Configuration"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:764
msgid ""
-"Configures the operation mode of the <abbr title=\"Router "
-"Advertisement\">RA</abbr> service on this interface."
+"Configures the operation mode of the <abbr title=\"Router Advertisement"
+"\">RA</abbr> service on this interface."
msgstr ""
"Налаштовує режим роботи служби <abbr title=\"Router Advertisement\">RA</"
"abbr> на цьому інтерфейсі."
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/leds.js:59
msgid ""
-"Customizes the behaviour of the device <abbr title=\"Light Emitting "
-"Diode\">LED</abbr>s if possible."
+"Customizes the behaviour of the device <abbr title=\"Light Emitting Diode"
+"\">LED</abbr>s if possible."
msgstr ""
-"Налаштування поведінки <abbr title=\"Light Emitting Diode — "
-"світлодіод\">LED</abbr>, якщо це можливо."
+"Налаштування поведінки <abbr title=\"Light Emitting Diode — світлодіод"
+"\">LED</abbr>, якщо це можливо."
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:673
msgid "DAD transmits"
msgid "DAE-Secret"
msgstr "Секрет DAE"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:530
msgid "DHCP Options"
msgstr "Параметри DHCP"
msgid "DNS"
msgstr "DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:282
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:284
msgid "DNS forwardings"
msgstr "Переспрямовування запитів DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:445
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:450
msgid "DNS query port"
msgstr ""
"Порт <abbr title=\"Domain Name System — система доменних імен\">DNS</abbr>-"
msgid "DNS search domains"
msgstr "Домени пошуку DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:443
msgid "DNS server port"
msgstr ""
"Порт <abbr title=\"Domain Name System — система доменних імен\">DNS</abbr>-"
msgid "DNS-Label / FQDN"
msgstr "DNS-мітка / FQDN"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
msgid "DNSSEC"
msgstr "DNSSEC"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:407
msgid "DNSSEC check unsigned"
msgstr "Перевірка непідписаного DNSSEC"
msgstr "AFTR-адреса DS-Lite"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1481
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:44
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:45
msgid "DSL"
msgstr "DSL"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:14
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:15
msgid "DSL Status"
msgstr "Стан DSL"
"індикації доправлення трафіку\">DTIM</abbr>"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:59
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:700
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:771
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:136
msgid "DUID"
msgstr "DUID"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
msgid "Data Rate"
msgstr "Швидк. передавання"
msgid "Disassociate On Low Acknowledgement"
msgstr "Роз'єднувати за низького підтвердження"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:302
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
msgid ""
"Discard upstream responses containing <a href=\"%s\">RFC1918</a> addresses."
msgstr ""
-"Відкиньте відповіді вгору за течією, що містять адреси <a "
-"href=\"%s\">RFC1918</a>."
+"Відкиньте відповіді вгору за течією, що містять адреси <a href=\"%s"
+"\">RFC1918</a>."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:198
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:723
msgid "Distributed ARP Table"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:548
msgid ""
"Dnsmasq instance to which this boot section is bound. If unspecified, the "
"section is valid for all dnsmasq instances."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:246
msgid ""
-"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</"
-"abbr> forwarder."
+"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</abbr> "
+"forwarder."
msgstr ""
"Dnsmasq являє собою комбінований <abbr title=\"Dynamic Host Configuration "
"Protocol — протокол динамічної конфігурації вузла\">DHCP</abbr>-сервер і "
"для брандмауерів <abbr title=\"Network Address Translation — перетворення "
"(трансляція) мережевих адрес\">NAT</abbr>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:419
msgid "Do not cache negative replies, e.g. for non-existent domains."
msgstr "Не кешувати негативні відповіді, наприклад, за неіснуючих доменів"
msgid "Do not create host route to peer (optional)."
msgstr "Не створювати маршрут до вузла (необов'язково)."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:262
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:264
msgid "Do not forward DNS queries without dots or domain parts."
msgstr ""
-"Не переспрямовувати <abbr title=\"Domain Name System — система доменних "
-"імен\">DNS</abbr>-запити без <abbr title=\"Domain Name System — система "
-"доменних імен\">DNS</abbr>-імені"
+"Не переспрямовувати <abbr title=\"Domain Name System — система доменних імен"
+"\">DNS</abbr>-запити без <abbr title=\"Domain Name System — система доменних "
+"імен\">DNS</abbr>-імені"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
msgid "Do not forward reverse lookups for local networks."
msgstr ""
"Не переспрямовувати зворотні <abbr title=\"Domain Name System — система "
"доменних імен\">DNS</abbr>-запити для локальних мереж"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:339
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
msgid "Do not listen on the specified interfaces."
msgstr "Перешкоджати прослуховуванню цих інтерфейсів."
msgid "Do you want to replace the current keys?"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:593
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:606
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:664
msgid "Domain"
msgstr "Домен"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:261
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:263
msgid "Domain required"
msgstr "Потрібен домен"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:316
msgid "Domain whitelist"
msgstr "\"Білий список\" доменів"
"Enable <abbr title=\"Internet Group Management Protocol\">IGMP</abbr> "
"snooping"
msgstr ""
-"Увімкнути відстеження <abbr title=\"Internet Group Management "
-"Protocol\">IGMP</abbr>"
+"Увімкнути відстеження <abbr title=\"Internet Group Management Protocol"
+"\">IGMP</abbr>"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:518
msgid "Enable <abbr title=\"Spanning Tree Protocol\">STP</abbr>"
msgid "Enable Single DES"
msgstr "Увімкнути Single DES"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:480
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
msgid "Enable TFTP server"
msgstr "Увімкнути TFTP-сервер"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/uhttpd.js:14
msgid ""
-"Enable automatic redirection of <abbr title=\"Hypertext Transfer "
-"Protocol\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol "
-"Secure\">HTTPS</abbr> port."
+"Enable automatic redirection of <abbr title=\"Hypertext Transfer Protocol"
+"\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol Secure"
+"\">HTTPS</abbr> port."
msgstr ""
"Увімкнути автоматичне перенаправлення <abbr title=\"Hypertext Transfer "
"Protocol\">HTTP</abbr> запитів до <abbr title=\"Hypertext Transfer Protocol "
msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets."
msgstr "Увімкнути прапорець DF (Don't Fragment) для інкапсульованих пакетів."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:481
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
msgid "Enable the built-in single-instance TFTP server."
msgstr "Увімкнути вбудований одноекземплярний TFTP-сервер."
msgid "Error getting PublicKey"
msgstr "Помилка отримання публічного ключа"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
msgid "Errored seconds (ES)"
msgstr "Секунд з помилками (<abbr title=\"Errored seconds\">ES</abbr>)"
msgid "Every second (fast, 1)"
msgstr "Щосекунди (fast, 1)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:343
msgid "Exclude interfaces"
msgstr "Виключити інтерфейси"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
msgid ""
"Exempt <code>127.0.0.0/8</code> and <code>::1</code> from rebinding checks, "
"e.g. for RBL services."
msgid "Existing device"
msgstr "Існуючий пристрій"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:409
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
msgid "Expand hosts"
msgstr "Розширення вузлів"
msgid "File"
msgstr "Файл"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
msgid ""
"File listing upstream resolvers, optionally domain-specific, e.g. "
"<code>server=1.2.3.4</code>, <code>server=/domain/1.2.3.4</code>."
msgid "File not accessible"
msgstr "Файл недоступний"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:354
msgid "File to store DHCP lease information."
msgstr ""
"Файл, де зберігаються видані <abbr title=\"Dynamic Host Configuration "
"Protocol — протокол динамічного конфігурування вузла\">DHCP</abbr>-оренди"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:362
msgid "File with upstream resolvers."
msgstr ""
"Локальний <abbr title=\"Domain Name System — система доменних імен\">DNS</"
"abbr>-файл"
#: modules/luci-base/htdocs/luci-static/resources/ui.js:2846
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:507
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:512
msgid "Filename"
msgstr "Ім'я файлу"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:493
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:498
msgid "Filename of the boot image advertised to clients."
msgstr "І'мя завантажувального образу, що оголошується клієнтам"
msgid "Filesystem"
msgstr "Файлова система"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
msgid "Filter private"
msgstr "Фільтрувати приватні"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
msgid "Filter useless"
msgstr "Фільтрувати непридатні"
msgid "Firmware Version"
msgstr "Версія прошивки"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:446
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:451
msgid "Fixed source port for outbound DNS queries."
msgstr "Фіксований порт для вихідних DNS-запитів"
msgid "Flashing…"
msgstr "Прошиваємо…"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:686
msgid "Force"
msgstr "Примусово"
msgid "Force use of NAT-T"
msgstr "Примусово використовувати NAT-T"
-#: modules/luci-base/luasrc/view/csrftoken.htm:8
+#: modules/luci-base/ucode/template/csrftoken.ut:8
msgid "Form token mismatch"
msgstr "Неузгодженість маркера форми"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:919
msgid ""
-"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr "
-"title=\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr "
-"title=\"Neighbour Advertisement, Type 136\">NA</abbr> messages between the "
-"designated master interface and downstream interfaces."
+"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr title="
+"\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr title=\"Neighbour "
+"Advertisement, Type 136\">NA</abbr> messages between the designated master "
+"interface and downstream interfaces."
msgstr ""
"Пересилати <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr "
-"title=\"Neighbour Solicitation, Type 135\">NS</abbr> та <abbr "
-"title=\"Neighbour Advertisement, Type 136\">NA</abbr> повідомлення між "
-"пÑ\80изнаÑ\87еним майÑ\81Ñ\82еÑ\80-Ñ\96нÑ\82еÑ\80Ñ\84ейÑ\81ом Ñ\82а downstream Ñ\96нÑ\82еÑ\80Ñ\84ейÑ\81ами."
+"title=\"Neighbour Solicitation, Type 135\">NS</abbr> та <abbr title="
+"\"Neighbour Advertisement, Type 136\">NA</abbr> повідомлення між призначеним "
+"майстер-інтерфейсом та downstream інтерфейсами."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:770
msgid ""
"Пересилати повідомлення DHCPv6 між призначеним майстер-інтерфейсом та "
"downstream інтерфейсами."
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
msgid "Forward Error Correction Seconds (FECS)"
msgstr "Секунди прямого коригування помилок (FECS)"
msgid "Global network options"
msgstr "Глобальні параметри мережі"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:82
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:74
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:70
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:84
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:67
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:92
msgid "Go to firmware upgrade..."
msgstr "Перейти до оновлення прошивки..."
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:72
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:64
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:60
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:57
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:82
msgid "Go to password configuration..."
msgstr "Перейти до конфігурування пароля..."
msgid "Hang Up"
msgstr "Призупинити"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
msgid "Header Error Code Errors (HEC)"
msgstr ""
"Помилки коду помилок заголовка (<abbr title=\"Header Error Control\">HEC</"
msgid "Host expiry timeout"
msgstr "Тайм-аут вузла"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
msgid "Host requests this filename from the boot server."
msgstr "Хост запитує цей файл з сервера завантаження."
msgstr "Зміст тегу Host-Uniq"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:38
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:607
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:678
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:54
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:87
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:135
msgid "Hostnames"
msgstr "Імена вузлів"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:551
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:622
msgid ""
"Hostnames are used to bind a domain name to an IP address. This setting is "
"redundant for hostnames already configured with static leases, but it can be "
msgid "IP Protocol"
msgstr "IP-протокол"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:260
msgid "IP Sets"
msgstr "Списки IP"
msgid "IP Type"
msgstr "Тип IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:563
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:634
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:178
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:204
msgid "IP address"
msgid "IP protocol"
msgstr "IP-протокол"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:660
msgid "IP set"
msgstr "Список IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:300
msgid "IP sets"
msgstr "Списки IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:437
msgid "IPs to override with NXDOMAIN"
msgstr "Відкидати підробки NX-домену"
#: modules/luci-base/htdocs/luci-static/resources/protocol/static.js:178
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:736
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:88
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:164
msgid "IPv4 address"
msgid "IPv6 suffix"
msgstr "Суфікс IPv6"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:706
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:777
msgid "IPv6 suffix (hex)"
msgstr "<abbr title=\"Інтернет-протокол версії 6\">IPv6</abbr>-суфікс (hex)"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:340
msgid ""
"If your physical memory is insufficient unused data can be temporarily "
-"swapped to a swap-device resulting in a higher amount of usable <abbr "
-"title=\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a "
-"very slow process as the swap-device cannot be accessed with the high "
-"datarates of the <abbr title=\"Random Access Memory\">RAM</abbr>."
+"swapped to a swap-device resulting in a higher amount of usable <abbr title="
+"\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a very "
+"slow process as the swap-device cannot be accessed with the high datarates "
+"of the <abbr title=\"Random Access Memory\">RAM</abbr>."
msgstr ""
"Якщо фізичної пам'яті недостатньо, невикористовувані дані можуть тимчасово "
"витіснятися на своп-пристрій, у результаті чого збільшується кількість "
"своп-пристрої не можуть бути доступні з такою високою швидкістю, як <abbr "
"title=\"Random Access Memory\">RAM</abbr>."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:363
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:368
msgid "Ignore <code>/etc/hosts</code>"
msgstr "Ігнорувати <code>/etc/hosts</code>"
msgid "Ignore interface"
msgstr "Ігнорувати интерфейс"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:352
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
msgid "Ignore resolv file"
msgstr "Ігнорувати файли resolv"
"order to avoid broadcast loops that can bring the entire LAN to a standstill."
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:13
+#: modules/luci-base/ucode/template/csrftoken.ut:13
msgid ""
"In order to prevent unauthorized access to the system, your request has been "
"blocked. Click \"Continue »\" below to return to the previous page."
msgid "Install protocol extensions..."
msgstr "Інсталяція розширень протоколу..."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:547
msgid "Instance"
msgstr "Екземпляр"
msgid "Internal"
msgstr "Внутрішній"
-#: modules/luci-base/luasrc/view/error500.htm:8
-msgid "Internal Server Error"
-msgstr "Внутрішня помилка сервера"
-
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:285
msgid "Interval For Sending Learning Packets"
msgstr "Інтервал відсилання навчальних (learning) пакетів"
msgid "Invalid hexadecimal value"
msgstr "Неприпустиме шістнадцяткове значення"
-#: modules/luci-base/luasrc/view/sysauth.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:37
+#: modules/luci-base/ucode/template/sysauth.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:32
msgid "Invalid username and/or password! Please try again."
msgstr "Неприпустиме ім'я користувача та/або пароль! Спробуйте ще раз."
"Схоже, що ви намагаєтеся прошити образ, який не вміщається до флеш-пам'яті! "
"Перевірте файл образу!"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:89
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:96
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:77
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:91
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:72
msgid "JavaScript required!"
msgstr "Потрібен JavaScript!"
msgid "Language and Style"
msgstr "Мова та стиль"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:560
+msgid ""
+"Larger weights (of the same prio) are given a proportionately higher "
+"probability of being selected."
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:575
msgid "Last member interval"
msgstr "Інтервал останнього членства"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
msgid "Latency"
msgstr "Затримка"
msgid "Learn routes"
msgstr "Вивчати маршрути"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:348
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:353
msgid "Lease file"
msgstr "Файл оренд"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:697
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:768
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:679
msgid "Lease time"
msgstr "Час оренди"
msgid "Limit"
msgstr "Межа"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
msgid "Line Attenuation (LATN)"
msgstr "Затухання лінії"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
msgid "Line Mode"
msgstr "Режим лінії"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:17
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
msgid "Line State"
msgstr "Стан лінії"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
msgid "Line Uptime"
msgstr "Час безперервної роботи лінії"
msgid "Link layer header bits %d-%d"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
msgid "List of IP addresses to convert into NXDOMAIN responses."
msgstr "Список доменів, які підтримують результати підробки NX-доменів"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:296
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:581
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:652
msgid "List of IP sets to populate with the specified domain IPs."
msgstr "Список IP-наборів для заповнення вказаними IP-адресами доменів."
msgstr ""
"Список власників ключів R0 у тому ж домені мобільності. <br />Формат: MAC-"
"адреса,NAS-ідентифікатор,128-бітний ключ у вигляді шістнадцяткового рядка. "
-"<br />Цей список використовується для відображення <abbr "
-"title=\"ідентифікатор власника ключа R0\">R0KH-ID</abbr> (NAS-ідентифікатор) "
-"на MAC-адреси призначення при запиті ключа PMK-R1 від <abbr title=\"власник "
+"<br />Цей список використовується для відображення <abbr title="
+"\"ідентифікатор власника ключа R0\">R0KH-ID</abbr> (NAS-ідентифікатор) на "
+"MAC-адреси призначення при запиті ключа PMK-R1 від <abbr title=\"власник "
"ключа R0\">R0KH</abbr>, як станції, що була використана під час початкової "
"асоціації домену мобільності."
"Список власників ключів R1 у тому ж домені мобільності. <br />Формат: MAC-"
"адреса,<abbr title=\"ідентифікатор власника ключа R1\">R1KH-ID</abbr> у "
"формі 6 октетів з двокрапками,128-бітний ключ у вигляді шістнадцяткового "
-"рядка. <br />Цей список використовується для відображення <abbr "
-"title=\"ідентифікатор власника ключа R1\">R1KH-ID</abbr> на MAC-адреси "
-"призначення при передаванні ключа PMK-R1 від <abbr title=\"власник ключа "
-"R0\">R0KH</abbr>. Це також список авторизованих <abbr title=\"власник ключа "
-"R1\">R1KH</abbr> у формі <abbr title=\"Message Digest — дайджест "
-"повідомлення\">MD</abbr>, які можуть запитувати ключі PMK-R1."
+"рядка. <br />Цей список використовується для відображення <abbr title="
+"\"ідентифікатор власника ключа R1\">R1KH-ID</abbr> на MAC-адреси призначення "
+"при передаванні ключа PMK-R1 від <abbr title=\"власник ключа R0\">R0KH</"
+"abbr>. Це також список авторизованих <abbr title=\"власник ключа R1\">R1KH</"
+"abbr> у формі <abbr title=\"Message Digest — дайджест повідомлення\">MD</"
+"abbr>, які можуть запитувати ключі PMK-R1."
#: protocols/luci-proto-pppossh/htdocs/luci-static/resources/protocol/pppossh.js:82
msgid "List of SSH key files for auth"
msgstr "Список файлів SSH-ключів для авторизації"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:317
msgid "List of domains to allow RFC1918 responses for."
msgstr "Список доменів, для яких дозволено RFC1918-відповіді"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:290
-msgid "List of domains to force to an IP address."
-msgstr "Список доменів для примусового перетворення у IP-адреси."
-
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:283
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:285
msgid "List of upstream resolvers to forward queries to."
msgstr ""
"Список <abbr title=\"Domain Name System\">DNS</abbr>-серверів для "
msgid "Listen Port"
msgstr "Порти прослуховування"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:332
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:337
msgid "Listen interfaces"
msgstr "Інтерфейси прослуховування"
"Прослуховувати тільки на цьому інтерфейсі, якщо <em>невизначено</em> – на "
"всіх"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:333
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
msgid ""
"Listen only on the specified interfaces, and loopback if not excluded "
"explicitly."
msgid "ListenPort setting is invalid"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:439
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:444
msgid "Listening port for inbound DNS queries."
msgstr "Порт прослуховування для вхідних DNS-запитів."
msgstr "Завантаження вмісту каталогу…"
#: modules/luci-base/htdocs/luci-static/resources/luci.js:1942
-#: modules/luci-base/luasrc/view/view.htm:4
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:45
+#: modules/luci-base/ucode/template/view.ut:4
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:40
msgid "Loading view…"
msgstr "Завантаження подання…"
msgid "Local ULA"
msgstr "Локальний ULA"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:273
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:275
msgid "Local domain"
msgstr "Локальний домен"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:274
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:276
msgid "Local domain suffix appended to DHCP names and hosts file entries."
msgstr ""
"Суфікс локального домену додається до DHCP-імен вузлів та записів з файлу "
"hosts"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:269
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:271
msgid "Local server"
msgstr "Локальний сервер"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:319
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:324
msgid "Local service only"
msgstr "Тільки локальна служба"
msgid "Local wireguard key"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
msgid "Localise queries"
msgstr "Локалізувати запити"
msgid "Log output level"
msgstr "Рівень виведення інформаціі до журналу"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:277
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:279
msgid "Log queries"
msgstr "Журнал запитів"
msgid "Logical network to which the tunnel will be added (bridged) (optional)."
msgstr "Логічна мережа, до якої буде додано тунель (міст) (необов'язково)."
-#: modules/luci-base/luasrc/view/sysauth.htm:38
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:41
+#: modules/luci-base/ucode/template/sysauth.ut:38
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:36
msgid "Login"
msgstr "Увійти"
msgid "Loose filtering"
msgstr "Слабка фільтрація"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
msgid "Loss of Signal Seconds (LOSS)"
msgstr ""
"Втрата сигналу в секундах (<abbr title=\"Loss of Signal Seconds\">LOSS</"
msgid "Lowest leased address as offset from the network address."
msgstr "Найнижча орендована адреса."
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/footer.ut:12
+msgid "Lua compatibility mode active"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:48
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:83
msgid "MAC"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:591
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:40
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:619
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1164
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2177
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:56
msgid "MTU"
msgstr "MTU"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:259
+msgid "MX"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:303
msgid ""
"Make sure to clone the root filesystem using something like the commands "
"Максимальний інтервал <abbr title=\"Router Advertisement\">RA</abbr> "
"повідомлень"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
msgid "Max. Attainable Data Rate (ATTNDR)"
msgstr "Макс. досяжна швидкість передачі даних (ATTNDR)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:457
msgid "Max. DHCP leases"
msgstr ""
"<abbr title=\"Максимум\">Макс.</abbr> оренд <abbr title=\"Dynamic Host "
"Configuration Protocol — протокол динамічної конфігурації вузла\">DHCP</abbr>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:459
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:464
msgid "Max. EDNS0 packet size"
msgstr ""
-"<abbr title=\"Максимальний\">Макс.</abbr> розмір пакета <abbr "
-"title=\"Extension Mechanisms for Domain Name System — Механізми розширень "
-"длÑ\8f доменноÑ\97 Ñ\81иÑ\81Ñ\82еми Ñ\96мен\">EDNS0</abbr>"
+"<abbr title=\"Максимальний\">Макс.</abbr> розмір пакета <abbr title="
+"\"Extension Mechanisms for Domain Name System — Механізми розширень для "
+"доменної системи імен\">EDNS0</abbr>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:466
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:471
msgid "Max. concurrent queries"
msgstr "<abbr title=\"Максимум\">Макс.</abbr> одночасних запитів"
msgid "Maximum allowed Listen Interval"
msgstr "Максимальний дозволений інтервал прослуховування"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:453
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:458
msgid "Maximum allowed number of active DHCP leases."
msgstr "Максимально допустима кількість активних оренд DHCP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:467
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:472
msgid "Maximum allowed number of concurrent DNS queries."
msgstr "Максимально допустима кількість одночасних DNS-запитів"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:460
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:465
msgid "Maximum allowed size of EDNS0 UDP packets."
msgstr "Максимально допустимий розмір UDP-пакетів EDNS.0"
"Maximum time allowed between sending unsolicited <abbr title=\"Router "
"Advertisement, ICMPv6 Type 134\">RA</abbr>. Default is 600 seconds."
msgstr ""
-"Максимальний час, дозволений між відправкою незатребуваних <abbr "
-"title=\"Router Advertisement, ICMPv6 Type 134\">RA</abbr>. За промовчанням - "
-"600 секунд."
+"Максимальний час, дозволений між відправкою незатребуваних <abbr title="
+"\"Router Advertisement, ICMPv6 Type 134\">RA</abbr>. За промовчанням - 600 "
+"секунд."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:947
msgid "Maximum transmit power"
msgstr "Максимальна потужність"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:394
msgid "May prevent VoIP or other services from working."
msgstr ""
"Minimum time allowed between sending unsolicited <abbr title=\"Router "
"Advertisement, ICMPv6 Type 134\">RA</abbr>. Default is 200 seconds."
msgstr ""
-"Мінімальний час, дозволений між відправкою незатребуваних <abbr "
-"title=\"Router Advertisement, ICMPv6 Type 134\">RA</abbr>. За промовчанням - "
-"200 секунд."
+"Мінімальний час, дозволений між відправкою незатребуваних <abbr title="
+"\"Router Advertisement, ICMPv6 Type 134\">RA</abbr>. За промовчанням - 200 "
+"секунд."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/switch.js:204
msgid "Mirror monitor port"
msgid "Name of the tunnel device"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:46
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:39
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:50
msgid "Navigation"
msgstr "Навігація"
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:10
+msgid "Nebula Network"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:653
msgid "Neighbour cache validity"
msgstr "Дійсність кешу сусідів"
msgid "Network address"
msgstr "Мережева адреса"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:492
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:497
msgid "Network boot image"
msgstr "Образ для мережевого завантаження"
msgid "Network interface"
msgstr "Мережевий інтерфейс"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:536
msgid "Network-ID"
msgstr "Network-ID"
msgid "Never"
msgstr "Ніколи"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:270
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:272
msgid ""
"Never forward matching domains and subdomains, resolve from DHCP or hosts "
"files only."
msgid "No RX signal"
msgstr "Сигналу RX немає"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:80
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:87
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:68
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:82
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:65
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:90
msgid ""
"No changes to settings will be stored and are lost after rebooting. This "
msgid "No entries in this directory"
msgstr "У цьому каталозі немає записів"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:82
-msgid "No files found"
-msgstr "Файли не знайдено"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:833
msgid ""
"No fixed interface listening port defined, peers might not be able to "
msgid "No more slaves available, can not save interface"
msgstr "Більше немає доступних ведених, не вдається зберегти інтерфейс"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:413
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
msgid "No negative cache"
msgstr "Ніяких негативних кешувань"
msgid "No nftables ruleset loaded."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:69
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:61
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:57
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:54
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:79
msgid "No password set!"
msgstr "Пароль не встановлено!"
msgid "Noise"
msgstr "Шум"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
msgid "Noise Margin (SNR)"
msgstr "Співвідношення сигнал/шум"
msgid "Noise:"
msgstr "Шум:"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
msgid "Non Pre-emptive CRC errors (CRC_P)"
msgstr "Не запобіжні помилки CRC (CRC_P)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:330
msgid "Non-wildcard"
msgstr "Без шаблону заміни"
msgid "Normal"
msgstr "Нормальна"
-#: modules/luci-base/luasrc/view/error404.htm:8
+#: modules/luci-base/ucode/template/error404.ut:9
msgid "Not Found"
msgstr "Не знайдено"
msgid "Number of IGMP membership reports"
msgstr "Кількість звітів про членство в IGMP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:474
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:479
msgid "Number of cached DNS entries, 10000 is maximum, 0 is no caching."
msgstr "Кількість кешованих записів DNS (макс. – 10000, 0 – без кешування)"
msgid "On-link"
msgstr "Маршрут On-Link"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:672
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:743
msgid "One of hostname or MAC address must be specified!"
msgstr "Має бути зазначено одне з двох – ім'я вузла або МАС-адреса!"
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:472
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:19
msgid "Open list..."
msgstr "Відкрити список..."
msgid "Options"
msgstr "Опції"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:526
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
msgid ""
"Options for the Network-ID. (Note: needs also Network-ID.) E.g. "
-"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</"
-"code>\" for default route. <code>0.0.0.0</code> means \"the address of the "
-"system running dnsmasq\"."
+"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</code>"
+"\" for default route. <code>0.0.0.0</code> means \"the address of the system "
+"running dnsmasq\"."
msgstr ""
"Параметри Network-ID. (Примітка: потрібен також Network-ID.) До прикладу: "
-"\"<code>42,192.168.1.4</code>\" для NTP-сервера, \"<code>3,192.168.4.4</"
-"code>\" для маршруту за промовчанням. <code>0.0.0.0</code> означає «адресу "
+"\"<code>42,192.168.1.4</code>\" для NTP-сервера, \"<code>3,192.168.4.4</code>"
+"\" для маршруту за промовчанням. <code>0.0.0.0</code> означає «адресу "
"системи, на якій працює dnsmasq»."
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:125
msgid "Options:"
msgstr "Параметри:"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
+msgid "Ordinal: lower comes first."
+msgstr ""
+
#: protocols/luci-proto-batman-adv/htdocs/luci-static/resources/protocol/batadv.js:55
msgid "Originator Interval"
msgstr ""
msgstr ""
"Pass-through (дзеркальне відображення фізичного пристрою у один MAC VLAN)"
-#: modules/luci-base/luasrc/view/sysauth.htm:29
+#: modules/luci-base/ucode/template/sysauth.ut:29
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1690
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:51
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:114
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:103
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:24
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:19
msgid "Password"
msgstr "Пароль"
msgid "Pkts."
msgstr "пакетів"
-#: modules/luci-base/luasrc/view/sysauth.htm:19
+#: modules/luci-base/ucode/template/sysauth.ut:19
msgid "Please enter your username and password."
msgstr "Введіть ім'я користувача і пароль."
msgid "Policy: <strong>%h</strong> (%h)"
msgstr "Політика: <strong>%h</strong> (%h)"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:579
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:21
msgid "Port"
msgstr "Порт"
msgid "Potential negation of: %s"
msgstr "Потенційне заперечення: %s"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:38
msgid "Power Management Mode"
msgstr "Режим керування живленням"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
msgid "Pre-emptive CRC errors (CRCP_P)"
msgstr "Попереджувати помилки CRC (CRCP_P)"
"0)"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:129
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:197
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:223
msgid "Quality"
msgstr "Якість"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
msgid "Query all available upstream resolvers."
msgstr ""
"Запит усіх наявних висхідних <abbr title=\"Domain Name System — система "
"Необроблені байти в шістнадцятковому кодуванні. Залиште порожнім, якщо ваш "
"інтернет-провайдер не вимагає цього."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:345
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:350
msgid "Read <code>/etc/ethers</code> to configure the DHCP server."
msgstr ""
"Читати <code>/etc/ethers</code> для налаштування <abbr title=\"Dynamic Host "
msgid "Reassociation Deadline"
msgstr "Кінцевий термін реассоціації"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
msgid "Rebind protection"
msgstr "Захист від переприв'язки"
"дорівнює вказаному значенню"
#: modules/luci-compat/luasrc/model/network/proto_relay.lua:153
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:611
#: protocols/luci-proto-relay/htdocs/luci-static/resources/protocol/relay.js:39
msgid "Relay"
msgstr "Ретранслятор"
msgid "Required. Base64-encoded private key for this interface."
msgstr "Вимагається. Base64-кодований закритий ключ для цього інтерфейсу."
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Required. Path to the .yml config file for this interface."
+msgstr ""
+
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:587
msgid "Required. Public key of the WireGuard peer."
msgstr ""
msgstr "Політика повторного вибору первинного веденого"
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2197
-#: modules/luci-base/luasrc/view/sysauth.htm:39
+#: modules/luci-base/ucode/template/sysauth.ut:39
#: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
#: modules/luci-compat/luasrc/view/cbi/footer.htm:30
#: modules/luci-compat/luasrc/view/cbi/simpleform.htm:66
msgid "Resolv and Hosts Files"
msgstr "Файли resolv і hosts"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:356
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:361
msgid "Resolv file"
msgstr "Файл resolv"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:292
+msgid "Resolve specified FQDNs to an IP."
+msgstr "Список доменів для примусового перетворення у IP-адреси."
+
#: modules/luci-base/htdocs/luci-static/resources/rpc.js:405
msgid "Resource not found"
msgstr "Ресурс не знайдено"
msgid "Restore backup"
msgstr "Відновити з резервної копії"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
msgid ""
"Return answers to DNS queries matching the subnet from which the query was "
"received if multiple IPs are available."
msgid "Robustness"
msgstr "Надійність"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:491
msgid ""
"Root directory for files served via TFTP. <em>Enable TFTP server</em> and "
"<em>TFTP server root</em> turn on the TFTP server and serve files from "
"Router Lifetime published in <abbr title=\"Router Advertisement, ICMPv6 Type "
"134\">RA</abbr> messages. Maximum is 9000 seconds."
msgstr ""
-"Термін служби маршрутизатора опублікованих у повідомленнях <abbr "
-"title=\"Router Advertisement, ICMPv6 Type 134\">RA</abbr>. Максимальне "
-"значення 9000 секунд."
+"Термін служби маршрутизатора опублікованих у повідомленнях <abbr title="
+"\"Router Advertisement, ICMPv6 Type 134\">RA</abbr>. Максимальне значення "
+"9000 секунд."
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:46
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:26
msgid "SNR"
msgstr "SNR"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "SRV"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:10
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:38
msgid "SSH Access"
msgid "Server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:524
msgid "Server address"
msgstr "Адреса сервера"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:518
msgid "Server name"
msgstr "Ім'я сервера"
msgid "Setup routes for proxied IPv6 neighbours."
msgstr "Налаштування маршрутів для проксі-сусідів IPv6."
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
msgid "Severely Errored Seconds (SES)"
msgstr ""
-"Секунди з великою кількістю помилок (<abbr title=\"Severely Errored "
-"Seconds\">SES</abbr>)"
+"Секунди з великою кількістю помилок (<abbr title=\"Severely Errored Seconds"
+"\">SES</abbr>)"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:210
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:39
msgstr "Коротка преамбула"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:470
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:18
msgid "Show current backup file list"
msgstr "Показати поточний список файлів резервного копіювання"
msgid "Signal / Noise"
msgstr "Сигнал / шум"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
msgid "Signal Attenuation (SATN)"
msgstr "Затухання сигналу (SATN)"
msgid "Size"
msgstr "Розмір"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:473
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:478
msgid "Size of DNS query cache"
msgstr "Розмір кешу запитів DNS"
msgid "Skip from backup files that are equal to those in /rom"
msgstr "Пропускати з резервної копії файли, які співпадають з файлами в /rom"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:42
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:35
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:46
msgid "Skip to content"
msgstr "Перейти до вмісту"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:41
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:34
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:45
msgid "Skip to navigation"
msgstr "Перейти до навігації"
msgid "Some fields are invalid, cannot save values!"
msgstr "Деякі поля є неприпустимими, неможливо зберегти значення!"
-#: modules/luci-base/luasrc/view/error404.htm:9
+#: modules/luci-base/ucode/template/error404.ut:10
msgid "Sorry, the object you requested was not found."
msgstr "На жаль, об'єкт, який ви просили, не знайдено."
-#: modules/luci-base/luasrc/view/error500.htm:9
-msgid "Sorry, the server encountered an unexpected error."
-msgstr "На жаль, на сервері сталася неочікувана помилка."
-
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:442
msgid ""
"Sorry, there is no sysupgrade support present; a new firmware image must be "
msgid "Source port"
msgstr "Порт джерела"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:505
msgid ""
"Special <abbr title=\"Preboot eXecution Environment\">PXE</abbr> boot "
"options for Dnsmasq."
msgstr ""
-"Спеціальні параметри завантаження <abbr title=\"Preboot eXecution "
-"Environment\">PXE</abbr> для Dnsmasq."
+"Спеціальні параметри завантаження <abbr title=\"Preboot eXecution Environment"
+"\">PXE</abbr> для Dnsmasq."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:906
msgid ""
msgid "Static address"
msgstr "Статична адреса"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:598
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:669
msgid ""
"Static leases are used to assign fixed IP addresses and symbolic hostnames "
"to DHCP clients. They are also required for non-dynamic interface "
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:16
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:541
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:929
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:9
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:9
msgid "Status"
msgstr "Стан"
msgid "Strict filtering"
msgstr "Сувора фільтрація"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
msgid "Strict order"
msgstr "Строгий порядок"
msgid "Submit"
msgstr "Надіслати"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
msgid "Suppress logging"
msgstr "Блокувати журналювання"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:373
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
msgid "Suppress logging of the routine operation for the DHCP protocol."
msgstr "Блокувати ведення журналу звичайної роботи цих протоколів"
msgid "Sync with browser"
msgstr "Синхронізувати з браузером"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:293
+msgid "Syntax: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "Syntax: <code>_service._proto.example.com</code>."
+msgstr ""
+
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:26
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:17
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:113
msgid "System log buffer size"
msgstr "Розмір буфера системного журналу"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:79
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:86
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:71
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:67
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:81
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:64
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:89
msgid "System running in recovery (initramfs) mode."
msgstr "Система працює в режимі відновлення (initramfs)."
msgid "TCP:"
msgstr "TCP:"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:490
msgid "TFTP server root"
msgstr "Корінь TFTP-сервера"
msgid "Table"
msgstr "Таблиця"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:56
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:66
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:187
"Конфігурацію оновлення кінцевого вузла HE.net змінено, тепер потрібно "
"використовувати звичайне ім'я користувача замість ідентифікатора користувача!"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:681
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:752
msgid "The IP address %h is already used by another static lease"
msgstr "IP-адреса %h уже використовується іншою статичною орендою"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:761
msgid "The IP address is outside of any DHCP pool address range"
msgstr "IP-адреса знаходиться поза межами пулу адрес DHCP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:520
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
msgid "The IP address of the boot server"
msgstr "IP-адреса сервера завантаження"
"to be received and retransmitted which costs airtime)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:514
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
msgid "The hostname of the boot server"
msgstr "Ім'я хоста сервера завантаження"
"The maximum hops to be published in <abbr title=\"Router Advertisement\">RA</"
"abbr> messages. Maximum is 255 hops."
msgstr ""
-"Максимальна кількість стрибків для публікації в повідомленнях <abbr "
-"title=\"Router Advertisement\">RA</abbr>. Максимальне значення – 255 "
-"стрибків."
+"Максимальна кількість стрибків для публікації в повідомленнях <abbr title="
+"\"Router Advertisement\">RA</abbr>. Максимальне значення – 255 стрибків."
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4638
msgid ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/switch.js:139
msgid ""
-"The network ports on this device can be combined to several <abbr "
-"title=\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
+"The network ports on this device can be combined to several <abbr title="
+"\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
"communicate directly with each other. <abbr title=\"Virtual Local Area "
"Network\">VLAN</abbr>s are often used to separate different network "
"segments. Often there is by default one Uplink port for a connection to the "
"next greater network like the internet and other ports for a local network."
msgstr ""
-"Мережеві порти вашого пристрою може бути об'єднано у декілька <abbr "
-"title=\"Virtual Local Area Network — віртуальна локальна комп'ютерна "
-"мережа\">VLAN</abbr>, у яких комп'ютери можуть напряму спілкуватися один з "
-"одним. <abbr title=\"Virtual Local Area Network — віртуальна локальна "
-"комп'Ñ\8eÑ\82еÑ\80на меÑ\80ежа\">VLAN</abbr> Ñ\87аÑ\81Ñ\82о викоÑ\80иÑ\81Ñ\82овÑ\83Ñ\8eÑ\82Ñ\8cÑ\81Ñ\8f длÑ\8f Ñ\80оздÑ\96леннÑ\8f "
-"мережі на окремі сегменти. Зазвичай один виcхідний порт використовується для "
-"з'Ñ\94днаннÑ\8f з бÑ\96лÑ\8cÑ\88оÑ\8e меÑ\80ежеÑ\8e, Ñ\82акоÑ\8e напÑ\80иклад, Ñ\8fк Ð\86нÑ\82еÑ\80неÑ\82, а Ñ\96нÑ\88Ñ\96 поÑ\80Ñ\82и â\80\94 "
-"длÑ\8f локалÑ\8cноÑ\97 меÑ\80ежÑ\96."
+"Мережеві порти вашого пристрою може бути об'єднано у декілька <abbr title="
+"\"Virtual Local Area Network — віртуальна локальна комп'ютерна мережа"
+"\">VLAN</abbr>, у яких комп'ютери можуть напряму спілкуватися один з одним. "
+"<abbr title=\"Virtual Local Area Network — віртуальна локальна комп'ютерна "
+"меÑ\80ежа\">VLAN</abbr> Ñ\87аÑ\81Ñ\82о викоÑ\80иÑ\81Ñ\82овÑ\83Ñ\8eÑ\82Ñ\8cÑ\81Ñ\8f длÑ\8f Ñ\80оздÑ\96леннÑ\8f меÑ\80ежÑ\96 на окÑ\80емÑ\96 "
+"сегменти. Зазвичай один виcхідний порт використовується для з'єднання з "
+"бÑ\96лÑ\8cÑ\88оÑ\8e меÑ\80ежеÑ\8e, Ñ\82акоÑ\8e напÑ\80иклад, Ñ\8fк Ð\86нÑ\82еÑ\80неÑ\82, а Ñ\96нÑ\88Ñ\96 поÑ\80Ñ\82и â\80\94 длÑ\8f локалÑ\8cноÑ\97 "
+"мережі."
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:759
msgid ""
msgid "The selected %s mode is incompatible with %s encryption"
msgstr "Обраний режим %s несумісний із шифруванням %s"
-#: modules/luci-base/luasrc/view/csrftoken.htm:11
+#: modules/luci-base/ucode/template/csrftoken.ut:11
msgid "The submitted security token is invalid or already expired!"
msgstr "Поданий маркер безпеки недійсний або вже збіг!"
"nftables rules is discouraged and may lead to incomplete traffic filtering."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:746
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:778
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:817
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:849
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:130
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:179
msgid "There are no active leases"
msgid "There are no changes to apply"
msgstr "Немає жодних змін до застосування"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:70
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:58
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:55
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:80
msgid ""
"There is no password set on this router. Please configure a root password to "
msgstr "Це не схоже на дійсний файл PEM"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:16
msgid ""
"This is a list of shell glob patterns for matching files and directories to "
"include during sysupgrade. Modified files in /etc/config/ and certain other "
"Це локальна адреса кінцевого вузла, яку присвоєно тунельним брокером, вона "
"зазвичай закінчується на <code>…:2/64</code>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:266
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:268
msgid "This is the only DHCP server in the local network."
msgstr ""
"Тільки для <abbr title=\"Dynamic Host Configuration Protocol — протокол "
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:440
msgid ""
"To fully configure the local WireGuard interface from an existing (e.g. "
-"provider supplied) configuration file, use the <strong><a class=\"full-"
-"import\" href=\"#\">configuration import</a></strong> instead."
+"provider supplied) configuration file, use the <strong><a class=\"full-import"
+"\" href=\"#\">configuration import</a></strong> instead."
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2674
msgid "Unable to determine upstream interface"
msgstr "Не вдалося визначити висхідний інтерфейс"
-#: modules/luci-base/luasrc/view/error404.htm:11
+#: modules/luci-base/ucode/template/error404.ut:12
msgid "Unable to dispatch"
msgstr "Не вдалося опрацювати запит"
msgid "Unable to verify PIN"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
msgid "Unavailable Seconds (UAS)"
msgstr "Недоступні секунди (<abbr title=\"Unavailable Seconds\">UAS</abbr>)"
"Після натискання «Продовжити», параметри ifname будуть перейменовані, а "
"мережа перезапуститься, щоб застосувати оновлену конфігурацію."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
msgid "Upstream resolvers will be queried in the order of the resolv file."
msgstr ""
"<abbr title=\"Domain Name System\">DNS</abbr> сервери буде опитано в "
msgid "Uptime"
msgstr "Час безвідмовної роботи"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
msgid "Use <code>/etc/ethers</code>"
msgstr "Використовувати <code>/etc/ethers</code>"
msgid "Use system certificates for inner-tunnel"
msgstr "Використовувати системні сертифікати для внутрішнього тунелю"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:599
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:670
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC address</"
"em> identifies the host, the <em>IPv4 address</em> specifies the fixed "
"Used for two different purposes: RADIUS NAS ID and 802.11r R0KH-ID. Not "
"needed with normal WPA(2)-PSK."
msgstr ""
-"Використовується для двох різних цілей: RADIUS NAS ID і 802.11r <abbr "
-"title=\"ідентифікатор власника ключа R0\">R0KH-ID</abbr>. Не потрібно зі "
-"звичайним WPA(2)-PSK."
+"Використовується для двох різних цілей: RADIUS NAS ID і 802.11r <abbr title="
+"\"ідентифікатор власника ключа R0\">R0KH-ID</abbr>. Не потрібно зі звичайним "
+"WPA(2)-PSK."
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:111
msgid "User Group"
msgid "User key (PEM encoded)"
msgstr "Ключ користувача (PEM-кодований)"
-#: modules/luci-base/luasrc/view/sysauth.htm:23
+#: modules/luci-base/ucode/template/sysauth.ut:23
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:112
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:101
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:56
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:18
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:13
msgid "Username"
msgstr "Ім'я користувача"
msgid "VXLANv6 (RFC7348)"
msgstr "VXLANv6 (RFC7348)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
msgid ""
"Validate DNS replies and cache DNSSEC data, requires upstream to support "
"DNSSEC."
msgid "Vendor Class to send when requesting DHCP"
msgstr "Клас постачальника для відправки при запиті DHCP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:408
msgid "Verify unsigned domain responses really come from unsigned domains."
msgstr ""
"Перевіряти, чи справді відповіді непідписаного домену надходять від "
msgid "Weak"
msgstr "Слабка"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+msgid "Weight"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1029
#, fuzzy
msgid ""
msgid "Wireless network is enabled"
msgstr "Бездротову мережу ввімкнено"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:278
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:280
msgid "Write received DNS queries to syslog."
msgstr "Записувати отримані DNS-запити до системного журналу"
"Якщо ви вимкнете основний скрипт ініціалізації (наприклад \"network\"), "
"пристрій може стати недоступним!</strong>"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:90
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:97
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
+msgid "You may add multiple records for the same Target."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:596
+msgid "You may add multiple records for the same domain."
+msgstr ""
+
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:78
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:92
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:73
msgid ""
"You must enable JavaScript in your browser or LuCI will not work properly."
msgid "ZRam Size"
msgstr "Розмір ZRam"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:558
+msgid "_proto: _tcp, _udp, _sctp, _quic, … ."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:557
+msgid ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Note: while _http is "
+"possible, no browsers support SRV records.)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:454
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:152
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:163
msgid "any"
msgid "e.g: dump"
msgstr "напр.: падіння"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:726
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:756
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:797
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:827
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:101
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:148
msgid "expired"
"<abbr title=\"Hypertext Transfer Protocol Secure\">HTTPS</abbr> network "
"access."
msgstr ""
-"uHTTPd надає доступ до мережі по <abbr title=\"Hypertext Transfer "
-"Protocol\">HTTP</abbr> або <abbr title=\"Hypertext Transfer Protocol "
-"Secure\">HTTPS</abbr>."
+"uHTTPd надає доступ до мережі по <abbr title=\"Hypertext Transfer Protocol"
+"\">HTTP</abbr> або <abbr title=\"Hypertext Transfer Protocol Secure\">HTTPS</"
+"abbr>."
#: modules/luci-base/htdocs/luci-static/resources/validation.js:574
msgid "unique value"
msgid "unknown"
msgstr "невідомо"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:456
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:724
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:754
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:461
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:795
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:825
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:99
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:146
msgid "unlimited"
msgid "« Back"
msgstr "« Назад"
+#~ msgid "Back to configuration"
+#~ msgstr "Повернутися до конфігурування"
+
+#~ msgid "Close list..."
+#~ msgstr "Згорнути список..."
+
+#~ msgid "Internal Server Error"
+#~ msgstr "Внутрішня помилка сервера"
+
+#~ msgid "No files found"
+#~ msgstr "Файли не знайдено"
+
+#~ msgid "Sorry, the server encountered an unexpected error."
+#~ msgstr "На жаль, на сервері сталася неочікувана помилка."
+
#~ msgid "Do not forward queries that cannot be answered by public resolvers."
#~ msgstr ""
#~ "Не переспрямовувати запити, які не може бути оброблено відкритими "
msgid "<abbr title=\"Router Advertisement\">RA</abbr>-Service"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:294
+msgid ""
+"<code>/#/</code> matches any domain. <code>/example.com/</code> returns "
+"NXDOMAIN."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+msgid ""
+"<code>/example.com/#</code> returns NULL addresses (<code>0.0.0.0</code> and "
+"<code>::</code>) for example.com and its subdomains."
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:87
msgctxt "nft relational \">\" operator expression"
msgid "<var>%s</var> greater than <strong>%s</strong>"
msgid "ATM device number"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
msgid "ATU-C System Vendor ID"
msgstr ""
msgid "Absent Interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:320
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
msgid "Accept DNS queries only from hosts whose address is on a local subnet."
msgstr ""
msgid "Add key"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:410
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:415
msgid "Add local domain suffix to names served from hosts files."
msgstr ""
msgid "Add to Whitelist"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:367
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
msgid "Additional hosts files"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:417
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
msgid "Additional servers file"
msgstr ""
msgid "Address to access local relay bridge"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:289
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:291
msgid "Addresses"
msgstr ""
msgid "Aggregate Originator Messages"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
msgid "Aggregate Transmit Power (ACTATP)"
msgstr ""
msgid "Alias of \"%s\""
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
msgid "All servers"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
msgid ""
"Allocate IP addresses sequentially, starting from the lowest available "
"address."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
msgid "Allocate IPs sequentially"
msgstr ""
msgid "Allow listed only"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
msgid "Allow localhost"
msgstr ""
msgid "Always on (kernel: default-on)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:538
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
msgid "Always send DHCP Options. Sometimes needed, with e.g. PXELinux."
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1484
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
msgid "Annex"
msgstr ""
msgid "Any zone"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:532
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
msgid "Apply DHCP Options to this net. (Empty = all clients)."
msgstr ""
msgid "Authentication Type"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:265
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:267
msgid "Authoritative"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:17
+#: modules/luci-base/ucode/template/sysauth.ut:17
#: themes/luci-theme-bootstrap/htdocs/luci-static/resources/view/bootstrap/sysauth.js:11
msgid "Authorization Required"
msgstr ""
msgid "Avoid Bridge Loops"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
msgid ""
"Avoid uselessly triggering dial-on-demand links (filters SRV/SOA records and "
"names with underscores)."
msgid "Back to Overview"
msgstr ""
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:48
-msgid "Back to configuration"
-msgstr ""
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:826
msgid "Back to peer configuration"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:351
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:12
msgid "Backup file list"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:352
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:46
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
msgid "Bind NTP server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:326
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:331
msgid "Bind dynamically to interfaces rather than wildcard address."
msgstr ""
msgid "Bind interface"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:595
+msgid ""
+"Bind service records to a domain name: specify the location of services."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:556
+msgid ""
+"Bind service records to a domain name: specify the location of services. See "
+"<a href=\"%s\">RFC2782</a>."
+msgstr ""
+
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gre.js:59
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gretap.js:64
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/grev6.js:64
msgid "CLAT configuration failed"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
+msgid "CNAME or fqdn"
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/processes.js:72
msgid "CPU usage (%)"
msgstr ""
"persist connection"
msgstr ""
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:49
-msgid "Close list..."
-msgstr ""
-
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:44
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:63
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2184
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:391
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:352
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:355
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:72
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:66
msgid "Collecting data..."
msgstr ""
msgid "Compute outgoing checksum (optional)."
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Config File"
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4375
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
msgid "Configuration"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:764
msgid ""
-"Configures the operation mode of the <abbr title=\"Router "
-"Advertisement\">RA</abbr> service on this interface."
+"Configures the operation mode of the <abbr title=\"Router Advertisement"
+"\">RA</abbr> service on this interface."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:879
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/leds.js:59
msgid ""
-"Customizes the behaviour of the device <abbr title=\"Light Emitting "
-"Diode\">LED</abbr>s if possible."
+"Customizes the behaviour of the device <abbr title=\"Light Emitting Diode"
+"\">LED</abbr>s if possible."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:673
msgid "DAE-Secret"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:530
msgid "DHCP Options"
msgstr ""
msgid "DNS"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:282
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:284
msgid "DNS forwardings"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:445
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:450
msgid "DNS query port"
msgstr ""
msgid "DNS search domains"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:443
msgid "DNS server port"
msgstr ""
msgid "DNS-Label / FQDN"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
msgid "DNSSEC"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:407
msgid "DNSSEC check unsigned"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1481
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:44
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:45
msgid "DSL"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:14
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:15
msgid "DSL Status"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:59
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:700
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:771
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:136
msgid "DUID"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
msgid "Data Rate"
msgstr ""
msgid "Disassociate On Low Acknowledgement"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:302
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
msgid ""
"Discard upstream responses containing <a href=\"%s\">RFC1918</a> addresses."
msgstr ""
msgid "Distributed ARP Table"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:548
msgid ""
"Dnsmasq instance to which this boot section is bound. If unspecified, the "
"section is valid for all dnsmasq instances."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:246
msgid ""
-"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</"
-"abbr> forwarder."
+"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</abbr> "
+"forwarder."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:419
msgid "Do not cache negative replies, e.g. for non-existent domains."
msgstr ""
msgid "Do not create host route to peer (optional)."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:262
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:264
msgid "Do not forward DNS queries without dots or domain parts."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
msgid "Do not forward reverse lookups for local networks."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:339
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
msgid "Do not listen on the specified interfaces."
msgstr ""
msgid "Do you want to replace the current keys?"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:593
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:606
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:664
msgid "Domain"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:261
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:263
msgid "Domain required"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:316
msgid "Domain whitelist"
msgstr ""
msgid "Enable Single DES"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:480
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
msgid "Enable TFTP server"
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/uhttpd.js:14
msgid ""
-"Enable automatic redirection of <abbr title=\"Hypertext Transfer "
-"Protocol\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol "
-"Secure\">HTTPS</abbr> port."
+"Enable automatic redirection of <abbr title=\"Hypertext Transfer Protocol"
+"\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol Secure"
+"\">HTTPS</abbr> port."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:977
msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:481
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
msgid "Enable the built-in single-instance TFTP server."
msgstr ""
msgid "Error getting PublicKey"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
msgid "Errored seconds (ES)"
msgstr ""
msgid "Every second (fast, 1)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:343
msgid "Exclude interfaces"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
msgid ""
"Exempt <code>127.0.0.0/8</code> and <code>::1</code> from rebinding checks, "
"e.g. for RBL services."
msgid "Existing device"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:409
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
msgid "Expand hosts"
msgstr ""
msgid "File"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
msgid ""
"File listing upstream resolvers, optionally domain-specific, e.g. "
"<code>server=1.2.3.4</code>, <code>server=/domain/1.2.3.4</code>."
msgid "File not accessible"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:354
msgid "File to store DHCP lease information."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:362
msgid "File with upstream resolvers."
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/ui.js:2846
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:507
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:512
msgid "Filename"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:493
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:498
msgid "Filename of the boot image advertised to clients."
msgstr ""
msgid "Filesystem"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
msgid "Filter private"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
msgid "Filter useless"
msgstr ""
msgid "Firmware Version"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:446
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:451
msgid "Fixed source port for outbound DNS queries."
msgstr ""
msgid "Flashing…"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:686
msgid "Force"
msgstr ""
msgid "Force use of NAT-T"
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:8
+#: modules/luci-base/ucode/template/csrftoken.ut:8
msgid "Form token mismatch"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:919
msgid ""
-"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr "
-"title=\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr "
-"title=\"Neighbour Advertisement, Type 136\">NA</abbr> messages between the "
-"designated master interface and downstream interfaces."
+"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr title="
+"\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr title=\"Neighbour "
+"Advertisement, Type 136\">NA</abbr> messages between the designated master "
+"interface and downstream interfaces."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:770
"downstream interfaces."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
msgid "Forward Error Correction Seconds (FECS)"
msgstr ""
msgid "Global network options"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:82
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:74
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:70
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:84
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:67
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:92
msgid "Go to firmware upgrade..."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:72
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:64
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:60
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:57
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:82
msgid "Go to password configuration..."
msgstr ""
msgid "Hang Up"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
msgid "Header Error Code Errors (HEC)"
msgstr ""
msgid "Host expiry timeout"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
msgid "Host requests this filename from the boot server."
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:38
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:607
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:678
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:54
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:87
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:135
msgid "Hostnames"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:551
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:622
msgid ""
"Hostnames are used to bind a domain name to an IP address. This setting is "
"redundant for hostnames already configured with static leases, but it can be "
msgid "IP Protocol"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:260
msgid "IP Sets"
msgstr ""
msgid "IP Type"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:563
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:634
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:178
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:204
msgid "IP address"
msgid "IP protocol"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:660
msgid "IP set"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:300
msgid "IP sets"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:437
msgid "IPs to override with NXDOMAIN"
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/protocol/static.js:178
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:736
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:88
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:164
msgid "IPv4 address"
msgid "IPv6 suffix"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:706
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:777
msgid "IPv6 suffix (hex)"
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:340
msgid ""
"If your physical memory is insufficient unused data can be temporarily "
-"swapped to a swap-device resulting in a higher amount of usable <abbr "
-"title=\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a "
-"very slow process as the swap-device cannot be accessed with the high "
-"datarates of the <abbr title=\"Random Access Memory\">RAM</abbr>."
+"swapped to a swap-device resulting in a higher amount of usable <abbr title="
+"\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a very "
+"slow process as the swap-device cannot be accessed with the high datarates "
+"of the <abbr title=\"Random Access Memory\">RAM</abbr>."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:363
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:368
msgid "Ignore <code>/etc/hosts</code>"
msgstr ""
msgid "Ignore interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:352
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
msgid "Ignore resolv file"
msgstr ""
"order to avoid broadcast loops that can bring the entire LAN to a standstill."
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:13
+#: modules/luci-base/ucode/template/csrftoken.ut:13
msgid ""
"In order to prevent unauthorized access to the system, your request has been "
"blocked. Click \"Continue »\" below to return to the previous page."
msgid "Install protocol extensions..."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:547
msgid "Instance"
msgstr ""
msgid "Internal"
msgstr ""
-#: modules/luci-base/luasrc/view/error500.htm:8
-msgid "Internal Server Error"
-msgstr ""
-
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:285
msgid "Interval For Sending Learning Packets"
msgstr ""
msgid "Invalid hexadecimal value"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:37
+#: modules/luci-base/ucode/template/sysauth.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:32
msgid "Invalid username and/or password! Please try again."
msgstr ""
"flash memory, please verify the image file!"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:89
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:96
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:77
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:91
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:72
msgid "JavaScript required!"
msgstr ""
msgid "Language and Style"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:560
+msgid ""
+"Larger weights (of the same prio) are given a proportionately higher "
+"probability of being selected."
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:575
msgid "Last member interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
msgid "Latency"
msgstr ""
msgid "Learn routes"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:348
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:353
msgid "Lease file"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:697
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:768
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:679
msgid "Lease time"
msgstr ""
msgid "Limit"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
msgid "Line Attenuation (LATN)"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
msgid "Line Mode"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:17
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
msgid "Line State"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
msgid "Line Uptime"
msgstr ""
msgid "Link layer header bits %d-%d"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
msgid "List of IP addresses to convert into NXDOMAIN responses."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:296
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:581
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:652
msgid "List of IP sets to populate with the specified domain IPs."
msgstr ""
msgid "List of SSH key files for auth"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:317
msgid "List of domains to allow RFC1918 responses for."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:290
-msgid "List of domains to force to an IP address."
-msgstr ""
-
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:283
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:285
msgid "List of upstream resolvers to forward queries to."
msgstr ""
msgid "Listen Port"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:332
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:337
msgid "Listen interfaces"
msgstr ""
msgid "Listen only on the given interface or, if unspecified, on all"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:333
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
msgid ""
"Listen only on the specified interfaces, and loopback if not excluded "
"explicitly."
msgid "ListenPort setting is invalid"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:439
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:444
msgid "Listening port for inbound DNS queries."
msgstr ""
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:1942
-#: modules/luci-base/luasrc/view/view.htm:4
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:45
+#: modules/luci-base/ucode/template/view.ut:4
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:40
msgid "Loading view…"
msgstr ""
msgid "Local ULA"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:273
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:275
msgid "Local domain"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:274
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:276
msgid "Local domain suffix appended to DHCP names and hosts file entries."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:269
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:271
msgid "Local server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:319
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:324
msgid "Local service only"
msgstr ""
msgid "Local wireguard key"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
msgid "Localise queries"
msgstr ""
msgid "Log output level"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:277
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:279
msgid "Log queries"
msgstr ""
msgid "Logical network to which the tunnel will be added (bridged) (optional)."
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:38
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:41
+#: modules/luci-base/ucode/template/sysauth.ut:38
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:36
msgid "Login"
msgstr ""
msgid "Loose filtering"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
msgid "Loss of Signal Seconds (LOSS)"
msgstr ""
msgid "Lowest leased address as offset from the network address."
msgstr ""
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/footer.ut:12
+msgid "Lua compatibility mode active"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:48
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:83
msgid "MAC"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:591
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:40
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:619
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1164
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2177
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:56
msgid "MTU"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:259
+msgid "MX"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:303
msgid ""
"Make sure to clone the root filesystem using something like the commands "
msgid "Max <abbr title=\"Router Advertisement\">RA</abbr> interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
msgid "Max. Attainable Data Rate (ATTNDR)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:457
msgid "Max. DHCP leases"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:459
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:464
msgid "Max. EDNS0 packet size"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:466
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:471
msgid "Max. concurrent queries"
msgstr ""
msgid "Maximum allowed Listen Interval"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:453
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:458
msgid "Maximum allowed number of active DHCP leases."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:467
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:472
msgid "Maximum allowed number of concurrent DNS queries."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:460
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:465
msgid "Maximum allowed size of EDNS0 UDP packets."
msgstr ""
msgid "Maximum transmit power"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:394
msgid "May prevent VoIP or other services from working."
msgstr ""
msgid "Name of the tunnel device"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:46
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:39
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:50
msgid "Navigation"
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:10
+msgid "Nebula Network"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:653
msgid "Neighbour cache validity"
msgstr ""
msgid "Network address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:492
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:497
msgid "Network boot image"
msgstr ""
msgid "Network interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:536
msgid "Network-ID"
msgstr ""
msgid "Never"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:270
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:272
msgid ""
"Never forward matching domains and subdomains, resolve from DHCP or hosts "
"files only."
msgid "No RX signal"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:80
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:87
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:68
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:82
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:65
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:90
msgid ""
"No changes to settings will be stored and are lost after rebooting. This "
msgid "No entries in this directory"
msgstr ""
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:82
-msgid "No files found"
-msgstr ""
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:833
msgid ""
"No fixed interface listening port defined, peers might not be able to "
msgid "No more slaves available, can not save interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:413
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
msgid "No negative cache"
msgstr ""
msgid "No nftables ruleset loaded."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:69
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:61
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:57
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:54
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:79
msgid "No password set!"
msgstr ""
msgid "Noise"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
msgid "Noise Margin (SNR)"
msgstr ""
msgid "Noise:"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
msgid "Non Pre-emptive CRC errors (CRC_P)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:330
msgid "Non-wildcard"
msgstr ""
msgid "Normal"
msgstr ""
-#: modules/luci-base/luasrc/view/error404.htm:8
+#: modules/luci-base/ucode/template/error404.ut:9
msgid "Not Found"
msgstr ""
msgid "Number of IGMP membership reports"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:474
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:479
msgid "Number of cached DNS entries, 10000 is maximum, 0 is no caching."
msgstr ""
msgid "On-link"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:672
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:743
msgid "One of hostname or MAC address must be specified!"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:472
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:19
msgid "Open list..."
msgstr ""
msgid "Options"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:526
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
msgid ""
"Options for the Network-ID. (Note: needs also Network-ID.) E.g. "
-"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</"
-"code>\" for default route. <code>0.0.0.0</code> means \"the address of the "
-"system running dnsmasq\"."
+"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</code>"
+"\" for default route. <code>0.0.0.0</code> means \"the address of the system "
+"running dnsmasq\"."
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:125
msgid "Options:"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
+msgid "Ordinal: lower comes first."
+msgstr ""
+
#: protocols/luci-proto-batman-adv/htdocs/luci-static/resources/protocol/batadv.js:55
msgid "Originator Interval"
msgstr ""
msgid "Pass-through (Mirror physical device to single MAC VLAN)"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:29
+#: modules/luci-base/ucode/template/sysauth.ut:29
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1690
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:51
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:114
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:103
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:24
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:19
msgid "Password"
msgstr ""
msgid "Pkts."
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:19
+#: modules/luci-base/ucode/template/sysauth.ut:19
msgid "Please enter your username and password."
msgstr ""
msgid "Policy: <strong>%h</strong> (%h)"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:579
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:21
msgid "Port"
msgstr "پورٹ"
msgid "Potential negation of: %s"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:38
msgid "Power Management Mode"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
msgid "Pre-emptive CRC errors (CRCP_P)"
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:129
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:197
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:223
msgid "Quality"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
msgid "Query all available upstream resolvers."
msgstr ""
msgid "Raw hex-encoded bytes. Leave empty unless your ISP require this"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:345
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:350
msgid "Read <code>/etc/ethers</code> to configure the DHCP server."
msgstr ""
msgid "Reassociation Deadline"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
msgid "Rebind protection"
msgstr ""
msgstr ""
#: modules/luci-compat/luasrc/model/network/proto_relay.lua:153
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:611
#: protocols/luci-proto-relay/htdocs/luci-static/resources/protocol/relay.js:39
msgid "Relay"
msgstr ""
msgid "Required. Base64-encoded private key for this interface."
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Required. Path to the .yml config file for this interface."
+msgstr ""
+
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:587
msgid "Required. Public key of the WireGuard peer."
msgstr ""
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2197
-#: modules/luci-base/luasrc/view/sysauth.htm:39
+#: modules/luci-base/ucode/template/sysauth.ut:39
#: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
#: modules/luci-compat/luasrc/view/cbi/footer.htm:30
#: modules/luci-compat/luasrc/view/cbi/simpleform.htm:66
msgid "Resolv and Hosts Files"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:356
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:361
msgid "Resolv file"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:292
+msgid "Resolve specified FQDNs to an IP."
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/rpc.js:405
msgid "Resource not found"
msgstr ""
msgid "Restore backup"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
msgid ""
"Return answers to DNS queries matching the subnet from which the query was "
"received if multiple IPs are available."
msgid "Robustness"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:491
msgid ""
"Root directory for files served via TFTP. <em>Enable TFTP server</em> and "
"<em>TFTP server root</em> turn on the TFTP server and serve files from "
msgid "SNR"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "SRV"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:10
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:38
msgid "SSH Access"
msgid "Server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:524
msgid "Server address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:518
msgid "Server name"
msgstr ""
msgid "Setup routes for proxied IPv6 neighbours."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
msgid "Severely Errored Seconds (SES)"
msgstr ""
msgstr "شورٹ Preamble"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:470
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:18
msgid "Show current backup file list"
msgstr ""
msgid "Signal / Noise"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
msgid "Signal Attenuation (SATN)"
msgstr ""
msgid "Size"
msgstr "سائز"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:473
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:478
msgid "Size of DNS query cache"
msgstr ""
msgid "Skip from backup files that are equal to those in /rom"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:42
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:35
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:46
msgid "Skip to content"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:41
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:34
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:45
msgid "Skip to navigation"
msgstr ""
msgid "Some fields are invalid, cannot save values!"
msgstr ""
-#: modules/luci-base/luasrc/view/error404.htm:9
+#: modules/luci-base/ucode/template/error404.ut:10
msgid "Sorry, the object you requested was not found."
msgstr ""
-#: modules/luci-base/luasrc/view/error500.htm:9
-msgid "Sorry, the server encountered an unexpected error."
-msgstr ""
-
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:442
msgid ""
"Sorry, there is no sysupgrade support present; a new firmware image must be "
msgid "Source port"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:505
msgid ""
"Special <abbr title=\"Preboot eXecution Environment\">PXE</abbr> boot "
"options for Dnsmasq."
msgid "Static address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:598
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:669
msgid ""
"Static leases are used to assign fixed IP addresses and symbolic hostnames "
"to DHCP clients. They are also required for non-dynamic interface "
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:16
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:541
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:929
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:9
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:9
msgid "Status"
msgstr ""
msgid "Strict filtering"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
msgid "Strict order"
msgstr ""
msgid "Submit"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
msgid "Suppress logging"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:373
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
msgid "Suppress logging of the routine operation for the DHCP protocol."
msgstr ""
msgid "Sync with browser"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:293
+msgid "Syntax: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "Syntax: <code>_service._proto.example.com</code>."
+msgstr ""
+
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:26
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:17
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:113
msgid "System log buffer size"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:79
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:86
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:71
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:67
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:81
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:64
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:89
msgid "System running in recovery (initramfs) mode."
msgstr ""
msgid "TCP:"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:490
msgid "TFTP server root"
msgstr ""
msgid "Table"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:56
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:66
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:187
"username instead of the user ID!"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:681
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:752
msgid "The IP address %h is already used by another static lease"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:761
msgid "The IP address is outside of any DHCP pool address range"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:520
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
msgid "The IP address of the boot server"
msgstr ""
"to be received and retransmitted which costs airtime)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:514
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
msgid "The hostname of the boot server"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/switch.js:139
msgid ""
-"The network ports on this device can be combined to several <abbr "
-"title=\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
+"The network ports on this device can be combined to several <abbr title="
+"\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
"communicate directly with each other. <abbr title=\"Virtual Local Area "
"Network\">VLAN</abbr>s are often used to separate different network "
"segments. Often there is by default one Uplink port for a connection to the "
msgid "The selected %s mode is incompatible with %s encryption"
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:11
+#: modules/luci-base/ucode/template/csrftoken.ut:11
msgid "The submitted security token is invalid or already expired!"
msgstr ""
"nftables rules is discouraged and may lead to incomplete traffic filtering."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:746
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:778
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:817
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:849
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:130
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:179
msgid "There are no active leases"
msgid "There are no changes to apply"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:70
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:58
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:55
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:80
msgid ""
"There is no password set on this router. Please configure a root password to "
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:16
msgid ""
"This is a list of shell glob patterns for matching files and directories to "
"include during sysupgrade. Modified files in /etc/config/ and certain other "
"ends with <code>...:2/64</code>"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:266
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:268
msgid "This is the only DHCP server in the local network."
msgstr ""
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:440
msgid ""
"To fully configure the local WireGuard interface from an existing (e.g. "
-"provider supplied) configuration file, use the <strong><a class=\"full-"
-"import\" href=\"#\">configuration import</a></strong> instead."
+"provider supplied) configuration file, use the <strong><a class=\"full-import"
+"\" href=\"#\">configuration import</a></strong> instead."
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2674
msgid "Unable to determine upstream interface"
msgstr ""
-#: modules/luci-base/luasrc/view/error404.htm:11
+#: modules/luci-base/ucode/template/error404.ut:12
msgid "Unable to dispatch"
msgstr ""
msgid "Unable to verify PIN"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
msgid "Unavailable Seconds (UAS)"
msgstr ""
"will be restarted to apply the updated configuration."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
msgid "Upstream resolvers will be queried in the order of the resolv file."
msgstr ""
msgid "Uptime"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
msgid "Use <code>/etc/ethers</code>"
msgstr ""
msgid "Use system certificates for inner-tunnel"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:599
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:670
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC address</"
"em> identifies the host, the <em>IPv4 address</em> specifies the fixed "
msgid "User key (PEM encoded)"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:23
+#: modules/luci-base/ucode/template/sysauth.ut:23
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:112
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:101
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:56
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:18
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:13
msgid "Username"
msgstr ""
msgid "VXLANv6 (RFC7348)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
msgid ""
"Validate DNS replies and cache DNSSEC data, requires upstream to support "
"DNSSEC."
msgid "Vendor Class to send when requesting DHCP"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:408
msgid "Verify unsigned domain responses really come from unsigned domains."
msgstr ""
msgid "Weak"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+msgid "Weight"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1029
msgid ""
"When delegating prefixes to multiple downstreams, interfaces with a higher "
msgid "Wireless network is enabled"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:278
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:280
msgid "Write received DNS queries to syslog."
msgstr ""
"scripts like \"network\", your device might become inaccessible!</strong>"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:90
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:97
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
+msgid "You may add multiple records for the same Target."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:596
+msgid "You may add multiple records for the same domain."
+msgstr ""
+
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:78
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:92
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:73
msgid ""
"You must enable JavaScript in your browser or LuCI will not work properly."
msgid "ZRam Size"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:558
+msgid "_proto: _tcp, _udp, _sctp, _quic, … ."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:557
+msgid ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Note: while _http is "
+"possible, no browsers support SRV records.)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:454
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:152
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:163
msgid "any"
msgid "e.g: dump"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:726
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:756
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:797
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:827
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:101
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:148
msgid "expired"
msgid "unknown"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:456
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:724
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:754
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:461
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:795
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:825
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:99
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:146
msgid "unlimited"
msgid "<abbr title=\"Router Advertisement\">RA</abbr>-Service"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:294
+msgid ""
+"<code>/#/</code> matches any domain. <code>/example.com/</code> returns "
+"NXDOMAIN."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+msgid ""
+"<code>/example.com/#</code> returns NULL addresses (<code>0.0.0.0</code> and "
+"<code>::</code>) for example.com and its subdomains."
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:87
msgctxt "nft relational \">\" operator expression"
msgid "<var>%s</var> greater than <strong>%s</strong>"
msgid "ATM device number"
msgstr "Số hiệu thiết bị ATM"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
msgid "ATU-C System Vendor ID"
msgstr "Hệ thống cung cấp ID ATU-C"
msgid "Absent Interface"
msgstr "Giao diện vắng mặt"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:320
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
msgid "Accept DNS queries only from hosts whose address is on a local subnet."
msgstr ""
"Giới hạn dịch vụ DNS đối với các giao diện mạng con mà chúng tôi đang phục "
msgid "Add key"
msgstr "Thêm khóa"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:410
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:415
msgid "Add local domain suffix to names served from hosts files."
msgstr "Thêm hậu tố tên miền cục bộ vào tên được phân phát từ tệp máy chủ"
msgid "Add to Whitelist"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:367
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
msgid "Additional hosts files"
msgstr "Tập tin máy chủ(host) bổ sung"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:417
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
msgid "Additional servers file"
msgstr "Tập tin máy chủ(server) bổ sung"
msgid "Address to access local relay bridge"
msgstr "Địa chỉ truy cập cầu chuyển tiếp địa phương"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:289
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:291
msgid "Addresses"
msgstr ""
msgid "Aggregate Originator Messages"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
msgid "Aggregate Transmit Power (ACTATP)"
msgstr "Năng lượng truyền tổng hợp(ACTATP)"
msgid "Alias of \"%s\""
msgstr "bí danh của \"%s\""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
msgid "All servers"
msgstr "Tất cả máy chủ"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
msgid ""
"Allocate IP addresses sequentially, starting from the lowest available "
"address."
msgstr "Phân bổ địa chỉ IP theo tuần tự, bắt đầu từ địa chỉ có sẵn thấp nhất"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
msgid "Allocate IPs sequentially"
msgstr "Phân bổ tuần tự địa chủ IP"
msgid "Allow listed only"
msgstr "Chỉ cho phép danh sách liệt kê"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
msgid "Allow localhost"
msgstr "Cho phép máy chủ cục bộ"
msgid "Always on (kernel: default-on)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:538
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
msgid "Always send DHCP Options. Sometimes needed, with e.g. PXELinux."
msgstr ""
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1484
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
msgid "Annex"
msgstr ""
msgid "Any zone"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:532
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
msgid "Apply DHCP Options to this net. (Empty = all clients)."
msgstr ""
msgid "Authentication Type"
msgstr "Kiểu xác thực"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:265
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:267
msgid "Authoritative"
msgstr "Xác thực"
-#: modules/luci-base/luasrc/view/sysauth.htm:17
+#: modules/luci-base/ucode/template/sysauth.ut:17
#: themes/luci-theme-bootstrap/htdocs/luci-static/resources/view/bootstrap/sysauth.js:11
msgid "Authorization Required"
msgstr "Yêu cầu ủy quyền"
msgid "Avoid Bridge Loops"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
msgid ""
"Avoid uselessly triggering dial-on-demand links (filters SRV/SOA records and "
"names with underscores)."
msgid "Back to Overview"
msgstr "Quay lại phần tổng quan"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:48
-msgid "Back to configuration"
-msgstr "Quay lại phần cài đặt"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:826
msgid "Back to peer configuration"
msgstr ""
msgstr "Sao lưu / cập nhật phần mềm"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:351
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:12
msgid "Backup file list"
msgstr "Danh sách tập tin sau lưu"
msgstr "Chu kỳ Beacon"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:352
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:46
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
msgid "Bind NTP server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:326
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:331
msgid "Bind dynamically to interfaces rather than wildcard address."
msgstr ""
"Liên kết linh hoạt với các giao diện thay vì địa chỉ ký tự đại diện(được "
msgid "Bind interface"
msgstr "Liên kết với giao diện"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:595
+msgid ""
+"Bind service records to a domain name: specify the location of services."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:556
+msgid ""
+"Bind service records to a domain name: specify the location of services. See "
+"<a href=\"%s\">RFC2782</a>."
+msgstr ""
+
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gre.js:59
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gretap.js:64
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/grev6.js:64
msgid "CLAT configuration failed"
msgstr "Cài đặt CLAT thất bại"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
+msgid "CNAME or fqdn"
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/processes.js:72
msgid "CPU usage (%)"
msgstr "Sử dụng CPU (%)"
"Đóng kết nối không hoạt động sau lượng thời gian đã cho, sử dụng 0 để luôn "
"duy trì kết nối"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:49
-msgid "Close list..."
-msgstr "Danh sách đã đóng ..."
-
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:44
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:63
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2184
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:391
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:352
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:355
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:72
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:66
msgid "Collecting data..."
msgstr "Đang lấy dữ liệu..."
msgid "Compute outgoing checksum (optional)."
msgstr ""
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Config File"
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4375
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
msgid "Configuration"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:764
msgid ""
-"Configures the operation mode of the <abbr title=\"Router "
-"Advertisement\">RA</abbr> service on this interface."
+"Configures the operation mode of the <abbr title=\"Router Advertisement"
+"\">RA</abbr> service on this interface."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:879
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/leds.js:59
msgid ""
-"Customizes the behaviour of the device <abbr title=\"Light Emitting "
-"Diode\">LED</abbr>s if possible."
+"Customizes the behaviour of the device <abbr title=\"Light Emitting Diode"
+"\">LED</abbr>s if possible."
msgstr ""
"Tùy chỉnh chế độ của thiết bị <abbr title=\"Light Emitting Diode\">LED</"
"abbr>s nếu có thể."
msgid "DAE-Secret"
msgstr "DAE-bí mật"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:530
msgid "DHCP Options"
msgstr ""
msgid "DNS"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:282
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:284
msgid "DNS forwardings"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:445
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:450
msgid "DNS query port"
msgstr "<abbr title=\"Hệ thống phân giải tên miền\">DNS</abbr> query port"
msgid "DNS search domains"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:443
msgid "DNS server port"
msgstr ""
"<abbr title=\"Hệ thống phân giải tên miền (Domain Name System)\">DNS</abbr> "
msgid "DNS-Label / FQDN"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
msgid "DNSSEC"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:407
msgid "DNSSEC check unsigned"
msgstr "kiểm tra không dấu DNSSEC"
msgstr "Địa chỉ DS_-Lite AFTR"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1481
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:44
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:45
msgid "DSL"
msgstr "DSL"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:14
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:15
msgid "DSL Status"
msgstr "Trạng thái DSL"
msgstr "Chu kỳ DTIM"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:59
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:700
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:771
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:136
msgid "DUID"
msgstr "DUID"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
msgid "Data Rate"
msgstr "Tốc độ dữ liệu"
msgid "Disassociate On Low Acknowledgement"
msgstr "Hủy liên kết với xác nhận mức thấp"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:302
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
msgid ""
"Discard upstream responses containing <a href=\"%s\">RFC1918</a> addresses."
msgstr "Hủy phản hồi ngược RFC1918."
msgid "Distributed ARP Table"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:548
msgid ""
"Dnsmasq instance to which this boot section is bound. If unspecified, the "
"section is valid for all dnsmasq instances."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:246
msgid ""
-"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</"
-"abbr> forwarder."
+"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</abbr> "
+"forwarder."
msgstr ""
-"Dnsmasq là một phối hợp <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr>-Server and <abbr title=\"Domain Name System\">DNS</"
-"abbr>-Forwarder for <abbr title=\"Network Address Translation\">NAT</abbr> "
+"Dnsmasq là một phối hợp <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr>-Server and <abbr title=\"Domain Name System\">DNS</abbr>-"
+"Forwarder for <abbr title=\"Network Address Translation\">NAT</abbr> "
"firewalls"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:419
msgid "Do not cache negative replies, e.g. for non-existent domains."
msgstr ""
"Không lưu trữ các phản hồi tiêu cực (ví dụ: các tên miền không tồn tại)"
msgid "Do not create host route to peer (optional)."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:262
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:264
msgid "Do not forward DNS queries without dots or domain parts."
msgstr ""
"Don&#39;t chuyển tiếp <abbr title=\"Hệ thống tên miền\">DNS</abbr>-Yêu "
"cầu không cần <abbr title=\"Hệ thống tên miền\">DNS</abbr>-Tên"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
msgid "Do not forward reverse lookups for local networks."
msgstr "Không chuyển tiếp tra cứu ngược cho các mạng cục bộ"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:339
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
msgid "Do not listen on the specified interfaces."
msgstr "Ngăn thực hiện nghe tại giao diện mạng này"
msgid "Do you want to replace the current keys?"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:593
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:606
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:664
msgid "Domain"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:261
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:263
msgid "Domain required"
msgstr "Tên miền yêu cầu"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:316
msgid "Domain whitelist"
msgstr "Danh sách tên miền được chấp nhận"
msgid "Enable Single DES"
msgstr "Kích hoạt DES đơn"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:480
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
msgid "Enable TFTP server"
msgstr "Kích hoạt máy chủ TFTP"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/uhttpd.js:14
msgid ""
-"Enable automatic redirection of <abbr title=\"Hypertext Transfer "
-"Protocol\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol "
-"Secure\">HTTPS</abbr> port."
+"Enable automatic redirection of <abbr title=\"Hypertext Transfer Protocol"
+"\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol Secure"
+"\">HTTPS</abbr> port."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:977
msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets."
msgstr "Kích hoạt cờ không phân mảnh cho các gói tin đã được đóng gói"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:481
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
msgid "Enable the built-in single-instance TFTP server."
msgstr ""
msgid "Error getting PublicKey"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
msgid "Errored seconds (ES)"
msgstr ""
msgid "Every second (fast, 1)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:343
msgid "Exclude interfaces"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
msgid ""
"Exempt <code>127.0.0.0/8</code> and <code>::1</code> from rebinding checks, "
"e.g. for RBL services."
msgid "Existing device"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:409
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
msgid "Expand hosts"
msgstr "Mở rộng máy chủ"
msgid "File"
msgstr "Tệp tin"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
msgid ""
"File listing upstream resolvers, optionally domain-specific, e.g. "
"<code>server=1.2.3.4</code>, <code>server=/domain/1.2.3.4</code>."
msgid "File not accessible"
msgstr "Tệp tin không thể truy cập"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:354
msgid "File to store DHCP lease information."
msgstr ""
"Tập tin được cho <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</"
"abbr>-leases sẽ được lưu trữ"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:362
msgid "File with upstream resolvers."
msgstr "Tập tin <abbr title=\"Hệ thống tên miền\">DNS</abbr> địa phương"
#: modules/luci-base/htdocs/luci-static/resources/ui.js:2846
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:507
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:512
msgid "Filename"
msgstr "Tên tệp"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:493
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:498
msgid "Filename of the boot image advertised to clients."
msgstr "Tên tệp của tập tin ảnh khởi động được thông báo cho máy khách"
msgid "Filesystem"
msgstr "Tập tin hệ thống"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
msgid "Filter private"
msgstr "Filter private"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
msgid "Filter useless"
msgstr "Lọc không hữu dụng"
msgid "Firmware Version"
msgstr "Phiên bản phần mềm"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:446
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:451
msgid "Fixed source port for outbound DNS queries."
msgstr "Đã sửa cổng nguồn cho các truy vấn DNS"
msgid "Flashing…"
msgstr "Đang nạp..."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:686
msgid "Force"
msgstr "Bắt buộc"
msgid "Force use of NAT-T"
msgstr "Buộc dùng NAT-T"
-#: modules/luci-base/luasrc/view/csrftoken.htm:8
+#: modules/luci-base/ucode/template/csrftoken.ut:8
msgid "Form token mismatch"
msgstr "Mẫu mã thông báo không khớp"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:919
msgid ""
-"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr "
-"title=\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr "
-"title=\"Neighbour Advertisement, Type 136\">NA</abbr> messages between the "
-"designated master interface and downstream interfaces."
+"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr title="
+"\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr title=\"Neighbour "
+"Advertisement, Type 136\">NA</abbr> messages between the designated master "
+"interface and downstream interfaces."
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:770
"downstream interfaces."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
msgid "Forward Error Correction Seconds (FECS)"
msgstr ""
msgid "Global network options"
msgstr "Tùy chọn mạng toàn cầu"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:82
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:74
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:70
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:84
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:67
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:92
msgid "Go to firmware upgrade..."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:72
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:64
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:60
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:57
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:82
msgid "Go to password configuration..."
msgstr "Tới trang cài đặt mật khẩu..."
msgid "Hang Up"
msgstr "Hang Up"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
msgid "Header Error Code Errors (HEC)"
msgstr "Lỗi mã tiêu đề (HEC)"
msgid "Host expiry timeout"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
msgid "Host requests this filename from the boot server."
msgstr ""
msgstr "Nội dung thẻ Host-Uniq"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:38
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:607
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:678
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:54
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:87
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:135
msgid "Hostnames"
msgstr "Tên máy chủ"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:551
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:622
msgid ""
"Hostnames are used to bind a domain name to an IP address. This setting is "
"redundant for hostnames already configured with static leases, but it can be "
msgid "IP Protocol"
msgstr "Giao thức IP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:260
msgid "IP Sets"
msgstr ""
msgid "IP Type"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:563
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:634
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:178
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:204
msgid "IP address"
msgid "IP protocol"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:660
msgid "IP set"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:300
msgid "IP sets"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:437
msgid "IPs to override with NXDOMAIN"
msgstr "Ghi đè tên miền Bogus NX"
#: modules/luci-base/htdocs/luci-static/resources/protocol/static.js:178
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:736
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:88
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:164
msgid "IPv4 address"
msgid "IPv6 suffix"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:706
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:777
msgid "IPv6 suffix (hex)"
msgstr ""
"<abbr title=\"giao thức internet phiên bản 6\">IPv6</abbr>-Suffix (hex)"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:340
msgid ""
"If your physical memory is insufficient unused data can be temporarily "
-"swapped to a swap-device resulting in a higher amount of usable <abbr "
-"title=\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a "
-"very slow process as the swap-device cannot be accessed with the high "
-"datarates of the <abbr title=\"Random Access Memory\">RAM</abbr>."
+"swapped to a swap-device resulting in a higher amount of usable <abbr title="
+"\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a very "
+"slow process as the swap-device cannot be accessed with the high datarates "
+"of the <abbr title=\"Random Access Memory\">RAM</abbr>."
msgstr ""
"Nếu bộ nhớ vật lý không đủ dữ liệu không dùng có thể được swap tạm thời đến "
-"một thiết bị swap để tạo ra nhiều khoảng trống hơn trong <abbr "
-"title=\"Random Access Memory\">RAM</abbr>. Hãy nhận biết rằng swapping dữ "
-"liệu là một quá trình rất chậm vì một thiết bị swap không thể được truy cập "
-"với datarates cao hơn của <abbr title=\"Random Access Memory\">RAM</abbr>."
+"một thiết bị swap để tạo ra nhiều khoảng trống hơn trong <abbr title="
+"\"Random Access Memory\">RAM</abbr>. Hãy nhận biết rằng swapping dữ liệu là "
+"một quá trình rất chậm vì một thiết bị swap không thể được truy cập với "
+"datarates cao hơn của <abbr title=\"Random Access Memory\">RAM</abbr>."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:363
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:368
msgid "Ignore <code>/etc/hosts</code>"
msgstr "Lờ đi <code>/etc/hosts</code>"
msgid "Ignore interface"
msgstr "Lờ đi giao diện"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:352
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
msgid "Ignore resolv file"
msgstr "Lờ đi tập tin resolve"
"order to avoid broadcast loops that can bring the entire LAN to a standstill."
msgstr ""
-#: modules/luci-base/luasrc/view/csrftoken.htm:13
+#: modules/luci-base/ucode/template/csrftoken.ut:13
msgid ""
"In order to prevent unauthorized access to the system, your request has been "
"blocked. Click \"Continue »\" below to return to the previous page."
msgid "Install protocol extensions..."
msgstr "Đang cài đặt bản mở rộng cho giao thức..."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:547
msgid "Instance"
msgstr ""
msgid "Internal"
msgstr "Nội"
-#: modules/luci-base/luasrc/view/error500.htm:8
-msgid "Internal Server Error"
-msgstr "Lỗi máy chủ nội"
-
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:285
msgid "Interval For Sending Learning Packets"
msgstr ""
msgid "Invalid hexadecimal value"
msgstr "Giá trị không hợp lệ"
-#: modules/luci-base/luasrc/view/sysauth.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:37
+#: modules/luci-base/ucode/template/sysauth.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:32
msgid "Invalid username and/or password! Please try again."
msgstr "Tên và mật mã không đúng. Xin thử lại "
"Dường như bạn cố gắng flash một hình ảnh không phù hợp với bộ nhớ flash, xin "
"vui lòng xác minh các tập tin hình ảnh!"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:89
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:96
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:77
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:91
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:72
msgid "JavaScript required!"
msgstr "Yêu cầu JavaScript"
msgid "Language and Style"
msgstr "Ngôn ngữ và phong cách"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:560
+msgid ""
+"Larger weights (of the same prio) are given a proportionately higher "
+"probability of being selected."
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:575
msgid "Last member interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
msgid "Latency"
msgstr "Độ trễ"
msgid "Learn routes"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:348
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:353
msgid "Lease file"
msgstr "Leasefile"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:697
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:768
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:679
msgid "Lease time"
msgstr "Thời gian được cấp một địa chỉ IP"
msgid "Limit"
msgstr "Giới hạn "
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
msgid "Line Attenuation (LATN)"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
msgid "Line Mode"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:17
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
msgid "Line State"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
msgid "Line Uptime"
msgstr ""
msgid "Link layer header bits %d-%d"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
msgid "List of IP addresses to convert into NXDOMAIN responses."
msgstr "Danh sách các máy chủ cung cấp kết quả tên miền NX không có thật"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:296
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:581
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:652
msgid "List of IP sets to populate with the specified domain IPs."
msgstr ""
msgid "List of SSH key files for auth"
msgstr "Danh sách tập tin khóa SSH để xác thực"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:317
msgid "List of domains to allow RFC1918 responses for."
msgstr "Danh sách tên miền chấp nhận phản hồi RFC1918"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:290
-msgid "List of domains to force to an IP address."
-msgstr ""
-
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:283
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:285
msgid "List of upstream resolvers to forward queries to."
msgstr ""
msgid "Listen Port"
msgstr "Lắng nghe cổng"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:332
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:337
msgid "Listen interfaces"
msgstr "Lắng nghe giao diện mạng"
msgid "Listen only on the given interface or, if unspecified, on all"
msgstr "Chỉ nghe giao diện mạng đã cho (nếu không xác định sẽ nghe tất cả)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:333
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
msgid ""
"Listen only on the specified interfaces, and loopback if not excluded "
"explicitly."
msgid "ListenPort setting is invalid"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:439
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:444
msgid "Listening port for inbound DNS queries."
msgstr "Cổng để nghe cho các truy vấn DNS gửi đến"
msgstr "Đang tải nội dung thư mục..."
#: modules/luci-base/htdocs/luci-static/resources/luci.js:1942
-#: modules/luci-base/luasrc/view/view.htm:4
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:45
+#: modules/luci-base/ucode/template/view.ut:4
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:40
msgid "Loading view…"
msgstr "Tải cảnh..."
msgid "Local ULA"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:273
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:275
msgid "Local domain"
msgstr "Tên miền cục bộ"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:274
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:276
msgid "Local domain suffix appended to DHCP names and hosts file entries."
msgstr "Hậu tố tên miền cục bộ gắn vào tên DHCP và các mục tập tin từ máy chủ"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:269
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:271
msgid "Local server"
msgstr "máy chủ cục bộ"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:319
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:324
msgid "Local service only"
msgstr "Chỉ dùng dịch vụ cục bộ"
msgid "Local wireguard key"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
msgid "Localise queries"
msgstr "Tra vấn địa phương"
msgid "Log output level"
msgstr "Cấp độ lưu nhật ký cho đầu ra"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:277
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:279
msgid "Log queries"
msgstr "Bản ghi tra vấn"
msgid "Logical network to which the tunnel will be added (bridged) (optional)."
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:38
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:41
+#: modules/luci-base/ucode/template/sysauth.ut:38
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:36
msgid "Login"
msgstr "Đăng nhập "
msgid "Loose filtering"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
msgid "Loss of Signal Seconds (LOSS)"
msgstr "Mất tín hiệu (LOSS)"
msgid "Lowest leased address as offset from the network address."
msgstr "Địa chỉ thuê thấp nhất dưới dạng bù từ địa chỉ mạng"
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/footer.ut:12
+msgid "Lua compatibility mode active"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:48
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:83
msgid "MAC"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:591
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:40
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:619
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1164
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2177
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:56
msgid "MTU"
msgstr "MTU"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:259
+msgid "MX"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:303
msgid ""
"Make sure to clone the root filesystem using something like the commands "
msgid "Max <abbr title=\"Router Advertisement\">RA</abbr> interval"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
msgid "Max. Attainable Data Rate (ATTNDR)"
msgstr "Tối đa tốc độ dữ liệu đạt được (ATTNDR)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:457
msgid "Max. DHCP leases"
msgstr ""
"<abbr title=\"Tối đa\">Max.</abbr> <abbr title=\"Giao thức cấu hình máy chủ "
"động\">DHCP</abbr> leases"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:459
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:464
msgid "Max. EDNS0 packet size"
msgstr ""
"<abbr title=\"maximal\">Max.</abbr> <abbr title=\"Cơ chế mở rộng hệ thống "
"phân giải tên miền\">EDNS0</abbr> packet size"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:466
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:471
msgid "Max. concurrent queries"
msgstr "<abbr title=\"Tối đa\">Max.</abbr> concurrent queries"
msgid "Maximum allowed Listen Interval"
msgstr "Chu kỳ nghe tối đa cho phép"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:453
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:458
msgid "Maximum allowed number of active DHCP leases."
msgstr "Số lượng tối đa máy mượn địa chỉ từ DHCP đang hoạt động"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:467
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:472
msgid "Maximum allowed number of concurrent DNS queries."
msgstr "Số lượng truy vấn DNS đồng thời tối đa được phép"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:460
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:465
msgid "Maximum allowed size of EDNS0 UDP packets."
msgstr "Kích thước tối đa được phép của gói UDP EDNS.0"
msgid "Maximum transmit power"
msgstr "Năng lượng truyền tối đa"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:394
msgid "May prevent VoIP or other services from working."
msgstr ""
msgid "Name of the tunnel device"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:46
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:39
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:50
msgid "Navigation"
msgstr "Điều hướng"
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:10
+msgid "Nebula Network"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:653
msgid "Neighbour cache validity"
msgstr ""
msgid "Network address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:492
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:497
msgid "Network boot image"
msgstr "Tập tin ảnh khởi động mạng"
msgid "Network interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:536
msgid "Network-ID"
msgstr ""
msgid "Never"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:270
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:272
msgid ""
"Never forward matching domains and subdomains, resolve from DHCP or hosts "
"files only."
msgid "No RX signal"
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:80
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:87
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:68
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:82
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:65
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:90
msgid ""
"No changes to settings will be stored and are lost after rebooting. This "
msgid "No entries in this directory"
msgstr "Không có gì trong đường dẫn này"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:82
-msgid "No files found"
-msgstr "Không tìm thấy tập tin"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:833
msgid ""
"No fixed interface listening port defined, peers might not be able to "
msgid "No more slaves available, can not save interface"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:413
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
msgid "No negative cache"
msgstr "Không có bộ đệm âm"
msgid "No nftables ruleset loaded."
msgstr ""
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:69
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:61
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:57
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:54
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:79
msgid "No password set!"
msgstr "Chưa được cài đặt mật khẩu!"
msgid "Noise"
msgstr "Nhiễu"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
msgid "Noise Margin (SNR)"
msgstr "Tỉ lệ cường độ nhiễu (SRN)"
msgid "Noise:"
msgstr "Nhiễu:"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
msgid "Non Pre-emptive CRC errors (CRC_P)"
msgstr "Lỗi CRC không tiền phát sinh (CRC_P)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:330
msgid "Non-wildcard"
msgstr ""
msgid "Normal"
msgstr "Thường"
-#: modules/luci-base/luasrc/view/error404.htm:8
+#: modules/luci-base/ucode/template/error404.ut:9
msgid "Not Found"
msgstr "Không tìm thấy"
msgid "Number of IGMP membership reports"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:474
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:479
msgid "Number of cached DNS entries, 10000 is maximum, 0 is no caching."
msgstr ""
"Số lượng mục DNS được lưu trong bộ nhớ cache (tối đa là 10000, 0 là không "
msgid "On-link"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:672
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:743
msgid "One of hostname or MAC address must be specified!"
msgstr "Một trong những tên máy chủ hoặc địa chỉ mac phải được chỉ định"
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:472
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:19
msgid "Open list..."
msgstr "Đang mở danh sách ..."
msgid "Options"
msgstr "Lựa chọn "
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:526
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
msgid ""
"Options for the Network-ID. (Note: needs also Network-ID.) E.g. "
-"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</"
-"code>\" for default route. <code>0.0.0.0</code> means \"the address of the "
-"system running dnsmasq\"."
+"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</code>"
+"\" for default route. <code>0.0.0.0</code> means \"the address of the system "
+"running dnsmasq\"."
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:125
msgid "Options:"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
+msgid "Ordinal: lower comes first."
+msgstr ""
+
#: protocols/luci-proto-batman-adv/htdocs/luci-static/resources/protocol/batadv.js:55
msgid "Originator Interval"
msgstr ""
msgid "Pass-through (Mirror physical device to single MAC VLAN)"
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:29
+#: modules/luci-base/ucode/template/sysauth.ut:29
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1690
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:51
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:114
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:103
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:24
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:19
msgid "Password"
msgstr "Mật mã"
msgid "Pkts."
msgstr ""
-#: modules/luci-base/luasrc/view/sysauth.htm:19
+#: modules/luci-base/ucode/template/sysauth.ut:19
msgid "Please enter your username and password."
msgstr "Nhập tên và mật mã"
msgid "Policy: <strong>%h</strong> (%h)"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:579
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:21
msgid "Port"
msgstr "Cửa "
msgid "Potential negation of: %s"
msgstr "Phủ định tiềm năng của: %s"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:38
msgid "Power Management Mode"
msgstr "Chế độ kiểm soát năng lượng"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
msgid "Pre-emptive CRC errors (CRCP_P)"
msgstr "Lỗi CRC ưu tiên (CRCP_P)"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:129
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:197
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:223
msgid "Quality"
msgstr "Chất lượng"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
msgid "Query all available upstream resolvers."
msgstr ""
"Truy vấn tất cả dòng dữ liệu có thể có qua máy chủ <abbr title=\"hệ thống "
"Dữ liệu thô được mã hóa thập lục phân (byte). Để trống trừ khi ISP của bạn "
"yêu cầu điều này"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:345
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:350
msgid "Read <code>/etc/ethers</code> to configure the DHCP server."
msgstr ""
"Đọc <code>/etc/ethers</code> để định cấu hình <abbr title=\"Dynamic Host "
msgid "Reassociation Deadline"
msgstr "Hạn chót tái tổ chức"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
msgid "Rebind protection"
msgstr "Bảo vệ tái kết nối"
msgstr ""
#: modules/luci-compat/luasrc/model/network/proto_relay.lua:153
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:611
#: protocols/luci-proto-relay/htdocs/luci-static/resources/protocol/relay.js:39
msgid "Relay"
msgstr "Phục thuộc"
msgid "Required. Base64-encoded private key for this interface."
msgstr "Bắt buộc. Khóa riêng tư được mã hóa Base64 cho giao diện này"
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Required. Path to the .yml config file for this interface."
+msgstr ""
+
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:587
msgid "Required. Public key of the WireGuard peer."
msgstr ""
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2197
-#: modules/luci-base/luasrc/view/sysauth.htm:39
+#: modules/luci-base/ucode/template/sysauth.ut:39
#: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
#: modules/luci-compat/luasrc/view/cbi/footer.htm:30
#: modules/luci-compat/luasrc/view/cbi/simpleform.htm:66
msgid "Resolv and Hosts Files"
msgstr "Tập tin Resolv và Hosts"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:356
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:361
msgid "Resolv file"
msgstr "Tập tin Resolv"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:292
+msgid "Resolve specified FQDNs to an IP."
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/rpc.js:405
msgid "Resource not found"
msgstr "Không tìm được nguồn"
msgid "Restore backup"
msgstr "Phục hồi backup"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
msgid ""
"Return answers to DNS queries matching the subnet from which the query was "
"received if multiple IPs are available."
msgid "Robustness"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:491
msgid ""
"Root directory for files served via TFTP. <em>Enable TFTP server</em> and "
"<em>TFTP server root</em> turn on the TFTP server and serve files from "
msgid "SNR"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "SRV"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:10
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:38
msgid "SSH Access"
msgid "Server"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:524
msgid "Server address"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:518
msgid "Server name"
msgstr ""
msgid "Setup routes for proxied IPv6 neighbours."
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
msgid "Severely Errored Seconds (SES)"
msgstr ""
msgstr ""
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:470
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:18
msgid "Show current backup file list"
msgstr "Hiển thị danh sách tập tin lưu trữ"
msgid "Signal / Noise"
msgstr "Tín hiệu / Nhiễu"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
msgid "Signal Attenuation (SATN)"
msgstr "Độ suy hao tín hiệu (SATN)"
msgid "Size"
msgstr "Dung lượng "
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:473
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:478
msgid "Size of DNS query cache"
msgstr "Dung lượng của bộ nhớ tạm truy vấn DNS"
msgid "Skip from backup files that are equal to those in /rom"
msgstr ""
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:42
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:35
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:46
msgid "Skip to content"
msgstr "Nhảy tới nội dung"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:41
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:34
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:45
msgid "Skip to navigation"
msgstr "Chuyển đến mục định hướng"
msgid "Some fields are invalid, cannot save values!"
msgstr "Có trường không hợp lệ, không thể lưu giá trị!"
-#: modules/luci-base/luasrc/view/error404.htm:9
+#: modules/luci-base/ucode/template/error404.ut:10
msgid "Sorry, the object you requested was not found."
msgstr "Xin lỗi, không thể tìm được đối tượng bạn yêu cầu"
-#: modules/luci-base/luasrc/view/error500.htm:9
-msgid "Sorry, the server encountered an unexpected error."
-msgstr "Xin lỗi, máy chủ đã gặp lỗi không mong muốn"
-
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:442
msgid ""
"Sorry, there is no sysupgrade support present; a new firmware image must be "
msgid "Source port"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:505
msgid ""
"Special <abbr title=\"Preboot eXecution Environment\">PXE</abbr> boot "
"options for Dnsmasq."
msgid "Static address"
msgstr "Địa chỉ tĩnh"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:598
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:669
msgid ""
"Static leases are used to assign fixed IP addresses and symbolic hostnames "
"to DHCP clients. They are also required for non-dynamic interface "
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:16
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:541
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:929
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:9
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:9
msgid "Status"
msgstr "Trạng thái"
msgid "Strict filtering"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
msgid "Strict order"
msgstr "Yêu cầu nghiêm ngặt"
msgid "Submit"
msgstr "Trình "
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
msgid "Suppress logging"
msgstr "Dừng lưu nhật ký"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:373
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
msgid "Suppress logging of the routine operation for the DHCP protocol."
msgstr "Bỏ lưu nhật ký hoạt động định tuyến của các giao thức này"
msgid "Sync with browser"
msgstr "Đồng bộ với trình duyệt web"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:293
+msgid "Syntax: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "Syntax: <code>_service._proto.example.com</code>."
+msgstr ""
+
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:26
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:17
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:113
msgid "System log buffer size"
msgstr "Kích cỡ bộ đệm nhật ký hệ thống"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:79
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:86
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:71
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:67
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:81
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:64
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:89
msgid "System running in recovery (initramfs) mode."
msgstr ""
msgid "TCP:"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:490
msgid "TFTP server root"
msgstr "Máy chủ gốc TFTP"
msgid "Table"
msgstr "Bảng"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:56
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:66
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:187
"Cấu hình cập nhật điểm cuối HE.net đã thay đổi, bây giờ bạn có thể sử dụng "
"tên người dùng đơn giản thay vì ID người dùng"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:681
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:752
msgid "The IP address %h is already used by another static lease"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:761
msgid "The IP address is outside of any DHCP pool address range"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:520
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
msgid "The IP address of the boot server"
msgstr ""
"to be received and retransmitted which costs airtime)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:514
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
msgid "The hostname of the boot server"
msgstr ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/switch.js:139
#, fuzzy
msgid ""
-"The network ports on this device can be combined to several <abbr "
-"title=\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
+"The network ports on this device can be combined to several <abbr title="
+"\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
"communicate directly with each other. <abbr title=\"Virtual Local Area "
"Network\">VLAN</abbr>s are often used to separate different network "
"segments. Often there is by default one Uplink port for a connection to the "
"next greater network like the internet and other ports for a local network."
msgstr ""
-"Các cổng mạng trên thiết bị này có thể được kết hợp với một số <abbr "
-"title=\" Mạng cục bộ ảo\"> Vlan</abbr>s trong đó các máy tính có thể giao "
-"tiếp trực tiếp với nhau. <Abbr title=\"Mạng cục bộ ảo\"> Vlan </abbr>s "
-"thường được sử dụng để phân tách các phân đoạn mạng khác nhau. Thường sẽ có "
-"một cổng Uplink mặc định để kết nối với mạng lớn hơn tiếp theo như internet "
-"và các cổng khác cho mạng cục bộ."
+"Các cổng mạng trên thiết bị này có thể được kết hợp với một số <abbr title="
+"\" Mạng cục bộ ảo\"> Vlan</abbr>s trong đó các máy tính có thể giao tiếp "
+"trực tiếp với nhau. <Abbr title=\"Mạng cục bộ ảo\"> Vlan </abbr>s thường "
+"được sử dụng để phân tách các phân đoạn mạng khác nhau. Thường sẽ có một "
+"cổng Uplink mặc định để kết nối với mạng lớn hơn tiếp theo như internet và "
+"các cổng khác cho mạng cục bộ."
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:759
msgid ""
msgid "The selected %s mode is incompatible with %s encryption"
msgstr "Chế độ %s được chọn không tương thích với mã hóa %s"
-#: modules/luci-base/luasrc/view/csrftoken.htm:11
+#: modules/luci-base/ucode/template/csrftoken.ut:11
msgid "The submitted security token is invalid or already expired!"
msgstr "Mã thông báo bảo mật đã gửi không hợp lệ hoặc đã hết hạn!"
"nftables rules is discouraged and may lead to incomplete traffic filtering."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:746
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:778
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:817
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:849
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:130
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:179
msgid "There are no active leases"
msgid "There are no changes to apply"
msgstr "Không có thay đổi nào để áp dụng"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:70
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:58
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:55
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:80
msgid ""
"There is no password set on this router. Please configure a root password to "
msgstr "Tập tin không giống như một tệp PEM hợp lệ"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:16
msgid ""
"This is a list of shell glob patterns for matching files and directories to "
"include during sysupgrade. Modified files in /etc/config/ and certain other "
"Đây là địa chỉ điểm cuối cục bộ được chỉ định bởi tunnel broker, nó thường "
"kết thúc bằng <code>...:2/64</code>"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:266
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:268
msgid "This is the only DHCP server in the local network."
msgstr ""
"Đây là <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</abbr> duy "
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:440
msgid ""
"To fully configure the local WireGuard interface from an existing (e.g. "
-"provider supplied) configuration file, use the <strong><a class=\"full-"
-"import\" href=\"#\">configuration import</a></strong> instead."
+"provider supplied) configuration file, use the <strong><a class=\"full-import"
+"\" href=\"#\">configuration import</a></strong> instead."
msgstr ""
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2674
msgid "Unable to determine upstream interface"
msgstr "Không thể xác định dòng dữ liệu giao diện mạng"
-#: modules/luci-base/luasrc/view/error404.htm:11
+#: modules/luci-base/ucode/template/error404.ut:12
msgid "Unable to dispatch"
msgstr "Không thể gửi"
msgid "Unable to verify PIN"
msgstr ""
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
msgid "Unavailable Seconds (UAS)"
msgstr ""
"will be restarted to apply the updated configuration."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
msgid "Upstream resolvers will be queried in the order of the resolv file."
msgstr ""
"<abbr title=\"Hệ thống phân giải tên miền\">DNS</abbr> máy chủ sẽ được truy "
msgid "Uptime"
msgstr "Uptime"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
msgid "Use <code>/etc/ethers</code>"
msgstr "Dùng <code>/etc/ethers</code>"
msgid "Use system certificates for inner-tunnel"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:599
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:670
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC address</"
"em> identifies the host, the <em>IPv4 address</em> specifies the fixed "
msgid "User key (PEM encoded)"
msgstr "Khóa người dùng (mã hóa PEM)"
-#: modules/luci-base/luasrc/view/sysauth.htm:23
+#: modules/luci-base/ucode/template/sysauth.ut:23
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:112
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:101
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:56
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:18
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:13
msgid "Username"
msgstr "Tên người dùng "
msgid "VXLANv6 (RFC7348)"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
msgid ""
"Validate DNS replies and cache DNSSEC data, requires upstream to support "
"DNSSEC."
msgid "Vendor Class to send when requesting DHCP"
msgstr "Lớp máy cung cấp để gửi khi yêu cầu DHCP"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:408
msgid "Verify unsigned domain responses really come from unsigned domains."
msgstr ""
msgid "Weak"
msgstr "Yếu"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+msgid "Weight"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1029
msgid ""
"When delegating prefixes to multiple downstreams, interfaces with a higher "
msgid "Wireless network is enabled"
msgstr "Mạng không dây được kích hoạt"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:278
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:280
msgid "Write received DNS queries to syslog."
msgstr "Viết yêu cầu DNS nhận được vào nhật ký hệ thống"
"You appear to be currently connected to the device via the \"%h\" interface. "
"Do you really want to shut down the interface?"
msgstr ""
-"Bạn dường như hiện đang được kết nối với thiết bị thông qua giao diện "
-"\"%h\". Bạn có thực sự muốn tắt giao diện này không?"
+"Bạn dường như hiện đang được kết nối với thiết bị thông qua giao diện \"%h"
+"\". Bạn có thực sự muốn tắt giao diện này không?"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/startup.js:112
msgid ""
"bạn vô hiệu hoá kịch bản khởi động thiết yếu như &quot;network&"
"quot;, công cụ của bạn chó thể trở nên không truy cập được</strong>"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:90
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:97
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
+msgid "You may add multiple records for the same Target."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:596
+msgid "You may add multiple records for the same domain."
+msgstr ""
+
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:78
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:92
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:73
msgid ""
"You must enable JavaScript in your browser or LuCI will not work properly."
msgid "ZRam Size"
msgstr "Kích cỡ ZRam"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:558
+msgid "_proto: _tcp, _udp, _sctp, _quic, … ."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:557
+msgid ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Note: while _http is "
+"possible, no browsers support SRV records.)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:454
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:152
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:163
msgid "any"
msgid "e.g: dump"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:726
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:756
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:797
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:827
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:101
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:148
msgid "expired"
msgid "unknown"
msgstr "Không xác định"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:456
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:724
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:754
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:461
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:795
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:825
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:99
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:146
msgid "unlimited"
msgid "« Back"
msgstr "« Quay lại"
+#~ msgid "Back to configuration"
+#~ msgstr "Quay lại phần cài đặt"
+
+#~ msgid "Close list..."
+#~ msgstr "Danh sách đã đóng ..."
+
+#~ msgid "Internal Server Error"
+#~ msgstr "Lỗi máy chủ nội"
+
+#~ msgid "No files found"
+#~ msgstr "Không tìm thấy tập tin"
+
+#~ msgid "Sorry, the server encountered an unexpected error."
+#~ msgstr "Xin lỗi, máy chủ đã gặp lỗi không mong muốn"
+
#~ msgid "Do not forward queries that cannot be answered by public resolvers."
#~ msgstr ""
#~ "Không chuyển tiếp yêu cầu mà máy chủ tên công cộng không thể trả lời"
#~ msgid ""
#~ "The filesystem that was used to format the memory (<abbr title=\"for "
-#~ "example\">e.g.</abbr> <samp><abbr title=\"Third Extended "
-#~ "Filesystem\">ext3</abbr></samp>)"
+#~ "example\">e.g.</abbr> <samp><abbr title=\"Third Extended Filesystem"
+#~ "\">ext3</abbr></samp>)"
#~ msgstr ""
#~ "Filesystem mà được dùng để format memory (<abbr title=\"for example\">e.g."
#~ "</abbr> <samp><abbr title=\"Third Extended Filesystem\">ext3</abbr></"
#~ "cầu nhiều giao diện bằng cách đánh dấu &quot;bridge interfaces&"
#~ "quot; field và nhập tên vào của nhiều giao diện network phân tách bởi "
#~ "những khoảng trống. Bạn có thể cũng dùng <abbr title=\"Virtual Local Area "
-#~ "Network\">VLAN</abbr> notation <samp>INTERFACE.VLANNR</samp> (<abbr "
-#~ "title=\"for example\">e.g.</abbr>: <samp>eth0.1</samp>)."
+#~ "Network\">VLAN</abbr> notation <samp>INTERFACE.VLANNR</samp> (<abbr title="
+#~ "\"for example\">e.g.</abbr>: <samp>eth0.1</samp>)."
#~ msgid "Receiver Antenna"
#~ msgstr "Máy thu Antenna"
#
msgid ""
msgstr ""
-"PO-Revision-Date: 2022-10-04 18:07+0000\n"
-"Last-Translator: Eric <hamburger1024@mailbox.org>\n"
+"PO-Revision-Date: 2022-10-26 13:13+0000\n"
+"Last-Translator: Byacrya <byacrya@proton.me>\n"
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
"openwrt/luci/zh_Hans/>\n"
"Language: zh_Hans\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.14.1\n"
+"X-Generator: Weblate 4.14.2-dev\n"
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:643
msgctxt "Yet unknown nftables table family (\"family\" table \"name\")"
msgid "<abbr title=\"Router Advertisement\">RA</abbr>-Service"
msgstr "<abbr title=\"路由器通告\">RA</abbr> 服务"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:294
+msgid ""
+"<code>/#/</code> matches any domain. <code>/example.com/</code> returns "
+"NXDOMAIN."
+msgstr ""
+"<code>/#/</code> 匹配任何域名。<code>/example.com/</code> 返回 NXDOMAIN。"
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+msgid ""
+"<code>/example.com/#</code> returns NULL addresses (<code>0.0.0.0</code> and "
+"<code>::</code>) for example.com and its subdomains."
+msgstr ""
+"<code>/example.com/#</code> 对 example.com 及其子域名返回无效地址 "
+"(<code>0.0.0.0</code> 和 <code>::</code>) 。"
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:87
msgctxt "nft relational \">\" operator expression"
msgid "<var>%s</var> greater than <strong>%s</strong>"
msgid "ATM device number"
msgstr "ATM 设备号码"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
msgid "ATU-C System Vendor ID"
msgstr "ATU-C 系统供应商 ID"
msgid "Absent Interface"
msgstr "接口缺失"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:320
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
msgid "Accept DNS queries only from hosts whose address is on a local subnet."
msgstr "仅在网卡所属的子网中提供 DNS 服务。"
msgid "Add key"
msgstr "添加密钥"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:410
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:415
msgid "Add local domain suffix to names served from hosts files."
msgstr "添加本地域名后缀到 HOSTS 文件中的域名。"
msgid "Add to Whitelist"
msgstr "添加到白名单"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:367
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
msgid "Additional hosts files"
msgstr "额外的 HOSTS 文件"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:417
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
msgid "Additional servers file"
msgstr "额外的 SERVERS 文件"
msgid "Address to access local relay bridge"
msgstr "接入本地中继桥的地址"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:289
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:291
msgid "Addresses"
msgstr "地址"
msgid "Aggregate Originator Messages"
msgstr "聚合发起者消息"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
msgid "Aggregate Transmit Power (ACTATP)"
msgstr "总发射功率(ACTATP)"
msgid "Alias of \"%s\""
msgstr "“%s”的别名"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
msgid "All servers"
msgstr "所有服务器"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
msgid ""
"Allocate IP addresses sequentially, starting from the lowest available "
"address."
msgstr "从最低可用地址开始顺序分配 IP 地址。"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
msgid "Allocate IPs sequentially"
msgstr "顺序分配 IP"
msgid "Allow listed only"
msgstr "仅允许列表内"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
msgid "Allow localhost"
msgstr "允许本机"
msgid "Always on (kernel: default-on)"
msgstr "始终开启(kernel:default-on)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:538
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
msgid "Always send DHCP Options. Sometimes needed, with e.g. PXELinux."
msgstr "始终发送 DHCP 选项。 有时需要,例如 PXELinux。"
msgstr "此设备的可选简短描述"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1484
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
msgid "Annex"
msgstr "Annex"
msgid "Any zone"
msgstr "任意区域"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:532
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
msgid "Apply DHCP Options to this net. (Empty = all clients)."
msgstr "将 DHCP 选项应用到此网络。(Empty = 所有客户端)。"
msgid "Authentication Type"
msgstr "身份验证类型"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:265
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:267
msgid "Authoritative"
msgstr "唯一授权"
-#: modules/luci-base/luasrc/view/sysauth.htm:17
+#: modules/luci-base/ucode/template/sysauth.ut:17
#: themes/luci-theme-bootstrap/htdocs/luci-static/resources/view/bootstrap/sysauth.js:11
msgid "Authorization Required"
msgstr "需要授权"
msgid "Avoid Bridge Loops"
msgstr "避免网桥回环"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
msgid ""
"Avoid uselessly triggering dial-on-demand links (filters SRV/SOA records and "
"names with underscores)."
msgid "Back to Overview"
msgstr "返回至概览"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:48
-msgid "Back to configuration"
-msgstr "返回至配置"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:826
msgid "Back to peer configuration"
msgstr "返回 peer 配置"
msgstr "备份与升级"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:351
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:12
msgid "Backup file list"
msgstr "文件备份列表"
msgstr "信标间隔"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:352
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:46
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
msgid "Bind NTP server"
msgstr "绑定 NTP 服务器"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:326
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:331
msgid "Bind dynamically to interfaces rather than wildcard address."
msgstr "动态绑定到接口而不是通配符地址。"
msgid "Bind interface"
msgstr "绑定接口"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:595
+msgid ""
+"Bind service records to a domain name: specify the location of services."
+msgstr "绑定服务记录到域名:指定服务的位置。"
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:556
+msgid ""
+"Bind service records to a domain name: specify the location of services. See "
+"<a href=\"%s\">RFC2782</a>."
+msgstr "绑定服务记录到域名:指定服务的位置。见 <a href=\"%s\">RFC2782</a>。"
+
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gre.js:59
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gretap.js:64
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/grev6.js:64
msgid "CLAT configuration failed"
msgstr "CLAT 配置失败"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
+msgid "CNAME or fqdn"
+msgstr "CNAME 或 fqdn"
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/processes.js:72
msgid "CPU usage (%)"
msgstr "CPU 使用率(%)"
"persist connection"
msgstr "在给定时间(秒)后关闭非活动链接,0 为保持连接"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:49
-msgid "Close list..."
-msgstr "关闭列表…"
-
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:44
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:63
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2184
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:391
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:352
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:355
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:72
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:66
msgid "Collecting data..."
msgstr "正在收集数据…"
msgid "Compute outgoing checksum (optional)."
msgstr "计算传出校验和(可选)。"
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Config File"
+msgstr "配置文件"
+
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4375
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
msgid "Configuration"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:764
msgid ""
-"Configures the operation mode of the <abbr title=\"Router "
-"Advertisement\">RA</abbr> service on this interface."
+"Configures the operation mode of the <abbr title=\"Router Advertisement"
+"\">RA</abbr> service on this interface."
msgstr "配置此接口上 <abbr title=\"路由器通告\">RA</abbr> 服务的操作模式。"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:879
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/leds.js:59
msgid ""
-"Customizes the behaviour of the device <abbr title=\"Light Emitting "
-"Diode\">LED</abbr>s if possible."
+"Customizes the behaviour of the device <abbr title=\"Light Emitting Diode"
+"\">LED</abbr>s if possible."
msgstr "自定义此设备的 <abbr title=\"发光二极管\">LED</abbr> 行为。"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:673
msgid "DAE-Secret"
msgstr "DAE 密文"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:530
msgid "DHCP Options"
msgstr "DHCP 选项"
msgid "DNS"
msgstr "DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:282
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:284
msgid "DNS forwardings"
msgstr "DNS 转发"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:445
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:450
msgid "DNS query port"
msgstr "<abbr title=\"域名系统\">DNS</abbr> 查询端口"
msgid "DNS search domains"
msgstr "DNS 搜索域名"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:443
msgid "DNS server port"
msgstr "<abbr title=\"域名系统\">DNS</abbr> 服务器端口"
msgid "DNS-Label / FQDN"
msgstr "DNS-标签/FQDN"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
msgid "DNSSEC"
msgstr "DNSSEC"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:407
msgid "DNSSEC check unsigned"
msgstr "DNSSEC 检查未签名"
msgstr "DS-Lite AFTR 地址"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1481
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:44
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:45
msgid "DSL"
msgstr "DSL"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:14
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:15
msgid "DSL Status"
msgstr "DSL 状态"
msgstr "DTIM 间隔"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:59
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:700
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:771
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:136
msgid "DUID"
msgstr "DUID"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
msgid "Data Rate"
msgstr "数据速率"
msgid "Disassociate On Low Acknowledgement"
msgstr "在低 Ack 应答时断开连接"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:302
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
msgid ""
"Discard upstream responses containing <a href=\"%s\">RFC1918</a> addresses."
msgstr "丢弃包含 <a href=\"%s\">RFC1918 </a>地址的上游响应。"
msgid "Distributed ARP Table"
msgstr "分布式 ARP 表"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:548
msgid ""
"Dnsmasq instance to which this boot section is bound. If unspecified, the "
"section is valid for all dnsmasq instances."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:246
msgid ""
-"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration "
-"Protocol\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</"
-"abbr> forwarder."
+"Dnsmasq is a lightweight <abbr title=\"Dynamic Host Configuration Protocol"
+"\">DHCP</abbr> server and <abbr title=\"Domain Name System\">DNS</abbr> "
+"forwarder."
msgstr ""
"Dnsmasq 是轻量级的 <abbr title=\"Dynamic Host Configuration Protocol\">DHCP</"
"abbr>服务器和<abbr title=\"Domain Name System\">DNS</abbr> 转发器。"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:419
msgid "Do not cache negative replies, e.g. for non-existent domains."
msgstr "不缓存无用的回应,例如:不存在的域名。"
msgid "Do not create host route to peer (optional)."
msgstr "不创建到对端的主机路由(可选)。"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:262
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:264
msgid "Do not forward DNS queries without dots or domain parts."
msgstr "不转发没有点或域名部分的 DNS 查询。"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
msgid "Do not forward reverse lookups for local networks."
msgstr "不转发本地网络的反向查询。"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:339
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
msgid "Do not listen on the specified interfaces."
msgstr "不监听这些接口。"
msgid "Do you want to replace the current keys?"
msgstr "是否要替换当前密钥?"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:593
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:606
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:664
msgid "Domain"
msgstr "域名"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:261
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:263
msgid "Domain required"
msgstr "忽略空域名解析"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:316
msgid "Domain whitelist"
msgstr "域名白名单"
"Dropbear offers <abbr title=\"Secure Shell\">SSH</abbr> network shell access "
"and an integrated <abbr title=\"Secure Copy\">SCP</abbr> server"
msgstr ""
-"Dropbear 提供 <abbr title=\"Secure Shell\">SSH</abbr> 访问和 <abbr "
-"title=\"Secure Copy\">SCP</abbr> 服务"
+"Dropbear 提供 <abbr title=\"Secure Shell\">SSH</abbr> 访问和 <abbr title="
+"\"Secure Copy\">SCP</abbr> 服务"
#: modules/luci-compat/luasrc/model/network/proto_4x6.lua:14
#: protocols/luci-proto-ipv6/htdocs/luci-static/resources/protocol/dslite.js:11
msgid "Enable Single DES"
msgstr "启用单个 DES"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:480
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
msgid "Enable TFTP server"
msgstr "启用 TFTP 服务器"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/uhttpd.js:14
msgid ""
-"Enable automatic redirection of <abbr title=\"Hypertext Transfer "
-"Protocol\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol "
-"Secure\">HTTPS</abbr> port."
+"Enable automatic redirection of <abbr title=\"Hypertext Transfer Protocol"
+"\">HTTP</abbr> requests to <abbr title=\"Hypertext Transfer Protocol Secure"
+"\">HTTPS</abbr> port."
msgstr ""
"允许自动将<abbr title=\"Hypertext Transfer Protocol\">HTTP</abbr>请求重定向至"
"<abbr title=\"Hypertext Transfer Protocol Secure\">HTTPS</abbr>端口。"
msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets."
msgstr "启用后报文的 DF(禁止分片)标志。"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:481
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
msgid "Enable the built-in single-instance TFTP server."
msgstr "启用内置的单实例 TFTP 服务器。"
msgid "Error getting PublicKey"
msgstr "获取公钥时出错"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
msgid "Errored seconds (ES)"
msgstr "错误秒数(ES)"
msgid "Every second (fast, 1)"
msgstr "每秒(fast,1)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:343
msgid "Exclude interfaces"
msgstr "排除接口"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
msgid ""
"Exempt <code>127.0.0.0/8</code> and <code>::1</code> from rebinding checks, "
"e.g. for RBL services."
msgid "Existing device"
msgstr "现有设备"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:409
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
msgid "Expand hosts"
msgstr "扩展 HOSTS 文件中的主机后缀"
msgid "File"
msgstr "文件"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
msgid ""
"File listing upstream resolvers, optionally domain-specific, e.g. "
"<code>server=1.2.3.4</code>, <code>server=/domain/1.2.3.4</code>."
msgid "File not accessible"
msgstr "文件无法访问"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:354
msgid "File to store DHCP lease information."
msgstr "存储 DHCP 租约信息的文件。"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:362
msgid "File with upstream resolvers."
msgstr "上游解析器文件。"
#: modules/luci-base/htdocs/luci-static/resources/ui.js:2846
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:507
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:512
msgid "Filename"
msgstr "文件名"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:493
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:498
msgid "Filename of the boot image advertised to clients."
msgstr "向客户端发布的引导映像文件名。"
msgid "Filesystem"
msgstr "文件系统"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
msgid "Filter private"
msgstr "过滤本地包"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
msgid "Filter useless"
msgstr "过滤无用包"
msgid "Firmware Version"
msgstr "固件版本"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:446
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:451
msgid "Fixed source port for outbound DNS queries."
msgstr "出站 DNS 查询的固定源端口。"
msgid "Flashing…"
msgstr "正在刷写…"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:686
msgid "Force"
msgstr "强制"
msgid "Force use of NAT-T"
msgstr "强制使用 NAT-T"
-#: modules/luci-base/luasrc/view/csrftoken.htm:8
+#: modules/luci-base/ucode/template/csrftoken.ut:8
msgid "Form token mismatch"
msgstr "表单令牌不匹配"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:919
msgid ""
-"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr "
-"title=\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr "
-"title=\"Neighbour Advertisement, Type 136\">NA</abbr> messages between the "
-"designated master interface and downstream interfaces."
+"Forward <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> <abbr title="
+"\"Neighbour Solicitation, Type 135\">NS</abbr> and <abbr title=\"Neighbour "
+"Advertisement, Type 136\">NA</abbr> messages between the designated master "
+"interface and downstream interfaces."
msgstr ""
"在指定的主接口和下游接口之间转发 <abbr title=\"邻居发现协议\">NDP</abbr> "
"<abbr title=\"邻居请求报文,类型 135\">NS</abbr> 和 <abbr title=\"邻居通告报"
"downstream interfaces."
msgstr "在指定的主接口和下游接口之间转发 DHCPv6 消息。"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
msgid "Forward Error Correction Seconds (FECS)"
msgstr "前向纠错秒数(FECS)"
msgid "Global network options"
msgstr "全局网络选项"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:82
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:74
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:70
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:84
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:67
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:92
msgid "Go to firmware upgrade..."
msgstr "转到固件升级…"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:72
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:64
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:60
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:57
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:82
msgid "Go to password configuration..."
msgstr "跳转到密码配置页…"
msgid "Hang Up"
msgstr "挂起"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
msgid "Header Error Code Errors (HEC)"
msgstr "请求头错误代码错误(HEC)"
msgid "Host expiry timeout"
msgstr "主机到期超时"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
msgid "Host requests this filename from the boot server."
msgstr "主机从引导服务器请求此文件名。"
msgstr "Host-Uniq 标签内容"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:38
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:607
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:678
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:54
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:87
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:135
msgid "Hostnames"
msgstr "主机名映射"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:551
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:622
msgid ""
"Hostnames are used to bind a domain name to an IP address. This setting is "
"redundant for hostnames already configured with static leases, but it can be "
msgid "IP Protocol"
msgstr "IP 协议"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:260
msgid "IP Sets"
msgstr "IP 集"
msgid "IP Type"
msgstr "IP 类型"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:563
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:634
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:178
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:204
msgid "IP address"
msgid "IP protocol"
msgstr "IP 协议"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:660
msgid "IP set"
msgstr "IP 集"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:300
msgid "IP sets"
msgstr "IP 集"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:437
msgid "IPs to override with NXDOMAIN"
msgstr "忽略虚假空域名解析"
#: modules/luci-base/htdocs/luci-static/resources/protocol/static.js:178
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:736
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:88
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:164
msgid "IPv4 address"
msgid "IPv6 suffix"
msgstr "IPv6 后缀"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:706
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:777
msgid "IPv6 suffix (hex)"
msgstr "<abbr title=\"互联网协议第 6 版\">IPv6</abbr> 后缀(十六进制)"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:340
msgid ""
"If your physical memory is insufficient unused data can be temporarily "
-"swapped to a swap-device resulting in a higher amount of usable <abbr "
-"title=\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a "
-"very slow process as the swap-device cannot be accessed with the high "
-"datarates of the <abbr title=\"Random Access Memory\">RAM</abbr>."
+"swapped to a swap-device resulting in a higher amount of usable <abbr title="
+"\"Random Access Memory\">RAM</abbr>. Be aware that swapping data is a very "
+"slow process as the swap-device cannot be accessed with the high datarates "
+"of the <abbr title=\"Random Access Memory\">RAM</abbr>."
msgstr ""
-"如果物理内存不足,闲置数据可自动移到交换设备暂存,以增加可用的 <abbr "
-"title=\"随机存取存储器\">RAM</abbr>。请注意:数据交换的过程会非常慢,因为交换"
-"设备无法像 <abbr title=\"随机存取存储器\">RAM</abbr> 那样的高速地访问。"
+"如果物理内存不足,闲置数据可自动移到交换设备暂存,以增加可用的 <abbr title="
+"\"随机存取存储器\">RAM</abbr>。请注意:数据交换的过程会非常慢,因为交换设备无"
+"法像 <abbr title=\"随机存取存储器\">RAM</abbr> 那样的高速地访问。"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:363
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:368
msgid "Ignore <code>/etc/hosts</code>"
msgstr "忽略 <code>/etc/hosts</code>"
msgid "Ignore interface"
msgstr "忽略此接口"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:352
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
msgid "Ignore resolv file"
msgstr "忽略解析文件"
"在桥接 LAN 设置中,建议启用桥接环路避免功能,以避免可导致整个 LAN 停止的广播"
"环路。"
-#: modules/luci-base/luasrc/view/csrftoken.htm:13
+#: modules/luci-base/ucode/template/csrftoken.ut:13
msgid ""
"In order to prevent unauthorized access to the system, your request has been "
"blocked. Click \"Continue »\" below to return to the previous page."
msgid "Install protocol extensions..."
msgstr "安装扩展协议…"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:547
msgid "Instance"
msgstr "实例"
msgid "Internal"
msgstr "内部"
-#: modules/luci-base/luasrc/view/error500.htm:8
-msgid "Internal Server Error"
-msgstr "内部服务器错误"
-
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:285
msgid "Interval For Sending Learning Packets"
msgstr "学习包发送间隔"
msgid "Invalid hexadecimal value"
msgstr "无效 16 进制值"
-#: modules/luci-base/luasrc/view/sysauth.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:37
+#: modules/luci-base/ucode/template/sysauth.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:32
msgid "Invalid username and/or password! Please try again."
msgstr "无效的用户名和/或密码!请重试。"
"flash memory, please verify the image file!"
msgstr "您尝试刷写的固件与此设备不兼容,请检查固件文件!"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:89
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:96
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:77
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:91
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:72
msgid "JavaScript required!"
msgstr "需要 JavaScript!"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:228
msgid "Keep settings and retain the current configuration"
-msgstr "保持设置并保留当前配置"
+msgstr "保留当前配置"
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/dmesg.js:20
#: modules/luci-mod-status/root/usr/share/luci/menu.d/luci-mod-status.json:84
msgid "Language and Style"
msgstr "语言和界面"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:560
+msgid ""
+"Larger weights (of the same prio) are given a proportionately higher "
+"probability of being selected."
+msgstr "较大的权重(相同的优先级下)被赋予相应较高的被选中概率。"
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:575
msgid "Last member interval"
msgstr "最后成员间隔"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
msgid "Latency"
msgstr "延迟"
msgid "Learn routes"
msgstr "学习路由"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:348
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:353
msgid "Lease file"
msgstr "租约文件"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:697
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:768
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:679
msgid "Lease time"
msgstr "租期"
msgid "Limit"
msgstr "客户数"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
msgid "Line Attenuation (LATN)"
msgstr "线路衰减(LATN)"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
msgid "Line Mode"
msgstr "线路模式"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:17
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
msgid "Line State"
msgstr "线路状态"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
msgid "Line Uptime"
msgstr "线路运行时间"
msgid "Link layer header bits %d-%d"
msgstr "链路层报头位 %d-%d"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
msgid "List of IP addresses to convert into NXDOMAIN responses."
msgstr "要转换成 NXDOMAIN 响应的 IP 地址列表。"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:296
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:581
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:652
msgid "List of IP sets to populate with the specified domain IPs."
msgstr "要用指定域 IP 填充的 IP 集列表。"
msgid "List of SSH key files for auth"
msgstr "用于认证的 SSH 密钥文件列表"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:317
msgid "List of domains to allow RFC1918 responses for."
msgstr "允许 RFC1918 响应的域名列表。"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:290
-msgid "List of domains to force to an IP address."
-msgstr "此列表将域名强制指向某个 IP 地址。"
-
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:283
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:285
msgid "List of upstream resolvers to forward queries to."
msgstr "查询将被转发到的上游解析器的列表。"
msgid "Listen Port"
msgstr "监听端口"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:332
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:337
msgid "Listen interfaces"
msgstr "监听接口"
msgid "Listen only on the given interface or, if unspecified, on all"
msgstr "仅监听指定的接口,未指定则监听全部"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:333
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
msgid ""
"Listen only on the specified interfaces, and loopback if not excluded "
"explicitly."
msgid "ListenPort setting is invalid"
msgstr "ListenPort 设置无效"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:439
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:444
msgid "Listening port for inbound DNS queries."
msgstr "入站 DNS 查询的侦听端口。"
msgstr "正在载入目录内容…"
#: modules/luci-base/htdocs/luci-static/resources/luci.js:1942
-#: modules/luci-base/luasrc/view/view.htm:4
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:45
+#: modules/luci-base/ucode/template/view.ut:4
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:40
msgid "Loading view…"
msgstr "正在载入视图…"
msgid "Local ULA"
msgstr "本地 ULA"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:273
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:275
msgid "Local domain"
msgstr "本地域名"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:274
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:276
msgid "Local domain suffix appended to DHCP names and hosts file entries."
msgstr "附加到 DHCP 名称和主机文件条目的本地域后缀。"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:269
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:271
msgid "Local server"
msgstr "本地服务器"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:319
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:324
msgid "Local service only"
msgstr "仅本地服务"
msgid "Local wireguard key"
msgstr "本地 wireguard 密钥"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
msgid "Localise queries"
msgstr "本地化查询"
msgid "Log output level"
msgstr "日志记录等级"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:277
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:279
msgid "Log queries"
msgstr "记录查询日志"
msgid "Logical network to which the tunnel will be added (bridged) (optional)."
msgstr "隧道将要被添加(桥接)到的逻辑网络(可选)。"
-#: modules/luci-base/luasrc/view/sysauth.htm:38
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:41
+#: modules/luci-base/ucode/template/sysauth.ut:38
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:36
msgid "Login"
msgstr "登录"
msgid "Loose filtering"
msgstr "宽松过滤"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
msgid "Loss of Signal Seconds (LOSS)"
msgstr "信号丢失秒数(LOSS)"
msgid "Lowest leased address as offset from the network address."
msgstr "网络地址的起始分配基址。"
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/footer.ut:12
+msgid "Lua compatibility mode active"
+msgstr "Lua 兼容模式活跃"
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:48
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:83
msgid "MAC"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:591
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:40
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:619
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1164
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2177
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:56
msgid "MTU"
msgstr "MTU"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:259
+msgid "MX"
+msgstr "MX"
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:303
msgid ""
"Make sure to clone the root filesystem using something like the commands "
msgid "Max <abbr title=\"Router Advertisement\">RA</abbr> interval"
msgstr "最长 <abbr title=\"路由器通告\">RA</abbr> 间隔"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
msgid "Max. Attainable Data Rate (ATTNDR)"
msgstr "最大可达数据速率(ATTNDR)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:457
msgid "Max. DHCP leases"
msgstr ""
"<abbr title=\"maximal\">最大</abbr> <abbr title=\"动态主机配置协议\">DHCP</"
"abbr> 租约数量"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:459
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:464
msgid "Max. EDNS0 packet size"
msgstr ""
"<abbr title=\"maximal\">最大</abbr> <abbr title=\"域名系统的扩展机制"
"\">EDNS0</abbr> 数据包大小"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:466
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:471
msgid "Max. concurrent queries"
msgstr "<abbr title=\"maximal\">最大</abbr>并发查询数"
msgid "Maximum allowed Listen Interval"
msgstr "允许的最大监听间隔"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:453
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:458
msgid "Maximum allowed number of active DHCP leases."
msgstr "允许的最大 DHCP 租约数。"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:467
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:472
msgid "Maximum allowed number of concurrent DNS queries."
msgstr "允许的最大并发 DNS 查询数。"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:460
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:465
msgid "Maximum allowed size of EDNS0 UDP packets."
msgstr "EDNS0 UDP 数据包的最大允许大小。"
msgid "Maximum transmit power"
msgstr "最大传输功率"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:394
msgid "May prevent VoIP or other services from working."
msgstr "可能造成 VoIP 或其他服务无法运作。"
msgid "Name of the tunnel device"
msgstr "隧道设备名"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:46
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:39
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:50
msgid "Navigation"
msgstr "导航"
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:10
+msgid "Nebula Network"
+msgstr "Nebula 网络"
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:653
msgid "Neighbour cache validity"
msgstr "邻近缓存有效性"
msgid "Network address"
msgstr "网络地址"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:492
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:497
msgid "Network boot image"
msgstr "网络启动镜像"
msgid "Network interface"
msgstr "网络接口"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:536
msgid "Network-ID"
msgstr "网络 ID"
msgid "Never"
msgstr "永不"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:270
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:272
msgid ""
"Never forward matching domains and subdomains, resolve from DHCP or hosts "
"files only."
msgid "No RX signal"
msgstr "无接收信号"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:80
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:87
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:68
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:82
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:65
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:90
msgid ""
"No changes to settings will be stored and are lost after rebooting. This "
msgid "No entries in this directory"
msgstr "此目录中没有内容"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:82
-msgid "No files found"
-msgstr "未找到文件"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:833
msgid ""
"No fixed interface listening port defined, peers might not be able to "
msgid "No more slaves available, can not save interface"
msgstr "没有更多的从属设备可用,无法保存接口"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:413
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
msgid "No negative cache"
msgstr "禁用无效信息缓存"
msgid "No nftables ruleset loaded."
msgstr "未加载 nftables 规则集。"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:69
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:61
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:57
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:54
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:79
msgid "No password set!"
msgstr "未设置密码!"
msgid "Noise"
msgstr "噪声"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
msgid "Noise Margin (SNR)"
msgstr "噪声容限(SNR)"
msgid "Noise:"
msgstr "噪声:"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
msgid "Non Pre-emptive CRC errors (CRC_P)"
msgstr "非抢占 CRC 错误(CRC_P)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:330
msgid "Non-wildcard"
msgstr "非全部地址"
msgid "Normal"
msgstr "正常"
-#: modules/luci-base/luasrc/view/error404.htm:8
+#: modules/luci-base/ucode/template/error404.ut:9
msgid "Not Found"
msgstr "未找到"
msgid "Number of IGMP membership reports"
msgstr "IGMP 成员数量报告"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:474
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:479
msgid "Number of cached DNS entries, 10000 is maximum, 0 is no caching."
msgstr "缓存的 DNS 条目数量,最大 10000,0 表示不缓存。"
msgid "On-link"
msgstr "On-Link 路由"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:672
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:743
msgid "One of hostname or MAC address must be specified!"
msgstr "请指定主机名或 MAC 地址!"
msgstr "打开 iptables 规则概况…"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:472
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:19
msgid "Open list..."
msgstr "打开列表…"
msgid "Options"
msgstr "选项"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:526
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
msgid ""
"Options for the Network-ID. (Note: needs also Network-ID.) E.g. "
-"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</"
-"code>\" for default route. <code>0.0.0.0</code> means \"the address of the "
-"system running dnsmasq\"."
+"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</code>"
+"\" for default route. <code>0.0.0.0</code> means \"the address of the system "
+"running dnsmasq\"."
msgstr ""
"Network-ID 选项。(注意:还需要指定 Network-ID。)如,“<code>42,192.168.1.4</"
"code>”为 NTP 服务器,“<code>3,192.168.4.4</code>”为默认路由。<code>0.0.0.0</"
msgid "Options:"
msgstr "选项:"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
+msgid "Ordinal: lower comes first."
+msgstr "序数:较低的优先。"
+
#: protocols/luci-proto-batman-adv/htdocs/luci-static/resources/protocol/batadv.js:55
msgid "Originator Interval"
msgstr "发起人间隔"
msgid "Pass-through (Mirror physical device to single MAC VLAN)"
msgstr "直通(将物理设备镜像到单个 MAC VLAN)"
-#: modules/luci-base/luasrc/view/sysauth.htm:29
+#: modules/luci-base/ucode/template/sysauth.ut:29
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1690
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:51
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:114
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:103
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:24
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:19
msgid "Password"
msgstr "密码"
msgid "Pkts."
msgstr "Pkts."
-#: modules/luci-base/luasrc/view/sysauth.htm:19
+#: modules/luci-base/ucode/template/sysauth.ut:19
msgid "Please enter your username and password."
msgstr "请输入用户名和密码。"
msgid "Policy: <strong>%h</strong> (%h)"
msgstr "策略:<strong>%h</strong> (%h)"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:579
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:21
msgid "Port"
msgstr "端口"
msgid "Potential negation of: %s"
msgstr "可能存在的冲突:%s"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:38
msgid "Power Management Mode"
msgstr "电源管理模式"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
msgid "Pre-emptive CRC errors (CRCP_P)"
msgstr "抢占式 CRC 错误(CRCP_P)"
msgstr "只要主从属设备重新上线,它就会成为活跃从属设备(always,0)"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:129
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:197
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:223
msgid "Quality"
msgstr "质量"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
msgid "Query all available upstream resolvers."
msgstr "查询所有可用的上游解析器。"
msgid "Raw hex-encoded bytes. Leave empty unless your ISP require this"
msgstr "原始 16 进制编码的字节。除非您的运营商要求,否则请留空"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:345
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:350
msgid "Read <code>/etc/ethers</code> to configure the DHCP server."
msgstr "读取 <code>/etc/ethers</code>来配置 DHCP 服务器。"
msgid "Reassociation Deadline"
msgstr "重关联截止时间"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
msgid "Rebind protection"
msgstr "重绑定保护"
msgstr "拒绝前缀长度小于或等于指定值的路由决策"
#: modules/luci-compat/luasrc/model/network/proto_relay.lua:153
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:611
#: protocols/luci-proto-relay/htdocs/luci-static/resources/protocol/relay.js:39
msgid "Relay"
msgstr "中继"
msgid "Required. Base64-encoded private key for this interface."
msgstr "必须,此接口的 Base64 编码私钥。"
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Required. Path to the .yml config file for this interface."
+msgstr "必填。 此接口 .yml 配置文件的路径。"
+
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:587
msgid "Required. Public key of the WireGuard peer."
msgstr "必需。WireGuard 对端的公钥。"
msgstr "主从属设备的重选策略"
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2197
-#: modules/luci-base/luasrc/view/sysauth.htm:39
+#: modules/luci-base/ucode/template/sysauth.ut:39
#: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
#: modules/luci-compat/luasrc/view/cbi/footer.htm:30
#: modules/luci-compat/luasrc/view/cbi/simpleform.htm:66
msgid "Resolv and Hosts Files"
msgstr "HOSTS 和解析文件"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:356
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:361
msgid "Resolv file"
msgstr "解析文件"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:292
+msgid "Resolve specified FQDNs to an IP."
+msgstr "此列表将域名强制指向某个 IP 地址。"
+
#: modules/luci-base/htdocs/luci-static/resources/rpc.js:405
msgid "Resource not found"
msgstr "未找到资源"
msgid "Restore backup"
msgstr "恢复配置"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
msgid ""
"Return answers to DNS queries matching the subnet from which the query was "
"received if multiple IPs are available."
msgid "Robustness"
msgstr "健壮性"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:491
msgid ""
"Root directory for files served via TFTP. <em>Enable TFTP server</em> and "
"<em>TFTP server root</em> turn on the TFTP server and serve files from "
msgid "SNR"
msgstr "信噪比"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "SRV"
+msgstr "SRV"
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:10
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:38
msgid "SSH Access"
msgid "Server"
msgstr "服务器"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:524
msgid "Server address"
msgstr "服务器地址"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:518
msgid "Server name"
msgstr "服务器名称"
msgid "Setup routes for proxied IPv6 neighbours."
msgstr "设置已代理 IPv6 邻居的路由。"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
msgid "Severely Errored Seconds (SES)"
msgstr "严重误码秒(SES)"
msgstr "Short Preamble"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:470
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:18
msgid "Show current backup file list"
msgstr "显示当前备份文件列表"
msgid "Signal / Noise"
msgstr "信号/噪声"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
msgid "Signal Attenuation (SATN)"
msgstr "信号衰减(SATN)"
msgid "Size"
msgstr "大小"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:473
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:478
msgid "Size of DNS query cache"
msgstr "DNS 查询缓存的大小"
msgid "Skip from backup files that are equal to those in /rom"
msgstr "不备份与 /rom 目录下文件相同的文件"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:42
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:35
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:46
msgid "Skip to content"
msgstr "跳到内容"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:41
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:34
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:45
msgid "Skip to navigation"
msgstr "跳转到导航"
msgid "Some fields are invalid, cannot save values!"
msgstr "一些字段的值无效,无法保存!"
-#: modules/luci-base/luasrc/view/error404.htm:9
+#: modules/luci-base/ucode/template/error404.ut:10
msgid "Sorry, the object you requested was not found."
msgstr "对不起,请求的目标未找到。"
-#: modules/luci-base/luasrc/view/error500.htm:9
-msgid "Sorry, the server encountered an unexpected error."
-msgstr "对不起,服务器遇到未知错误。"
-
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:442
msgid ""
"Sorry, there is no sysupgrade support present; a new firmware image must be "
msgid "Source port"
msgstr "源端口"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:505
msgid ""
"Special <abbr title=\"Preboot eXecution Environment\">PXE</abbr> boot "
"options for Dnsmasq."
msgid "Static address"
msgstr "静态地址"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:598
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:669
msgid ""
"Static leases are used to assign fixed IP addresses and symbolic hostnames "
"to DHCP clients. They are also required for non-dynamic interface "
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:16
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:541
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:929
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:9
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:9
msgid "Status"
msgstr "状态"
msgid "Strict filtering"
msgstr "严格过滤"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
msgid "Strict order"
msgstr "严谨查序"
msgid "Submit"
msgstr "提交"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
msgid "Suppress logging"
msgstr "不记录日志"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:373
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
msgid "Suppress logging of the routine operation for the DHCP protocol."
msgstr "禁止记录 DHCP 协议的日常操作。"
msgid "Sync with browser"
msgstr "同步浏览器时间"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:293
+msgid "Syntax: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+msgstr "语法: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "Syntax: <code>_service._proto.example.com</code>."
+msgstr "语法:<code>_service._proto.example.com</code>."
+
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:26
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:17
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:113
msgid "System log buffer size"
msgstr "系统日志缓冲区大小"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:79
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:86
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:71
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:67
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:81
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:64
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:89
msgid "System running in recovery (initramfs) mode."
msgstr "系统在恢复 (initramfs) 模式下运行。"
msgid "TCP:"
msgstr "TCP:"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:490
msgid "TFTP server root"
msgstr "TFTP 服务器根目录"
msgid "Table"
msgstr "表"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:56
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:66
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:187
"username instead of the user ID!"
msgstr "HE.net 客户端更新设置已经被改变,您现在必须使用用户名代替用户 ID!"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:681
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:752
msgid "The IP address %h is already used by another static lease"
msgstr "IP 地址 %h 已被另一个静态租约使用"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:761
msgid "The IP address is outside of any DHCP pool address range"
msgstr "IP 地址不在任何 DHCP 池地址范围之内"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:520
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
msgid "The IP address of the boot server"
msgstr "引导服务器的 IP 地址"
"跳跃惩罚设置允许修改 batman-adv 对多跳路由与短路由的偏好。该值应用于每个转发 "
"OGM 的 TQ,从而传播额外跳的成本(必须接收和重新传输数据包,这会浪费传播时长)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:514
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
msgid "The hostname of the boot server"
msgstr "引导服务器的主机名"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/switch.js:139
msgid ""
-"The network ports on this device can be combined to several <abbr "
-"title=\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
+"The network ports on this device can be combined to several <abbr title="
+"\"Virtual Local Area Network\">VLAN</abbr>s in which computers can "
"communicate directly with each other. <abbr title=\"Virtual Local Area "
"Network\">VLAN</abbr>s are often used to separate different network "
"segments. Often there is by default one Uplink port for a connection to the "
msgid "The selected %s mode is incompatible with %s encryption"
msgstr "模式 %s 与 %s 加密方法不兼容"
-#: modules/luci-base/luasrc/view/csrftoken.htm:11
+#: modules/luci-base/ucode/template/csrftoken.ut:11
msgid "The submitted security token is invalid or already expired!"
msgstr "提交的安全令牌无效或已过期!"
"系统上存在旧版 iptables 规则。 不鼓励混合使用 iptables 和 nftables 规则,这可"
"能会导致流量过滤不完整。"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:746
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:778
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:817
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:849
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:130
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:179
msgid "There are no active leases"
msgid "There are no changes to apply"
msgstr "没有待应用的更改"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:70
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:58
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:55
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:80
msgid ""
"There is no password set on this router. Please configure a root password to "
msgstr "这不是有效的 PEM 文件"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:16
msgid ""
"This is a list of shell glob patterns for matching files and directories to "
"include during sysupgrade. Modified files in /etc/config/ and certain other "
"ends with <code>...:2/64</code>"
msgstr "隧道代理分配的本地终端地址,通常以 <code>...:2/64</code> 结尾"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:266
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:268
msgid "This is the only DHCP server in the local network."
msgstr "这是本地网络中唯一的 DHCP 服务器。"
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:440
msgid ""
"To fully configure the local WireGuard interface from an existing (e.g. "
-"provider supplied) configuration file, use the <strong><a class=\"full-"
-"import\" href=\"#\">configuration import</a></strong> instead."
+"provider supplied) configuration file, use the <strong><a class=\"full-import"
+"\" href=\"#\">configuration import</a></strong> instead."
msgstr ""
"要从现有(例如供应商提供的)配置文件完全配置本地 WireGuard 接口,请使用"
"<strong><a class=\"full-import\" href=\"#\">配置导入</a></strong>。"
msgid "Unable to determine upstream interface"
msgstr "无法确认上游接口"
-#: modules/luci-base/luasrc/view/error404.htm:11
+#: modules/luci-base/ucode/template/error404.ut:12
msgid "Unable to dispatch"
msgstr "无法调度"
msgid "Unable to verify PIN"
msgstr "无法验证 PIN"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
msgid "Unavailable Seconds (UAS)"
msgstr "不可用秒数(UAS)"
msgstr ""
"按下 \"继续\",ifname 选项将被重命名,网络将重新启动以应用更新后的配置。"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
msgid "Upstream resolvers will be queried in the order of the resolv file."
msgstr "将按照解析文件的顺序查询上游解析器。"
msgid "Uptime"
msgstr "运行时间"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
msgid "Use <code>/etc/ethers</code>"
msgstr "使用 <code>/etc/ethers</code> 配置"
msgid "Use system certificates for inner-tunnel"
msgstr "为内置隧道使用系统证书"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:599
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:670
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC address</"
"em> identifies the host, the <em>IPv4 address</em> specifies the fixed "
msgid "User key (PEM encoded)"
msgstr "用户密钥(PEM)"
-#: modules/luci-base/luasrc/view/sysauth.htm:23
+#: modules/luci-base/ucode/template/sysauth.ut:23
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:112
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:101
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:56
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:18
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:13
msgid "Username"
msgstr "用户名"
#: protocols/luci-proto-vti/htdocs/luci-static/resources/protocol/vti.js:10
msgid "VTI"
-msgstr ""
+msgstr "VTI"
#: protocols/luci-proto-vxlan/htdocs/luci-static/resources/protocol/vxlan.js:10
msgid "VXLAN (RFC7348)"
msgid "VXLANv6 (RFC7348)"
msgstr "VXLANv6 (RFC7348)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
msgid ""
"Validate DNS replies and cache DNSSEC data, requires upstream to support "
"DNSSEC."
msgid "Vendor Class to send when requesting DHCP"
msgstr "请求 DHCP 时发送的 Vendor Class 选项"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:408
msgid "Verify unsigned domain responses really come from unsigned domains."
msgstr "验证未签名的域响应真的来自未签名域。"
msgid "Weak"
msgstr "弱"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+msgid "Weight"
+msgstr "权重"
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1029
msgid ""
"When delegating prefixes to multiple downstreams, interfaces with a higher "
msgid "Wireless network is enabled"
msgstr "无线网络已启用"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:278
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:280
msgid "Write received DNS queries to syslog."
msgstr "将收到的 DNS 查询写入系统日志。"
"在此启用或禁用已安装的启动脚本,更改在设备重启后生效。<br /><strong>警告:如"
"果禁用了必要的启动脚本,比如“network”,可能会导致无法访问设备!</strong>"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:90
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:97
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
+msgid "You may add multiple records for the same Target."
+msgstr "你可以为同一目标添加多条记录。"
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:596
+msgid "You may add multiple records for the same domain."
+msgstr "你可以为同一个域添加多条记录。"
+
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:78
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:92
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:73
msgid ""
"You must enable JavaScript in your browser or LuCI will not work properly."
msgid "ZRam Size"
msgstr "ZRam 大小"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:558
+msgid "_proto: _tcp, _udp, _sctp, _quic, … ."
+msgstr "_proto: _tcp, _udp, _sctp, _quic, … ."
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:557
+msgid ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Note: while _http is "
+"possible, no browsers support SRV records.)"
+msgstr ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (注:虽然 _http 有可"
+"能,但没有浏览器支持 SRV 记录。)"
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:454
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:152
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:163
msgid "any"
msgid "e.g: dump"
msgstr "比如: dump"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:726
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:756
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:797
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:827
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:101
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:148
msgid "expired"
msgid "unknown"
msgstr "未知"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:456
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:724
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:754
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:461
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:795
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:825
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:99
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:146
msgid "unlimited"
msgid "« Back"
msgstr "« 后退"
+#~ msgid "Back to configuration"
+#~ msgstr "返回至配置"
+
+#~ msgid "Close list..."
+#~ msgstr "关闭列表…"
+
+#~ msgid "Internal Server Error"
+#~ msgstr "内部服务器错误"
+
+#~ msgid "No files found"
+#~ msgstr "未找到文件"
+
+#~ msgid "Sorry, the server encountered an unexpected error."
+#~ msgstr "对不起,服务器遇到未知错误。"
+
#~ msgid "Do not forward queries that cannot be answered by public resolvers."
#~ msgstr "不转发公共域名服务器无法回应的请求。"
#~ msgid ""
#~ "<ul style=\"list-style-type:none;\"> <li><strong>server mode</strong>: "
-#~ "Router advertises itself as the default IPv6 gateway via <abbr "
-#~ "title=\"Router Advertisement, ICMPv6 Type 134\">RA</abbr> messages (to "
+#~ "Router advertises itself as the default IPv6 gateway via <abbr title="
+#~ "\"Router Advertisement, ICMPv6 Type 134\">RA</abbr> messages (to "
#~ "<code>ff02::1</code>) and provides <abbr title=\"Prefix Delegation\">PD</"
#~ "abbr> to downstream devices.</li> <li><strong>relay mode</strong>: Router "
#~ "relays <abbr title=\"Router Advertisement, ICMPv6 Type 134\">RA</abbr> "
#~ msgid ""
#~ "<ul style=\"list-style-type:none;\"> <li><strong>server mode</strong>: "
-#~ "Router assigns IPs and delegates prefixes (<abbr title=\"Prefix "
-#~ "Delegation\">PD</abbr>) to downstream interfaces.</li> <li><strong>relay "
-#~ "mode</strong>: Router relays WAN interface config downstream. Helps "
-#~ "support upstream links that lack <abbr title=\"Prefix Delegation\">PD</"
-#~ "abbr>.</li> <li><strong>hybrid mode</strong>: Router does combination of "
-#~ "server+relay.</li></ul>"
+#~ "Router assigns IPs and delegates prefixes (<abbr title=\"Prefix Delegation"
+#~ "\">PD</abbr>) to downstream interfaces.</li> <li><strong>relay mode</"
+#~ "strong>: Router relays WAN interface config downstream. Helps support "
+#~ "upstream links that lack <abbr title=\"Prefix Delegation\">PD</abbr>.</"
+#~ "li> <li><strong>hybrid mode</strong>: Router does combination of server"
+#~ "+relay.</li></ul>"
#~ msgstr ""
#~ "<ul style=\"list-style-type:none;\"> <li><strong>服务器模式</strong>:路由"
#~ "器向下游接口分配IP和委托前缀(<abbr title=\"前缀授权\">PD</abbr>)。</li> "
#~ "如果没有将布尔值 <code>ndproxy_slave</code> 设置为 1 的接口,则在内部恢复"
#~ "为禁用状态。将 <abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> 代"
#~ "理视为 IPv6 的代理 ARP:将不同物理硬件段上的主机统一到同一 IP 子网中。由 "
-#~ "<abbr title=\"Neighbour Solicitation, Type 135\">NS</abbr> 和 <abbr "
-#~ "title=\"Neighbour Advertisement, Type 136\">NA</abbr> 消息组成。<abbr "
-#~ "title=\"Neighbour Discovery Protocol\">NDP</abbr> 代理在布尔值 "
-#~ "<code>master</code> 为 1(即上游)的接口上侦听 <abbr title=\"Neighbour "
-#~ "Solicitation, Type 135\">NS</abbr>,然后查询该目标 IP 的从属/内部接口,最"
-#~ "后发送 <abbr title=\"Neighbour Advertisement, Type 136\">NA</abbr> 消息。 "
-#~ "<abbr title=\"Neighbour Discovery Protocol\">NDP</abbr> 实际上是用于 IPv6 "
-#~ "的 ARP。<abbr title=\"Neighbour Solicitation, Type 135\">NS</abbr> 和 "
-#~ "<abbr title=\"Neighbour Advertisement, Type 136\">NA</abbr> 用于检测链路上"
-#~ "的可达性及重复地址,它们本身也是 SLAAC 自动配置的先决条件。<br /> <ul "
-#~ "style=\"list-style-type:none;\"> <li><strong>已禁用</strong>:没有 <abbr "
-#~ "title=\"Neighbour Discovery Protocol\">NDP</abbr> 消息将会被被代理到 "
+#~ "<abbr title=\"Neighbour Solicitation, Type 135\">NS</abbr> 和 <abbr title="
+#~ "\"Neighbour Advertisement, Type 136\">NA</abbr> 消息组成。<abbr title="
+#~ "\"Neighbour Discovery Protocol\">NDP</abbr> 代理在布尔值 <code>master</"
+#~ "code> 为 1(即上游)的接口上侦听 <abbr title=\"Neighbour Solicitation, "
+#~ "Type 135\">NS</abbr>,然后查询该目标 IP 的从属/内部接口,最后发送 <abbr "
+#~ "title=\"Neighbour Advertisement, Type 136\">NA</abbr> 消息。 <abbr title="
+#~ "\"Neighbour Discovery Protocol\">NDP</abbr> 实际上是用于 IPv6 的 ARP。"
+#~ "<abbr title=\"Neighbour Solicitation, Type 135\">NS</abbr> 和 <abbr title="
+#~ "\"Neighbour Advertisement, Type 136\">NA</abbr> 用于检测链路上的可达性及重"
+#~ "复地址,它们本身也是 SLAAC 自动配置的先决条件。<br /> <ul style=\"list-"
+#~ "style-type:none;\"> <li><strong>已禁用</strong>:没有 <abbr title="
+#~ "\"Neighbour Discovery Protocol\">NDP</abbr> 消息将会被被代理到 "
#~ "<code>ndproxy_slave</code> 为真的接口。</li> <li><strong>中继模式</"
#~ "strong>:将 <code>master</code> 的 <abbr title=\"Neighbour Discovery "
#~ "Protocol\">NDP</abbr> 消息代理到 <code>ndproxy_slave</code> 为真的接口。有"
#~ "值为0 (<code>0</code>)。最小值1280。"
#~ msgid ""
-#~ "The maximum hops to be published in <abbr title=\"Router "
-#~ "Advertisement\">RA</abbr> messages.<br />Default is 0 (<code>0</code>), "
-#~ "meaning unspecified. Max 255."
+#~ "The maximum hops to be published in <abbr title=\"Router Advertisement"
+#~ "\">RA</abbr> messages.<br />Default is 0 (<code>0</code>), meaning "
+#~ "unspecified. Max 255."
#~ msgstr ""
#~ "在 <abbr title=\"Router Advertisement\">RA</abbr> 报文中通告的最大跳数。"
#~ "<br />默认为 0(<code>0</code>),表示未指定。最大为 255。"
#~ "an IPv6 address to a host via DHCPv6.</li><ul>"
#~ msgstr ""
#~ "默认为无状态 + 有状态。<br /> <ul style=\"list-style-type:none;\"> "
-#~ "<li><strong>无状态</strong>:路由器广播前缀,主机使用 <abbr "
-#~ "title=\"Stateless Address Auto Config\">SLAAC</abbr> 来自分配自己的地址,"
-#~ "不使用 DHCPv6。</li> <li><strong>无状态 + 有状态</strong>:使用 SLAAC 的同"
-#~ "时,路由器通过 DHCPv6 给一个主机分配一个 IPv6 地址。</li> <li><strong>仅有"
-#~ "状态</strong>:不使用 SLAAC,路由器通过 DHCPv6 给一个主机分配一个 IPv6 地"
-#~ "址。</li><ul>"
+#~ "<li><strong>无状态</strong>:路由器广播前缀,主机使用 <abbr title="
+#~ "\"Stateless Address Auto Config\">SLAAC</abbr> 来自分配自己的地址,不使用 "
+#~ "DHCPv6。</li> <li><strong>无状态 + 有状态</strong>:使用 SLAAC 的同时,路"
+#~ "由器通过 DHCPv6 给一个主机分配一个 IPv6 地址。</li> <li><strong>仅有状态</"
+#~ "strong>:不使用 SLAAC,路由器通过 DHCPv6 给一个主机分配一个 IPv6 地址。</"
+#~ "li><ul>"
#~ msgid ""
-#~ "The maximum hops to be published in <abbr title=\"Router "
-#~ "Advertisement\">RA</abbr> messages.<br>Default is 0 (<code>0</code>), "
-#~ "meaning unspecified. Max 255."
+#~ "The maximum hops to be published in <abbr title=\"Router Advertisement"
+#~ "\">RA</abbr> messages.<br>Default is 0 (<code>0</code>), meaning "
+#~ "unspecified. Max 255."
#~ msgstr ""
#~ "将以<abbr title=\"Router Advertisement\">RA</abbr>消息形式发布的最大跳数。"
#~ "<br>默认值为0 (<code>0</code>),意味着未指定。最大值255。"
#~ msgid ""
#~ "The filesystem that was used to format the memory (<abbr title=\"for "
-#~ "example\">e.g.</abbr> <samp><abbr title=\"Third Extended "
-#~ "Filesystem\">ext3</abbr></samp>)"
+#~ "example\">e.g.</abbr> <samp><abbr title=\"Third Extended Filesystem"
+#~ "\">ext3</abbr></samp>)"
#~ msgstr ""
#~ "用于格式化存储器的文件系统(例如:<samp><abbr title=\"Third Extended "
#~ "Filesystem\">ext3</abbr></samp>)"
#~ msgstr "帧突发"
#~ msgid ""
-#~ "Further information about WireGuard interfaces and peers at <a "
-#~ "href=\"http://wireguard.com\">wireguard.com</a>."
+#~ "Further information about WireGuard interfaces and peers at <a href="
+#~ "\"http://wireguard.com\">wireguard.com</a>."
#~ msgstr ""
-#~ "有关 WireGuard 接口和 Peer 的更多信息:<a href=\"http://wireguard."
-#~ "com\">wireguard.com</a>。"
+#~ "有关 WireGuard 接口和 Peer 的更多信息:<a href=\"http://wireguard.com"
+#~ "\">wireguard.com</a>。"
#~ msgid "Generic 802.11%s Wireless Controller"
#~ msgstr "通用 802.11%s 无线控制器"
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"PO-Revision-Date: 2022-09-06 13:27+0000\n"
+"PO-Revision-Date: 2022-10-18 16:08+0000\n"
"Last-Translator: Hulen <shift0106@gmail.com>\n"
"Language-Team: Chinese (Traditional) <https://hosted.weblate.org/projects/"
"openwrt/luci/zh_Hant/>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.14.1-dev\n"
+"X-Generator: Weblate 4.15-dev\n"
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:643
msgctxt "Yet unknown nftables table family (\"family\" table \"name\")"
msgstr "%.1f 分貝"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:123
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:117
msgid "%d Bit"
msgstr "%d 位元"
msgid "<abbr title=\"Router Advertisement\">RA</abbr>-Service"
msgstr "<abbr title=\"Router Advertisement\">RA</abbr> 服務"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:294
+msgid ""
+"<code>/#/</code> matches any domain. <code>/example.com/</code> returns "
+"NXDOMAIN."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+msgid ""
+"<code>/example.com/#</code> returns NULL addresses (<code>0.0.0.0</code> and "
+"<code>::</code>) for example.com and its subdomains."
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/nftables.js:87
msgctxt "nft relational \">\" operator expression"
msgid "<var>%s</var> greater than <strong>%s</strong>"
msgid "ATM device number"
msgstr "ATM裝置號碼"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
msgid "ATU-C System Vendor ID"
msgstr "ATU-C 系統廠牌 ID"
msgid "Absent Interface"
msgstr "缺少的介面"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:320
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
msgid "Accept DNS queries only from hosts whose address is on a local subnet."
msgstr "僅在網卡所屬的子網路中提供 DNS 服務。"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:171
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:177
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:274
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:165
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:268
msgid "Add key"
msgstr "加入金鑰"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:410
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:415
msgid "Add local domain suffix to names served from hosts files."
msgstr "將本地網域尾碼加入到主機檔案提供的名稱。"
msgid "Add to Whitelist"
msgstr "新增至白名單"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:367
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
msgid "Additional hosts files"
msgstr "額外的 hosts 檔案"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:417
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
msgid "Additional servers file"
msgstr "額外的伺服器文件"
msgid "Address to access local relay bridge"
msgstr "將存取的本地中繼橋接位址"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:289
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:291
msgid "Addresses"
msgstr "位址"
msgid "Aggregate Originator Messages"
msgstr "聚合發起方消息"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
msgid "Aggregate Transmit Power (ACTATP)"
msgstr "彙總發送功率(ACTATP)"
msgid "Alias of \"%s\""
msgstr "\"%s\" 的別名"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
msgid "All servers"
msgstr "所有伺服器"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
msgid ""
"Allocate IP addresses sequentially, starting from the lowest available "
"address."
msgstr "按照順序分配 IP 位址,從最低的可用位址開始。"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
msgid "Allocate IPs sequentially"
msgstr "依序分配 IP"
msgid "Allow listed only"
msgstr "僅允許列表內"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
msgid "Allow localhost"
msgstr "允許本機"
msgid "Always on (kernel: default-on)"
msgstr "永遠開啟 (內核:預設開啟)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:538
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
msgid "Always send DHCP Options. Sometimes needed, with e.g. PXELinux."
msgstr "始終傳送 DHCP 選項。 有時需要,例如 PXELinux。"
msgstr "此裝置的可選簡短描述"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1484
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
msgid "Annex"
msgstr "附件"
msgid "Any zone"
msgstr "任意區域"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:532
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
msgid "Apply DHCP Options to this net. (Empty = all clients)."
msgstr "始終傳送 DHCP 選項。 有時需要,例如 PXELinux。"
msgid "Authentication Type"
msgstr "認證類型"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:265
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:267
msgid "Authoritative"
msgstr "授權"
-#: modules/luci-base/luasrc/view/sysauth.htm:17
+#: modules/luci-base/ucode/template/sysauth.ut:17
#: themes/luci-theme-bootstrap/htdocs/luci-static/resources/view/bootstrap/sysauth.js:11
msgid "Authorization Required"
msgstr "需要授權"
msgid "Avoid Bridge Loops"
msgstr "避免網橋環路"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
#, fuzzy
msgid ""
"Avoid uselessly triggering dial-on-demand links (filters SRV/SOA records and "
msgid "Back to Overview"
msgstr "返回至總覽"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:48
-msgid "Back to configuration"
-msgstr "返回至設定"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:826
msgid "Back to peer configuration"
msgstr "返回 peer 設定"
msgstr "備份/燒錄韌體"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:351
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:12
msgid "Backup file list"
msgstr "備份檔列表"
msgstr "訊號間隔"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:352
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:46
msgid ""
"Below is the determined list of files to backup. It consists of changed "
"configuration files marked by opkg, essential base files and the user "
msgid "Bind NTP server"
msgstr "綁定NTP伺服器"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:326
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:331
msgid "Bind dynamically to interfaces rather than wildcard address."
msgstr "動態繫結到介面而不是萬用字元位址 (推薦為 linux 預設值)。"
msgid "Bind interface"
msgstr "綁定介面"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:595
+msgid ""
+"Bind service records to a domain name: specify the location of services."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:556
+msgid ""
+"Bind service records to a domain name: specify the location of services. See "
+"<a href=\"%s\">RFC2782</a>."
+msgstr ""
+
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gre.js:59
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/gretap.js:64
#: protocols/luci-proto-gre/htdocs/luci-static/resources/protocol/grev6.js:64
msgid "CLAT configuration failed"
msgstr "CLAT 組態失敗"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
+msgid "CNAME or fqdn"
+msgstr ""
+
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/processes.js:72
msgid "CPU usage (%)"
msgstr "CPU 使用率 (%)"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:295
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:209
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:487
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:203
msgid "Cancel"
msgstr "取消"
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4392
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:173
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:179
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:167
msgid "Close"
msgstr "關閉"
"persist connection"
msgstr "幾秒後關閉閒置的連線, 打0代表永遠連線"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:49
-msgid "Close list..."
-msgstr "關閉清單..."
-
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:44
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:63
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2184
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:391
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:352
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:355
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:72
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:66
msgid "Collecting data..."
msgstr "正在收集資料中…"
msgid "Compute outgoing checksum (optional)."
msgstr "計算傳出的校驗和(自選)."
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Config File"
+msgstr ""
+
#: modules/luci-base/htdocs/luci-static/resources/ui.js:4375
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
msgid "Configuration"
msgid "DAE-Secret"
msgstr "DAE-金鑰"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:530
msgid "DHCP Options"
msgstr "DHCP 選項"
msgid "DNS"
msgstr "DNS"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:282
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:284
msgid "DNS forwardings"
msgstr "DNS封包轉發"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:445
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:450
msgid "DNS query port"
msgstr "<abbr title=\"Domain Name System\">DNS</abbr> 查詢埠號"
msgid "DNS search domains"
msgstr "DNS 搜尋網域"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:443
msgid "DNS server port"
msgstr "<abbr title=\"Domain Name System\">DNS</abbr> 伺服器埠號"
msgid "DNS-Label / FQDN"
msgstr "DNS-標籤 / FQDN"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
msgid "DNSSEC"
msgstr "DNSSEC"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:402
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:407
msgid "DNSSEC check unsigned"
msgstr "DNSSEC 檢查未簽章"
msgstr "DS-Lite AFTR 位址"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1481
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:44
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:45
msgid "DSL"
msgstr "DSL"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:14
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:15
msgid "DSL Status"
msgstr "DSL 狀態"
msgstr "DTIM 間隔"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:59
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:700
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:771
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:136
msgid "DUID"
msgstr "DHCP獨立式別碼DUID"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:21
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
msgid "Data Rate"
msgstr "資料速率"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:205
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:211
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:199
msgid "Delete key"
msgstr "刪除金鑰"
msgid "Disassociate On Low Acknowledgement"
msgstr "低確認(Low Acknowledgement)時取消連線"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:302
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
msgid ""
"Discard upstream responses containing <a href=\"%s\">RFC1918</a> addresses."
msgstr "丟棄包含 <a href=\"%s\">RFC1918</a> 地址的上游響應。"
msgid "Distributed ARP Table"
msgstr "分散式ARP表"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:543
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:548
msgid ""
"Dnsmasq instance to which this boot section is bound. If unspecified, the "
"section is valid for all dnsmasq instances."
"\">DHCP</abbr> 伺服器和 <abbr title=\"Domain Name System\">DNS</abbr> 轉發"
"器。"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:419
msgid "Do not cache negative replies, e.g. for non-existent domains."
msgstr "不快取拒絕的回應,例如:不存在的網域。"
msgid "Do not create host route to peer (optional)."
msgstr "不要建立主機(host)到節點(peer)的路由(任選)."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:262
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:264
msgid "Do not forward DNS queries without dots or domain parts."
msgstr ""
"不轉發沒有 <abbr title=\"Domain Name System\">DNS</abbr> 名稱的 <abbr title="
"\"Domain Name System\">DNS</abbr> 請求。"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:383
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:388
msgid "Do not forward reverse lookups for local networks."
msgstr "對本地網路不轉發反向查詢。"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:339
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
msgid "Do not listen on the specified interfaces."
msgstr "不監聽這些介面。"
msgstr "您確定要刪除「%s」?"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:206
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:200
msgid "Do you really want to delete the following SSH key?"
msgstr "您確定要刪除下列 SSH 金鑰?"
msgid "Do you want to replace the current keys?"
msgstr "是否要取代目前金鑰?"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:593
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:606
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:664
msgid "Domain"
msgstr "網域名稱"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:261
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:263
msgid "Domain required"
msgstr "需要網域"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:311
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:316
msgid "Domain whitelist"
msgstr "網域白名單"
msgid "Enable Single DES"
msgstr "啟用單一 DES"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:480
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
msgid "Enable TFTP server"
msgstr "啟用TFTP伺服器"
msgid "Enable the DF (Don't Fragment) flag of the encapsulating packets."
msgstr "啟用封裝封包的 DF(不分段)標誌."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:481
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
msgid "Enable the built-in single-instance TFTP server."
msgstr "啟用內建的單一執行個體 TFTP 伺服器。"
msgid "Error getting PublicKey"
msgstr "獲取公鑰時出錯"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
msgid "Errored seconds (ES)"
msgstr "錯誤秒數 (ES)"
msgid "Every second (fast, 1)"
msgstr "每一秒(快,1)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:343
msgid "Exclude interfaces"
msgstr "排除介面"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:307
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
msgid ""
"Exempt <code>127.0.0.0/8</code> and <code>::1</code> from rebinding checks, "
"e.g. for RBL services."
msgid "Existing device"
msgstr "現有裝置"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:409
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:414
msgid "Expand hosts"
msgstr "延伸主機"
msgid "File"
msgstr "檔案"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
msgid ""
"File listing upstream resolvers, optionally domain-specific, e.g. "
"<code>server=1.2.3.4</code>, <code>server=/domain/1.2.3.4</code>."
msgid "File not accessible"
msgstr "無法存取檔案"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:354
msgid "File to store DHCP lease information."
msgstr "用於儲存 DHCP 租用資訊的檔案。"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:362
msgid "File with upstream resolvers."
msgstr "與上游解析器一起歸檔。"
#: modules/luci-base/htdocs/luci-static/resources/ui.js:2846
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:507
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:512
msgid "Filename"
msgstr "檔案名稱"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:493
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:498
msgid "Filename of the boot image advertised to clients."
msgstr "開機影像檔通知給用戶端。"
msgid "Filesystem"
msgstr "檔案系統"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:382
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
msgid "Filter private"
msgstr "私人過濾器"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:387
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
msgid "Filter useless"
msgstr "無用過濾器"
msgid "Firmware Version"
msgstr "韌體版本"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:446
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:451
msgid "Fixed source port for outbound DNS queries."
msgstr "外發DNS請求的固定來源埠號。"
msgid "Flashing…"
msgstr "燒錄中…"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:537
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:686
msgid "Force"
msgstr "強制"
msgid "Force use of NAT-T"
msgstr "強制使用 NAT-T"
-#: modules/luci-base/luasrc/view/csrftoken.htm:8
+#: modules/luci-base/ucode/template/csrftoken.ut:8
msgid "Form token mismatch"
msgstr "表單權杖(token )不匹配"
"downstream interfaces."
msgstr "在指定的主介面和下游介面之間轉發 DHCPv6 訊息。"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:28
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:29
msgid "Forward Error Correction Seconds (FECS)"
msgstr "前向糾錯校正秒數 (FECS)"
msgid "Global network options"
msgstr "全域網路選項"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:82
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:74
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:70
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:84
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:67
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:92
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
msgid "Go to firmware upgrade..."
msgstr "進入固件升級..."
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:72
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:64
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:60
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:57
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:82
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
msgid "Go to password configuration..."
msgstr "前往密碼設定..."
msgid "Hang Up"
msgstr "掛斷"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
msgid "Header Error Code Errors (HEC)"
msgstr "標頭錯誤原碼錯誤(HEC)"
msgid "Host expiry timeout"
msgstr "過期主機"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
msgid "Host requests this filename from the boot server."
msgstr "主機從引導伺服器請求此文件名。"
msgstr "Host-Uniq 標籤內容"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:38
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:607
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:678
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:54
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:87
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:135
msgid "Hostnames"
msgstr "主機名稱"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:551
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:622
msgid ""
"Hostnames are used to bind a domain name to an IP address. This setting is "
"redundant for hostnames already configured with static leases, but it can be "
msgid "IP Protocol"
msgstr "IP 協定"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:260
msgid "IP Sets"
msgstr "IP 集"
msgid "IP Type"
msgstr "IP 類型"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:563
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:634
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:178
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:204
msgid "IP address"
msgid "IP protocol"
msgstr "IP 協議"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:660
msgid "IP set"
msgstr "IP 集"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:295
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:300
msgid "IP sets"
msgstr "IP 集"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:432
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:437
msgid "IPs to override with NXDOMAIN"
msgstr "偽造的NX網域覆蓋"
#: modules/luci-base/htdocs/luci-static/resources/protocol/static.js:178
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:736
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:88
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:164
msgid "IPv4 address"
msgid "IPv6 suffix"
msgstr "IPv6 尾碼"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:706
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:777
msgid "IPv6 suffix (hex)"
msgstr ""
"<abbr title=\"Internet Protocol Version 6\">IPv6</abbr> 尾碼 (十六進位)"
"用高資料傳輸速率的<abbr title=\"Random Access Memory\">RAM</abbr>來存取交換設"
"備,交換資料將是一個非常緩慢的過程。"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:363
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:368
msgid "Ignore <code>/etc/hosts</code>"
msgstr "忽視 <code>/etc/hosts</code>"
msgid "Ignore interface"
msgstr "忽視介面"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:352
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:357
msgid "Ignore resolv file"
msgstr "忽視解析文件"
"在橋接 LAN 設置中,建議啟用橋接環路避免功能,以避免可能導致整個 LAN 停止的廣"
"播環路。"
-#: modules/luci-base/luasrc/view/csrftoken.htm:13
+#: modules/luci-base/ucode/template/csrftoken.ut:13
msgid ""
"In order to prevent unauthorized access to the system, your request has been "
"blocked. Click \"Continue »\" below to return to the previous page."
msgid "Install protocol extensions..."
msgstr "安裝延伸協定中..."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:542
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:547
msgid "Instance"
msgstr "實例"
msgid "Internal"
msgstr "內部"
-#: modules/luci-base/luasrc/view/error500.htm:8
-msgid "Internal Server Error"
-msgstr "內部伺服器發生錯誤"
-
#: protocols/luci-proto-bonding/htdocs/luci-static/resources/protocol/bonding.js:285
msgid "Interval For Sending Learning Packets"
msgstr "傳送學習中封包的時間間隔"
msgid "Invalid hexadecimal value"
msgstr "錯誤的十六進制數值"
-#: modules/luci-base/luasrc/view/sysauth.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:37
+#: modules/luci-base/ucode/template/sysauth.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:32
msgid "Invalid username and/or password! Please try again."
msgstr "不正確的使用者名稱和/或者密碼!請再試一次。"
"flash memory, please verify the image file!"
msgstr "您正使用不適用於此 Flash 的映像檔,請檢查映像檔!"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:89
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:96
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:77
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:91
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:72
msgid "JavaScript required!"
msgstr "需要Java腳本!"
msgid "Language and Style"
msgstr "語言與主題"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:560
+msgid ""
+"Larger weights (of the same prio) are given a proportionately higher "
+"probability of being selected."
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:575
msgid "Last member interval"
msgstr "最後成員間隔"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
msgid "Latency"
msgstr "延遲"
msgid "Learn routes"
msgstr "學習路由"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:348
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:353
msgid "Lease file"
msgstr "租賃檔案"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:697
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:768
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:679
msgid "Lease time"
msgstr "租賃時間長度"
msgid "Limit"
msgstr "限制"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:24
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
msgid "Line Attenuation (LATN)"
msgstr "線路衰減(LATN)"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
msgid "Line Mode"
msgstr "線路模式"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:17
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:18
msgid "Line State"
msgstr "線路狀態"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:19
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:20
msgid "Line Uptime"
msgstr "線路已連線時間"
msgid "Link layer header bits %d-%d"
msgstr "鏈路層標頭位 %d-%d"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:438
msgid "List of IP addresses to convert into NXDOMAIN responses."
msgstr "列出供應偽裝NX網域成果的主機群."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:296
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:581
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:652
msgid "List of IP sets to populate with the specified domain IPs."
msgstr "使用指定網域 IP 填充的 IP 集列表。"
msgid "List of SSH key files for auth"
msgstr "列出SSH金鑰以便驗證"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:312
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:317
msgid "List of domains to allow RFC1918 responses for."
msgstr "列出允許RFC1918文件虛擬IP回應的網域."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:290
-msgid "List of domains to force to an IP address."
-msgstr "列出網域以便強制到某個IP位址."
-
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:283
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:285
msgid "List of upstream resolvers to forward queries to."
msgstr "列出 <abbr title=\"Domain Name System\">DNS</abbr> 伺服器以便轉發請求."
msgid "Listen Port"
msgstr "監聽連接埠"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:332
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:337
msgid "Listen interfaces"
msgstr "監聽介面"
msgid "Listen only on the given interface or, if unspecified, on all"
msgstr "僅監聽給定的介面,如果未指定則監聽所有介面"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:333
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:338
msgid ""
"Listen only on the specified interfaces, and loopback if not excluded "
"explicitly."
msgid "ListenPort setting is invalid"
msgstr "ListenPort 設定無效"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:439
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:444
msgid "Listening port for inbound DNS queries."
msgstr "進入的DNS請求聆聽埠."
msgstr "讀取目錄內容…"
#: modules/luci-base/htdocs/luci-static/resources/luci.js:1942
-#: modules/luci-base/luasrc/view/view.htm:4
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:45
+#: modules/luci-base/ucode/template/view.ut:4
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:12
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:40
msgid "Loading view…"
msgstr "載入畫面中…"
msgid "Local ULA"
msgstr "本地 ULA"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:273
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:275
msgid "Local domain"
msgstr "本地網域"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:274
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:276
msgid "Local domain suffix appended to DHCP names and hosts file entries."
msgstr "附加到 DHCP 名稱和 hosts 檔案項目的本地域字尾."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:269
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:271
msgid "Local server"
msgstr "本地伺服器"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:319
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:324
msgid "Local service only"
msgstr "僅限本機服務"
msgid "Local wireguard key"
msgstr "本機 wireguard 金鑰"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:392
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:397
msgid "Localise queries"
msgstr "本地化網路請求"
msgid "Log output level"
msgstr "日誌輸出等級"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:277
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:279
msgid "Log queries"
msgstr "日誌查詢"
msgid "Logical network to which the tunnel will be added (bridged) (optional)."
msgstr "(已橋接)隧道的邏輯網路將會被新增(可選的)."
-#: modules/luci-base/luasrc/view/sysauth.htm:38
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:41
+#: modules/luci-base/ucode/template/sysauth.ut:38
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:36
msgid "Login"
msgstr "登入"
msgid "Loose filtering"
msgstr "寬鬆過濾"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
msgid "Loss of Signal Seconds (LOSS)"
msgstr "信號秒漏失(LOSS)"
msgid "Lowest leased address as offset from the network address."
msgstr "DHCP 起始位置。"
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/footer.ut:12
+msgid "Lua compatibility mode active"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:48
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:83
msgid "MAC"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:591
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:40
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:619
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1164
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2177
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:56
msgid "MTU"
msgstr "MTU最大傳輸單元"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:259
+msgid "MX"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/mounts.js:303
msgid ""
"Make sure to clone the root filesystem using something like the commands "
msgid "Max <abbr title=\"Router Advertisement\">RA</abbr> interval"
msgstr "最長 <abbr title=\"Router Advertisement\">RA</abbr> 間隔"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:22
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:23
msgid "Max. Attainable Data Rate (ATTNDR)"
msgstr "最高可達到的數據速率 (ATTNDR)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:457
msgid "Max. DHCP leases"
msgstr ""
"<abbr title=\"maximal\">最大</abbr> <abbr title=\"Dynamic Host Configuration "
"Protocol\">DHCP</abbr> 租約"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:459
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:464
msgid "Max. EDNS0 packet size"
msgstr ""
"<abbr title=\"maximal\">最大</abbr> <abbr title=\"Extension Mechanisms for "
"Domain Name System\">EDNS0</abbr> 封包大小"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:466
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:471
msgid "Max. concurrent queries"
msgstr "<abbr title=\"maximal\">最大</abbr>同時查詢數量"
msgid "Maximum allowed Listen Interval"
msgstr "允許的最大監聽間隔"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:453
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:458
msgid "Maximum allowed number of active DHCP leases."
msgstr "允許啟用DHCP釋放的最大數量。"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:467
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:472
msgid "Maximum allowed number of concurrent DNS queries."
msgstr "允許同時齊發的DNS請求的最大數量。"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:460
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:465
msgid "Maximum allowed size of EDNS0 UDP packets."
msgstr "允許EDNS.0 協定的UDP封包最大數量。"
msgid "Maximum transmit power"
msgstr "最大發射功率"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:394
msgid "May prevent VoIP or other services from working."
msgstr "可能造成 VoIP 或其他服務無法運作。"
msgid "Name of the tunnel device"
msgstr "通道裝置名稱"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:46
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:39
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:50
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:44
msgid "Navigation"
msgstr "導覽"
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:10
+msgid "Nebula Network"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:653
msgid "Neighbour cache validity"
msgstr "鄰近快取有效性"
msgid "Network address"
msgstr "網路地址"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:492
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:497
msgid "Network boot image"
msgstr "網路開機映像檔"
msgid "Network interface"
msgstr "網路界面"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:536
msgid "Network-ID"
msgstr "網路-ID"
msgid "Never"
msgstr "永不"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:270
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:272
msgid ""
"Never forward matching domains and subdomains, resolve from DHCP or hosts "
"files only."
msgid "No RX signal"
msgstr "沒有 RX 信號"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:80
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:87
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:72
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:68
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:82
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:65
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:90
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:70
msgid ""
"No changes to settings will be stored and are lost after rebooting. This "
"mode should only be used to install a firmware upgrade"
msgid "No entries in this directory"
msgstr "在這目錄中缺乏項目"
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:82
-msgid "No files found"
-msgstr "未找到檔案"
-
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:833
msgid ""
"No fixed interface listening port defined, peers might not be able to "
msgid "No more slaves available, can not save interface"
msgstr "缺乏更多可用的實體界面, 無法儲存界面"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:413
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:418
msgid "No negative cache"
msgstr "無負向快取"
msgid "No nftables ruleset loaded."
msgstr "未加載 nftables 規則集。"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:69
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:61
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:57
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:54
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:79
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:59
msgid "No password set!"
msgstr "没有設定密碼!"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:146
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:283
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:140
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:277
msgid "No public keys present yet."
msgstr "尚無可用公鑰。"
msgid "Noise"
msgstr "雜訊比"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:27
msgid "Noise Margin (SNR)"
msgstr "訊號雜訊比 (SNR)"
msgid "Noise:"
msgstr "雜訊比:"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:34
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
msgid "Non Pre-emptive CRC errors (CRC_P)"
msgstr "非搶先CRC錯誤 (CRC_P)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:325
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:330
msgid "Non-wildcard"
msgstr "非-萬用字元"
msgid "Normal"
msgstr "正常"
-#: modules/luci-base/luasrc/view/error404.htm:8
+#: modules/luci-base/ucode/template/error404.ut:9
msgid "Not Found"
msgstr "尚未發現"
msgid "Number of IGMP membership reports"
msgstr "IGMP成員數量報告"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:474
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:479
msgid "Number of cached DNS entries, 10000 is maximum, 0 is no caching."
msgstr "快取DNS項目數量(最大值為10000,輸入0代表不快取)。"
msgid "On-link"
msgstr "連接路線"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:672
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:743
msgid "One of hostname or MAC address must be specified!"
msgstr "主機名稱或 mac 位址至少要有一個被指定!"
msgstr "打開 iptables 規則概述…"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:472
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:19
msgid "Open list..."
msgstr "開啟清單..."
msgid "Options"
msgstr "選項"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:526
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:531
msgid ""
"Options for the Network-ID. (Note: needs also Network-ID.) E.g. "
"\"<code>42,192.168.1.4</code>\" for NTP server, \"<code>3,192.168.4.4</code>"
"「運行 dnsmasq 的系統位址」。。"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:125
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:119
msgid "Options:"
msgstr "選項:"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
+msgid "Ordinal: lower comes first."
+msgstr ""
+
#: protocols/luci-proto-batman-adv/htdocs/luci-static/resources/protocol/batadv.js:55
msgid "Originator Interval"
msgstr "發起人間隔"
msgid "Pass-through (Mirror physical device to single MAC VLAN)"
msgstr "直通 (Pass-through, 將物理裝置鏡像到單個 MAC VLAN)"
-#: modules/luci-base/luasrc/view/sysauth.htm:29
+#: modules/luci-base/ucode/template/sysauth.ut:29
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1690
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:51
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:114
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:103
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:24
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:19
msgid "Password"
msgstr "密碼"
msgstr "密碼2"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:266
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:260
msgid "Paste or drag SSH key file…"
msgstr "貼上或拖曳 SSH 金鑰至此…"
msgid "Pkts."
msgstr "Pkts(流量單位)."
-#: modules/luci-base/luasrc/view/sysauth.htm:19
+#: modules/luci-base/ucode/template/sysauth.ut:19
msgid "Please enter your username and password."
msgstr "請輸入您的用戶名稱和密碼。"
msgid "Policy: <strong>%h</strong> (%h)"
msgstr "原則: <strong>%h</strong> (%h)"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:579
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:21
msgid "Port"
msgstr "連接埠"
msgid "Potential negation of: %s"
msgstr "可能反取: %s"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:37
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:38
msgid "Power Management Mode"
msgstr "電源管理模式"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:35
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:36
msgid "Pre-emptive CRC errors (CRCP_P)"
msgstr "搶先式CRC錯誤(CRCP_P)"
msgstr "邏輯主控在恢復後, 始終變為活動的實體界面 (永遠, 0)"
#: modules/luci-mod-network/htdocs/luci-static/resources/tools/network.js:508
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:584
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:616
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:129
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:197
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:223
msgstr "公開金鑰:%h"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:290
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:284
msgid ""
"Public keys allow for the passwordless SSH logins with a higher security "
"compared to the use of plain passwords. In order to upload a new key to the "
msgid "Quality"
msgstr "品質"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:433
msgid "Query all available upstream resolvers."
msgstr ""
"查詢所有可用的上游 <abbr title=\"Domain Name System\">DNS</abbr> 伺服器。"
msgid "Raw hex-encoded bytes. Leave empty unless your ISP require this"
msgstr "原生十六進制-編碼的位元組. 除非您的ISP要求否則將其留空"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:345
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:350
msgid "Read <code>/etc/ethers</code> to configure the DHCP server."
msgstr "讀取 <code>/etc/ether 以</code>配置 DHCP 伺服器。"
msgid "Reassociation Deadline"
msgstr "重新關聯期限"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:301
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:306
msgid "Rebind protection"
msgstr "重新綁護"
msgstr "拒絕前綴長度小於或等於指定值的路由決策"
#: modules/luci-compat/luasrc/model/network/proto_relay.lua:153
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:611
#: protocols/luci-proto-relay/htdocs/luci-static/resources/protocol/relay.js:39
msgid "Relay"
msgstr "延遲"
msgid "Required. Base64-encoded private key for this interface."
msgstr "必需的. 對此界面的以Base64編碼的私鑰."
+#: protocols/luci-proto-nebula/htdocs/luci-static/resources/protocol/nebula.js:40
+msgid "Required. Path to the .yml config file for this interface."
+msgstr ""
+
#: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:587
msgid "Required. Public key of the WireGuard peer."
msgstr "必需。WireGuard 對端的公開金鑰。"
msgstr "實體界面的重選政策"
#: modules/luci-base/htdocs/luci-static/resources/luci.js:2197
-#: modules/luci-base/luasrc/view/sysauth.htm:39
+#: modules/luci-base/ucode/template/sysauth.ut:39
#: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
#: modules/luci-compat/luasrc/view/cbi/footer.htm:30
#: modules/luci-compat/luasrc/view/cbi/simpleform.htm:66
msgid "Resolv and Hosts Files"
msgstr "解析和Hosts檔案"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:356
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:361
msgid "Resolv file"
msgstr "解析檔"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:292
+msgid "Resolve specified FQDNs to an IP."
+msgstr "列出網域以便強制到某個IP位址."
+
#: modules/luci-base/htdocs/luci-static/resources/rpc.js:405
msgid "Resource not found"
msgstr "找不到資源"
msgid "Restore backup"
msgstr "還原之前備份設定"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:393
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
msgid ""
"Return answers to DNS queries matching the subnet from which the query was "
"received if multiple IPs are available."
msgid "Robustness"
msgstr "加強性"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:486
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:491
msgid ""
"Root directory for files served via TFTP. <em>Enable TFTP server</em> and "
"<em>TFTP server root</em> turn on the TFTP server and serve files from "
msgid "SNR"
msgstr "信躁比 (SNR)"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:258
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "SRV"
+msgstr ""
+
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js:10
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:38
msgid "SSH Access"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:289
#: modules/luci-mod-system/root/usr/share/luci/menu.d/luci-mod-system.json:51
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:283
msgid "SSH-Keys"
msgstr "SSH 金鑰"
msgid "Server"
msgstr "伺服器"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:524
msgid "Server address"
msgstr "伺服器位址"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:518
msgid "Server name"
msgstr "伺服器名稱"
msgid "Setup routes for proxied IPv6 neighbours."
msgstr "設定已代理 IPv6 鄰居的路由。"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:30
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:31
msgid "Severely Errored Seconds (SES)"
msgstr "嚴重錯誤秒數(SES)"
msgstr "簡短前序編碼"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:470
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:18
msgid "Show current backup file list"
msgstr "顯示現今的備份檔清單"
msgid "Signal / Noise"
msgstr "信號 /雜訊比"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:25
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:26
msgid "Signal Attenuation (SATN)"
msgstr "信號衰減(交互式SATN)"
msgid "Size"
msgstr "容量"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:473
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:478
msgid "Size of DNS query cache"
msgstr "DNS輪詢的快取大小"
msgid "Skip from backup files that are equal to those in /rom"
msgstr "不備份與 /rom 目錄下檔案相同的檔案"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:42
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:35
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:46
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:40
msgid "Skip to content"
msgstr "跳到內容"
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:41
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:34
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:45
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:39
msgid "Skip to navigation"
msgstr "跳到導覽"
msgid "Some fields are invalid, cannot save values!"
msgstr "有些欄位失效, 無法儲存數值!"
-#: modules/luci-base/luasrc/view/error404.htm:9
+#: modules/luci-base/ucode/template/error404.ut:10
msgid "Sorry, the object you requested was not found."
msgstr "抱歉, 您請求的這物件尚無發現."
-#: modules/luci-base/luasrc/view/error500.htm:9
-msgid "Sorry, the server encountered an unexpected error."
-msgstr "抱歉, 伺服器遭遇非預期的錯誤."
-
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:442
msgid ""
"Sorry, there is no sysupgrade support present; a new firmware image must be "
msgid "Source port"
msgstr "源埠"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:505
msgid ""
"Special <abbr title=\"Preboot eXecution Environment\">PXE</abbr> boot "
"options for Dnsmasq."
msgid "Static address"
msgstr "靜態位址"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:598
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:669
msgid ""
"Static leases are used to assign fixed IP addresses and symbolic hostnames "
"to DHCP clients. They are also required for non-dynamic interface "
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:16
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:541
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:929
-#: modules/luci-mod-status/luasrc/view/admin_status/index.htm:9
+#: modules/luci-mod-status/ucode/template/admin_status/index.ut:9
msgid "Status"
msgstr "狀態"
msgid "Strict filtering"
msgstr "嚴格過濾"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:422
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:427
msgid "Strict order"
msgstr "嚴謹順序"
msgid "Submit"
msgstr "提交"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:372
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:377
msgid "Suppress logging"
msgstr "禁止記錄"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:373
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:378
msgid "Suppress logging of the routine operation for the DHCP protocol."
msgstr "禁止記錄這些協定的例行操作。"
msgid "Sync with browser"
msgstr "與瀏覽器同步時間"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:293
+msgid "Syntax: <code>/fqdn[/fqdn…]/[ipaddr]</code>."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:569
+msgid "Syntax: <code>_service._proto.example.com</code>."
+msgstr ""
+
#: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:26
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/10_system.js:17
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:113
msgid "System log buffer size"
msgstr "系統日誌緩衝區大小"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:79
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:86
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:71
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:67
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:81
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:64
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:89
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:69
msgid "System running in recovery (initramfs) mode."
msgstr "系統在恢復 (initramfs) 模式下運行。"
msgid "TCP:"
msgstr "TCP:"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:485
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:490
msgid "TFTP server root"
msgstr "TFTP 伺服器根"
msgid "Table"
msgstr "表格"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:574
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:56
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:66
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/routes.js:187
"username instead of the user ID!"
msgstr "HE.net端點更新組態已更改, 您現在必須使用普通用戶名而不是用戶ID!"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:681
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:752
msgid "The IP address %h is already used by another static lease"
msgstr "IP 位址 %h 已被另一個靜態租約使用"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:690
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:761
msgid "The IP address is outside of any DHCP pool address range"
msgstr "IP 位址不在任何 DHCP 池位址范圍之內"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:520
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:525
msgid "The IP address of the boot server"
msgstr "引導伺服器的IP位址"
msgstr "產生的設定可以匯入到 WireGuard 客戶端應用中來設定到該裝置的連接。"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:172
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:166
msgid "The given SSH public key has already been added."
msgstr "輸入的 SSH 公鑰早已存在。"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:178
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:172
msgid ""
"The given SSH public key is invalid. Please supply proper public RSA, "
"ED25519 or ECDSA keys."
"跳懲罰設置允許修改 batman-adv 對多跳路由與短路由的偏好。 該值應用於每個轉發 "
"OGM 的 TQ,從而傳播額外跳的成本(必須接收和重新傳輸數據包,這會花費通話時間)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:514
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:519
msgid "The hostname of the boot server"
msgstr "引導伺服器的主機名"
msgid "The selected %s mode is incompatible with %s encryption"
msgstr "選擇的模式 %s 與 %s 加密不相容"
-#: modules/luci-base/luasrc/view/csrftoken.htm:11
+#: modules/luci-base/ucode/template/csrftoken.ut:11
msgid "The submitted security token is invalid or already expired!"
msgstr "提交的安全權杖無效或已過期!"
"系統上存在舊版 iptables 規則。 不鼓勵混合使用 iptables 和 nftables 規則,這可"
"能會導致流量過濾不完整。"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:746
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:778
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:817
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:849
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:130
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:179
msgid "There are no active leases"
msgid "There are no changes to apply"
msgstr "無可套用的變更"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:70
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:62
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:58
+#: themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut:55
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:80
-#: themes/luci-theme-openwrt-2020/luasrc/view/themes/openwrt2020/header.htm:60
msgid ""
"There is no password set on this router. Please configure a root password to "
"protect the web interface."
msgstr "這看起來不像有效的PEM檔案"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:454
-#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:16
msgid ""
"This is a list of shell glob patterns for matching files and directories to "
"include during sysupgrade. Modified files in /etc/config/ and certain other "
"ends with <code>...:2/64</code>"
msgstr "這是由通道代理人指定的本地終端位址,通常用 <code>...:2/64</code> 結尾"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:266
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:268
msgid "This is the only DHCP server in the local network."
msgstr ""
"在本地網路中 這是唯一的 <abbr title=\"Dynamic Host Configuration Protocol"
msgid "Unable to determine upstream interface"
msgstr "無法判斷上游介面"
-#: modules/luci-base/luasrc/view/error404.htm:11
+#: modules/luci-base/ucode/template/error404.ut:12
msgid "Unable to dispatch"
msgstr "無法發送"
msgid "Unable to verify PIN"
msgstr "無法驗證 PIN"
-#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:32
+#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/50_dsl.js:33
msgid "Unavailable Seconds (UAS)"
msgstr "不可用秒數 (UAS)"
msgstr "卸載"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:121
-#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:115
msgid "Unnamed key"
msgstr "未命名的金鑰"
msgstr ""
"按下「繼續」,ifname 選項將被重新命名,網路將重新啟動以應用更新後的設定。"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:423
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:428
msgid "Upstream resolvers will be queried in the order of the resolv file."
msgstr ""
"將會按照解析文件的順序查詢<abbr title=\"Domain Name System\">DNS</abbr>伺服"
msgid "Uptime"
msgstr "上線時間"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:344
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:349
msgid "Use <code>/etc/ethers</code>"
msgstr "採用 <code>/etc/ethers</code>"
msgid "Use system certificates for inner-tunnel"
msgstr "對 inner-tunnel 使用系統憑證"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:599
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:670
msgid ""
"Use the <em>Add</em> Button to add a new lease entry. The <em>MAC address</"
"em> identifies the host, the <em>IPv4 address</em> specifies the fixed "
msgid "User key (PEM encoded)"
msgstr "使用者金鑰(PEM編碼格式)"
-#: modules/luci-base/luasrc/view/sysauth.htm:23
+#: modules/luci-base/ucode/template/sysauth.ut:23
#: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:112
#: protocols/luci-proto-openfortivpn/htdocs/luci-static/resources/protocol/openfortivpn.js:101
#: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:56
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/sysauth.htm:18
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut:13
msgid "Username"
msgstr "用戶名稱"
#: protocols/luci-proto-vti/htdocs/luci-static/resources/protocol/vti.js:10
msgid "VTI"
-msgstr ""
+msgstr "VTI"
#: protocols/luci-proto-vxlan/htdocs/luci-static/resources/protocol/vxlan.js:10
msgid "VXLAN (RFC7348)"
msgid "VXLANv6 (RFC7348)"
msgstr "VXLANv6虛擬區網擴展(RFC7348)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:398
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
msgid ""
"Validate DNS replies and cache DNSSEC data, requires upstream to support "
"DNSSEC."
msgid "Vendor Class to send when requesting DHCP"
msgstr "當請求DHCP封包時要傳送的製造商類別碼"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:408
msgid "Verify unsigned domain responses really come from unsigned domains."
msgstr "驗證未簽名域回應是否確實來自未簽名域。"
msgid "Weak"
msgstr "薄弱"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:589
+msgid "Weight"
+msgstr ""
+
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:1029
msgid ""
"When delegating prefixes to multiple downstreams, interfaces with a higher "
msgid "Wireless network is enabled"
msgstr "無線網路已啟用"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:278
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:280
msgid "Write received DNS queries to syslog."
msgstr "寫入已接收的DNS請求到系統日誌中。"
"您可以開啟或關閉初始化指令在這. 修改將會在設備重開後被啟用. <br /><strong>警"
"告: 假如您關閉必要的初始化腳本像\"網路\", 您的設備將可能無法存取!</strong>"
-#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:90
-#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:97
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:559
+msgid "You may add multiple records for the same Target."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:596
+msgid "You may add multiple records for the same domain."
+msgstr ""
+
+#: themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut:78
+#: themes/luci-theme-material/ucode/template/themes/material/header.ut:92
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:73
msgid ""
"You must enable JavaScript in your browser or LuCI will not work properly."
msgid "ZRam Size"
msgstr "ZRam 大小"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:558
+msgid "_proto: _tcp, _udp, _sctp, _quic, … ."
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:557
+msgid ""
+"_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Note: while _http is "
+"possible, no browsers support SRV records.)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:454
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:152
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:163
msgid "any"
msgid "e.g: dump"
msgstr "例如:完全備份"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:726
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:756
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:797
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:827
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:101
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:148
msgid "expired"
msgid "unknown"
msgstr "未知"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:456
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:724
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:754
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:461
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:795
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:825
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:99
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:146
msgid "unlimited"
msgid "« Back"
msgstr "« 倒退"
+#~ msgid "Back to configuration"
+#~ msgstr "返回至設定"
+
+#~ msgid "Close list..."
+#~ msgstr "關閉清單..."
+
+#~ msgid "Internal Server Error"
+#~ msgstr "內部伺服器發生錯誤"
+
+#~ msgid "No files found"
+#~ msgstr "未找到檔案"
+
+#~ msgid "Sorry, the server encountered an unexpected error."
+#~ msgstr "抱歉, 伺服器遭遇非預期的錯誤."
+
#~ msgid "Do not forward queries that cannot be answered by public resolvers."
#~ msgstr "不轉發公用名稱伺服器不能回答的請求。"
+++ /dev/null
-#!/usr/bin/env lua
-
-local json = require "luci.jsonc"
-local fs = require "nixio.fs"
-
-local function readfile(path)
- local s = fs.readfile(path)
- return s and (s:gsub("^%s+", ""):gsub("%s+$", ""))
-end
-
-local methods = {
- getInitList = {
- args = { name = "name" },
- call = function(args)
- local sys = require "luci.sys"
- local _, name, scripts = nil, nil, {}
- for _, name in ipairs(args.name and { args.name } or sys.init.names()) do
- local index = sys.init.index(name)
- if index then
- scripts[name] = { index = index, enabled = sys.init.enabled(name) }
- else
- return { error = "No such init script" }
- end
- end
- return scripts
- end
- },
-
- setInitAction = {
- args = { name = "name", action = "action" },
- call = function(args)
- local sys = require "luci.sys"
- if type(sys.init[args.action]) ~= "function" then
- return { error = "Invalid action" }
- end
- return { result = sys.init[args.action](args.name) }
- end
- },
-
- getLocaltime = {
- call = function(args)
- return { result = os.time() }
- end
- },
-
- setLocaltime = {
- args = { localtime = 0 },
- call = function(args)
- local sys = require "luci.sys"
- local date = os.date("*t", args.localtime)
- if date then
- sys.call("date -s '%04d-%02d-%02d %02d:%02d:%02d' >/dev/null" %{ date.year, date.month, date.day, date.hour, date.min, date.sec })
- sys.call("/etc/init.d/sysfixtime restart >/dev/null")
- end
- return { result = args.localtime }
- end
- },
-
- getTimezones = {
- call = function(args)
- local util = require "luci.util"
- local zones = require "luci.sys.zoneinfo"
-
- local tz = readfile("/etc/TZ")
- local res = util.ubus("uci", "get", {
- config = "system",
- section = "@system[0]",
- option = "zonename"
- })
-
- local result = {}
- local _, zone
- for _, zone in ipairs(zones.TZ) do
- result[zone[1]] = {
- tzstring = zone[2],
- active = (res and res.value == zone[1]) and true or nil
- }
- end
- return result
- end
- },
-
- getLEDs = {
- call = function()
- local iter = fs.dir("/sys/class/leds")
- local result = { }
-
- if iter then
- local led
- for led in iter do
- local m, s
-
- result[led] = { triggers = {} }
-
- s = readfile("/sys/class/leds/"..led.."/trigger")
- for s in (s or ""):gmatch("%S+") do
- m = s:match("^%[(.+)%]$")
- result[led].triggers[#result[led].triggers+1] = m or s
- result[led].active_trigger = m or result[led].active_trigger
- end
-
- s = readfile("/sys/class/leds/"..led.."/brightness")
- if s then
- result[led].brightness = tonumber(s)
- end
-
- s = readfile("/sys/class/leds/"..led.."/max_brightness")
- if s then
- result[led].max_brightness = tonumber(s)
- end
- end
- end
-
- return result
- end
- },
-
- getUSBDevices = {
- call = function()
- local fs = require "nixio.fs"
- local iter = fs.glob("/sys/bus/usb/devices/[0-9]*/manufacturer")
- local result = { }
-
- if iter then
- result.devices = {}
-
- local p
- for p in iter do
- local id = p:match("/([^/]+)/manufacturer$")
-
- result.devices[#result.devices+1] = {
- id = id,
- vid = readfile("/sys/bus/usb/devices/"..id.."/idVendor"),
- pid = readfile("/sys/bus/usb/devices/"..id.."/idProduct"),
- vendor = readfile("/sys/bus/usb/devices/"..id.."/manufacturer"),
- product = readfile("/sys/bus/usb/devices/"..id.."/product"),
- speed = tonumber((readfile("/sys/bus/usb/devices/"..id.."/product")))
- }
- end
- end
-
- iter = fs.glob("/sys/bus/usb/devices/*/*-port[0-9]*")
-
- if iter then
- result.ports = {}
-
- local p
- for p in iter do
- local port = p:match("([^/]+)$")
- local link = fs.readlink(p.."/device")
-
- result.ports[#result.ports+1] = {
- port = port,
- device = link and fs.basename(link)
- }
- end
- end
-
- return result
- end
- },
-
- getConntrackHelpers = {
- call = function()
- local ok, fd = pcall(io.open, "/usr/share/fw3/helpers.conf", "r")
- local rv = {}
-
- if not (ok and fd) then
- ok, fd = pcall(io.open, "/usr/share/firewall4/helpers", "r")
- end
-
- if ok and fd then
- local entry
-
- while true do
- local line = fd:read("*l")
- if not line then
- break
- end
-
- if line:match("^%s*config%s") then
- if entry then
- rv[#rv+1] = entry
- end
- entry = {}
- else
- local opt, val = line:match("^%s*option%s+(%S+)%s+(%S.*)$")
- if opt and val then
- opt = opt:gsub("^'(.+)'$", "%1"):gsub('^"(.+)"$', "%1")
- val = val:gsub("^'(.+)'$", "%1"):gsub('^"(.+)"$', "%1")
- entry[opt] = val
- end
- end
- end
-
- if entry then
- rv[#rv+1] = entry
- end
-
- fd:close()
- end
-
- return { result = rv }
- end
- },
-
- getFeatures = {
- call = function()
- local fs = require "nixio.fs"
- local rv = {}
- local ok, fd
-
- rv.firewall = fs.access("/sbin/fw3")
- rv.firewall4 = fs.access("/sbin/fw4")
- rv.opkg = fs.access("/bin/opkg")
- rv.offloading = fs.access("/sys/module/xt_FLOWOFFLOAD/refcnt") or fs.access("/sys/module/nft_flow_offload/refcnt")
- rv.br2684ctl = fs.access("/usr/sbin/br2684ctl")
- rv.swconfig = fs.access("/sbin/swconfig")
- rv.odhcpd = fs.access("/usr/sbin/odhcpd")
- rv.zram = fs.access("/sys/class/zram-control")
- rv.sysntpd = fs.readlink("/usr/sbin/ntpd") and true
- rv.ipv6 = fs.access("/proc/net/ipv6_route")
- rv.dropbear = fs.access("/usr/sbin/dropbear")
- rv.cabundle = fs.access("/etc/ssl/certs/ca-certificates.crt")
- rv.relayd = fs.access("/usr/sbin/relayd")
- rv.dsl = fs.access("/sbin/dsl_cpe_control") or fs.access("/sbin/vdsl_cpe_control")
-
- local wifi_features = { "eap", "11n", "11ac", "11r", "acs", "sae", "owe", "suiteb192", "wep", "wps" }
-
- if fs.access("/usr/sbin/hostapd") then
- rv.hostapd = { cli = fs.access("/usr/sbin/hostapd_cli") }
-
- local _, feature
- for _, feature in ipairs(wifi_features) do
- rv.hostapd[feature] =
- (os.execute(string.format("/usr/sbin/hostapd -v%s >/dev/null 2>/dev/null", feature)) == 0)
- end
- end
-
- if fs.access("/usr/sbin/wpa_supplicant") then
- rv.wpasupplicant = { cli = fs.access("/usr/sbin/wpa_cli") }
-
- local _, feature
- for _, feature in ipairs(wifi_features) do
- rv.wpasupplicant[feature] =
- (os.execute(string.format("/usr/sbin/wpa_supplicant -v%s >/dev/null 2>/dev/null", feature)) == 0)
- end
- end
-
- ok, fd = pcall(io.popen, "dnsmasq --version 2>/dev/null")
- if ok then
- rv.dnsmasq = {}
-
- while true do
- local line = fd:read("*l")
- if not line then
- break
- end
-
- local opts = line:match("^Compile time options: (.+)$")
- if opts then
- local opt
- for opt in opts:gmatch("%S+") do
- local no = opt:match("^no%-(%S+)$")
- rv.dnsmasq[string.lower(no or opt)] = not no
- end
- break
- end
- end
-
- fd:close()
- end
-
- ok, fd = pcall(io.popen, "ipset --help 2>/dev/null")
- if ok then
- rv.ipset = {}
-
- local sets = false
-
- while true do
- local line = fd:read("*l")
- if not line then
- break
- elseif line:match("^Supported set types:") then
- sets = true
- elseif sets then
- local set, ver = line:match("^%s+(%S+)%s+(%d+)")
- if set and not rv.ipset[set] then
- rv.ipset[set] = tonumber(ver)
- end
- end
- end
-
- fd:close()
- end
-
- return rv
- end
- },
-
- getSwconfigFeatures = {
- args = { switch = "switch0" },
- call = function(args)
- local util = require "luci.util"
-
- -- Parse some common switch properties from swconfig help output.
- local swc, err = io.popen("swconfig dev %s help 2>/dev/null" % util.shellquote(args.switch))
- if swc then
- local is_port_attr = false
- local is_vlan_attr = false
- local rv = {}
-
- while true do
- local line = swc:read("*l")
- if not line then break end
-
- if line:match("^%s+%-%-vlan") then
- is_vlan_attr = true
-
- elseif line:match("^%s+%-%-port") then
- is_vlan_attr = false
- is_port_attr = true
-
- elseif line:match("cpu @") then
- rv.switch_title = line:match("^switch%d: %w+%((.-)%)")
- rv.num_vlans = tonumber(line:match("vlans: (%d+)")) or 16
- rv.min_vid = 1
-
- elseif line:match(": pvid") or line:match(": tag") or line:match(": vid") then
- if is_vlan_attr then rv.vid_option = line:match(": (%w+)") end
-
- elseif line:match(": enable_vlan4k") then
- rv.vlan4k_option = "enable_vlan4k"
-
- elseif line:match(": enable_vlan") then
- rv.vlan_option = "enable_vlan"
-
- elseif line:match(": enable_learning") then
- rv.learning_option = "enable_learning"
-
- elseif line:match(": enable_mirror_rx") then
- rv.mirror_option = "enable_mirror_rx"
-
- elseif line:match(": max_length") then
- rv.jumbo_option = "max_length"
- end
- end
-
- swc:close()
-
- if not next(rv) then
- return { error = "No such switch" }
- end
-
- return rv
- else
- return { error = err }
- end
- end
- },
-
- getSwconfigPortState = {
- args = { switch = "switch0" },
- call = function(args)
- local util = require "luci.util"
-
- local swc, err = io.popen("swconfig dev %s show 2>/dev/null" % util.shellquote(args.switch))
- if swc then
- local ports = { }
-
- while true do
- local line = swc:read("*l")
- if not line or (line:match("^VLAN %d+:") and #ports > 0) then
- break
- end
-
- local pnum = line:match("^Port (%d+):$")
- if pnum then
- port = {
- port = tonumber(pnum),
- duplex = false,
- speed = 0,
- link = false,
- auto = false,
- rxflow = false,
- txflow = false
- }
-
- ports[#ports+1] = port
- end
-
- if port then
- local m
-
- if line:match("full[%- ]duplex") then
- port.duplex = true
- end
-
- m = line:match(" speed:(%d+)")
- if m then
- port.speed = tonumber(m)
- end
-
- m = line:match("(%d+) Mbps")
- if m and port.speed == 0 then
- port.speed = tonumber(m)
- end
-
- m = line:match("link: (%d+)")
- if m and port.speed == 0 then
- port.speed = tonumber(m)
- end
-
- if line:match("link: ?up") or line:match("status: ?up") then
- port.link = true
- end
-
- if line:match("auto%-negotiate") or line:match("link:.-auto") then
- port.auto = true
- end
-
- if line:match("link:.-rxflow") then
- port.rxflow = true
- end
-
- if line:match("link:.-txflow") then
- port.txflow = true
- end
- end
- end
-
- swc:close()
-
- if not next(ports) then
- return { error = "No such switch" }
- end
-
- return { result = ports }
- else
- return { error = err }
- end
- end
- },
-
- setPassword = {
- args = { username = "root", password = "password" },
- call = function(args)
- local util = require "luci.util"
- return {
- result = (os.execute("(echo %s; sleep 1; echo %s) | /bin/busybox passwd %s >/dev/null 2>&1" %{
- luci.util.shellquote(args.password),
- luci.util.shellquote(args.password),
- luci.util.shellquote(args.username)
- }) == 0)
- }
- end
- },
-
- getBlockDevices = {
- call = function()
- local fs = require "nixio.fs"
-
- local block = io.popen("/sbin/block info", "r")
- if block then
- local rv = {}
-
- while true do
- local ln = block:read("*l")
- if not ln then
- break
- end
-
- local dev = ln:match("^/dev/(.-):")
- if dev then
- local s = tonumber((fs.readfile("/sys/class/block/" .. dev .."/size")))
- local e = {
- dev = "/dev/" .. dev,
- size = s and s * 512
- }
-
- local key, val = { }
- for key, val in ln:gmatch([[(%w+)="(.-)"]]) do
- e[key:lower()] = val
- end
-
- rv[dev] = e
- end
- end
-
- block:close()
-
- return rv
- else
- return { error = "Unable to execute block utility" }
- end
- end
- },
-
- setBlockDetect = {
- call = function()
- return { result = (os.execute("/sbin/block detect > /etc/config/fstab") == 0) }
- end
- },
-
- getMountPoints = {
- call = function()
- local fs = require "nixio.fs"
-
- local fd, err = io.open("/proc/mounts", "r")
- if fd then
- local rv = {}
-
- while true do
- local ln = fd:read("*l")
- if not ln then
- break
- end
-
- local device, mount, fstype, options, freq, pass = ln:match("^(%S*) (%S*) (%S*) (%S*) (%d+) (%d+)$")
- if device and mount then
- device = device:gsub("\\(%d+)", function(n) return string.char(tonumber(n, 8)) end)
- mount = mount:gsub("\\(%d+)", function(n) return string.char(tonumber(n, 8)) end)
-
- local stat = fs.statvfs(mount)
- if stat and stat.blocks > 0 then
- rv[#rv+1] = {
- device = device,
- mount = mount,
- size = stat.bsize * stat.blocks,
- avail = stat.bsize * stat.bavail,
- free = stat.bsize * stat.bfree
- }
- end
- end
- end
-
- fd:close()
-
- return { result = rv }
- else
- return { error = err }
- end
- end
- },
-
- getRealtimeStats = {
- args = { mode = "interface", device = "eth0" },
- call = function(args)
- local util = require "luci.util"
-
- local flags
- if args.mode == "interface" then
- flags = "-i %s" % util.shellquote(args.device)
- elseif args.mode == "wireless" then
- flags = "-r %s" % util.shellquote(args.device)
- elseif args.mode == "conntrack" then
- flags = "-c"
- elseif args.mode == "load" then
- flags = "-l"
- else
- return { error = "Invalid mode" }
- end
-
- local fd, err = io.popen("luci-bwc %s" % flags, "r")
- if fd then
- local parse = json.new()
- local done
-
- parse:parse("[")
-
- while true do
- local ln = fd:read("*l")
- if not ln then
- break
- end
-
- done, err = parse:parse((ln:gsub("%d+", "%1.0")))
-
- if done then
- err = "Unexpected JSON data"
- end
-
- if err then
- break
- end
- end
-
- fd:close()
-
- done, err = parse:parse("]")
-
- if err then
- return { error = err }
- elseif not done then
- return { error = "Incomplete JSON data" }
- else
- return { result = parse:get() }
- end
- else
- return { error = err }
- end
- end
- },
-
- getConntrackList = {
- call = function()
- local sys = require "luci.sys"
- return { result = sys.net.conntrack() }
- end
- },
-
- getProcessList = {
- call = function()
- local sys = require "luci.sys"
- local res = {}
- for _, v in pairs(sys.process.list()) do
- res[#res + 1] = v
- end
- return { result = res }
- end
- }
-}
-
-local function parseInput()
- local parse = json.new()
- local done, err
-
- while true do
- local chunk = io.read(4096)
- if not chunk then
- break
- elseif not done and not err then
- done, err = parse:parse(chunk)
- end
- end
-
- if not done then
- print(json.stringify({ error = err or "Incomplete input" }))
- os.exit(1)
- end
-
- return parse:get()
-end
-
-local function validateArgs(func, uargs)
- local method = methods[func]
- if not method then
- print(json.stringify({ error = "Method not found" }))
- os.exit(1)
- end
-
- if type(uargs) ~= "table" then
- print(json.stringify({ error = "Invalid arguments" }))
- os.exit(1)
- end
-
- uargs.ubus_rpc_session = nil
-
- local k, v
- local margs = method.args or {}
- for k, v in pairs(uargs) do
- if margs[k] == nil or
- (v ~= nil and type(v) ~= type(margs[k]))
- then
- print(json.stringify({ error = "Invalid arguments" }))
- os.exit(1)
- end
- end
-
- return method
-end
-
-if arg[1] == "list" then
- local _, method, rv = nil, nil, {}
- for _, method in pairs(methods) do rv[_] = method.args or {} end
- print((json.stringify(rv):gsub(":%[%]", ":{}")))
-elseif arg[1] == "call" then
- local args = parseInput()
- local method = validateArgs(arg[2], args)
- local result, code = method.call(args)
- print((json.stringify(result):gsub("^%[%]$", "{}")))
- os.exit(code or 0)
-end
"admin/translations/*": {
"action": {
- "type": "call",
+ "type": "function",
"module": "luci.controller.admin.index",
"function": "action_translations"
},
"admin/ubus/*": {
"action": {
- "type": "call",
+ "type": "function",
"module": "luci.controller.admin.index",
"function": "action_ubus"
},
"title": "Logout",
"order": 999,
"action": {
- "type": "call",
+ "type": "function",
"module": "luci.controller.admin.index",
"function": "action_logout"
},
"admin/uci/revert": {
"action": {
- "type": "call",
+ "type": "function",
"module": "luci.controller.admin.uci",
"function": "action_revert",
"post": true
"admin/uci/apply_rollback": {
"cors": true,
"action": {
- "type": "call",
+ "type": "function",
"module": "luci.controller.admin.uci",
"function": "action_apply_rollback",
"post": true
"admin/uci/apply_unchecked": {
"cors": true,
"action": {
- "type": "call",
+ "type": "function",
"module": "luci.controller.admin.uci",
"function": "action_apply_unchecked",
"post": true
"admin/uci/confirm": {
"cors": true,
"action": {
- "type": "call",
+ "type": "function",
"module": "luci.controller.admin.uci",
"function": "action_confirm"
},
"admin/menu": {
"action": {
- "type": "call",
+ "type": "function",
"module": "luci.controller.admin.index",
"function": "action_menu"
},
--- /dev/null
+// Copyright 2022 Jo-Philipp Wich <jo@mein.io>
+// Licensed to the public under the Apache License 2.0.
+
+'use strict';
+
+import { stdin, access, dirname, basename, open, popen, glob, lsdir, readfile, readlink, error } from 'fs';
+import { cursor } from 'uci';
+
+import { init_list, init_index, init_enabled, init_action, conntrack_list, process_list } from 'luci.sys';
+import { statvfs } from 'luci.core';
+
+import timezones from 'luci.zoneinfo';
+
+
+function shellquote(s) {
+ return `'${replace(s, "'", "'\\''")}'`;
+}
+
+const methods = {
+ getInitList: {
+ args: { name: 'name' },
+ call: function(request) {
+ let scripts = {};
+
+ for (let name in filter(init_list(), i => !request.args.name || i == request.args.name)) {
+ let idx = init_index(name);
+
+ scripts[name] = {
+ index: idx?.[0],
+ stop: idx?.[1],
+ enabled: init_enabled(name)
+ };
+ }
+
+ return length(scripts) ? scripts : { error: 'No such init script' };
+ }
+ },
+
+ setInitAction: {
+ args: { name: 'name', action: 'action' },
+ call: function(request) {
+ switch (request.args.action) {
+ case 'enable':
+ case 'disable':
+ case 'start':
+ case 'stop':
+ case 'restart':
+ case 'reload':
+ const rc = init_action(request.args.name, request.args.action);
+
+ if (rc === false)
+ return { error: 'No such init script' };
+
+ return { result: rc == 0 };
+
+ default:
+ return { error: 'Invalid action' };
+ }
+ }
+ },
+
+ getLocaltime: {
+ call: function(request) {
+ return { result: time() };
+ }
+ },
+
+ setLocaltime: {
+ args: { localtime: 0 },
+ call: function(request) {
+ let t = localtime(request.args.localtime);
+
+ if (t) {
+ system(sprintf('date -s "%04d-%02d-%02d %02d:%02d:%02d" >/dev/null', t.year, t.mon, t.mday, t.hour, t.min, t.sec));
+ system('/etc/init.d/sysfixtime restart >/dev/null');
+ }
+
+ return { result: request.args.localtime };
+ }
+ },
+
+ getTimezones: {
+ call: function(request) {
+ let tz = trim(readfile('/etc/TZ'));
+ let zn = cursor()?.get?.('system', '@system[0]', 'zonename');
+ let result = {};
+
+ for (let zone, tzstring in timezones) {
+ result[zone] = { tzstring };
+
+ if (zn == zone)
+ result[zone].active = true;
+ };
+
+ return result;
+ }
+ },
+
+ getLEDs: {
+ call: function() {
+ let result = {};
+
+ for (let led in lsdir('/sys/class/leds')) {
+ let s;
+
+ result[led] = { triggers: [] };
+
+ s = trim(readfile(`/sys/class/leds/${led}/trigger`));
+ for (let trigger in split(s, ' ')) {
+ push(result[led].triggers, trim(trigger, '[]'));
+
+ if (trigger != result[led].triggers[-1])
+ result[led].active_trigger = result[led].triggers[-1];
+ }
+
+ s = readfile(`/sys/class/leds/${led}/brightness`);
+ result[led].brightness = +s;
+
+ s = readfile(`/sys/class/leds/${led}/max_brightness`);
+ result[led].max_brightness = +s;
+ }
+
+ return result;
+ }
+ },
+
+ getUSBDevices: {
+ call: function() {
+ let result = { devices: [], ports: [] };
+
+ for (let path in glob('/sys/bus/usb/devices/[0-9]*/manufacturer')) {
+ let id = basename(dirname(path));
+
+ push(result.devices, {
+ id,
+ vid: trim(readfile(`/sys/bus/usb/devices/${id}/idVendor`)),
+ pid: trim(readfile(`/sys/bus/usb/devices/${id}/idProduct`)),
+ vendor: trim(readfile(path)),
+ product: trim(readfile(`/sys/bus/usb/devices/${id}/product`)),
+ speed: +readfile(`/sys/bus/usb/devices/${id}/speed`)
+ });
+ }
+
+ for (let path in glob('/sys/bus/usb/devices/*/*-port[0-9]*')) {
+ let port = basename(path);
+ let link = readlink(`${path}/device`);
+
+ push(result.ports, {
+ port,
+ device: basename(link)
+ });
+ }
+
+ return result;
+ }
+ },
+
+ getConntrackHelpers: {
+ call: function() {
+ const uci = cursor();
+ let helpers = [];
+
+ uci.load('/usr/share/firewall4/helpers');
+ uci.load('/usr/share/fw3/helpers.conf');
+
+ uci.foreach('helpers', 'helper', (s) => {
+ push(helpers, {
+ name: s.name,
+ description: s.description,
+ module: s.module,
+ family: s.family,
+ proto: s.proto,
+ port: s.port
+ });
+ });
+
+ return { result: helpers };
+ }
+ },
+
+ getFeatures: {
+ call: function() {
+ let result = {
+ firewall: access('/sbin/fw3') == true,
+ firewall4: access('/sbin/fw4') == true,
+ opkg: access('/bin/opkg') == true,
+ offloading: access('/sys/module/xt_FLOWOFFLOAD/refcnt') == true || access('/sys/module/nft_flow_offload/refcnt') == true,
+ br2684ctl: access('/usr/sbin/br2684ctl') == true,
+ swconfig: access('/sbin/swconfig') == true,
+ odhcpd: access('/usr/sbin/odhcpd') == true,
+ zram: access('/sys/class/zram-control') == true,
+ sysntpd: readlink('/usr/sbin/ntpd') != null,
+ ipv6: access('/proc/net/ipv6_route') == true,
+ dropbear: access('/usr/sbin/dropbear') == true,
+ cabundle: access('/etc/ssl/certs/ca-certificates.crt') == true,
+ relayd: access('/usr/sbin/relayd') == true,
+ };
+
+ const wifi_features = [ 'eap', '11n', '11ac', '11r', 'acs', 'sae', 'owe', 'suiteb192', 'wep', 'wps' ];
+
+ if (access('/usr/sbin/hostapd')) {
+ result.hostapd = { cli: access('/usr/sbin/hostapd_cli') == true };
+
+ for (let feature in wifi_features)
+ result.hostapd[feature] = system(`/usr/sbin/hostapd -v${feature} >/dev/null 2>/dev/null`) == 0;
+ }
+
+ if (access('/usr/sbin/wpa_supplicant')) {
+ result.wpasupplicant = { cli: access('/usr/sbin/wpa_cli') == true };
+
+ for (let feature in wifi_features)
+ result.wpasupplicant[feature] = system(`/usr/sbin/wpa_supplicant -v${feature} >/dev/null 2>/dev/null`) == 0;
+ }
+
+ let fd = popen('dnsmasq --version 2>/dev/null');
+
+ if (fd) {
+ const m = match(fd.read('all'), /^Compile time options: (.+)$/s);
+
+ for (let opt in split(m?.[1], ' ')) {
+ let f = replace(opt, 'no-', '', 1);
+
+ result.dnsmasq ??= {};
+ result.dnsmasq[lc(f)] = (f == opt);
+ }
+
+ fd.close();
+ }
+
+ fd = popen('ipset --help 2>/dev/null');
+
+ if (fd) {
+ for (let line = fd.read('line'), flag = false; length(line); line = fd.read('line')) {
+ if (line == 'Supported set types:\n') {
+ flag = true;
+ }
+ else if (flag) {
+ const m = match(line, /^ +([\w:,]+)\t+([0-9]+)\t/);
+
+ if (m) {
+ result.ipset ??= {};
+ result.ipset[m[1]] ??= +m[2];
+ }
+ }
+ }
+
+ fd.close();
+ }
+
+ return result;
+ }
+ },
+
+ getSwconfigFeatures: {
+ args: { switch: 'switch0' },
+ call: function(request) {
+ // Parse some common switch properties from swconfig help output.
+ const swc = popen(`swconfig dev ${shellquote(request.args.switch)} help 2>/dev/null`);
+
+ if (swc) {
+ let is_port_attr = false;
+ let is_vlan_attr = false;
+ let result = {};
+
+ for (let line = swc.read('line'); length(line); line = swc.read('line')) {
+ if (match(line, /^\s+--vlan/)) {
+ is_vlan_attr = true;
+ }
+ else if (match(line, /^\s+--port/)) {
+ is_vlan_attr = false;
+ is_port_attr = true;
+ }
+ else if (match(line, /cpu @/)) {
+ result.switch_title = match(line, /^switch[0-9]+: \w+\((.+)\)/)?.[1];
+ result.num_vlans = match(line, /vlans: ([0-9]+)/)?.[1] ?? 16;
+ result.min_vid = 1;
+ }
+ else if (match(line, /: (pvid|tag|vid)/)) {
+ if (is_vlan_attr)
+ result.vid_option = match(line, /: (\w+)/)?.[1];
+ }
+ else if (match(line, /: enable_vlan4k/)) {
+ result.vlan4k_option = 'enable_vlan4k';
+ }
+ else if (match(line, /: enable_vlan/)) {
+ result.vlan_option = 'enable_vlan';
+ }
+ else if (match(line, /: enable_learning/)) {
+ result.learning_option = 'enable_learning';
+ }
+ else if (match(line, /: enable_mirror_rx/)) {
+ result.mirror_option = 'enable_mirror_rx';
+ }
+ else if (match(line, /: max_length/)) {
+ result.jumbo_option = 'max_length';
+ }
+ }
+
+ swc.close();
+
+ if (!length(result))
+ return { error: 'No such switch' };
+
+ return result;
+ }
+ else {
+ return { error: error() };
+ }
+ }
+ },
+
+ getSwconfigPortState: {
+ args: { switch: 'switch0' },
+ call: function(request) {
+ const swc = popen(`swconfig dev ${shellquote(request.args.switch)} show 2>/dev/null`);
+
+ if (swc) {
+ let ports = [], port;
+
+ for (let line = swc.read('line'); length(line); line = swc.read('line')) {
+ if (match(line, /^VLAN [0-9]+:/) && length(ports))
+ break;
+
+ let pnum = match(line, /^Port ([0-9]+):/)?.[1];
+
+ if (pnum) {
+ port = {
+ port: +pnum,
+ duplex: false,
+ speed: 0,
+ link: false,
+ auto: false,
+ rxflow: false,
+ txflow: false
+ };
+
+ push(ports, port);
+ }
+
+ if (port) {
+ let m;
+
+ if (match(line, /full[ -]duplex/))
+ port.duplex = true;
+
+ if ((m = match(line, / speed:([0-9]+)/)) != null)
+ port.speed = +m[1];
+
+ if ((m = match(line, /([0-9]+) Mbps/)) != null && !port.speed)
+ port.speed = +m[1];
+
+ if ((m = match(line, /link: ([0-9]+)/)) != null && !port.speed)
+ port.speed = +m[1];
+
+ if (match(line, /(link|status): ?up/))
+ port.link = true;
+
+ if (match(line, /auto-negotiate|link:.*auto/))
+ port.auto = true;
+
+ if (match(line, /link:.*rxflow/))
+ port.rxflow = true;
+
+ if (match(line, /link:.*txflow/))
+ port.txflow = true;
+ }
+ }
+
+ swc.close();
+
+ if (!length(ports))
+ return { error: 'No such switch' };
+
+ return { result: ports };
+ }
+ else {
+ return { error: error() };
+ }
+ }
+ },
+
+ setPassword: {
+ args: { username: 'root', password: 'password' },
+ call: function(request) {
+ const u = shellquote(request.args.username);
+ const p = shellquote(request.args.password);
+
+ return {
+ result: system(`(echo ${p}; sleep 1; echo ${p}) | /bin/busybox passwd ${u} >/dev/null 2>&1`) == 0
+ };
+ }
+ },
+
+ getBlockDevices: {
+ call: function() {
+ const block = popen('/sbin/block info 2>/dev/null');
+
+ if (block) {
+ let result = {};
+
+ for (let line = block.read('line'); length(line); line = block.read('line')) {
+ let dev = match(line, /^\/dev\/([^:]+):/)?.[1];
+
+ if (dev) {
+ let e = result[dev] = {
+ dev: `/dev/${dev}`,
+ size: +readfile(`/sys/class/block/${dev}/size`) * 512
+ };
+
+ for (m in match(line, / (\w+)="([^"]+)"/g))
+ e[lc(m[1])] = m[2];
+ }
+ }
+
+ block.close();
+
+ return result;
+ }
+ else {
+ return { error: 'Unable to execute block utility' };
+ }
+ }
+ },
+
+ setBlockDetect: {
+ call: function() {
+ return { result: system('/sbin/block detect > /etc/config/fstab') == 0 };
+ }
+ },
+
+ getMountPoints: {
+ call: function() {
+ const fd = open('/proc/mounts', 'r');
+
+ if (fd) {
+ let result = [];
+
+ for (let line = fd.read('line'); length(line); line = fd.read('line')) {
+ const m = split(line, ' ');
+ const device = replace(m[0], /\\([0-9][0-9][0-9])/g, (m, n) => char(int(n, 8)));
+ const mount = replace(m[1], /\\([0-9][0-9][0-9])/g, (m, n) => char(int(n, 8)));
+ const stat = statvfs(mount);
+
+ if (stat?.blocks > 0) {
+ push(result, {
+ device, mount,
+ size: stat.bsize * stat.blocks,
+ avail: stat.bsize * stat.bavail,
+ free: stat.bsize * stat.bfree
+ });
+ }
+ }
+
+ fd.close();
+
+ return { result };
+ }
+ else {
+ return { error: error() };
+ }
+ }
+ },
+ getRealtimeStats: {
+ args: { mode: 'interface', device: 'eth0' },
+ call: function(request) {
+ let flags;
+
+ if (request.args.mode == 'interface')
+ flags = `-i ${shellquote(request.args.device)}`;
+ else if (request.args.mode == 'wireless')
+ flags = `-r ${shellquote(request.args.device)}`;
+ else if (request.args.mode == 'conntrack')
+ flags = '-c';
+ else if (request.args.mode == 'load')
+ flags = '-l';
+ else
+ return { error: 'Invalid mode' };
+
+ const fd = popen(`luci-bwc ${flags}`, 'r');
+
+ if (fd) {
+ let result;
+
+ try {
+ result = { result: json(`[${fd.read('all')}]`) };
+ }
+ catch (err) {
+ result = { error: err };
+ }
+
+ return result;
+ }
+ else {
+ return { error: error() };
+ }
+ }
+ },
+
+ getConntrackList: {
+ call: function() {
+ return { result: conntrack_list() };
+ }
+ },
+
+ getProcessList: {
+ call: function() {
+ return { result: process_list() };
+ }
+ }
+};
+
+return { luci: methods };
contrib/lemon: contrib/lemon.c contrib/lempar.c
cc -o contrib/lemon $<
-plural_formula.c: plural_formula.y contrib/lemon
+lib/plural_formula.c: lib/plural_formula.y contrib/lemon
./contrib/lemon -q $<
-template_lmo.c: plural_formula.c
+lib/lmo.c: lib/plural_formula.c
+
+core.so: lib/luci.o lib/lmo.o lib/plural_formula.o
+ $(CC) $(LDFLAGS) -shared -lcrypt -o $@ $^
+
+version.uc:
+ echo "export const revision = '$(LUCI_VERSION)', branch = '$(LUCI_GITBRANCH)';" > $@
clean:
- rm -f contrib/lemon po2lmo parser.so version.lua plural_formula.c plural_formula.h *.o
+ rm -f contrib/lemon lib/*.o lib/plural_formula.c lib/plural_formula.h core.so version.uc
jsmin: jsmin.o
$(CC) $(LDFLAGS) -o $@ $^
-po2lmo: po2lmo.o template_lmo.o plural_formula.o
+po2lmo: po2lmo.o lib/lmo.o lib/plural_formula.o
$(CC) $(LDFLAGS) -o $@ $^
-parser.so: template_parser.o template_utils.o template_lmo.o template_lualib.o plural_formula.o
- $(CC) $(LDFLAGS) -shared -o $@ $^
-
-version.lua:
- ./mkversion.sh $@ $(LUCI_VERSION) "$(LUCI_GITBRANCH)"
-
-compile: parser.so version.lua
+compile: core.so version.uc
install: compile
- mkdir -p $(DESTDIR)/usr/lib/lua/luci/template
- cp parser.so $(DESTDIR)/usr/lib/lua/luci/template/parser.so
- cp version.lua $(DESTDIR)/usr/lib/lua/luci/version.lua
+ mkdir -p $(DESTDIR)/usr/lib/ucode/luci
+ cp core.so $(DESTDIR)/usr/lib/ucode/luci/core.so
+
+ mkdir -p $(DESTDIR)/usr/share/ucode/luci
+ cp version.uc $(DESTDIR)/usr/share/ucode/luci/version.uc
--- /dev/null
+/*
+ * lmo - Lua Machine Objects - Base functions
+ *
+ * Copyright (C) 2009-2010 Jo-Philipp Wich <jow@openwrt.org>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "lmo.h"
+#include "plural_formula.h"
+
+/*
+ * Hash function from http://www.azillionmonkeys.com/qed/hash.html
+ * Copyright (C) 2004-2008 by Paul Hsieh
+ */
+
+uint32_t sfh_hash(const char *data, size_t len, uint32_t init)
+{
+ uint32_t hash = init, tmp;
+ int rem;
+
+ if (len <= 0 || data == NULL) return 0;
+
+ rem = len & 3;
+ len >>= 2;
+
+ /* Main loop */
+ for (;len > 0; len--) {
+ hash += sfh_get16(data);
+ tmp = (sfh_get16(data+2) << 11) ^ hash;
+ hash = (hash << 16) ^ tmp;
+ data += 2*sizeof(uint16_t);
+ hash += hash >> 11;
+ }
+
+ /* Handle end cases */
+ switch (rem) {
+ case 3: hash += sfh_get16(data);
+ hash ^= hash << 16;
+ hash ^= (signed char)data[sizeof(uint16_t)] << 18;
+ hash += hash >> 11;
+ break;
+ case 2: hash += sfh_get16(data);
+ hash ^= hash << 11;
+ hash += hash >> 17;
+ break;
+ case 1: hash += (signed char)*data;
+ hash ^= hash << 10;
+ hash += hash >> 1;
+ }
+
+ /* Force "avalanching" of final 127 bits */
+ hash ^= hash << 3;
+ hash += hash >> 5;
+ hash ^= hash << 4;
+ hash += hash >> 17;
+ hash ^= hash << 25;
+ hash += hash >> 6;
+
+ return hash;
+}
+
+uint32_t lmo_canon_hash(const char *str, int len,
+ const char *ctx, int ctxlen, int plural)
+{
+ char res[4096];
+ char *ptr, *end, prev;
+ int off;
+
+ if (!str)
+ return 0;
+
+ ptr = res;
+ end = res + sizeof(res);
+
+ if (ctx)
+ {
+ for (prev = ' ', off = 0; off < ctxlen; prev = *ctx, off++, ctx++)
+ {
+ if (ptr >= end)
+ return 0;
+
+ if (isspace(*ctx))
+ {
+ if (!isspace(prev))
+ *ptr++ = ' ';
+ }
+ else
+ {
+ *ptr++ = *ctx;
+ }
+ }
+
+ if ((ptr > res) && isspace(*(ptr-1)))
+ ptr--;
+
+ if (ptr >= end)
+ return 0;
+
+ *ptr++ = '\1';
+ }
+
+ for (prev = ' ', off = 0; off < len; prev = *str, off++, str++)
+ {
+ if (ptr >= end)
+ return 0;
+
+ if (isspace(*str))
+ {
+ if (!isspace(prev))
+ *ptr++ = ' ';
+ }
+ else
+ {
+ *ptr++ = *str;
+ }
+ }
+
+ if ((ptr > res) && isspace(*(ptr-1)))
+ ptr--;
+
+ if (plural > -1)
+ {
+ if (plural >= 100 || ptr + 3 >= end)
+ return 0;
+
+ ptr += snprintf(ptr, 3, "\2%d", plural);
+ }
+
+ return sfh_hash(res, ptr - res, ptr - res);
+}
+
+lmo_archive_t * lmo_open(const char *file)
+{
+ int in = -1;
+ uint32_t idx_offset = 0;
+ struct stat s;
+
+ lmo_archive_t *ar = NULL;
+
+ if (stat(file, &s) == -1)
+ goto err;
+
+ if ((in = open(file, O_RDONLY)) == -1)
+ goto err;
+
+ if ((ar = (lmo_archive_t *)malloc(sizeof(*ar))) != NULL)
+ {
+ memset(ar, 0, sizeof(*ar));
+
+ ar->fd = in;
+ ar->size = s.st_size;
+
+ fcntl(ar->fd, F_SETFD, fcntl(ar->fd, F_GETFD) | FD_CLOEXEC);
+
+ if ((ar->mmap = mmap(NULL, ar->size, PROT_READ, MAP_SHARED, ar->fd, 0)) == MAP_FAILED)
+ goto err;
+
+ idx_offset = ntohl(*((const uint32_t *)
+ (ar->mmap + ar->size - sizeof(uint32_t))));
+
+ if (idx_offset >= ar->size)
+ goto err;
+
+ ar->index = (lmo_entry_t *)(ar->mmap + idx_offset);
+ ar->length = (ar->size - idx_offset - sizeof(uint32_t)) / sizeof(lmo_entry_t);
+ ar->end = ar->mmap + ar->size;
+
+ return ar;
+ }
+
+err:
+ if (in > -1)
+ close(in);
+
+ if (ar != NULL)
+ {
+ if ((ar->mmap != NULL) && (ar->mmap != MAP_FAILED))
+ munmap(ar->mmap, ar->size);
+
+ free(ar);
+ }
+
+ return NULL;
+}
+
+void lmo_close(lmo_archive_t *ar)
+{
+ if (ar != NULL)
+ {
+ if ((ar->mmap != NULL) && (ar->mmap != MAP_FAILED))
+ munmap(ar->mmap, ar->size);
+
+ close(ar->fd);
+ free(ar);
+
+ ar = NULL;
+ }
+}
+
+
+lmo_catalog_t *_lmo_catalogs = NULL;
+lmo_catalog_t *_lmo_active_catalog = NULL;
+
+int lmo_load_catalog(const char *lang, const char *dir)
+{
+ DIR *dh = NULL;
+ char pattern[16];
+ char path[PATH_MAX];
+ struct dirent *de = NULL;
+
+ lmo_archive_t *ar = NULL;
+ lmo_catalog_t *cat = NULL;
+
+ if (!lmo_change_catalog(lang))
+ return 0;
+
+ if (!dir || !(dh = opendir(dir)))
+ goto err;
+
+ if (!(cat = malloc(sizeof(*cat))))
+ goto err;
+
+ memset(cat, 0, sizeof(*cat));
+
+ snprintf(cat->lang, sizeof(cat->lang), "%s", lang);
+ snprintf(pattern, sizeof(pattern), "*.%s.lmo", lang);
+
+ while ((de = readdir(dh)) != NULL)
+ {
+ if (!fnmatch(pattern, de->d_name, 0))
+ {
+ snprintf(path, sizeof(path), "%s/%s", dir, de->d_name);
+ ar = lmo_open(path);
+
+ if (ar)
+ {
+ ar->next = cat->archives;
+ cat->archives = ar;
+ }
+ }
+ }
+
+ closedir(dh);
+
+ cat->next = _lmo_catalogs;
+ _lmo_catalogs = cat;
+
+ if (!_lmo_active_catalog)
+ _lmo_active_catalog = cat;
+
+ return cat->archives ? 0 : -1;
+
+err:
+ if (dh) closedir(dh);
+ if (cat) free(cat);
+
+ return -1;
+}
+
+int lmo_change_catalog(const char *lang)
+{
+ lmo_catalog_t *cat;
+
+ for (cat = _lmo_catalogs; cat; cat = cat->next)
+ {
+ if (!strncmp(cat->lang, lang, sizeof(cat->lang)))
+ {
+ _lmo_active_catalog = cat;
+ return 0;
+ }
+ }
+
+ return -1;
+}
+
+static lmo_entry_t * lmo_find_entry(lmo_archive_t *ar, uint32_t hash)
+{
+ unsigned int m, l, r;
+ uint32_t k;
+
+ l = 0;
+ r = ar->length - 1;
+
+ while (1)
+ {
+ m = l + ((r - l) / 2);
+
+ if (r < l)
+ break;
+
+ k = ntohl(ar->index[m].key_id);
+
+ if (k == hash)
+ return &ar->index[m];
+
+ if (k > hash)
+ {
+ if (!m)
+ break;
+
+ r = m - 1;
+ }
+ else
+ {
+ l = m + 1;
+ }
+ }
+
+ return NULL;
+}
+
+void *pluralParseAlloc(void *(*)(size_t));
+void pluralParse(void *, int, int, void *);
+void pluralParseFree(void *, void (*)(void *));
+
+static int lmo_eval_plural(const char *expr, int len, int val)
+{
+ struct { int num; int res; } s = { .num = val, .res = -1 };
+ const char *p = NULL;
+ void *pParser = NULL;
+ int t, n;
+ char c;
+
+ while (len > 7) {
+ if (*expr == 'p') {
+ if (!strncmp(expr, "plural=", 7)) {
+ p = expr + 7;
+ len -= 7;
+ break;
+ }
+ }
+
+ expr++;
+ len--;
+ }
+
+ if (!p)
+ goto out;
+
+ pParser = pluralParseAlloc(malloc);
+
+ if (!pParser)
+ goto out;
+
+ while (len-- > 0) {
+ c = *p++;
+ t = -1;
+ n = 0;
+
+ switch (c) {
+ case ' ':
+ case '\t':
+ continue;
+
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ t = T_NUM;
+ n = c - '0';
+
+ while (*p >= '0' && *p <= '9') {
+ n *= 10;
+ n += *p - '0';
+ p++;
+ }
+
+ break;
+
+ case '=':
+ if (*p == '=') {
+ t = T_EQ;
+ p++;
+ }
+
+ break;
+
+ case '!':
+ if (*p == '=') {
+ t = T_NE;
+ p++;
+ }
+ else {
+ t = T_NOT;
+ }
+
+ break;
+
+ case '&':
+ if (*p == '&') {
+ t = T_AND;
+ p++;
+ }
+
+ break;
+
+ case '|':
+ if (*p == '|') {
+ t = T_OR;
+ p++;
+ }
+
+ break;
+
+ case '<':
+ if (*p == '=') {
+ t = T_LE;
+ p++;
+ }
+ else {
+ t = T_LT;
+ }
+
+ break;
+
+ case '>':
+ if (*p == '=') {
+ t = T_GE;
+ p++;
+ }
+ else {
+ t = T_GT;
+ }
+
+ break;
+
+ case '*':
+ t = T_MUL;
+ break;
+
+ case '/':
+ t = T_DIV;
+ break;
+
+ case '%':
+ t = T_MOD;
+ break;
+
+ case '+':
+ t = T_ADD;
+ break;
+
+ case '-':
+ t = T_SUB;
+ break;
+
+ case 'n':
+ t = T_N;
+ break;
+
+ case '?':
+ t = T_QMARK;
+ break;
+
+ case ':':
+ t = T_COLON;
+ break;
+
+ case '(':
+ t = T_LPAREN;
+ break;
+
+ case ')':
+ t = T_RPAREN;
+ break;
+
+ case ';':
+ case '\n':
+ case '\0':
+ t = 0;
+ break;
+ }
+
+ /* syntax error */
+ if (t < 0)
+ goto out;
+
+ pluralParse(pParser, t, n, &s);
+
+ /* eof */
+ if (t == 0)
+ break;
+ }
+
+ pluralParse(pParser, 0, 0, &s);
+
+out:
+ pluralParseFree(pParser, free);
+
+ return s.res;
+}
+
+int lmo_translate(const char *key, int keylen, char **out, int *outlen)
+{
+ return lmo_translate_ctxt(key, keylen, NULL, 0, out, outlen);
+}
+
+int lmo_translate_ctxt(const char *key, int keylen,
+ const char *ctx, int ctxlen,
+ char **out, int *outlen)
+{
+ uint32_t hash;
+ lmo_entry_t *e;
+ lmo_archive_t *ar;
+
+ if (!key || !_lmo_active_catalog)
+ return -2;
+
+ hash = lmo_canon_hash(key, keylen, ctx, ctxlen, -1);
+
+ if (hash > 0)
+ {
+ for (ar = _lmo_active_catalog->archives; ar; ar = ar->next)
+ {
+ if ((e = lmo_find_entry(ar, hash)) != NULL)
+ {
+ *out = ar->mmap + ntohl(e->offset);
+ *outlen = ntohl(e->length);
+ return 0;
+ }
+ }
+ }
+
+ return -1;
+}
+
+int lmo_translate_plural(int n, const char *skey, int skeylen,
+ const char *pkey, int pkeylen,
+ char **out, int *outlen)
+{
+ return lmo_translate_plural_ctxt(n, skey, skeylen, pkey, pkeylen,
+ NULL, 0, out, outlen);
+}
+
+int lmo_translate_plural_ctxt(int n, const char *skey, int skeylen,
+ const char *pkey, int pkeylen,
+ const char *ctx, int ctxlen,
+ char **out, int *outlen)
+{
+ int pid = -1;
+ uint32_t hash;
+ lmo_entry_t *e;
+ lmo_archive_t *ar;
+
+ if (!skey || !pkey || !_lmo_active_catalog)
+ return -2;
+
+ for (ar = _lmo_active_catalog->archives; ar; ar = ar->next) {
+ e = lmo_find_entry(ar, 0);
+
+ if (e != NULL) {
+ pid = lmo_eval_plural(ar->mmap + ntohl(e->offset), ntohl(e->length), n);
+ break;
+ }
+ }
+
+ if (pid == -1)
+ pid = (n != 1);
+
+ hash = lmo_canon_hash(skey, skeylen, ctx, ctxlen, pid);
+
+ if (hash == 0)
+ return -1;
+
+ for (ar = _lmo_active_catalog->archives; ar; ar = ar->next)
+ {
+ if ((e = lmo_find_entry(ar, hash)) != NULL)
+ {
+ *out = ar->mmap + ntohl(e->offset);
+ *outlen = ntohl(e->length);
+ return 0;
+ }
+ }
+
+ if (n != 1)
+ {
+ *out = (char *)pkey;
+ *outlen = pkeylen;
+ }
+ else
+ {
+ *out = (char *)skey;
+ *outlen = skeylen;
+ }
+
+ return 0;
+}
+
+void lmo_iterate(lmo_iterate_cb_t cb, void *priv)
+{
+ unsigned int i;
+ lmo_entry_t *e;
+ lmo_archive_t *ar;
+
+ if (!_lmo_active_catalog)
+ return;
+
+ for (ar = _lmo_active_catalog->archives; ar; ar = ar->next)
+ for (i = 0, e = &ar->index[0]; i < ar->length; e = &ar->index[++i])
+ cb(ntohl(e->key_id), ar->mmap + ntohl(e->offset), ntohl(e->length), priv);
+}
+
+void lmo_close_catalog(const char *lang)
+{
+ lmo_archive_t *ar, *next;
+ lmo_catalog_t *cat, *prev;
+
+ for (prev = NULL, cat = _lmo_catalogs; cat; prev = cat, cat = cat->next)
+ {
+ if (!strncmp(cat->lang, lang, sizeof(cat->lang)))
+ {
+ if (prev)
+ prev->next = cat->next;
+ else
+ _lmo_catalogs = cat->next;
+
+ for (ar = cat->archives; ar; ar = next)
+ {
+ next = ar->next;
+ lmo_close(ar);
+ }
+
+ free(cat);
+ break;
+ }
+ }
+}
--- /dev/null
+/*
+ * lmo - Lua Machine Objects - General header
+ *
+ * Copyright (C) 2009-2012 Jo-Philipp Wich <jow@openwrt.org>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _TEMPLATE_LMO_H_
+#define _TEMPLATE_LMO_H_
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <stdint.h>
+#include <string.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <sys/mman.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <errno.h>
+#include <fnmatch.h>
+#include <dirent.h>
+#include <ctype.h>
+#include <limits.h>
+
+#if (defined(__GNUC__) && defined(__i386__))
+#define sfh_get16(d) (*((const uint16_t *) (d)))
+#else
+#define sfh_get16(d) ((((uint32_t)(((const uint8_t *)(d))[1])) << 8)\
+ +(uint32_t)(((const uint8_t *)(d))[0]) )
+#endif
+
+#ifndef __hidden
+#define __hidden __attribute__((visibility("hidden")))
+#endif
+
+
+struct lmo_entry {
+ uint32_t key_id;
+ uint32_t val_id;
+ uint32_t offset;
+ uint32_t length;
+} __attribute__((packed));
+
+typedef struct lmo_entry lmo_entry_t;
+
+
+struct lmo_archive {
+ int fd;
+ int length;
+ uint32_t size;
+ lmo_entry_t *index;
+ char *mmap;
+ char *end;
+ struct lmo_archive *next;
+};
+
+typedef struct lmo_archive lmo_archive_t;
+
+
+struct lmo_catalog {
+ char lang[6];
+ struct lmo_archive *archives;
+ struct lmo_catalog *next;
+};
+
+typedef struct lmo_catalog lmo_catalog_t;
+
+typedef void (*lmo_iterate_cb_t)(uint32_t, const char *, int, void *);
+
+__hidden uint32_t sfh_hash(const char *data, size_t len, uint32_t init);
+__hidden uint32_t lmo_canon_hash(const char *data, int len,
+ const char *ctx, int ctxlen, int plural);
+
+__hidden lmo_archive_t * lmo_open(const char *file);
+__hidden void lmo_close(lmo_archive_t *ar);
+
+
+__hidden extern lmo_catalog_t *_lmo_catalogs;
+__hidden extern lmo_catalog_t *_lmo_active_catalog;
+
+__hidden int lmo_load_catalog(const char *lang, const char *dir);
+__hidden int lmo_change_catalog(const char *lang);
+__hidden int lmo_translate(const char *key, int keylen, char **out, int *outlen);
+__hidden int lmo_translate_ctxt(const char *key, int keylen,
+ const char *ctx, int ctxlen, char **out, int *outlen);
+__hidden int lmo_translate_plural(int n, const char *skey, int skeylen,
+ const char *pkey, int pkeylen,
+ char **out, int *outlen);
+__hidden int lmo_translate_plural_ctxt(int n, const char *skey, int skeylen,
+ const char *pkey, int pkeylen,
+ const char *ctx, int ctxlen,
+ char **out, int *outlen);
+__hidden void lmo_iterate(lmo_iterate_cb_t cb, void *priv);
+__hidden void lmo_close_catalog(const char *lang);
+
+#endif
--- /dev/null
+/*
+ * LuCI low level routines - ucode binding
+ *
+ * Copyright (C) 2009-2022 Jo-Philipp Wich <jo@mein.io>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "lmo.h"
+
+#include <pwd.h>
+#include <crypt.h>
+#include <shadow.h>
+#include <unistd.h>
+#include <signal.h>
+#include <errno.h>
+
+#include <sys/types.h>
+#include <sys/utsname.h>
+#include <sys/sysinfo.h>
+#include <sys/statvfs.h>
+
+#include <ucode/module.h>
+
+/* translation catalog functions */
+
+static uc_value_t *
+uc_luci_load_catalog(uc_vm_t *vm, size_t nargs) {
+ uc_value_t *lang = uc_fn_arg(0);
+ uc_value_t *dir = uc_fn_arg(1);
+
+ if (lang && ucv_type(lang) != UC_STRING)
+ return NULL;
+
+ if (dir && ucv_type(dir) != UC_STRING)
+ return NULL;
+
+ return ucv_boolean_new(lmo_load_catalog(
+ lang ? ucv_string_get(lang) : "en",
+ ucv_string_get(dir)) == 0);
+}
+
+static uc_value_t *
+uc_luci_close_catalog(uc_vm_t *vm, size_t nargs) {
+ uc_value_t *lang = uc_fn_arg(0);
+
+ if (lang && ucv_type(lang) != UC_STRING)
+ return NULL;
+
+ lmo_close_catalog(lang ? ucv_string_get(lang) : "en");
+
+ return ucv_boolean_new(true);
+}
+
+static uc_value_t *
+uc_luci_change_catalog(uc_vm_t *vm, size_t nargs) {
+ uc_value_t *lang = uc_fn_arg(0);
+
+ if (lang && ucv_type(lang) != UC_STRING)
+ return NULL;
+
+ return ucv_boolean_new(lmo_change_catalog(
+ lang ? ucv_string_get(lang) : "en") == 0);
+}
+
+static void
+uc_luci_get_translations_cb(uint32_t key, const char *val, int len, void *priv) {
+ uc_vm_t *vm = priv;
+
+ uc_vm_stack_push(vm, ucv_get(uc_vm_stack_peek(vm, 0)));
+ uc_vm_stack_push(vm, ucv_uint64_new(key));
+ uc_vm_stack_push(vm, ucv_string_new_length(val, (size_t)len));
+
+ if (uc_vm_call(vm, false, 2) == EXCEPTION_NONE)
+ ucv_put(uc_vm_stack_pop(vm));
+}
+
+static uc_value_t *
+uc_luci_get_translations(uc_vm_t *vm, size_t nargs) {
+ lmo_iterate(uc_luci_get_translations_cb, vm);
+
+ return ucv_boolean_new(true);
+}
+
+static uc_value_t *
+uc_luci_translate(uc_vm_t *vm, size_t nargs) {
+ uc_value_t *key = uc_fn_arg(0);
+ uc_value_t *ctx = uc_fn_arg(1);
+ int trlen;
+ char *tr;
+
+ if (ucv_type(key) != UC_STRING)
+ return NULL;
+
+ if (ctx && ucv_type(ctx) != UC_STRING)
+ return NULL;
+
+ if (lmo_translate_ctxt(ucv_string_get(key), ucv_string_length(key),
+ ucv_string_get(ctx), ucv_string_length(ctx),
+ &tr, &trlen) != 0)
+ return NULL;
+
+ return ucv_string_new_length(tr, (size_t)trlen);
+}
+
+static uc_value_t *
+uc_luci_ntranslate(uc_vm_t *vm, size_t nargs) {
+ uc_value_t *cnt = uc_fn_arg(0);
+ uc_value_t *skey = uc_fn_arg(1);
+ uc_value_t *pkey = uc_fn_arg(2);
+ uc_value_t *ctx = uc_fn_arg(3);
+ int trlen;
+ char *tr;
+
+ if (ucv_type(skey) != UC_STRING || ucv_type(pkey) != UC_STRING)
+ return NULL;
+
+ if (ctx && ucv_type(ctx) != UC_STRING)
+ return NULL;
+
+ if (lmo_translate_plural_ctxt(ucv_int64_get(cnt),
+ ucv_string_get(skey), ucv_string_length(skey),
+ ucv_string_get(pkey), ucv_string_length(pkey),
+ ucv_string_get(ctx), ucv_string_length(ctx),
+ &tr, &trlen) != 0)
+ return NULL;
+
+ return ucv_string_new_length(tr, (size_t)trlen);
+}
+
+static uc_value_t *
+uc_luci_hash(uc_vm_t *vm, size_t nargs) {
+ uc_value_t *key = uc_fn_arg(0);
+ uc_value_t *init = uc_fn_arg(1);
+
+ if (ucv_type(key) != UC_STRING)
+ return NULL;
+
+ if (init && ucv_type(init) != UC_INTEGER)
+ return NULL;
+
+ return ucv_uint64_new(sfh_hash(ucv_string_get(key), ucv_string_length(key),
+ init ? ucv_uint64_get(init) : ucv_string_length(key)));
+}
+
+
+/* user functions */
+
+static uc_value_t *
+uc_luci_getspnam(uc_vm_t *vm, size_t nargs) {
+ uc_value_t *name = uc_fn_arg(0), *rv;
+ struct spwd *s;
+
+ if (ucv_type(name) != UC_STRING)
+ return NULL;
+
+ s = getspnam(ucv_string_get(name));
+
+ if (!s)
+ return NULL;
+
+ rv = ucv_object_new(vm);
+
+ ucv_object_add(rv, "namp", ucv_string_new(s->sp_namp));
+ ucv_object_add(rv, "pwdp", ucv_string_new(s->sp_pwdp));
+ ucv_object_add(rv, "lstchg", ucv_int64_new(s->sp_lstchg));
+ ucv_object_add(rv, "min", ucv_int64_new(s->sp_min));
+ ucv_object_add(rv, "max", ucv_int64_new(s->sp_max));
+ ucv_object_add(rv, "warn", ucv_int64_new(s->sp_warn));
+ ucv_object_add(rv, "inact", ucv_int64_new(s->sp_inact));
+ ucv_object_add(rv, "expire", ucv_int64_new(s->sp_expire));
+
+ return rv;
+}
+
+static uc_value_t *
+uc_luci_getpwnam(uc_vm_t *vm, size_t nargs) {
+ uc_value_t *name = uc_fn_arg(0), *rv;
+ struct passwd *p;
+
+ if (ucv_type(name) != UC_STRING)
+ return NULL;
+
+ p = getpwnam(ucv_string_get(name));
+
+ if (!p)
+ return NULL;
+
+ rv = ucv_object_new(vm);
+
+ ucv_object_add(rv, "name", ucv_string_new(p->pw_name));
+ ucv_object_add(rv, "passwd", ucv_string_new(p->pw_passwd));
+ ucv_object_add(rv, "uid", ucv_int64_new(p->pw_uid));
+ ucv_object_add(rv, "gid", ucv_int64_new(p->pw_gid));
+ ucv_object_add(rv, "gecos", ucv_string_new(p->pw_gecos));
+ ucv_object_add(rv, "dir", ucv_string_new(p->pw_dir));
+ ucv_object_add(rv, "shell", ucv_string_new(p->pw_shell));
+
+ return rv;
+}
+
+static uc_value_t *
+uc_luci_crypt(uc_vm_t *vm, size_t nargs) {
+ uc_value_t *phrase = uc_fn_arg(0);
+ uc_value_t *setting = uc_fn_arg(1);
+ char *hash;
+
+ if (ucv_type(phrase) != UC_STRING || ucv_type(setting) != UC_STRING)
+ return NULL;
+
+ errno = 0;
+ hash = crypt(ucv_string_get(phrase), ucv_string_get(setting));
+
+ if (hash == NULL || errno != 0)
+ return NULL;
+
+ return ucv_string_new(hash);
+}
+
+static uc_value_t *
+uc_luci_getuid(uc_vm_t *vm, size_t nargs) {
+ return ucv_int64_new(getuid());
+}
+
+static uc_value_t *
+uc_luci_getgid(uc_vm_t *vm, size_t nargs) {
+ return ucv_int64_new(getgid());
+}
+
+static uc_value_t *
+uc_luci_setuid(uc_vm_t *vm, size_t nargs) {
+ uc_value_t *uid = uc_fn_arg(0);
+
+ if (ucv_type(uid) != UC_INTEGER)
+ return NULL;
+
+ return ucv_boolean_new(setuid(ucv_int64_get(uid)) == 0);
+}
+
+static uc_value_t *
+uc_luci_setgid(uc_vm_t *vm, size_t nargs) {
+ uc_value_t *gid = uc_fn_arg(0);
+
+ if (ucv_type(gid) != UC_INTEGER)
+ return NULL;
+
+ return ucv_boolean_new(setgid(ucv_int64_get(gid)) == 0);
+}
+
+
+/* misc functions */
+
+static uc_value_t *
+uc_luci_kill(uc_vm_t *vm, size_t nargs) {
+ uc_value_t *pid = uc_fn_arg(0);
+ uc_value_t *sig = uc_fn_arg(1);
+
+ if (ucv_type(pid) != UC_INTEGER || ucv_type(sig) != UC_INTEGER)
+ return NULL;
+
+ return ucv_boolean_new(kill(ucv_int64_get(pid), ucv_int64_get(sig)) == 0);
+}
+
+static uc_value_t *
+uc_luci_uname(uc_vm_t *vm, size_t nargs) {
+ struct utsname u;
+ uc_value_t *rv;
+
+ if (uname(&u) == -1)
+ return NULL;
+
+ rv = ucv_object_new(vm);
+
+ ucv_object_add(rv, "sysname", ucv_string_new(u.sysname));
+ ucv_object_add(rv, "nodename", ucv_string_new(u.nodename));
+ ucv_object_add(rv, "release", ucv_string_new(u.release));
+ ucv_object_add(rv, "version", ucv_string_new(u.version));
+ ucv_object_add(rv, "machine", ucv_string_new(u.machine));
+
+ return rv;
+}
+
+static uc_value_t *
+uc_luci_sysinfo(uc_vm_t *vm, size_t nargs) {
+ uc_value_t *rv, *loads;
+ struct sysinfo i;
+
+ if (sysinfo(&i) == -1)
+ return NULL;
+
+ rv = ucv_object_new(vm);
+ loads = ucv_array_new_length(vm, 3);
+
+ ucv_array_push(loads, ucv_uint64_new(i.loads[0]));
+ ucv_array_push(loads, ucv_uint64_new(i.loads[1]));
+ ucv_array_push(loads, ucv_uint64_new(i.loads[2]));
+
+ ucv_object_add(rv, "uptime", ucv_int64_new(i.uptime));
+ ucv_object_add(rv, "loads", loads);
+ ucv_object_add(rv, "totalram", ucv_uint64_new(i.totalram));
+ ucv_object_add(rv, "freeram", ucv_uint64_new(i.freeram));
+ ucv_object_add(rv, "sharedram", ucv_uint64_new(i.sharedram));
+ ucv_object_add(rv, "bufferram", ucv_uint64_new(i.bufferram));
+ ucv_object_add(rv, "totalswap", ucv_uint64_new(i.totalswap));
+ ucv_object_add(rv, "freeswap", ucv_uint64_new(i.freeswap));
+ ucv_object_add(rv, "procs", ucv_uint64_new(i.procs));
+ ucv_object_add(rv, "totalhigh", ucv_uint64_new(i.totalhigh));
+ ucv_object_add(rv, "freehigh", ucv_uint64_new(i.freehigh));
+ ucv_object_add(rv, "mem_unit", ucv_uint64_new(i.mem_unit));
+
+ return rv;
+}
+
+static uc_value_t *
+uc_luci_statvfs(uc_vm_t *vm, size_t nargs) {
+ uc_value_t *path = uc_fn_arg(0), *rv;
+ struct statvfs s;
+
+ if (ucv_type(path) != UC_STRING)
+ return NULL;
+
+ if (statvfs(ucv_string_get(path), &s) == -1)
+ return NULL;
+
+ rv = ucv_object_new(vm);
+
+ ucv_object_add(rv, "bsize", ucv_uint64_new(s.f_bsize));
+ ucv_object_add(rv, "frsize", ucv_uint64_new(s.f_frsize));
+
+ ucv_object_add(rv, "blocks", ucv_uint64_new(s.f_blocks));
+ ucv_object_add(rv, "bfree", ucv_uint64_new(s.f_bfree));
+ ucv_object_add(rv, "bavail", ucv_uint64_new(s.f_bavail));
+
+ ucv_object_add(rv, "files", ucv_uint64_new(s.f_files));
+ ucv_object_add(rv, "ffree", ucv_uint64_new(s.f_ffree));
+ ucv_object_add(rv, "favail", ucv_uint64_new(s.f_favail));
+
+ ucv_object_add(rv, "fsid", ucv_uint64_new(s.f_fsid));
+ ucv_object_add(rv, "flag", ucv_uint64_new(s.f_flag));
+ ucv_object_add(rv, "namemax", ucv_uint64_new(s.f_namemax));
+
+ return rv;
+}
+
+
+static const uc_function_list_t luci_fns[] = {
+ { "load_catalog", uc_luci_load_catalog },
+ { "close_catalog", uc_luci_close_catalog },
+ { "change_catalog", uc_luci_change_catalog },
+ { "get_translations", uc_luci_get_translations },
+ { "translate", uc_luci_translate },
+ { "ntranslate", uc_luci_ntranslate },
+ { "hash", uc_luci_hash },
+
+ { "getspnam", uc_luci_getspnam },
+ { "getpwnam", uc_luci_getpwnam },
+ { "crypt", uc_luci_crypt },
+ { "getuid", uc_luci_getuid },
+ { "setuid", uc_luci_setuid },
+ { "getgid", uc_luci_getgid },
+ { "setgid", uc_luci_setgid },
+
+ { "kill", uc_luci_kill },
+ { "uname", uc_luci_uname },
+ { "sysinfo", uc_luci_sysinfo },
+ { "statvfs", uc_luci_statvfs },
+};
+
+
+void uc_module_init(uc_vm_t *vm, uc_value_t *scope)
+{
+ uc_function_list_register(scope, luci_fns);
+}
--- /dev/null
+%name pluralParse
+%token_type {int}
+%extra_argument {struct parse_state *s}
+
+%right T_QMARK.
+%left T_OR.
+%left T_AND.
+%left T_EQ T_NE.
+%left T_LT T_LE T_GT T_GE.
+%left T_ADD T_SUB.
+%left T_MUL T_DIV T_MOD.
+%right T_NOT.
+%nonassoc T_COLON T_N T_LPAREN T_RPAREN.
+
+%include {
+#include <assert.h>
+
+struct parse_state {
+ int num;
+ int res;
+};
+}
+
+input ::= expr(A). { s->res = A; }
+
+expr(A) ::= expr(B) T_QMARK expr(C) T_COLON expr(D). { A = B ? C : D; }
+expr(A) ::= expr(B) T_OR expr(C). { A = B || C; }
+expr(A) ::= expr(B) T_AND expr(C). { A = B && C; }
+expr(A) ::= expr(B) T_EQ expr(C). { A = B == C; }
+expr(A) ::= expr(B) T_NE expr(C). { A = B != C; }
+expr(A) ::= expr(B) T_LT expr(C). { A = B < C; }
+expr(A) ::= expr(B) T_LE expr(C). { A = B <= C; }
+expr(A) ::= expr(B) T_GT expr(C). { A = B > C; }
+expr(A) ::= expr(B) T_GE expr(C). { A = B >= C; }
+expr(A) ::= expr(B) T_ADD expr(C). { A = B + C; }
+expr(A) ::= expr(B) T_SUB expr(C). { A = B - C; }
+expr(A) ::= expr(B) T_MUL expr(C). { A = B * C; }
+expr(A) ::= expr(B) T_DIV expr(C). { A = B / C; }
+expr(A) ::= expr(B) T_MOD expr(C). { A = B % C; }
+expr(A) ::= T_NOT expr(B). { A = !B; }
+expr(A) ::= T_N. { A = s->num; }
+expr(A) ::= T_NUM(B). { A = B; }
+expr(A) ::= T_LPAREN expr(B) T_RPAREN. { A = B; }
+++ /dev/null
-#!/bin/sh
-
-cat <<EOF > $1
-local pcall, dofile, _G = pcall, dofile, _G
-
-module "luci.version"
-
-if pcall(dofile, "/etc/openwrt_release") and _G.DISTRIB_DESCRIPTION then
- distname = ""
- distversion = _G.DISTRIB_DESCRIPTION
- if _G.DISTRIB_REVISION then
- distrevision = _G.DISTRIB_REVISION
- if not distversion:find(distrevision,1,true) then
- distversion = distversion .. " " .. distrevision
- end
- end
-else
- distname = "OpenWrt"
- distversion = "Development Snapshot"
-end
-
-luciname = "${3:-LuCI}"
-luciversion = "${2:-Git}"
-EOF
+++ /dev/null
-%name pluralParse
-%token_type {int}
-%extra_argument {struct parse_state *s}
-
-%right T_QMARK.
-%left T_OR.
-%left T_AND.
-%left T_EQ T_NE.
-%left T_LT T_LE T_GT T_GE.
-%left T_ADD T_SUB.
-%left T_MUL T_DIV T_MOD.
-%right T_NOT.
-%nonassoc T_COLON T_N T_LPAREN T_RPAREN.
-
-%include {
-#include <assert.h>
-
-struct parse_state {
- int num;
- int res;
-};
-}
-
-input ::= expr(A). { s->res = A; }
-
-expr(A) ::= expr(B) T_QMARK expr(C) T_COLON expr(D). { A = B ? C : D; }
-expr(A) ::= expr(B) T_OR expr(C). { A = B || C; }
-expr(A) ::= expr(B) T_AND expr(C). { A = B && C; }
-expr(A) ::= expr(B) T_EQ expr(C). { A = B == C; }
-expr(A) ::= expr(B) T_NE expr(C). { A = B != C; }
-expr(A) ::= expr(B) T_LT expr(C). { A = B < C; }
-expr(A) ::= expr(B) T_LE expr(C). { A = B <= C; }
-expr(A) ::= expr(B) T_GT expr(C). { A = B > C; }
-expr(A) ::= expr(B) T_GE expr(C). { A = B >= C; }
-expr(A) ::= expr(B) T_ADD expr(C). { A = B + C; }
-expr(A) ::= expr(B) T_SUB expr(C). { A = B - C; }
-expr(A) ::= expr(B) T_MUL expr(C). { A = B * C; }
-expr(A) ::= expr(B) T_DIV expr(C). { A = B / C; }
-expr(A) ::= expr(B) T_MOD expr(C). { A = B % C; }
-expr(A) ::= T_NOT expr(B). { A = !B; }
-expr(A) ::= T_N. { A = s->num; }
-expr(A) ::= T_NUM(B). { A = B; }
-expr(A) ::= T_LPAREN expr(B) T_RPAREN. { A = B; }
* limitations under the License.
*/
-#include "template_lmo.h"
+#include "lib/lmo.h"
static void die(const char *msg)
{
else
snprintf(key, sizeof(key), "%s", msg->id);
- key_id = sfh_hash(key, strlen(key));
- val_id = sfh_hash(msg->val[i], strlen(msg->val[i]));
+ len = strlen(key);
+ key_id = sfh_hash(key, len, len);
+
+ len = strlen(msg->val[i]);
+ val_id = sfh_hash(msg->val[i], len, len);
if (key_id != val_id) {
n_entries++;
+++ /dev/null
-/*
- * lmo - Lua Machine Objects - Base functions
- *
- * Copyright (C) 2009-2010 Jo-Philipp Wich <jow@openwrt.org>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "template_lmo.h"
-#include "plural_formula.h"
-
-/*
- * Hash function from http://www.azillionmonkeys.com/qed/hash.html
- * Copyright (C) 2004-2008 by Paul Hsieh
- */
-
-uint32_t sfh_hash(const char *data, int len)
-{
- uint32_t hash = len, tmp;
- int rem;
-
- if (len <= 0 || data == NULL) return 0;
-
- rem = len & 3;
- len >>= 2;
-
- /* Main loop */
- for (;len > 0; len--) {
- hash += sfh_get16(data);
- tmp = (sfh_get16(data+2) << 11) ^ hash;
- hash = (hash << 16) ^ tmp;
- data += 2*sizeof(uint16_t);
- hash += hash >> 11;
- }
-
- /* Handle end cases */
- switch (rem) {
- case 3: hash += sfh_get16(data);
- hash ^= hash << 16;
- hash ^= (signed char)data[sizeof(uint16_t)] << 18;
- hash += hash >> 11;
- break;
- case 2: hash += sfh_get16(data);
- hash ^= hash << 11;
- hash += hash >> 17;
- break;
- case 1: hash += (signed char)*data;
- hash ^= hash << 10;
- hash += hash >> 1;
- }
-
- /* Force "avalanching" of final 127 bits */
- hash ^= hash << 3;
- hash += hash >> 5;
- hash ^= hash << 4;
- hash += hash >> 17;
- hash ^= hash << 25;
- hash += hash >> 6;
-
- return hash;
-}
-
-uint32_t lmo_canon_hash(const char *str, int len,
- const char *ctx, int ctxlen, int plural)
-{
- char res[4096];
- char *ptr, *end, prev;
- int off;
-
- if (!str)
- return 0;
-
- ptr = res;
- end = res + sizeof(res);
-
- if (ctx)
- {
- for (prev = ' ', off = 0; off < ctxlen; prev = *ctx, off++, ctx++)
- {
- if (ptr >= end)
- return 0;
-
- if (isspace(*ctx))
- {
- if (!isspace(prev))
- *ptr++ = ' ';
- }
- else
- {
- *ptr++ = *ctx;
- }
- }
-
- if ((ptr > res) && isspace(*(ptr-1)))
- ptr--;
-
- if (ptr >= end)
- return 0;
-
- *ptr++ = '\1';
- }
-
- for (prev = ' ', off = 0; off < len; prev = *str, off++, str++)
- {
- if (ptr >= end)
- return 0;
-
- if (isspace(*str))
- {
- if (!isspace(prev))
- *ptr++ = ' ';
- }
- else
- {
- *ptr++ = *str;
- }
- }
-
- if ((ptr > res) && isspace(*(ptr-1)))
- ptr--;
-
- if (plural > -1)
- {
- if (plural >= 100 || ptr + 3 >= end)
- return 0;
-
- ptr += snprintf(ptr, 3, "\2%d", plural);
- }
-
- return sfh_hash(res, ptr - res);
-}
-
-lmo_archive_t * lmo_open(const char *file)
-{
- int in = -1;
- uint32_t idx_offset = 0;
- struct stat s;
-
- lmo_archive_t *ar = NULL;
-
- if (stat(file, &s) == -1)
- goto err;
-
- if ((in = open(file, O_RDONLY)) == -1)
- goto err;
-
- if ((ar = (lmo_archive_t *)malloc(sizeof(*ar))) != NULL)
- {
- memset(ar, 0, sizeof(*ar));
-
- ar->fd = in;
- ar->size = s.st_size;
-
- fcntl(ar->fd, F_SETFD, fcntl(ar->fd, F_GETFD) | FD_CLOEXEC);
-
- if ((ar->mmap = mmap(NULL, ar->size, PROT_READ, MAP_SHARED, ar->fd, 0)) == MAP_FAILED)
- goto err;
-
- idx_offset = ntohl(*((const uint32_t *)
- (ar->mmap + ar->size - sizeof(uint32_t))));
-
- if (idx_offset >= ar->size)
- goto err;
-
- ar->index = (lmo_entry_t *)(ar->mmap + idx_offset);
- ar->length = (ar->size - idx_offset - sizeof(uint32_t)) / sizeof(lmo_entry_t);
- ar->end = ar->mmap + ar->size;
-
- return ar;
- }
-
-err:
- if (in > -1)
- close(in);
-
- if (ar != NULL)
- {
- if ((ar->mmap != NULL) && (ar->mmap != MAP_FAILED))
- munmap(ar->mmap, ar->size);
-
- free(ar);
- }
-
- return NULL;
-}
-
-void lmo_close(lmo_archive_t *ar)
-{
- if (ar != NULL)
- {
- if ((ar->mmap != NULL) && (ar->mmap != MAP_FAILED))
- munmap(ar->mmap, ar->size);
-
- close(ar->fd);
- free(ar);
-
- ar = NULL;
- }
-}
-
-
-lmo_catalog_t *_lmo_catalogs = NULL;
-lmo_catalog_t *_lmo_active_catalog = NULL;
-
-int lmo_load_catalog(const char *lang, const char *dir)
-{
- DIR *dh = NULL;
- char pattern[16];
- char path[PATH_MAX];
- struct dirent *de = NULL;
-
- lmo_archive_t *ar = NULL;
- lmo_catalog_t *cat = NULL;
-
- if (!lmo_change_catalog(lang))
- return 0;
-
- if (!dir || !(dh = opendir(dir)))
- goto err;
-
- if (!(cat = malloc(sizeof(*cat))))
- goto err;
-
- memset(cat, 0, sizeof(*cat));
-
- snprintf(cat->lang, sizeof(cat->lang), "%s", lang);
- snprintf(pattern, sizeof(pattern), "*.%s.lmo", lang);
-
- while ((de = readdir(dh)) != NULL)
- {
- if (!fnmatch(pattern, de->d_name, 0))
- {
- snprintf(path, sizeof(path), "%s/%s", dir, de->d_name);
- ar = lmo_open(path);
-
- if (ar)
- {
- ar->next = cat->archives;
- cat->archives = ar;
- }
- }
- }
-
- closedir(dh);
-
- cat->next = _lmo_catalogs;
- _lmo_catalogs = cat;
-
- if (!_lmo_active_catalog)
- _lmo_active_catalog = cat;
-
- return cat->archives ? 0 : -1;
-
-err:
- if (dh) closedir(dh);
- if (cat) free(cat);
-
- return -1;
-}
-
-int lmo_change_catalog(const char *lang)
-{
- lmo_catalog_t *cat;
-
- for (cat = _lmo_catalogs; cat; cat = cat->next)
- {
- if (!strncmp(cat->lang, lang, sizeof(cat->lang)))
- {
- _lmo_active_catalog = cat;
- return 0;
- }
- }
-
- return -1;
-}
-
-static lmo_entry_t * lmo_find_entry(lmo_archive_t *ar, uint32_t hash)
-{
- unsigned int m, l, r;
- uint32_t k;
-
- l = 0;
- r = ar->length - 1;
-
- while (1)
- {
- m = l + ((r - l) / 2);
-
- if (r < l)
- break;
-
- k = ntohl(ar->index[m].key_id);
-
- if (k == hash)
- return &ar->index[m];
-
- if (k > hash)
- {
- if (!m)
- break;
-
- r = m - 1;
- }
- else
- {
- l = m + 1;
- }
- }
-
- return NULL;
-}
-
-void *pluralParseAlloc(void *(*)(size_t));
-void pluralParse(void *, int, int, void *);
-void pluralParseFree(void *, void (*)(void *));
-
-static int lmo_eval_plural(const char *expr, int len, int val)
-{
- struct { int num; int res; } s = { .num = val, .res = -1 };
- const char *p = NULL;
- void *pParser = NULL;
- int t, n;
- char c;
-
- while (len > 7) {
- if (*expr == 'p') {
- if (!strncmp(expr, "plural=", 7)) {
- p = expr + 7;
- len -= 7;
- break;
- }
- }
-
- expr++;
- len--;
- }
-
- if (!p)
- goto out;
-
- pParser = pluralParseAlloc(malloc);
-
- if (!pParser)
- goto out;
-
- while (len-- > 0) {
- c = *p++;
- t = -1;
- n = 0;
-
- switch (c) {
- case ' ':
- case '\t':
- continue;
-
- case '0': case '1': case '2': case '3': case '4':
- case '5': case '6': case '7': case '8': case '9':
- t = T_NUM;
- n = c - '0';
-
- while (*p >= '0' && *p <= '9') {
- n *= 10;
- n += *p - '0';
- p++;
- }
-
- break;
-
- case '=':
- if (*p == '=') {
- t = T_EQ;
- p++;
- }
-
- break;
-
- case '!':
- if (*p == '=') {
- t = T_NE;
- p++;
- }
- else {
- t = T_NOT;
- }
-
- break;
-
- case '&':
- if (*p == '&') {
- t = T_AND;
- p++;
- }
-
- break;
-
- case '|':
- if (*p == '|') {
- t = T_OR;
- p++;
- }
-
- break;
-
- case '<':
- if (*p == '=') {
- t = T_LE;
- p++;
- }
- else {
- t = T_LT;
- }
-
- break;
-
- case '>':
- if (*p == '=') {
- t = T_GE;
- p++;
- }
- else {
- t = T_GT;
- }
-
- break;
-
- case '*':
- t = T_MUL;
- break;
-
- case '/':
- t = T_DIV;
- break;
-
- case '%':
- t = T_MOD;
- break;
-
- case '+':
- t = T_ADD;
- break;
-
- case '-':
- t = T_SUB;
- break;
-
- case 'n':
- t = T_N;
- break;
-
- case '?':
- t = T_QMARK;
- break;
-
- case ':':
- t = T_COLON;
- break;
-
- case '(':
- t = T_LPAREN;
- break;
-
- case ')':
- t = T_RPAREN;
- break;
-
- case ';':
- case '\n':
- case '\0':
- t = 0;
- break;
- }
-
- /* syntax error */
- if (t < 0)
- goto out;
-
- pluralParse(pParser, t, n, &s);
-
- /* eof */
- if (t == 0)
- break;
- }
-
- pluralParse(pParser, 0, 0, &s);
-
-out:
- pluralParseFree(pParser, free);
-
- return s.res;
-}
-
-int lmo_translate(const char *key, int keylen, char **out, int *outlen)
-{
- return lmo_translate_ctxt(key, keylen, NULL, 0, out, outlen);
-}
-
-int lmo_translate_ctxt(const char *key, int keylen,
- const char *ctx, int ctxlen,
- char **out, int *outlen)
-{
- uint32_t hash;
- lmo_entry_t *e;
- lmo_archive_t *ar;
-
- if (!key || !_lmo_active_catalog)
- return -2;
-
- hash = lmo_canon_hash(key, keylen, ctx, ctxlen, -1);
-
- if (hash > 0)
- {
- for (ar = _lmo_active_catalog->archives; ar; ar = ar->next)
- {
- if ((e = lmo_find_entry(ar, hash)) != NULL)
- {
- *out = ar->mmap + ntohl(e->offset);
- *outlen = ntohl(e->length);
- return 0;
- }
- }
- }
-
- return -1;
-}
-
-int lmo_translate_plural(int n, const char *skey, int skeylen,
- const char *pkey, int pkeylen,
- char **out, int *outlen)
-{
- return lmo_translate_plural_ctxt(n, skey, skeylen, pkey, pkeylen,
- NULL, 0, out, outlen);
-}
-
-int lmo_translate_plural_ctxt(int n, const char *skey, int skeylen,
- const char *pkey, int pkeylen,
- const char *ctx, int ctxlen,
- char **out, int *outlen)
-{
- int pid = -1;
- uint32_t hash;
- lmo_entry_t *e;
- lmo_archive_t *ar;
- const char *plural_formula;
-
- if (!skey || !pkey || !_lmo_active_catalog)
- return -2;
-
- for (ar = _lmo_active_catalog->archives; ar; ar = ar->next) {
- e = lmo_find_entry(ar, 0);
-
- if (e != NULL) {
- pid = lmo_eval_plural(ar->mmap + ntohl(e->offset), ntohl(e->length), n);
- break;
- }
- }
-
- if (pid == -1)
- pid = (n != 1);
-
- hash = lmo_canon_hash(skey, skeylen, ctx, ctxlen, pid);
-
- if (hash == 0)
- return -1;
-
- for (ar = _lmo_active_catalog->archives; ar; ar = ar->next)
- {
- if ((e = lmo_find_entry(ar, hash)) != NULL)
- {
- *out = ar->mmap + ntohl(e->offset);
- *outlen = ntohl(e->length);
- return 0;
- }
- }
-
- if (n != 1)
- {
- *out = (char *)pkey;
- *outlen = pkeylen;
- }
- else
- {
- *out = (char *)skey;
- *outlen = skeylen;
- }
-
- return 0;
-}
-
-void lmo_iterate(lmo_iterate_cb_t cb, void *priv)
-{
- unsigned int i;
- lmo_entry_t *e;
- lmo_archive_t *ar;
-
- if (!_lmo_active_catalog)
- return;
-
- for (ar = _lmo_active_catalog->archives; ar; ar = ar->next)
- for (i = 0, e = &ar->index[0]; i < ar->length; e = &ar->index[++i])
- cb(ntohl(e->key_id), ar->mmap + ntohl(e->offset), ntohl(e->length), priv);
-}
-
-void lmo_close_catalog(const char *lang)
-{
- lmo_archive_t *ar, *next;
- lmo_catalog_t *cat, *prev;
-
- for (prev = NULL, cat = _lmo_catalogs; cat; prev = cat, cat = cat->next)
- {
- if (!strncmp(cat->lang, lang, sizeof(cat->lang)))
- {
- if (prev)
- prev->next = cat->next;
- else
- _lmo_catalogs = cat->next;
-
- for (ar = cat->archives; ar; ar = next)
- {
- next = ar->next;
- lmo_close(ar);
- }
-
- free(cat);
- break;
- }
- }
-}
+++ /dev/null
-/*
- * lmo - Lua Machine Objects - General header
- *
- * Copyright (C) 2009-2012 Jo-Philipp Wich <jow@openwrt.org>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef _TEMPLATE_LMO_H_
-#define _TEMPLATE_LMO_H_
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <stdint.h>
-#include <string.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <sys/mman.h>
-#include <arpa/inet.h>
-#include <unistd.h>
-#include <errno.h>
-#include <fnmatch.h>
-#include <dirent.h>
-#include <ctype.h>
-#include <limits.h>
-
-#if (defined(__GNUC__) && defined(__i386__))
-#define sfh_get16(d) (*((const uint16_t *) (d)))
-#else
-#define sfh_get16(d) ((((uint32_t)(((const uint8_t *)(d))[1])) << 8)\
- +(uint32_t)(((const uint8_t *)(d))[0]) )
-#endif
-
-
-struct lmo_entry {
- uint32_t key_id;
- uint32_t val_id;
- uint32_t offset;
- uint32_t length;
-} __attribute__((packed));
-
-typedef struct lmo_entry lmo_entry_t;
-
-
-struct lmo_archive {
- int fd;
- int length;
- uint32_t size;
- lmo_entry_t *index;
- char *mmap;
- char *end;
- struct lmo_archive *next;
-};
-
-typedef struct lmo_archive lmo_archive_t;
-
-
-struct lmo_catalog {
- char lang[6];
- struct lmo_archive *archives;
- struct lmo_catalog *next;
-};
-
-typedef struct lmo_catalog lmo_catalog_t;
-
-typedef void (*lmo_iterate_cb_t)(uint32_t, const char *, int, void *);
-
-uint32_t sfh_hash(const char *data, int len);
-uint32_t lmo_canon_hash(const char *data, int len,
- const char *ctx, int ctxlen, int plural);
-
-lmo_archive_t * lmo_open(const char *file);
-void lmo_close(lmo_archive_t *ar);
-
-
-extern lmo_catalog_t *_lmo_catalogs;
-extern lmo_catalog_t *_lmo_active_catalog;
-
-int lmo_load_catalog(const char *lang, const char *dir);
-int lmo_change_catalog(const char *lang);
-int lmo_translate(const char *key, int keylen, char **out, int *outlen);
-int lmo_translate_ctxt(const char *key, int keylen,
- const char *ctx, int ctxlen, char **out, int *outlen);
-int lmo_translate_plural(int n, const char *skey, int skeylen,
- const char *pkey, int pkeylen,
- char **out, int *outlen);
-int lmo_translate_plural_ctxt(int n, const char *skey, int skeylen,
- const char *pkey, int pkeylen,
- const char *ctx, int ctxlen,
- char **out, int *outlen);
-void lmo_iterate(lmo_iterate_cb_t cb, void *priv);
-void lmo_close_catalog(const char *lang);
-
-#endif
+++ /dev/null
-/*
- * LuCI Template - Lua binding
- *
- * Copyright (C) 2009 Jo-Philipp Wich <jow@openwrt.org>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "template_lualib.h"
-
-static int template_L_do_parse(lua_State *L, struct template_parser *parser, const char *chunkname)
-{
- int lua_status, rv;
-
- if (!parser)
- {
- lua_pushnil(L);
- lua_pushinteger(L, errno);
- lua_pushstring(L, strerror(errno));
- return 3;
- }
-
- lua_status = lua_load(L, template_reader, parser, chunkname);
-
- if (lua_status == 0)
- rv = 1;
- else
- rv = template_error(L, parser);
-
- template_close(parser);
-
- return rv;
-}
-
-int template_L_parse(lua_State *L)
-{
- const char *file = luaL_checkstring(L, 1);
- struct template_parser *parser = template_open(file);
-
- return template_L_do_parse(L, parser, file);
-}
-
-int template_L_parse_string(lua_State *L)
-{
- size_t len;
- const char *str = luaL_checklstring(L, 1, &len);
- struct template_parser *parser = template_string(str, len);
-
- return template_L_do_parse(L, parser, "[string]");
-}
-
-int template_L_utf8(lua_State *L)
-{
- size_t len = 0;
- const char *str = luaL_checklstring(L, 1, &len);
- char *res = utf8(str, len);
-
- if (res != NULL)
- {
- lua_pushstring(L, res);
- free(res);
-
- return 1;
- }
-
- return 0;
-}
-
-int template_L_pcdata(lua_State *L)
-{
- size_t len = 0;
- const char *str = luaL_checklstring(L, 1, &len);
- char *res = pcdata(str, len);
-
- if (res != NULL)
- {
- lua_pushstring(L, res);
- free(res);
-
- return 1;
- }
-
- return 0;
-}
-
-int template_L_striptags(lua_State *L)
-{
- size_t len = 0;
- const char *str = luaL_checklstring(L, 1, &len);
- char *res = striptags(str, len);
-
- if (res != NULL)
- {
- lua_pushstring(L, res);
- free(res);
-
- return 1;
- }
-
- return 0;
-}
-
-static int template_L_load_catalog(lua_State *L) {
- const char *lang = luaL_optstring(L, 1, "en");
- const char *dir = luaL_optstring(L, 2, NULL);
- lua_pushboolean(L, !lmo_load_catalog(lang, dir));
- return 1;
-}
-
-static int template_L_close_catalog(lua_State *L) {
- const char *lang = luaL_optstring(L, 1, "en");
- lmo_close_catalog(lang);
- return 0;
-}
-
-static int template_L_change_catalog(lua_State *L) {
- const char *lang = luaL_optstring(L, 1, "en");
- lua_pushboolean(L, !lmo_change_catalog(lang));
- return 1;
-}
-
-static void template_L_get_translations_cb(uint32_t key, const char *val, int len, void *priv) {
- lua_State *L = priv;
- char hex[9];
-
- luaL_checktype(L, 1, LUA_TFUNCTION);
- snprintf(hex, sizeof(hex), "%08x", key);
-
- lua_pushvalue(L, 1);
- lua_pushstring(L, hex);
- lua_pushlstring(L, val, len);
- lua_call(L, 2, 0);
-}
-
-static int template_L_get_translations(lua_State *L) {
- lmo_iterate(template_L_get_translations_cb, L);
- return 0;
-}
-
-static int template_L_translate(lua_State *L) {
- size_t len, ctxlen = 0;
- char *tr;
- int trlen;
- const char *key = luaL_checklstring(L, 1, &len);
- const char *ctx = luaL_optlstring(L, 2, NULL, &ctxlen);
-
- switch (lmo_translate_ctxt(key, len, ctx, ctxlen, &tr, &trlen))
- {
- case 0:
- lua_pushlstring(L, tr, trlen);
- return 1;
-
- case -1:
- return 0;
- }
-
- lua_pushnil(L);
- lua_pushstring(L, "no catalog loaded");
- return 2;
-}
-
-static int template_L_ntranslate(lua_State *L) {
- size_t slen, plen, ctxlen = 0;
- char *tr;
- int trlen;
- int n = luaL_checkinteger(L, 1);
- const char *skey = luaL_checklstring(L, 2, &slen);
- const char *pkey = luaL_checklstring(L, 3, &plen);
- const char *ctx = luaL_optlstring(L, 4, NULL, &ctxlen);
-
- switch (lmo_translate_plural_ctxt(n, skey, slen, pkey, plen, ctx, ctxlen, &tr, &trlen))
- {
- case 0:
- lua_pushlstring(L, tr, trlen);
- return 1;
-
- case -1:
- return 0;
- }
-
- lua_pushnil(L);
- lua_pushstring(L, "no catalog loaded");
- return 2;
-}
-
-static int template_L_hash(lua_State *L) {
- size_t len;
- const char *key = luaL_checklstring(L, 1, &len);
- lua_pushinteger(L, sfh_hash(key, len));
- return 1;
-}
-
-
-/* module table */
-static const luaL_reg R[] = {
- { "parse", template_L_parse },
- { "parse_string", template_L_parse_string },
- { "utf8", template_L_utf8 },
- { "pcdata", template_L_pcdata },
- { "striptags", template_L_striptags },
- { "load_catalog", template_L_load_catalog },
- { "close_catalog", template_L_close_catalog },
- { "change_catalog", template_L_change_catalog },
- { "get_translations", template_L_get_translations },
- { "translate", template_L_translate },
- { "ntranslate", template_L_ntranslate },
- { "hash", template_L_hash },
- { NULL, NULL }
-};
-
-LUALIB_API int luaopen_luci_template_parser(lua_State *L) {
- luaL_register(L, TEMPLATE_LUALIB_META, R);
- return 1;
-}
+++ /dev/null
-/*
- * LuCI Template - Lua library header
- *
- * Copyright (C) 2009 Jo-Philipp Wich <jow@openwrt.org>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef _TEMPLATE_LUALIB_H_
-#define _TEMPLATE_LUALIB_H_
-
-#include "template_parser.h"
-#include "template_utils.h"
-#include "template_lmo.h"
-
-#define TEMPLATE_LUALIB_META "template.parser"
-
-LUALIB_API int luaopen_luci_template_parser(lua_State *L);
-
-#endif
+++ /dev/null
-/*
- * LuCI Template - Parser implementation
- *
- * Copyright (C) 2009-2012 Jo-Philipp Wich <jow@openwrt.org>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "template_parser.h"
-#include "template_utils.h"
-#include "template_lmo.h"
-
-
-/* leading and trailing code for different types */
-const char *gen_code[9][2] = {
- { NULL, NULL },
- { "write(\"", "\")" },
- { NULL, NULL },
- { "write(tostring(", " or \"\"))" },
- { "include(\"", "\")" },
- { "write(\"", "\")" },
- { "write(\"", "\")" },
- { NULL, " " },
- { NULL, NULL },
-};
-
-/* Simple strstr() like function that takes len arguments for both haystack and needle. */
-static char *strfind(char *haystack, int hslen, const char *needle, int ndlen)
-{
- int match = 0;
- int i, j;
-
- for( i = 0; i < hslen; i++ )
- {
- if( haystack[i] == needle[0] )
- {
- match = ((ndlen == 1) || ((i + ndlen) <= hslen));
-
- for( j = 1; (j < ndlen) && ((i + j) < hslen); j++ )
- {
- if( haystack[i+j] != needle[j] )
- {
- match = 0;
- break;
- }
- }
-
- if( match )
- return &haystack[i];
- }
- }
-
- return NULL;
-}
-
-struct template_parser * template_open(const char *file)
-{
- struct stat s;
- struct template_parser *parser;
-
- if (!(parser = malloc(sizeof(*parser))))
- goto err;
-
- memset(parser, 0, sizeof(*parser));
- parser->fd = -1;
- parser->file = file;
-
- if (stat(file, &s))
- goto err;
-
- if ((parser->fd = open(file, O_RDONLY)) < 0)
- goto err;
-
- parser->size = s.st_size;
- parser->data = mmap(NULL, parser->size, PROT_READ, MAP_PRIVATE,
- parser->fd, 0);
-
- if (parser->data != MAP_FAILED)
- {
- parser->off = parser->data;
- parser->cur_chunk.type = T_TYPE_INIT;
- parser->cur_chunk.s = parser->data;
- parser->cur_chunk.e = parser->data;
-
- return parser;
- }
-
-err:
- template_close(parser);
- return NULL;
-}
-
-struct template_parser * template_string(const char *str, uint32_t len)
-{
- struct template_parser *parser;
-
- if (!str) {
- errno = EINVAL;
- goto err;
- }
-
- if (!(parser = malloc(sizeof(*parser))))
- goto err;
-
- memset(parser, 0, sizeof(*parser));
- parser->fd = -1;
-
- parser->size = len;
- parser->data = (char*)str;
-
- parser->off = parser->data;
- parser->cur_chunk.type = T_TYPE_INIT;
- parser->cur_chunk.s = parser->data;
- parser->cur_chunk.e = parser->data;
-
- return parser;
-
-err:
- template_close(parser);
- return NULL;
-}
-
-void template_close(struct template_parser *parser)
-{
- if (!parser)
- return;
-
- if (parser->gc != NULL)
- free(parser->gc);
-
- /* if file is not set, we were parsing a string */
- if (parser->file) {
- if ((parser->data != NULL) && (parser->data != MAP_FAILED))
- munmap(parser->data, parser->size);
-
- if (parser->fd >= 0)
- close(parser->fd);
- }
-
- free(parser);
-}
-
-void template_text(struct template_parser *parser, const char *e)
-{
- const char *s = parser->off;
-
- if (s < (parser->data + parser->size))
- {
- if (parser->strip_after)
- {
- while ((s <= e) && isspace(*s))
- s++;
- }
-
- parser->cur_chunk.type = T_TYPE_TEXT;
- }
- else
- {
- parser->cur_chunk.type = T_TYPE_EOF;
- }
-
- parser->cur_chunk.line = parser->line;
- parser->cur_chunk.s = s;
- parser->cur_chunk.e = e;
-}
-
-void template_code(struct template_parser *parser, const char *e)
-{
- const char *s = parser->off;
-
- parser->strip_before = 0;
- parser->strip_after = 0;
-
- if (*s == '-')
- {
- parser->strip_before = 1;
- for (s++; (s <= e) && (*s == ' ' || *s == '\t'); s++);
- }
-
- if (*(e-1) == '-')
- {
- parser->strip_after = 1;
- for (e--; (e >= s) && (*e == ' ' || *e == '\t'); e--);
- }
-
- switch (*s)
- {
- /* comment */
- case '#':
- s++;
- parser->cur_chunk.type = T_TYPE_COMMENT;
- break;
-
- /* include */
- case '+':
- s++;
- parser->cur_chunk.type = T_TYPE_INCLUDE;
- break;
-
- /* translate */
- case ':':
- s++;
- parser->cur_chunk.type = T_TYPE_I18N;
- break;
-
- /* translate raw */
- case '_':
- s++;
- parser->cur_chunk.type = T_TYPE_I18N_RAW;
- break;
-
- /* expr */
- case '=':
- s++;
- parser->cur_chunk.type = T_TYPE_EXPR;
- break;
-
- /* code */
- default:
- parser->cur_chunk.type = T_TYPE_CODE;
- break;
- }
-
- parser->cur_chunk.line = parser->line;
- parser->cur_chunk.s = s;
- parser->cur_chunk.e = e;
-}
-
-static const char *
-template_format_chunk(struct template_parser *parser, size_t *sz)
-{
- const char *s, *p;
- const char *head, *tail;
- struct template_chunk *c = &parser->prv_chunk;
- struct template_buffer *buf;
-
- *sz = 0;
- s = parser->gc = NULL;
-
- if (parser->strip_before && c->type == T_TYPE_TEXT)
- {
- while ((c->e > c->s) && isspace(*(c->e - 1)))
- c->e--;
- }
-
- /* empty chunk */
- if (c->s == c->e)
- {
- if (c->type == T_TYPE_EOF)
- {
- *sz = 0;
- s = NULL;
- }
- else
- {
- *sz = 1;
- s = " ";
- }
- }
-
- /* format chunk */
- else if ((buf = buf_init(c->e - c->s)) != NULL)
- {
- if ((head = gen_code[c->type][0]) != NULL)
- buf_append(buf, head, strlen(head));
-
- switch (c->type)
- {
- case T_TYPE_TEXT:
- luastr_escape(buf, c->s, c->e - c->s, 0);
- break;
-
- case T_TYPE_EXPR:
- buf_append(buf, c->s, c->e - c->s);
- for (p = c->s; p < c->e; p++)
- parser->line += (*p == '\n');
- break;
-
- case T_TYPE_INCLUDE:
- luastr_escape(buf, c->s, c->e - c->s, 0);
- break;
-
- case T_TYPE_I18N:
- luastr_translate(buf, c->s, c->e - c->s, 1);
- break;
-
- case T_TYPE_I18N_RAW:
- luastr_translate(buf, c->s, c->e - c->s, 0);
- break;
-
- case T_TYPE_CODE:
- buf_append(buf, c->s, c->e - c->s);
- for (p = c->s; p < c->e; p++)
- parser->line += (*p == '\n');
- break;
- }
-
- if ((tail = gen_code[c->type][1]) != NULL)
- buf_append(buf, tail, strlen(tail));
-
- *sz = buf_length(buf);
- s = parser->gc = buf_destroy(buf);
-
- if (!*sz)
- {
- *sz = 1;
- s = " ";
- }
- }
-
- return s;
-}
-
-const char *template_reader(lua_State *L, void *ud, size_t *sz)
-{
- struct template_parser *parser = ud;
- int rem = parser->size - (parser->off - parser->data);
- char *tag;
-
- parser->prv_chunk = parser->cur_chunk;
-
- /* free previous string */
- if (parser->gc)
- {
- free(parser->gc);
- parser->gc = NULL;
- }
-
- /* before tag */
- if (!parser->in_expr)
- {
- if ((tag = strfind(parser->off, rem, "<%", 2)) != NULL)
- {
- template_text(parser, tag);
- parser->off = tag + 2;
- parser->in_expr = 1;
- }
- else
- {
- template_text(parser, parser->data + parser->size);
- parser->off = parser->data + parser->size;
- }
- }
-
- /* inside tag */
- else
- {
- if ((tag = strfind(parser->off, rem, "%>", 2)) != NULL)
- {
- template_code(parser, tag);
- parser->off = tag + 2;
- parser->in_expr = 0;
- }
- else
- {
- /* unexpected EOF */
- template_code(parser, parser->data + parser->size);
-
- *sz = 1;
- return "\033";
- }
- }
-
- return template_format_chunk(parser, sz);
-}
-
-int template_error(lua_State *L, struct template_parser *parser)
-{
- const char *err = luaL_checkstring(L, -1);
- const char *off = parser->prv_chunk.s;
- const char *ptr;
- char msg[1024];
- int line = 0;
- int chunkline = 0;
-
- if ((ptr = strfind((char *)err, strlen(err), "]:", 2)) != NULL)
- {
- chunkline = atoi(ptr + 2) - parser->prv_chunk.line;
-
- while (*ptr)
- {
- if (*ptr++ == ' ')
- {
- err = ptr;
- break;
- }
- }
- }
-
- if (strfind((char *)err, strlen(err), "'char(27)'", 10) != NULL)
- {
- off = parser->data + parser->size;
- err = "'%>' expected before end of file";
- chunkline = 0;
- }
-
- for (ptr = parser->data; ptr < off; ptr++)
- if (*ptr == '\n')
- line++;
-
- snprintf(msg, sizeof(msg), "Syntax error in %s:%d: %s",
- parser->file ? parser->file : "[string]", line + chunkline, err ? err : "(unknown error)");
-
- lua_pushnil(L);
- lua_pushinteger(L, line + chunkline);
- lua_pushstring(L, msg);
-
- return 3;
-}
+++ /dev/null
-/*
- * LuCI Template - Parser header
- *
- * Copyright (C) 2009 Jo-Philipp Wich <jow@openwrt.org>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef _TEMPLATE_PARSER_H_
-#define _TEMPLATE_PARSER_H_
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <stdint.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <sys/mman.h>
-#include <string.h>
-#include <ctype.h>
-#include <errno.h>
-
-#include <lua.h>
-#include <lualib.h>
-#include <lauxlib.h>
-
-
-/* code types */
-#define T_TYPE_INIT 0
-#define T_TYPE_TEXT 1
-#define T_TYPE_COMMENT 2
-#define T_TYPE_EXPR 3
-#define T_TYPE_INCLUDE 4
-#define T_TYPE_I18N 5
-#define T_TYPE_I18N_RAW 6
-#define T_TYPE_CODE 7
-#define T_TYPE_EOF 8
-
-
-struct template_chunk {
- const char *s;
- const char *e;
- int type;
- int line;
-};
-
-/* parser state */
-struct template_parser {
- int fd;
- uint32_t size;
- char *data;
- char *off;
- char *gc;
- int line;
- int in_expr;
- int strip_before;
- int strip_after;
- struct template_chunk prv_chunk;
- struct template_chunk cur_chunk;
- const char *file;
-};
-
-struct template_parser * template_open(const char *file);
-struct template_parser * template_string(const char *str, uint32_t len);
-void template_close(struct template_parser *parser);
-
-const char *template_reader(lua_State *L, void *ud, size_t *sz);
-int template_error(lua_State *L, struct template_parser *parser);
-
-#endif
+++ /dev/null
-/*
- * LuCI Template - Utility functions
- *
- * Copyright (C) 2010 Jo-Philipp Wich <jow@openwrt.org>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "template_utils.h"
-#include "template_lmo.h"
-
-/* initialize a buffer object */
-struct template_buffer * buf_init(int size)
-{
- struct template_buffer *buf;
-
- if (size <= 0)
- size = 1024;
-
- buf = (struct template_buffer *)malloc(sizeof(struct template_buffer));
-
- if (buf != NULL)
- {
- buf->fill = 0;
- buf->size = size;
- buf->data = malloc(buf->size);
-
- if (buf->data != NULL)
- {
- buf->dptr = buf->data;
- buf->data[0] = 0;
-
- return buf;
- }
-
- free(buf);
- }
-
- return NULL;
-}
-
-/* grow buffer */
-int buf_grow(struct template_buffer *buf, int size)
-{
- unsigned int off = (buf->dptr - buf->data);
- char *data;
-
- if (size <= 0)
- size = 1024;
-
- data = realloc(buf->data, buf->size + size);
-
- if (data != NULL)
- {
- buf->data = data;
- buf->dptr = data + off;
- buf->size += size;
-
- return buf->size;
- }
-
- return 0;
-}
-
-/* put one char into buffer object */
-int buf_putchar(struct template_buffer *buf, char c)
-{
- if( ((buf->fill + 1) >= buf->size) && !buf_grow(buf, 0) )
- return 0;
-
- *(buf->dptr++) = c;
- *(buf->dptr) = 0;
-
- buf->fill++;
- return 1;
-}
-
-/* append data to buffer */
-int buf_append(struct template_buffer *buf, const char *s, int len)
-{
- if ((buf->fill + len + 1) >= buf->size)
- {
- if (!buf_grow(buf, len + 1))
- return 0;
- }
-
- memcpy(buf->dptr, s, len);
- buf->fill += len;
- buf->dptr += len;
-
- *(buf->dptr) = 0;
-
- return len;
-}
-
-/* read buffer length */
-int buf_length(struct template_buffer *buf)
-{
- return buf->fill;
-}
-
-/* destroy buffer object and return pointer to data */
-char * buf_destroy(struct template_buffer *buf)
-{
- char *data = buf->data;
-
- free(buf);
- return data;
-}
-
-
-/* calculate the number of expected continuation chars */
-static inline int mb_num_chars(unsigned char c)
-{
- if ((c & 0xE0) == 0xC0)
- return 2;
- else if ((c & 0xF0) == 0xE0)
- return 3;
- else if ((c & 0xF8) == 0xF0)
- return 4;
- else if ((c & 0xFC) == 0xF8)
- return 5;
- else if ((c & 0xFE) == 0xFC)
- return 6;
-
- return 1;
-}
-
-/* test whether the given byte is a valid continuation char */
-static inline int mb_is_cont(unsigned char c)
-{
- return ((c >= 0x80) && (c <= 0xBF));
-}
-
-/* test whether the byte sequence at the given pointer with the given
- * length is the shortest possible representation of the code point */
-static inline int mb_is_shortest(unsigned char *s, int n)
-{
- switch (n)
- {
- case 2:
- /* 1100000x (10xxxxxx) */
- return !(((*s >> 1) == 0x60) &&
- ((*(s+1) >> 6) == 0x02));
-
- case 3:
- /* 11100000 100xxxxx (10xxxxxx) */
- return !((*s == 0xE0) &&
- ((*(s+1) >> 5) == 0x04) &&
- ((*(s+2) >> 6) == 0x02));
-
- case 4:
- /* 11110000 1000xxxx (10xxxxxx 10xxxxxx) */
- return !((*s == 0xF0) &&
- ((*(s+1) >> 4) == 0x08) &&
- ((*(s+2) >> 6) == 0x02) &&
- ((*(s+3) >> 6) == 0x02));
-
- case 5:
- /* 11111000 10000xxx (10xxxxxx 10xxxxxx 10xxxxxx) */
- return !((*s == 0xF8) &&
- ((*(s+1) >> 3) == 0x10) &&
- ((*(s+2) >> 6) == 0x02) &&
- ((*(s+3) >> 6) == 0x02) &&
- ((*(s+4) >> 6) == 0x02));
-
- case 6:
- /* 11111100 100000xx (10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx) */
- return !((*s == 0xF8) &&
- ((*(s+1) >> 2) == 0x20) &&
- ((*(s+2) >> 6) == 0x02) &&
- ((*(s+3) >> 6) == 0x02) &&
- ((*(s+4) >> 6) == 0x02) &&
- ((*(s+5) >> 6) == 0x02));
- }
-
- return 1;
-}
-
-/* test whether the byte sequence at the given pointer with the given
- * length is an UTF-16 surrogate */
-static inline int mb_is_surrogate(unsigned char *s, int n)
-{
- return ((n == 3) && (*s == 0xED) && (*(s+1) >= 0xA0) && (*(s+1) <= 0xBF));
-}
-
-/* test whether the byte sequence at the given pointer with the given
- * length is an illegal UTF-8 code point */
-static inline int mb_is_illegal(unsigned char *s, int n)
-{
- return ((n == 3) && (*s == 0xEF) && (*(s+1) == 0xBF) &&
- (*(s+2) >= 0xBE) && (*(s+2) <= 0xBF));
-}
-
-
-/* scan given source string, validate UTF-8 sequence and store result
- * in given buffer object */
-static int _validate_utf8(unsigned char **s, int l, struct template_buffer *buf)
-{
- unsigned char *ptr = *s;
- unsigned int o = 0, v, n;
-
- /* ascii byte without null */
- if ((*(ptr+0) >= 0x01) && (*(ptr+0) <= 0x7F))
- {
- if (!buf_putchar(buf, *ptr++))
- return 0;
-
- o = 1;
- }
-
- /* multi byte sequence */
- else if ((n = mb_num_chars(*ptr)) > 1)
- {
- /* count valid chars */
- for (v = 1; (v <= n) && ((o+v) < l) && mb_is_cont(*(ptr+v)); v++);
-
- switch (n)
- {
- case 6:
- case 5:
- /* five and six byte sequences are always invalid */
- if (!buf_putchar(buf, '?'))
- return 0;
-
- break;
-
- default:
- /* if the number of valid continuation bytes matches the
- * expected number and if the sequence is legal, copy
- * the bytes to the destination buffer */
- if ((v == n) && mb_is_shortest(ptr, n) &&
- !mb_is_surrogate(ptr, n) && !mb_is_illegal(ptr, n))
- {
- /* copy sequence */
- if (!buf_append(buf, (char *)ptr, n))
- return 0;
- }
-
- /* the found sequence is illegal, skip it */
- else
- {
- /* invalid sequence */
- if (!buf_putchar(buf, '?'))
- return 0;
- }
-
- break;
- }
-
- /* advance beyond the last found valid continuation char */
- o = v;
- ptr += v;
- }
-
- /* invalid byte (0x00) */
- else
- {
- if (!buf_putchar(buf, '?')) /* or 0xEF, 0xBF, 0xBD */
- return 0;
-
- o = 1;
- ptr++;
- }
-
- *s = ptr;
- return o;
-}
-
-/* sanitize given string and replace all invalid UTF-8 sequences with "?" */
-char * utf8(const char *s, unsigned int l)
-{
- struct template_buffer *buf = buf_init(l);
- unsigned char *ptr = (unsigned char *)s;
- unsigned int v, o;
-
- if (!buf)
- return NULL;
-
- for (o = 0; o < l; o++)
- {
- /* ascii char */
- if ((*ptr >= 0x01) && (*ptr <= 0x7F))
- {
- if (!buf_putchar(buf, (char)*ptr++))
- break;
- }
-
- /* invalid byte or multi byte sequence */
- else
- {
- if (!(v = _validate_utf8(&ptr, l - o, buf)))
- break;
-
- o += (v - 1);
- }
- }
-
- return buf_destroy(buf);
-}
-
-/* Sanitize given string and strip all invalid XML bytes
- * Validate UTF-8 sequences
- * Escape XML control chars */
-char * pcdata(const char *s, unsigned int l)
-{
- struct template_buffer *buf = buf_init(l);
- unsigned char *ptr = (unsigned char *)s;
- unsigned int o, v;
- char esq[8];
- int esl;
-
- if (!buf)
- return NULL;
-
- for (o = 0; o < l; o++)
- {
- /* Invalid XML bytes */
- if (((*ptr >= 0x00) && (*ptr <= 0x08)) ||
- ((*ptr >= 0x0B) && (*ptr <= 0x0C)) ||
- ((*ptr >= 0x0E) && (*ptr <= 0x1F)) ||
- (*ptr == 0x7F))
- {
- ptr++;
- }
-
- /* Escapes */
- else if ((*ptr == 0x26) ||
- (*ptr == 0x27) ||
- (*ptr == 0x22) ||
- (*ptr == 0x3C) ||
- (*ptr == 0x3E))
- {
- esl = snprintf(esq, sizeof(esq), "&#%i;", *ptr);
-
- if (!buf_append(buf, esq, esl))
- break;
-
- ptr++;
- }
-
- /* ascii char */
- else if (*ptr <= 0x7F)
- {
- buf_putchar(buf, (char)*ptr++);
- }
-
- /* multi byte sequence */
- else
- {
- if (!(v = _validate_utf8(&ptr, l - o, buf)))
- break;
-
- o += (v - 1);
- }
- }
-
- return buf_destroy(buf);
-}
-
-char * striptags(const char *s, unsigned int l)
-{
- struct template_buffer *buf = buf_init(l);
- unsigned char *ptr = (unsigned char *)s;
- unsigned char *end = ptr + l;
- unsigned char *tag;
- unsigned char prev;
- char esq[8];
- int esl;
-
- for (prev = ' '; ptr < end; ptr++)
- {
- if ((*ptr == '<') && ((ptr + 2) < end) &&
- ((*(ptr + 1) == '/') || isalpha(*(ptr + 1))))
- {
- for (tag = ptr; tag < end; tag++)
- {
- if (*tag == '>')
- {
- if (!isspace(prev))
- buf_putchar(buf, ' ');
-
- ptr = tag;
- prev = ' ';
- break;
- }
- }
- }
- else if (isspace(*ptr))
- {
- if (!isspace(prev))
- buf_putchar(buf, *ptr);
-
- prev = *ptr;
- }
- else
- {
- switch(*ptr)
- {
- case '"':
- case '\'':
- case '<':
- case '>':
- case '&':
- esl = snprintf(esq, sizeof(esq), "&#%i;", *ptr);
- buf_append(buf, esq, esl);
- break;
-
- default:
- buf_putchar(buf, *ptr);
- break;
- }
-
- prev = *ptr;
- }
- }
-
- return buf_destroy(buf);
-}
-
-void luastr_escape(struct template_buffer *out, const char *s, unsigned int l,
- int escape_xml)
-{
- int esl;
- char esq[8];
- char *ptr;
-
- for (ptr = (char *)s; ptr < (s + l); ptr++)
- {
- switch (*ptr)
- {
- case '\\':
- buf_append(out, "\\\\", 2);
- break;
-
- case '"':
- if (escape_xml)
- buf_append(out, """, 5);
- else
- buf_append(out, "\\\"", 2);
- break;
-
- case '\n':
- buf_append(out, "\\n", 2);
- break;
-
- case '\'':
- case '&':
- case '<':
- case '>':
- if (escape_xml)
- {
- esl = snprintf(esq, sizeof(esq), "&#%i;", *ptr);
- buf_append(out, esq, esl);
- break;
- }
-
- default:
- buf_putchar(out, *ptr);
- }
- }
-}
-
-void luastr_translate(struct template_buffer *out, const char *s, unsigned int l,
- int escape_xml)
-{
- int trlen, idlen = l, ctxtlen = 0, esc = 0;
- const char *p, *msgid = s, *msgctxt = NULL;
- char *tr;
-
- for (p = s; p < s + l; p++) {
- if (esc) {
- esc = 0;
- }
- else if (*p == '\\') {
- esc = 1;
- }
- else if (*p == '|') {
- idlen = p - s;
- msgctxt = p + 1;
- ctxtlen = s + l - msgctxt;
- break;
- }
- }
-
- if (!lmo_translate_ctxt(msgid, idlen, msgctxt, ctxtlen, &tr, &trlen))
- luastr_escape(out, tr, trlen, escape_xml);
- else
- luastr_escape(out, s, l, escape_xml);
-}
+++ /dev/null
-/*
- * LuCI Template - Utility header
- *
- * Copyright (C) 2010-2012 Jo-Philipp Wich <jow@openwrt.org>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef _TEMPLATE_UTILS_H_
-#define _TEMPLATE_UTILS_H_
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-
-/* buffer object */
-struct template_buffer {
- char *data;
- char *dptr;
- unsigned int size;
- unsigned int fill;
-};
-
-struct template_buffer * buf_init(int size);
-int buf_grow(struct template_buffer *buf, int size);
-int buf_putchar(struct template_buffer *buf, char c);
-int buf_append(struct template_buffer *buf, const char *s, int len);
-int buf_length(struct template_buffer *buf);
-char * buf_destroy(struct template_buffer *buf);
-
-char * utf8(const char *s, unsigned int l);
-char * pcdata(const char *s, unsigned int l);
-char * striptags(const char *s, unsigned int l);
-
-void luastr_escape(struct template_buffer *out, const char *s, unsigned int l, int escape_xml);
-void luastr_translate(struct template_buffer *out, const char *s, unsigned int l, int escape_xml);
-
-#endif
--- /dev/null
+// Copyright 2022 Jo-Philipp Wich <jo@mein.io>
+// Licensed to the public under the Apache License 2.0.
+
+import { load_catalog, change_catalog, get_translations } from 'luci.core';
+
+const ubus_types = [
+ null,
+ 'array',
+ 'object',
+ 'string',
+ null, // INT64
+ 'number',
+ null, // INT16,
+ 'boolean',
+ 'double'
+];
+
+
+function ubus_reply(id, data, code, errmsg) {
+ const reply = { jsonrpc: '2.0', id };
+
+ if (errmsg)
+ reply.error = { code, message: errmsg };
+ else if (type(code) == 'object')
+ reply.result = code;
+ else
+ reply.result = [ code, data ];
+
+ return reply;
+}
+
+function ubus_access(sid, obj, fun) {
+ return (ubus.call('session', 'access', {
+ ubus_rpc_session: sid,
+ scope: 'ubus',
+ object: obj,
+ function: fun
+ })?.access == true);
+}
+
+function ubus_request(req) {
+ if (type(req?.method) != 'string' || req?.jsonrpc != '2.0' || req?.id == null)
+ return ubus_reply(null, null, -32600, 'Invalid request');
+
+ if (req.method == 'call') {
+ if (type(req?.params) != 'array' || length(req.params) < 3)
+ return ubus_reply(null, null, -32600, 'Invalid parameters');
+
+ let sid = req.params[0],
+ obj = req.params[1],
+ fun = req.params[2],
+ arg = req.params[3] ?? {};
+
+ if (type(arg) != 'object' || exists(arg, 'ubus_rpc_session'))
+ return ubus_reply(req.id, null, -32602, 'Invalid parameters');
+
+ if (sid == '00000000000000000000000000000000' && ctx.authsession)
+ sid = ctx.authsession;
+
+ if (!ubus_access(sid, obj, fun))
+ return ubus_reply(req.id, null, -32002, 'Access denied');
+
+ arg.ubus_rpc_session = sid;
+
+
+ // clear error
+ ubus.error();
+
+ const res = ubus.call(obj, fun, arg);
+
+ return ubus_reply(req.id, res, ubus.error(true) ?? 0);
+ }
+
+ if (req.method == 'list') {
+ if (req?.params == null || (type(req.params) == 'array' && length(req.params) == 0)) {
+ return ubus_reply(req.id, null, ubus.list());
+ }
+ else if (type(req.params) == 'array') {
+ const rv = {};
+
+ for (let param in req.params) {
+ if (type(param) != 'string')
+ return ubus_reply(req.id, null, -32602, 'Invalid parameters');
+
+ for (let m, p in ubus.list(param)?.[0]) {
+ for (let pn, pt in p) {
+ rv[param] ??= {};
+ rv[param][m] ??= {};
+ rv[param][m][pn] = ubus_types[pt] ?? 'unknown';
+ }
+ }
+ }
+
+ return ubus_reply(req.id, null, rv);
+ }
+ else {
+ return ubus_reply(req.id, null, -32602, 'Invalid parameters')
+ }
+ }
+
+ return ubus_reply(req.id, null, -32601, 'Method not found')
+}
+
+
+return {
+ action_ubus: function() {
+ let request;
+
+ try { request = json(http.content()); }
+ catch { request = null; }
+
+ http.prepare_content('application/json; charset=UTF-8');
+
+ if (type(request) == 'object')
+ http.write_json(ubus_request(request));
+ else if (type(request) == 'array')
+ http.write_json(map(request, ubus_request));
+ else
+ http.write_json(ubus_reply(null, null, -32700, 'Parse error'))
+ },
+
+ action_translations: function(reqlang) {
+ if (reqlang != null && reqlang != dispatcher.lang) {
+ load_catalog(reqlang, '/usr/lib/lua/luci/i18n');
+ change_catalog(reqlang);
+ }
+
+ http.prepare_content('application/javascript; charset=UTF-8');
+ http.write('window.TR={');
+
+ get_translations((key, val) => http.write(sprintf('"%08x":%J,', key, val)));
+
+ http.write('};');
+ },
+
+ action_logout: function() {
+ const url = dispatcher.build_url();
+
+ if (ctx.authsession) {
+ ubus.call('session', 'destroy', { ubus_rpc_session: ctx.authsession });
+
+ if (http.getenv('HTTPS') == 'on')
+ http.header('Set-Cookie', `sysauth_https=; expires=Thu, 01 Jan 1970 01:00:00 GMT; path=${url}`);
+
+ http.header('Set-Cookie', `sysauth_http=; expires=Thu, 01 Jan 1970 01:00:00 GMT; path=${url}`);
+ }
+
+ http.redirect(url);
+ },
+
+ action_menu: function() {
+ const session = dispatcher.is_authenticated({ methods: [ 'cookie:sysauth_https', 'cookie:sysauth_http' ] });
+ const menu = dispatcher.menu_json(session?.acls ?? {}) ?? {};
+
+ http.prepare_content('application/json; charset=UTF-8');
+ http.write_json(menu);
+ }
+};
--- /dev/null
+// Copyright 2022 Jo-Philipp Wich <jo@mein.io>
+// Licensed to the public under the Apache License 2.0.
+
+import { STATUS_NO_DATA, STATUS_PERMISSION_DENIED } from 'ubus';
+
+let last_ubus_error;
+
+const ubus_error_map = [
+ 200, 'OK',
+ 400, 'Invalid command',
+ 400, 'Invalid argument',
+ 404, 'Method not found',
+ 404, 'Not found',
+ 204, 'No data',
+ 403, 'Permission denied',
+ 504, 'Timeout',
+ 500, 'Not supported',
+ 500, 'Unknown error',
+ 503, 'Connection failed',
+ 500, 'Out of memory',
+ 400, 'Parse error',
+ 500, 'System error',
+];
+
+function ubus_call(object, method, args) {
+ ubus.error(); // clear previous error
+
+ let res = ubus.call(object, method, args);
+
+ last_ubus_error = ubus.error(true);
+
+ return res ?? !last_ubus_error;
+}
+
+function ubus_state_to_http(err) {
+ let code = ubus_error_map[(err << 1) + 0] ?? 200;
+ let msg = ubus_error_map[(err << 1) + 1] ?? 'OK';
+
+ http.status(code, msg);
+
+ if (code != 204) {
+ http.prepare_content('text/plain');
+ http.write(msg);
+ }
+}
+
+function uci_apply(rollback) {
+ if (rollback) {
+ const timeout = +(config?.apply?.rollback ?? 90) || 0;
+ const success = ubus_call('uci', 'apply', {
+ ubus_rpc_session: ctx.authsession,
+ timeout: max(timeout, 90),
+ rollback: true
+ });
+
+ if (success) {
+ const token = dispatcher.randomid(16);
+
+ ubus.call('session', 'set', {
+ ubus_rpc_session: '00000000000000000000000000000000',
+ values: {
+ rollback: {
+ token,
+ session: ctx.authsession,
+ timeout: time() + timeout
+ }
+ }
+ });
+
+ return token;
+ }
+
+ return null;
+ }
+ else {
+ let changes = ubus_call('uci', 'changes', { ubus_rpc_session: ctx.authsession })?.changes;
+
+ for (let config in changes)
+ if (!ubus_call('uci', 'commit', { ubus_rpc_session: ctx.authsession, config }))
+ return false;
+
+ return ubus_call('uci', 'apply', {
+ ubus_rpc_session: ctx.authsession,
+ rollback: false
+ });
+ }
+}
+
+function uci_confirm(token) {
+ const data = ubus.call('session', 'get', {
+ ubus_rpc_session: '00000000000000000000000000000000',
+ keys: [ 'rollback' ]
+ })?.values?.rollback;
+
+ if (type(data?.token) != 'string' || type(data?.session) != 'string' ||
+ type(data?.timeout) != 'int' || data.timeout < time()) {
+ last_ubus_error = STATUS_NO_DATA;
+
+ return false;
+ }
+
+ if (token != data.token) {
+ last_ubus_error = STATUS_PERMISSION_DENIED;
+
+ return false;
+ }
+
+ if (!ubus_call('uci', 'confirm', { ubus_rpc_session: data.session }))
+ return false;
+
+ ubus_call('session', 'set', {
+ ubus_rpc_session: '00000000000000000000000000000000',
+ values: { rollback: {} }
+ });
+
+ return true;
+}
+
+
+return {
+ action_apply_rollback: function() {
+ const token = uci_apply(true);
+
+ if (token) {
+ http.prepare_content('application/json; charset=UTF-8');
+ http.write_json({ token });
+ }
+ else {
+ ubus_state_to_http(last_ubus_error);
+ }
+ },
+
+ action_apply_unchecked: function() {
+ uci_apply(false);
+ ubus_state_to_http(last_ubus_error);
+ },
+
+ action_confirm: function() {
+ uci_confirm(http.formvalue('token'));
+ ubus_state_to_http(last_ubus_error);
+ },
+
+ action_revert: function() {
+ for (let config in ubus_call('uci', 'changes', { ubus_rpc_session: ctx.authsession })?.changes)
+ if (!ubus_call('uci', 'revert', { ubus_rpc_session: ctx.authsession, config }))
+ break;
+
+ ubus_state_to_http(last_ubus_error);
+ }
+};
--- /dev/null
+// Copyright 2022 Jo-Philipp Wich <jo@mein.io>
+// Licensed to the public under the Apache License 2.0.
+
+import { open, stat, glob, lsdir, unlink, basename } from 'fs';
+import { striptags, entityencode } from 'html';
+import { connect } from 'ubus';
+import { cursor } from 'uci';
+import { rand } from 'math';
+
+import { hash, load_catalog, change_catalog, translate, ntranslate, getuid } from 'luci.core';
+import { revision as luciversion, branch as luciname } from 'luci.version';
+import { default as LuCIRuntime } from 'luci.runtime';
+import { urldecode } from 'luci.http';
+
+let ubus = connect();
+let uci = cursor();
+
+let indexcache = "/tmp/luci-indexcache";
+
+let http, runtime, tree, luabridge;
+
+function error404(msg) {
+ http.status(404, 'Not Found');
+
+ try {
+ runtime.render('error404', { message: msg ?? 'Not found' });
+ }
+ catch {
+ http.header('Content-Type', 'text/plain; charset=UTF-8');
+ http.write(msg ?? 'Not found');
+ }
+
+ return false;
+}
+
+function error500(msg, ex) {
+ if (!http.eoh) {
+ http.status(500, 'Internal Server Error');
+ http.header('Content-Type', 'text/html; charset=UTF-8');
+ }
+
+ try {
+ runtime.render('error500', {
+ title: ex?.type ?? 'Runtime exception',
+ message: replace(
+ msg,
+ /(\s)((\/[A-Za-z0-9_.-]+)+:\d+|\[string "[^"]+"\]:\d+)/g,
+ '$1<code>$2</code>'
+ ),
+ exception: ex
+ });
+ }
+ catch {
+ http.write('<!--]]>--><!--\'>--><!--">-->\n');
+ http.write(`<p>${trim(ex)}</p>\n`);
+
+ if (ex) {
+ http.write(`<p>${trim(ex.message)}</p>\n`);
+ http.write(`<pre>${trim(ex.stacktrace[0].context)}</pre>\n`);
+ }
+ }
+
+ exit(0);
+}
+
+function load_luabridge(optional) {
+ if (luabridge == null) {
+ try {
+ luabridge = require('lua');
+ }
+ catch (ex) {
+ luabridge = false;
+
+ if (!optional)
+ error500('No Lua runtime installed');
+ }
+ }
+
+ return luabridge;
+}
+
+function determine_request_language() {
+ let lang = uci.get('luci', 'main', 'lang') || 'auto';
+
+ if (lang == 'auto') {
+ for (let tag in split(http.getenv('HTTP_ACCEPT_LANGUAGE'), ',')) {
+ tag = split(trim(split(tag, ';')?.[0]), '-');
+
+ if (tag) {
+ let cc = tag[1] ? `${tag[0]}_${lc(tag[1])}` : null;
+
+ if (cc && uci.get('luci', 'languages', cc)) {
+ lang = cc;
+ break;
+ }
+ else if (uci.get('luci', 'languages', tag[0])) {
+ lang = tag[0];
+ break;
+ }
+ }
+ }
+ }
+
+ if (lang == 'auto')
+ lang = 'en';
+ else
+ lang = replace(lang, '_', '-');
+
+ if (load_catalog(lang, '/usr/lib/lua/luci/i18n'))
+ change_catalog(lang);
+
+ return lang;
+}
+
+function determine_version() {
+ let res = { luciname, luciversion };
+
+ for (let f = open("/etc/os-release"), l = f?.read?.("line"); l; l = f.read?.("line")) {
+ let kv = split(l, '=', 2);
+
+ switch (kv[0]) {
+ case 'NAME':
+ res.distname = trim(kv[1], '"\' \n');
+ break;
+
+ case 'VERSION':
+ res.distversion = trim(kv[1], '"\' \n');
+ break;
+
+ case 'HOME_URL':
+ res.disturl = trim(kv[1], '"\' \n');
+ break;
+
+ case 'BUILD_ID':
+ res.distrevision = trim(kv[1], '"\' \n');
+ break;
+ }
+ }
+
+ return res;
+}
+
+function read_jsonfile(path, defval) {
+ let rv;
+
+ try {
+ rv = json(open(path, "r"));
+ }
+ catch (e) {
+ rv = defval;
+ }
+
+ return rv;
+}
+
+function read_cachefile(file, reader) {
+ let euid = getuid(),
+ fstat = stat(file),
+ fuid = fstat?.uid,
+ perm = fstat?.perm;
+
+ if (euid != fuid ||
+ perm?.group_read || perm?.group_write || perm?.group_exec ||
+ perm?.other_read || perm?.other_write || perm?.other_exec)
+ return null;
+
+ return reader(file);
+}
+
+function check_fs_depends(spec) {
+ for (let path, kind in spec) {
+ if (kind == 'directory') {
+ if (!length(lsdir(path)))
+ return false;
+ }
+ else if (kind == 'executable') {
+ let fstat = stat(path);
+
+ if (fstat?.type != 'file' || fstat?.user_exec == false)
+ return false;
+ }
+ else if (kind == 'file') {
+ let fstat = stat(path);
+
+ if (fstat?.type != 'file')
+ return false;
+ }
+ else if (kind == 'absent') {
+ if (stat(path) != null)
+ return false;
+ }
+ }
+
+ return true;
+}
+
+function check_uci_depends_options(conf, s, opts) {
+ if (type(opts) == 'string') {
+ return (s['.type'] == opts);
+ }
+ else if (opts === true) {
+ for (let option, value in s)
+ if (ord(option) != 46)
+ return true;
+ }
+ else if (type(opts) == 'object') {
+ for (let option, value in opts) {
+ let sval = s[option];
+
+ if (type(sval) == 'array') {
+ if (!(value in sval))
+ return false;
+ }
+ else if (value === true) {
+ if (sval == null)
+ return false;
+ }
+ else {
+ if (sval != value)
+ return false;
+ }
+ }
+ }
+
+ return true;
+}
+
+function check_uci_depends_section(conf, sect) {
+ for (let section, options in sect) {
+ let stype = match(section, /^@([A-Za-z0-9_-]+)$/);
+
+ if (stype) {
+ let found = false;
+
+ uci.load(conf);
+ uci.foreach(conf, stype[1], (s) => {
+ if (check_uci_depends_options(conf, s, options)) {
+ found = true;
+ return false;
+ }
+ });
+
+ if (!found)
+ return false;
+ }
+ else {
+ let s = uci.get_all(conf, section);
+
+ if (!s || !check_uci_depends_options(conf, s, options))
+ return false;
+ }
+ }
+
+ return true;
+}
+
+function check_uci_depends(conf) {
+ for (let config, values in conf) {
+ if (values == true) {
+ let found = false;
+
+ uci.load(config);
+ uci.foreach(config, null, () => { found = true });
+
+ if (!found)
+ return false;
+ }
+ else if (type(values) == 'object') {
+ if (!check_uci_depends_section(config, values))
+ return false;
+ }
+ }
+
+ return true;
+}
+
+function check_depends(spec) {
+ if (type(spec?.depends?.fs) in ['array', 'object']) {
+ let satisfied = false;
+ let alternatives = (type(spec.depends.fs) == 'array') ? spec.depends.fs : [ spec.depends.fs ];
+
+ for (let alternative in alternatives) {
+ if (check_fs_depends(alternative)) {
+ satisfied = true;
+ break;
+ }
+ }
+
+ if (!satisfied)
+ return false;
+ }
+
+ if (type(spec?.depends?.uci) in ['array', 'object']) {
+ let satisfied = false;
+ let alternatives = (type(spec.depends.uci) == 'array') ? spec.depends.uci : [ spec.depends.uci ];
+
+ for (let alternative in alternatives) {
+ if (check_uci_depends(alternative)) {
+ satisfied = true;
+ break;
+ }
+ }
+
+ if (!satisfied)
+ return false;
+ }
+
+ return true;
+}
+
+function check_acl_depends(require_groups, groups) {
+ if (length(require_groups)) {
+ let writable = false;
+
+ for (let group in require_groups) {
+ let read = ('read' in groups?.[group]);
+ let write = ('write' in groups?.[group]);
+
+ if (!read && !write)
+ return null;
+
+ if (write)
+ writable = true;
+ }
+
+ return writable;
+ }
+
+ return true;
+}
+
+function hash_filelist(files) {
+ let hashval = 0x1b756362;
+
+ for (let file in files) {
+ let st = stat(file);
+
+ if (st)
+ hashval = hash(sprintf("%x|%x|%x", st.ino, st.mtime, st.size), hashval);
+ }
+
+ return hashval;
+}
+
+function build_pagetree() {
+ let tree = { action: { type: 'firstchild' } };
+
+ let schema = {
+ action: 'object',
+ auth: 'object',
+ cors: 'bool',
+ depends: 'object',
+ order: 'int',
+ setgroup: 'string',
+ setuser: 'string',
+ title: 'string',
+ wildcard: 'bool',
+ firstchild_ineligible: 'bool'
+ };
+
+ let files = glob('/usr/share/luci/menu.d/*.json', '/usr/lib/lua/luci/controller/*.lua', '/usr/lib/lua/luci/controller/*/*.lua');
+ let cachefile;
+
+ if (indexcache) {
+ cachefile = sprintf('%s.%08x.json', indexcache, hash_filelist(files));
+
+ let res = read_cachefile(cachefile, read_jsonfile);
+
+ if (res)
+ return res;
+
+ for (let path in glob(indexcache + '.*.json'))
+ unlink(path);
+ }
+
+ for (let file in files) {
+ let data;
+
+ if (substr(file, -5) == '.json')
+ data = read_jsonfile(file);
+ else if (load_luabridge(true))
+ data = runtime.call('luci.dispatcher', 'process_lua_controller', file);
+ else
+ warn(`Lua controller ${file} present but no Lua runtime installed.\n`);
+
+ if (type(data) == 'object') {
+ for (let path, spec in data) {
+ if (type(spec) == 'object') {
+ let node = tree;
+
+ for (let s in match(path, /[^\/]+/g)) {
+ if (s[0] == '*') {
+ node.wildcard = true;
+ break;
+ }
+
+ node.children ??= {};
+ node.children[s[0]] ??= {};
+ node = node.children[s[0]];
+ }
+
+ if (node !== tree) {
+ for (let k, t in schema)
+ if (type(spec[k]) == t)
+ node[k] = spec[k];
+
+ node.satisfied = check_depends(spec);
+ }
+ }
+ }
+ }
+ }
+
+ if (cachefile) {
+ let fd = open(cachefile, 'w', 0600);
+
+ if (fd) {
+ fd.write(tree);
+ fd.close();
+ }
+ }
+
+ return tree;
+}
+
+function menu_json(acl) {
+ tree ??= build_pagetree();
+
+ return tree;
+}
+
+function ctx_append(ctx, name, node) {
+ ctx.path ??= [];
+ push(ctx.path, name);
+
+ ctx.acls ??= [];
+ push(ctx.acls, ...(node?.depends?.acl || []));
+
+ ctx.auth = node.auth || ctx.auth;
+ ctx.cors = node.cors || ctx.cors;
+ ctx.suid = node.setuser || ctx.suid;
+ ctx.sgid = node.setgroup || ctx.sgid;
+
+ return ctx;
+}
+
+function session_retrieve(sid, allowed_users) {
+ let sdat = ubus.call("session", "get", { ubus_rpc_session: sid });
+ let sacl = ubus.call("session", "access", { ubus_rpc_session: sid });
+
+ if (type(sdat?.values?.token) == 'string' &&
+ (!length(allowed_users) || sdat?.values?.username in allowed_users)) {
+ // uci:set_session_id(sid)
+ return {
+ sid,
+ data: sdat.values,
+ acls: length(sacl) ? sacl : {}
+ };
+ }
+
+ return null;
+}
+
+function randomid(num_bytes) {
+ let bytes = [];
+
+ while (num_bytes-- > 0)
+ push(bytes, sprintf('%02x', rand() % 256));
+
+ return join('', bytes);
+}
+
+function syslog(prio, msg) {
+ warn(sprintf("[%s] %s\n", prio, msg));
+}
+
+function session_setup(user, pass, path) {
+ let timeout = uci.get('luci', 'sauth', 'sessiontime');
+ let login = ubus.call("session", "login", {
+ username: user,
+ password: pass,
+ timeout: timeout ? +timeout : null
+ });
+
+ if (type(login?.ubus_rpc_session) == 'string') {
+ ubus.call("session", "set", {
+ ubus_rpc_session: login.ubus_rpc_session,
+ values: { token: randomid(16) }
+ });
+ syslog("info", sprintf("luci: accepted login on /%s for %s from %s",
+ join('/', path), user || "?", http.getenv("REMOTE_ADDR") || "?"));
+
+ return session_retrieve(login.ubus_rpc_session);
+ }
+
+ syslog("info", sprintf("luci: failed login on /%s for %s from %s",
+ join('/', path), user || "?", http.getenv("REMOTE_ADDR") || "?"));
+}
+
+function check_authentication(method) {
+ let m = match(method, /^([[:alpha:]]+):(.+)$/);
+ let sid;
+
+ switch (m?.[1]) {
+ case 'cookie':
+ sid = http.getcookie(m[2]);
+ break;
+
+ case 'param':
+ sid = http.formvalue(m[2]);
+ break;
+
+ case 'query':
+ sid = http.formvalue(m[2], true);
+ break;
+ }
+
+ return sid ? session_retrieve(sid) : null;
+}
+
+function is_authenticated(auth) {
+ for (let method in auth?.methods) {
+ let session = check_authentication(method);
+
+ if (session)
+ return session;
+ }
+
+ return null;
+}
+
+function node_weight(node) {
+ let weight = min(node.order ?? 9999, 9999);
+
+ if (node.auth?.login)
+ weight += 10000;
+
+ return weight;
+}
+
+function clone(src) {
+ switch (type(src)) {
+ case 'array':
+ return map(src, clone);
+
+ case 'object':
+ let dest = {};
+
+ for (let k, v in src)
+ dest[k] = clone(v);
+
+ return dest;
+
+ default:
+ return src;
+ }
+}
+
+function resolve_firstchild(node, session, login_allowed, ctx) {
+ let candidate, candidate_ctx;
+
+ for (let name, child in node.children) {
+ if (!child.satisfied)
+ continue;
+
+ if (!session)
+ session = is_authenticated(node.auth);
+
+ let cacl = child.depends?.acl;
+ let login = login_allowed || child.auth?.login;
+
+ if (login || check_acl_depends(cacl, session?.acls?.["access-group"]) != null) {
+ if (child.title && type(child.action) == "object") {
+ let child_ctx = ctx_append(clone(ctx), name, child);
+ if (child.action.type == "firstchild") {
+ if (!candidate || node_weight(candidate) > node_weight(child)) {
+ let have_grandchild = resolve_firstchild(child, session, login, child_ctx);
+ if (have_grandchild) {
+ candidate = child;
+ candidate_ctx = child_ctx;
+ }
+ }
+ }
+ else if (!child.firstchild_ineligible) {
+ if (!candidate || node_weight(candidate) > node_weight(child)) {
+ candidate = child;
+ candidate_ctx = child_ctx;
+ }
+ }
+ }
+ }
+ }
+
+ if (!candidate)
+ return false;
+
+ for (let k, v in candidate_ctx)
+ ctx[k] = v;
+
+ return true;
+}
+
+function resolve_page(tree, request_path) {
+ let node = tree;
+ let login = false;
+ let session = null;
+ let ctx = {};
+
+ for (let i, s in request_path) {
+ node = node.children?.[s];
+
+ if (!node?.satisfied)
+ break;
+
+ ctx_append(ctx, s, node);
+
+ if (!session)
+ session = is_authenticated(node.auth);
+
+ if (!login && node.auth?.login)
+ login = true;
+
+ if (node.wildcard) {
+ ctx.request_args = [];
+ ctx.request_path = ctx.path ? [ ...ctx.path ] : [];
+
+ while (++i < length(request_path)) {
+ push(ctx.request_path, request_path[i]);
+ push(ctx.request_args, request_path[i]);
+ }
+
+ break;
+ }
+ }
+
+ if (node?.action?.type == 'firstchild')
+ resolve_firstchild(node, session, login, ctx);
+
+ ctx.acls ??= {};
+ ctx.path ??= [];
+ ctx.request_args ??= [];
+ ctx.request_path ??= request_path ? [ ...request_path ] : [];
+
+ ctx.authsession = session?.sid;
+ ctx.authtoken = session?.data?.token;
+ ctx.authuser = session?.data?.username;
+ ctx.authacl = session?.acls;
+
+ node = tree;
+
+ for (let s in ctx.path) {
+ node = node.children[s];
+ assert(node, "Internal node resolve error");
+ }
+
+ return { node, ctx, session };
+}
+
+function require_post_security(target, args) {
+ if (target?.type == 'arcombine')
+ return require_post_security(length(args) ? target?.targets?.[1] : target?.targets?.[0], args);
+
+ if (type(target?.post) == 'object') {
+ for (let param_name, required_val in target.post) {
+ let request_val = http.formvalue(param_name);
+
+ if ((type(required_val) == 'string' && request_val != required_val) ||
+ (required_val == true && request_val == null))
+ return false;
+ }
+
+ return true;
+ }
+
+ return (target?.post == true);
+}
+
+function test_post_security(authtoken) {
+ if (http.getenv("REQUEST_METHOD") != "POST") {
+ http.status(405, "Method Not Allowed");
+ http.header("Allow", "POST");
+
+ return false;
+ }
+
+ if (http.formvalue("token") != authtoken) {
+ http.status(403, "Forbidden");
+ runtime.render("csrftoken");
+
+ return false;
+ }
+
+ return true;
+}
+
+function build_url(...path) {
+ let url = [ http.getenv('SCRIPT_NAME') ?? '' ];
+
+ for (let p in path)
+ if (match(p, /^[A-Za-z0-9_%.\/,;-]+$/))
+ push(url, '/', p);
+
+ if (length(url) == 1)
+ push(url, '/');
+
+ return join('', url);
+}
+
+function lookup(...segments) {
+ let node = menu_json();
+ let path = [];
+
+ for (let segment in segments)
+ for (let name in split(segment, '/'))
+ push(path, name);
+
+ for (let name in path) {
+ node = node.children[name];
+
+ if (!node)
+ return null;
+
+ if (node.leaf)
+ break;
+ }
+
+ return { node, url: build_url(...path) };
+}
+
+function rollback_pending() {
+ const now = time();
+ const rv = ubus.call('session', 'get', {
+ ubus_rpc_session: '00000000000000000000000000000000',
+ keys: [ 'rollback' ]
+ });
+
+ if (type(rv?.values?.rollback?.token) != 'string' ||
+ type(rv?.values?.rollback?.session) != 'string' ||
+ type(rv?.values?.rollback?.timeout) != 'int' ||
+ rv.values.rollback.timeout <= now)
+ return false;
+
+ return {
+ remaining: rv.values.rollback.timeout - now,
+ session: rv.values.rollback.session,
+ token: rv.values.rollback.token
+ };
+}
+
+let dispatch;
+
+function run_action(request_path, lang, tree, resolved, action) {
+ switch (action?.type) {
+ case 'template':
+ runtime.render(action.path, {});
+ break;
+
+ case 'view':
+ runtime.render('view', { view: action.path });
+ break;
+
+ case 'call':
+ http.write(render(() => {
+ runtime.call(action.module, action.function,
+ ...(action.parameters ?? []),
+ ...resolved.ctx.request_args
+ );
+ }));
+ break;
+
+ case 'function':
+ const mod = require(action.module);
+
+ assert(type(mod[action.function]) == 'function',
+ `Module '${action.module}' does not export function '${action.function}'`);
+
+ http.write(render(() => {
+ call(mod[action.function], mod, runtime.env,
+ ...(action.parameters ?? []),
+ ...resolved.ctx.request_args
+ );
+ }));
+ break;
+
+ case 'cbi':
+ http.write(render(() => {
+ runtime.call('luci.dispatcher', 'invoke_cbi_action',
+ action.path, null,
+ ...resolved.ctx.request_args
+ );
+ }));
+ break;
+
+ case 'form':
+ http.write(render(() => {
+ runtime.call('luci.dispatcher', 'invoke_form_action',
+ action.path,
+ ...resolved.ctx.request_args
+ );
+ }));
+ break;
+
+ case 'alias':
+ dispatch(http, [ ...split(action.path, '/'), ...resolved.ctx.request_args ]);
+ break;
+
+ case 'rewrite':
+ dispatch(http, [
+ ...splice([ ...request_path ], 0, action.remove),
+ ...split(action.path, '/'),
+ ...resolved.ctx.request_args
+ ]);
+ break;
+
+ case 'firstchild':
+ if (!length(tree.children))
+ error404("No root node was registered, this usually happens if no module was installed.\n" +
+ "Install luci-mod-admin-full and retry. " +
+ "If the module is already installed, try removing the /tmp/luci-indexcache file.");
+ else
+ error404(`No page is registered at '/${join("/", resolved.ctx.request_path)}'.\n` +
+ "If this url belongs to an extension, make sure it is properly installed.\n" +
+ "If the extension was recently installed, try removing the /tmp/luci-indexcache file.");
+ break;
+
+ default:
+ error500(`Unhandled action type ${action?.type ?? '?'}`);
+ }
+}
+
+dispatch = function(_http, path) {
+ http = _http;
+
+ let version = determine_version();
+ let lang = determine_request_language();
+
+ runtime = LuCIRuntime({
+ http,
+ ubus,
+ uci,
+ ctx: {},
+ version,
+ config: {
+ main: uci.get_all('luci', 'main') ?? {},
+ apply: uci.get_all('luci', 'apply') ?? {}
+ },
+ dispatcher: {
+ rollback_pending,
+ is_authenticated,
+ load_luabridge,
+ lookup,
+ menu_json,
+ build_url,
+ randomid,
+ error404,
+ error500,
+ lang
+ },
+ striptags,
+ entityencode,
+ _: (...args) => translate(...args) ?? args[0],
+ N_: (...args) => ntranslate(...args) ?? (n[0] == 1 ? n[1] : n[2]),
+ });
+
+ try {
+ let menu = menu_json();
+
+ path ??= map(match(http.getenv('PATH_INFO'), /[^\/]+/g), m => m[0]);
+
+ let resolved = resolve_page(menu, path);
+
+ runtime.env.ctx = resolved.ctx;
+ runtime.env.node = resolved.node;
+
+ if (length(resolved.ctx.auth)) {
+ let session = is_authenticated(resolved.ctx.auth);
+
+ if (!session && resolved.ctx.auth.login) {
+ let user = http.getenv('HTTP_AUTH_USER');
+ let pass = http.getenv('HTTP_AUTH_PASS');
+
+ if (user == null && pass == null) {
+ user = http.formvalue('luci_username');
+ pass = http.formvalue('luci_password');
+ }
+
+ if (user != null && pass != null)
+ session = session_setup(user, pass, resolved.ctx.request_path);
+
+ if (!session) {
+ resolved.ctx.path = [];
+
+ http.status(403, 'Forbidden');
+ http.header('X-LuCI-Login-Required', 'yes');
+
+ let scope = { duser: 'root', fuser: user };
+
+ try {
+ runtime.render(`themes/${basename(runtime.env.media)}/sysauth`, scope);
+ }
+ catch (e) {
+ runtime.render('sysauth', scope);
+ }
+
+ return;
+ }
+
+ let cookie_name = (http.getenv('HTTPS') == 'on') ? 'sysauth_https' : 'sysauth_http',
+ cookie_secure = (http.getenv('HTTPS') == 'on') ? '; secure' : '';
+
+ http.header('Set-Cookie', `${cookie_name}=${session.sid}; path=${build_url()}; SameSite=strict; HttpOnly${cookie_secure}`);
+ http.redirect(build_url(...resolved.ctx.request_path));
+
+ return;
+ }
+
+ if (!session) {
+ http.status(403, 'Forbidden');
+ http.header('X-LuCI-Login-Required', 'yes');
+
+ return;
+ }
+
+ resolved.ctx.authsession ??= session.sid;
+ resolved.ctx.authtoken ??= session.data?.token;
+ resolved.ctx.authuser ??= session.data?.username;
+ resolved.ctx.authacl ??= session.acls;
+
+ /* In case the Lua runtime was already initialized, e.g. by probing legacy
+ * theme header templates, make sure to update the session ID of the uci
+ * module. */
+ if (runtime.L) {
+ runtime.L.invoke('require', 'luci.model.uci');
+ runtime.L.get('luci', 'model', 'uci').invoke('set_session_id', session.sid);
+ }
+ }
+
+ if (length(resolved.ctx.acls)) {
+ let perm = check_acl_depends(resolved.ctx.acls, resolved.ctx.authacl?.['access-group']);
+
+ if (perm == null) {
+ http.status(403, 'Forbidden');
+
+ return;
+ }
+
+ if (resolved.node)
+ resolved.node.readonly = !perm;
+ }
+
+ let action = resolved.node.action;
+
+ if (action?.type == 'arcombine')
+ action = length(resolved.ctx.request_args) ? action.targets?.[1] : action.targets?.[0];
+
+ if (resolved.ctx.cors && http.getenv('REQUEST_METHOD') == 'OPTIONS') {
+ http.status(200, 'OK');
+ http.header('Access-Control-Allow-Origin', http.getenv('HTTP_ORIGIN') ?? '*');
+ http.header('Access-Control-Allow-Methods', 'GET, POST, OPTIONS');
+
+ return;
+ }
+
+ if (require_post_security(action) && !test_post_security(resolved.ctx.authtoken))
+ return;
+
+ run_action(path, lang, menu, resolved, action);
+ }
+ catch (ex) {
+ error500('Unhandled exception during request dispatching', ex);
+ }
+};
+
+export default dispatch;
--- /dev/null
+// Copyright 2022 Jo-Philipp Wich <jo@mein.io>
+// Licensed to the public under the Apache License 2.0.
+
+import {
+ urlencode as _urlencode,
+ urldecode as _urldecode,
+ urlencoded_parser, multipart_parser, header_attribute,
+ ENCODE_IF_NEEDED, ENCODE_FULL, DECODE_IF_NEEDED, DECODE_PLUS
+} from 'lucihttp';
+
+import {
+ error as fserror,
+ stdin, stdout, mkstemp
+} from 'fs';
+
+// luci.http module scope
+export let HTTP_MAX_CONTENT = 1024*100; // 100 kB maximum content size
+
+// Decode a mime encoded http message body with multipart/form-data
+// Content-Type. Stores all extracted data associated with its parameter name
+// in the params table within the given message object. Multiple parameter
+// values are stored as tables, ordinary ones as strings.
+// If an optional file callback function is given then it is fed with the
+// file contents chunk by chunk and only the extracted file name is stored
+// within the params table. The callback function will be called subsequently
+// with three arguments:
+// o Table containing decoded (name, file) and raw (headers) mime header data
+// o String value containing a chunk of the file data
+// o Boolean which indicates whether the current chunk is the last one (eof)
+export function mimedecode_message_body(src, msg, file_cb) {
+ let len = 0, maxlen = +msg.env.CONTENT_LENGTH;
+ let header, field, parser;
+
+ parser = multipart_parser(msg.env.CONTENT_TYPE, function(what, buffer, length) {
+ if (what == parser.PART_INIT) {
+ field = {};
+ }
+ else if (what == parser.HEADER_NAME) {
+ header = lc(buffer);
+ }
+ else if (what == parser.HEADER_VALUE && header) {
+ if (lc(header) == 'content-disposition' &&
+ header_attribute(buffer, null) == 'form-data') {
+ field.name = header_attribute(buffer, 'name');
+ field.file = header_attribute(buffer, 'filename');
+ field[1] = field.file;
+ }
+
+ field.headers = field.headers || {};
+ field.headers[header] = buffer;
+ }
+ else if (what == parser.PART_BEGIN) {
+ return !field.file;
+ }
+ else if (what == parser.PART_DATA && field.name && length > 0) {
+ if (field.file) {
+ if (file_cb) {
+ file_cb(field, buffer, false);
+
+ msg.params[field.name] = msg.params[field.name] || field;
+ }
+ else {
+ if (!field.fd)
+ field.fd = mkstemp(field.name);
+
+ if (field.fd) {
+ field.fd.write(buffer);
+ msg.params[field.name] = msg.params[field.name] || field;
+ }
+ }
+ }
+ else {
+ field.value = buffer;
+ }
+ }
+ else if (what == parser.PART_END && field.name) {
+ if (field.file && msg.params[field.name]) {
+ if (file_cb)
+ file_cb(field, '', true);
+ else if (field.fd)
+ field.fd.seek(0);
+ }
+ else {
+ let val = msg.params[field.name];
+
+ if (type(val) == 'array')
+ push(val, field.value || '');
+ else if (val != null)
+ msg.params[field.name] = [ val, field.value || '' ];
+ else
+ msg.params[field.name] = field.value || '';
+ }
+
+ field = null;
+ }
+ else if (what == parser.ERROR) {
+ err = buffer;
+ }
+
+ return true;
+ }, HTTP_MAX_CONTENT);
+
+ while (true) {
+ let chunk = src();
+
+ len += length(chunk);
+
+ if (maxlen && len > maxlen + 2)
+ die('Message body size exceeds Content-Length');
+
+ if (!parser.parse(chunk))
+ die(err);
+
+ if (chunk == null)
+ break;
+ }
+};
+
+// Decode an urlencoded http message body with application/x-www-urlencoded
+// Content-Type. Stores all extracted data associated with its parameter name
+// in the params table within the given message object. Multiple parameter
+// values are stored as tables, ordinary ones as strings.
+export function urldecode_message_body(src, msg) {
+ let len = 0, maxlen = +msg.env.CONTENT_LENGTH;
+ let err, name, value, parser;
+
+ parser = urlencoded_parser(function (what, buffer, length) {
+ if (what == parser.TUPLE) {
+ name = null;
+ value = null;
+ }
+ else if (what == parser.NAME) {
+ name = _urldecode(buffer, DECODE_PLUS);
+ }
+ else if (what == parser.VALUE && name) {
+ let val = msg.params[name];
+
+ if (type(val) == 'array')
+ push(val, _urldecode(buffer, DECODE_PLUS) || '');
+ else if (val != null)
+ msg.params[name] = [ val, _urldecode(buffer, DECODE_PLUS) || '' ];
+ else
+ msg.params[name] = _urldecode(buffer, DECODE_PLUS) || '';
+ }
+ else if (what == parser.ERROR) {
+ err = buffer;
+ }
+
+ return true;
+ }, HTTP_MAX_CONTENT);
+
+ while (true) {
+ let chunk = src();
+
+ len += length(chunk);
+
+ if (maxlen && len > maxlen + 2)
+ die('Message body size exceeds Content-Length');
+
+ if (!parser.parse(chunk))
+ die(err);
+
+ if (chunk == null)
+ break;
+ }
+};
+
+// This function will examine the Content-Type within the given message object
+// to select the appropriate content decoder.
+// Currently the application/x-www-urlencoded and application/form-data
+// mime types are supported. If the encountered content encoding can't be
+// handled then the whole message body will be stored unaltered as 'content'
+// property within the given message object.
+export function parse_message_body(src, msg, filecb) {
+ if (msg.env.CONTENT_LENGTH || msg.env.REQUEST_METHOD == 'POST') {
+ let ctype = header_attribute(msg.env.CONTENT_TYPE, null);
+
+ // Is it multipart/mime ?
+ if (ctype == 'multipart/form-data')
+ return mimedecode_message_body(src, msg, filecb);
+
+ // Is it application/x-www-form-urlencoded ?
+ else if (ctype == 'application/x-www-form-urlencoded')
+ return urldecode_message_body(src, msg);
+
+ // Unhandled encoding
+ // If a file callback is given then feed it chunk by chunk, else
+ // store whole buffer in message.content
+ let sink;
+
+ // If we have a file callback then feed it
+ if (type(filecb) == 'function') {
+ let meta = {
+ name: 'raw',
+ encoding: msg.env.CONTENT_TYPE
+ };
+
+ sink = (chunk) => {
+ if (chunk != null)
+ return filecb(meta, chunk, false);
+ else
+ return filecb(meta, null, true);
+ };
+ }
+
+ // ... else append to .content
+ else {
+ let chunks = [], len = 0;
+
+ sink = (chunk) => {
+ len += length(chunk);
+
+ if (len > HTTP_MAX_CONTENT)
+ die('POST data exceeds maximum allowed length');
+
+ if (chunk != null) {
+ push(chunks, chunk);
+ }
+ else {
+ msg.content = join('', chunks);
+ msg.content_length = len;
+ }
+ };
+ }
+
+ // Pump data...
+ while (true) {
+ let chunk = src();
+
+ sink(chunk);
+
+ if (chunk == null)
+ break;
+ }
+
+ return true;
+ }
+
+ return false;
+};
+
+export function build_querystring(q) {
+ let s = [];
+
+ for (let k, v in q) {
+ push(s,
+ length(s) ? '&' : '?',
+ _urlencode(k, ENCODE_IF_NEEDED | ENCODE_FULL) || k,
+ '=',
+ _urlencode(v, ENCODE_IF_NEEDED | ENCODE_FULL) || v
+ );
+ }
+
+ return join('', s);
+};
+
+export function urlencode(value) {
+ if (value == null)
+ return null;
+
+ value = '' + value;
+
+ return _urlencode(value, ENCODE_IF_NEEDED | ENCODE_FULL) || value;
+};
+
+export function urldecode(value, decode_plus) {
+ if (value == null)
+ return null;
+
+ value = '' + value;
+
+ return _urldecode(value, DECODE_IF_NEEDED | (decode_plus ? DECODE_PLUS : 0)) || value;
+};
+
+// Extract and split urlencoded data pairs, separated bei either "&" or ";"
+// from given url or string. Returns a table with urldecoded values.
+// Simple parameters are stored as string values associated with the parameter
+// name within the table. Parameters with multiple values are stored as array
+// containing the corresponding values.
+export function urldecode_params(url, tbl) {
+ let parser, name, value;
+ let params = tbl || {};
+
+ parser = urlencoded_parser(function(what, buffer, length) {
+ if (what == parser.TUPLE) {
+ name = null;
+ value = null;
+ }
+ else if (what == parser.NAME) {
+ name = _urldecode(buffer);
+ }
+ else if (what == parser.VALUE && name) {
+ params[name] = _urldecode(buffer) || '';
+ }
+
+ return true;
+ });
+
+ if (parser) {
+ let m = match(('' + (url || '')), /[^?]*$/);
+
+ parser.parse(m ? m[0] : '');
+ parser.parse(null);
+ }
+
+ return params;
+};
+
+// Encode each key-value-pair in given table to x-www-urlencoded format,
+// separated by '&'. Tables are encoded as parameters with multiple values by
+// repeating the parameter name with each value.
+export function urlencode_params(tbl) {
+ let enc = [];
+
+ for (let k, v in tbl) {
+ if (type(v) == 'array') {
+ for (let v2 in v) {
+ if (length(enc))
+ push(enc, '&');
+
+ push(enc,
+ _urlencode(k),
+ '=',
+ _urlencode('' + v2));
+ }
+ }
+ else {
+ if (length(enc))
+ push(enc, '&');
+
+ push(enc,
+ _urlencode(k),
+ '=',
+ _urlencode('' + v));
+ }
+ }
+
+ return join(enc, '');
+};
+
+
+// Default IO routines suitable for CGI invocation
+let avail_len = +getenv('CONTENT_LENGTH');
+
+const default_source = () => {
+ let rlen = min(avail_len, 4096);
+
+ if (rlen == 0) {
+ stdin.close();
+
+ return null;
+ }
+
+ let chunk = stdin.read(rlen);
+
+ if (chunk == null)
+ die(`Input read error: ${fserror()}`);
+
+ avail_len -= length(chunk);
+
+ return chunk;
+};
+
+const default_sink = (...chunks) => {
+ for (let chunk in chunks)
+ stdout.write(chunk);
+
+ stdout.flush();
+};
+
+const Class = {
+ formvalue: function(name, noparse) {
+ if (!noparse && !this.parsed_input)
+ this._parse_input();
+
+ if (name != null)
+ return this.message.params[name];
+ else
+ return this.message.params;
+ },
+
+ formvaluetable: function(prefix) {
+ let vals = {};
+
+ prefix = (prefix || '') + '.';
+
+ if (!this.parsed_input)
+ this._parse_input();
+
+ for (let k, v in this.message.params)
+ if (index(k, prefix) == 0)
+ vals[substr(k, length(prefix))] = '' + v;
+
+ return vals;
+ },
+
+ content: function() {
+ if (!this.parsed_input)
+ this._parse_input();
+
+ return this.message.content;
+ },
+
+ getcookie: function(name) {
+ return header_attribute(`cookie; ${this.getenv('HTTP_COOKIE') ?? ''}`, name);
+ },
+
+ getenv: function(name) {
+ if (name != null)
+ return this.message.env[name];
+ else
+ return this.message.env;
+ },
+
+ setfilehandler: function(callback) {
+ if (type(callback) == 'resource' && type(callback.call) == 'function')
+ this.filehandler = (...args) => callback.call(...args);
+ else if (type(callback) == 'function')
+ this.filehandler = callback;
+ else
+ die('Invalid callback argument for setfilehandler()');
+
+ if (!this.parsed_input)
+ return;
+
+ // If input has already been parsed then uploads are stored as unlinked
+ // temporary files pointed to by open file handles in the parameter
+ // value table. Loop all params, and invoke the file callback for any
+ // param with an open file handle.
+ for (let name, value in this.message.params) {
+ while (value?.fd) {
+ let data = value.fd.read(1024);
+ let eof = (data == null || data == '');
+
+ callback(value, data, eof);
+
+ if (eof) {
+ value.fd.close();
+ value.fd = null;
+ }
+ }
+ }
+ },
+
+ _parse_input: function() {
+ parse_message_body(
+ this.input,
+ this.message,
+ this.filehandler
+ );
+
+ this.parsed_input = true;
+ },
+
+ close: function() {
+ this.write_headers();
+ this.closed = true;
+ },
+
+ header: function(key, value) {
+ this.headers ??= {};
+ this.headers[lc(key)] = value;
+ },
+
+ prepare_content: function(mime) {
+ if (!this.headers?.['content-type']) {
+ if (mime == 'application/xhtml+xml') {
+ if (index(this.getenv('HTTP_ACCEPT'), mime) == -1) {
+ mime = 'text/html; charset=UTF-8';
+ this.header('Vary', 'Accept');
+ }
+ }
+
+ this.header('Content-Type', mime);
+ }
+ },
+
+ status: function(code, message) {
+ this.status_code = code ?? 200;
+ this.status_message = message ?? 'OK';
+ },
+
+ write_headers: function() {
+ if (this.eoh)
+ return;
+
+ if (!this.status_code)
+ this.status();
+
+ if (!this.headers?.['content-type'])
+ this.header('Content-Type', 'text/html; charset=UTF-8');
+
+ if (!this.headers?.['cache-control']) {
+ this.header('Cache-Control', 'no-cache');
+ this.header('Expires', '0');
+ }
+
+ if (!this.headers?.['x-frame-options'])
+ this.header('X-Frame-Options', 'SAMEORIGIN');
+
+ if (!this.headers?.['x-xss-protection'])
+ this.header('X-XSS-Protection', '1; mode=block');
+
+ if (!this.headers?.['x-content-type-options'])
+ this.header('X-Content-Type-Options', 'nosniff');
+
+ this.output('Status: ');
+ this.output(this.status_code);
+ this.output(' ');
+ this.output(this.status_message);
+ this.output('\r\n');
+
+ for (let k, v in this.headers) {
+ this.output(k);
+ this.output(': ');
+ this.output(v);
+ this.output('\r\n');
+ }
+
+ this.output('\r\n');
+
+ this.eoh = true;
+ },
+
+ // If the content chunk is nil this function will automatically invoke close.
+ write: function(content) {
+ if (content != null) {
+ this.write_headers();
+ this.output(content);
+
+ return true;
+ }
+ else {
+ this.close();
+ }
+ },
+
+ redirect: function(url) {
+ this.status(302, 'Found');
+ this.header('Location', url ?? '/');
+ this.close();
+ },
+
+ write_json: function(value) {
+ this.write(sprintf('%.J', value));
+ },
+
+ urlencode,
+ urlencode_params,
+
+ urldecode,
+ urldecode_params,
+
+ build_querystring
+};
+
+export default function(env, sourcein, sinkout) {
+ return proto({
+ input: sourcein ?? default_source,
+ output: sinkout ?? default_sink,
+
+ // File handler nil by default to let .content() work
+ file: null,
+
+ // HTTP-Message table
+ message: {
+ env,
+ headers: {},
+ params: urldecode_params(env?.QUERY_STRING ?? '')
+ },
+
+ parsed_input: false
+ }, Class);
+};
--- /dev/null
+// Copyright 2022 Jo-Philipp Wich <jo@mein.io>
+// Licensed to the public under the Apache License 2.0.
+
+import { access, basename } from 'fs';
+import { cursor } from 'uci';
+
+const template_directory = '/usr/share/ucode/luci/template';
+
+function cut_message(msg) {
+ return trim(replace(msg, /\n--\n.*$/, ''));
+}
+
+function format_nested_exception(ex) {
+ let msg = replace(cut_message(ex.message), /(\n+( \|[^\n]*(\n|$))+)/, (m, m1) => {
+ m1 = replace(m1, /(^|\n) \| ?/g, '$1');
+ m = match(m1, /^(.+?)\n(In.*line \d+, byte \d+:.+)$/);
+
+ return `
+ <div class="exception">
+ <div class="message">${cut_message(m ? m[1] : m1)}</div>
+ ${m ? `<pre class="context">${trim(m[2])}</pre>` : ''}
+ </div>
+ `;
+ });
+
+ return `
+ <div class="exception">
+ <div class="message">${cut_message(msg)}</div>
+ <pre class="context">${trim(ex.stacktrace[0].context)}</pre>
+ </div>
+ `;
+}
+
+function format_lua_exception(ex) {
+ let m = match(ex.message, /^(.+)\nstack traceback:\n(.+)$/);
+
+ return `
+ <div class="exception">
+ <div class="message">${cut_message(m ? m[1] : ex.message)}</div>
+ <pre class="context">${m ? trim(replace(m[2], /(^|\n)\t/g, '$1')) : ex.stacktrace[0].context}</pre>
+ </div>
+ `;
+}
+
+const Class = {
+ init_lua: function() {
+ if (!this.L) {
+ this.L = this.env.dispatcher.load_luabridge().create();
+ this.L.set('L', proto({ write: print }, this.env));
+ this.L.invoke('require', 'luci.ucodebridge');
+
+ this.env.lua_active = true;
+ }
+
+ return this.L;
+ },
+
+ render_ucode: function(path, scope) {
+ let tmplfunc = loadfile(path, { raw_mode: false });
+ call(tmplfunc, null, scope ?? {});
+ },
+
+ render_lua: function(path, scope) {
+ let vm = this.init_lua();
+ let render = vm.get('_G', 'luci', 'ucodebridge', 'render');
+
+ render.call(path, scope ?? {});
+ },
+
+ trycompile: function(path) {
+ let ucode_path = `${template_directory}/${path}.ut`;
+
+ if (access(ucode_path)) {
+ try {
+ loadfile(ucode_path, { raw_mode: false });
+ }
+ catch (ucode_err) {
+ return `Unable to compile '${path}' as ucode template: ${format_nested_exception(ucode_err)}`;
+ }
+ }
+ else {
+ try {
+ let vm = this.init_lua();
+ let compile = vm.get('_G', 'luci', 'ucodebridge', 'compile');
+
+ compile.call(path);
+ }
+ catch (lua_err) {
+ return `Unable to compile '${path}' as Lua template: ${format_lua_exception(lua_err)}`;
+ }
+ }
+
+ return true;
+ },
+
+ render_any: function(path, scope) {
+ let ucode_path = `${template_directory}/${path}.ut`;
+
+ scope = proto(scope ?? {}, this.scopes[-1]);
+
+ push(this.scopes, scope);
+
+ try {
+ if (access(ucode_path))
+ this.render_ucode(ucode_path, scope);
+ else
+ this.render_lua(path, scope);
+ }
+ catch (ex) {
+ pop(this.scopes);
+ die(ex);
+ }
+
+ pop(this.scopes);
+ },
+
+ render: function(path, scope) {
+ let self = this;
+ this.env.http.write(render(() => self.render_any(path, scope)));
+ },
+
+ call: function(modname, method, ...args) {
+ let vm = this.init_lua();
+ let lcall = vm.get('_G', 'luci', 'ucodebridge', 'call');
+
+ return lcall.call(modname, method, ...args);
+ }
+};
+
+export default function(env) {
+ const self = proto({ env: env ??= {}, scopes: [ proto(env, global) ], global }, Class);
+ const uci = cursor();
+
+ // determine theme
+ let media = uci.get('luci', 'main', 'mediaurlbase');
+ let status = self.trycompile(`themes/${basename(media)}/header`);
+
+ if (status !== true) {
+ media = null;
+ self.env.media_error = status;
+
+ for (let k, v in uci.get_all('luci', 'themes')) {
+ if (substr(k, 0, 1) != '.') {
+ status = self.trycompile(`themes/${basename(v)}/header`);
+
+ if (status === true) {
+ media = v;
+ break;
+ }
+ }
+ }
+
+ if (!media)
+ error500(`Unable to render any theme header template, last error was:\n${status}`);
+ }
+
+ self.env.media = media;
+ self.env.theme = basename(media);
+ self.env.resource = uci.get('luci', 'main', 'resourcebase');
+ self.env.include = (...args) => self.render_any(...args);
+
+ return self;
+};
--- /dev/null
+// Copyright 2022 Jo-Philipp Wich <jo@mein.io>
+// Licensed to the public under the Apache License 2.0.
+
+import { basename, readlink, readfile, open, popen, stat, glob } from 'fs';
+
+export function process_list() {
+ const top = popen('/bin/busybox top -bn1');
+ let line, list = [];
+
+ for (let line = top.read('line'); length(line); line = top.read('line')) {
+ let m = match(trim(line), /^([0-9]+) +([0-9]+) +(.+) +([RSDZTWI][<NW ][<N ]) +([0-9]+m?) +([0-9]+%) +([0-9]+%) +(.+)$/);
+
+ if (m && m[8] != '/bin/busybox top -bn1') {
+ push(list, {
+ PID: m[1],
+ PPID: m[2],
+ USER: trim(m[3]),
+ STAT: m[4],
+ VSZ: m[5],
+ '%MEM': m[6],
+ '%CPU': m[7],
+ COMMAND: m[8]
+ });
+ }
+ }
+
+ top.close();
+
+ return list;
+};
+
+export function conntrack_list(callback) {
+ const etcpr = open('/etc/protocols');
+ const protos = {};
+
+ if (etcpr) {
+ for (let line = etcpr.read('line'); length(line); line = etcpr.read('line')) {
+ const m = match(line, /^([^# \t\n]+)\s+([0-9]+)\s+/);
+
+ if (m)
+ protos[m[2]] = m[1];
+ }
+
+ etcpr.close();
+ }
+
+ const nfct = open('/proc/net/nf_conntrack', 'r');
+ let connt;
+
+ if (nfct) {
+ for (let line = nfct.read('line'); length(line); line = nfct.read('line')) {
+ let m = match(line, /^(ipv[46]) +([0-9]+) +\S+ +([0-9]+)( +.+)\n$/);
+
+ if (!m)
+ continue;
+
+ let fam = m[1];
+ let l3 = m[2];
+ let l4 = m[3];
+ let tuples = m[4];
+ let timeout = null;
+
+ m = match(tuples, /^ +([0-9]+)( .+)$/);
+
+ if (m) {
+ timeout = m[1];
+ tuples = m[2];
+ }
+
+ if (index(tuples, 'TIME_WAIT') !== -1)
+ continue;
+
+ let e = {
+ bytes: 0,
+ packets: 0,
+ layer3: fam,
+ layer4: protos[l4] ?? 'unknown',
+ timeout: +timeout
+ };
+
+ for (let kv in match(tuples, / (\w+)=(\S+)/g)) {
+ switch (kv[1]) {
+ case 'bytes':
+ case 'packets':
+ e[kv[1]] += +kv[2];
+ break;
+
+ case 'src':
+ case 'dst':
+ e[kv[1]] ??= arrtoip(iptoarr(kv[2]));
+ break;
+
+ case 'sport':
+ case 'dport':
+ e[kv[1]] ??= +kv[2];
+ break;
+
+ default:
+ e[kv[1]] = kv[2];
+ }
+ }
+
+ if (callback)
+ callback(e);
+ else
+ push(connt ??= [], e);
+ }
+
+ nfct.close();
+ }
+
+ return callback ? true : (connt ?? []);
+};
+
+export function init_list() {
+ return map(filter(glob('/etc/init.d/*'), path => {
+ const s = stat(path);
+
+ return s?.type == 'file' && s?.perm?.user_exec;
+ }), basename);
+};
+
+export function init_index(name) {
+ const src = readfile(`/etc/init.d/${basename(name)}`, 2048);
+ const idx = [];
+
+ for (let m in match(src, /^[[:space:]]*(START|STOP)=('[0-9][0-9]'|"[0-9][0-9]"|[0-9][0-9])[[:space:]]*$/gs)) {
+ switch (m[1]) {
+ case 'START': idx[0] = +trim(m[2], '"\''); break;
+ case 'STOP': idx[1] = +trim(m[2], '"\''); break;
+ }
+ }
+
+ return length(idx) ? idx : null;
+};
+
+export function init_enabled(name) {
+ for (let path in glob(`/etc/rc.d/[SK][0-9][0-9]${basename(name)}`)) {
+ const ln = readlink(path);
+ const s1 = stat(index(ln, '/') == 0 ? ln : `/etc/rc.d/${ln}`);
+ const s2 = stat(`/etc/init.d/${basename(name)}`);
+
+ if (s1?.inode == s2?.inode && s1?.type == 'file' && s1?.perm?.user_exec)
+ return true;
+ }
+
+ return false;
+};
+
+export function init_action(name, action) {
+ const s = stat(`/etc/init.d/${basename(name)}`);
+
+ if (s?.type != 'file' || s?.user_exec == false)
+ return false;
+
+ return system(`env -i /etc/init.d/${basename(name)} ${action} >/dev/null`);
+};
--- /dev/null
+{#
+ Copyright 2015-2022 Jo-Philipp Wich <jo@mein.io>
+ Licensed to the public under the Apache License 2.0.
+-#}
+
+{% include('header') %}
+
+<h2 name="content">{{ _('Form token mismatch') }}</h2>
+<br />
+
+<p class="alert-message">{{ _('The submitted security token is invalid or already expired!') }}</p>
+
+<p>{{ _(`
+ In order to prevent unauthorized access to the system, your request has
+ been blocked. Click "Continue »" below to return to the previous page.
+`) }}</p>
+
+<hr />
+
+<p class="right">
+ <strong><a href="#" onclick="window.history.back();">Continue »</a></strong>
+</p>
+
+{% include('footer') %}
--- /dev/null
+{#
+ Copyright 2008 Steven Barth <steven@midlink.org>
+ Copyright 2008-2022 Jo-Philipp Wich <jo@mein.io>
+ Licensed to the public under the Apache License 2.0.
+-#}
+
+{% include('header') %}
+
+<h2 name="content">404 {{ _('Not Found') }}</h2>
+<p>{{ _('Sorry, the object you requested was not found.') }}</p>
+<p>{{ message }}</p>
+<tt>{{ _('Unable to dispatch') }}: {{ dispatcher.build_url(...ctx.request_path) }}</tt>
+
+{% include('footer') %}
--- /dev/null
+{#
+ Copyright 2022 Jo-Philipp Wich <jo@mein.io>
+ Licensed to the public under the Apache License 2.0.
+-#}
+
+<!--]]>--><!--'>--><!--">-->
+<style type="text/css">
+ body {
+ line-height: 1.5;
+ font-size: 14px;
+ font-family: sans-serif;
+ }
+
+ .error500 * {
+ margin: 0;
+ padding: 0;
+ color: inherit;
+ }
+
+ .error500 {
+ box-sizing: border-box;
+ position: fixed;
+ z-index: 999999;
+ top: 0;
+ left: 0;
+ width: 100vw;
+ height: 100vh;
+ overflow: auto;
+ background: #ffe;
+ color: #f00 !important;
+ padding: 1em;
+ }
+
+ .error500 h1 {
+ margin-bottom: .5em;
+ }
+
+ .error500 .exception {
+ font-weight: normal;
+ white-space: normal;
+ margin: .25em;
+ padding: .5em;
+ border: 1px solid #f00;
+ background: rgba(204, 204, 204, .2);
+ }
+
+ .error500 .message {
+ font-weight: bold;
+ white-space: pre-line;
+ }
+
+ .error500 .context {
+ margin-top: 2em;
+ }
+</style>
+
+<div class="error500">
+ <h1>{{ title }}</h1>
+ <div class="message">{{ message }}</div>
+
+ {% if (exception): %}
+ <div class="exception">
+ <div class="message">{{ exception.message }}</div>
+ <pre class="context">{{ exception.stacktrace[0].context }}</pre>
+ </div>
+ {% endif %}
+</div>
--- /dev/null
+{#
+ Copyright 2022 Jo-Philipp Wich <jo@mein.io>
+ Licensed to the public under the Apache License 2.0.
+-#}
+
+{% const rollback = dispatcher.rollback_pending() %}
+{% if (rollback || trigger_apply || trigger_revert): %}
+ <script type="text/javascript">
+ document.addEventListener("luci-loaded", function() {
+ {% if (trigger_apply): %}
+ L.ui.changes.apply(true);
+ {% elif (trigger_revert): %}
+ L.ui.changes.revert();
+ {% else %}
+ L.ui.changes.confirm(true, Date.now() + {{rollback.remaining * 1000}}, {{sprintf('%J', rollback.token)}});
+ {% endif %}
+ });
+ </script>
+{% endif %}
+
+{% if (media_error): %}
+ <script type="text/javascript">
+ L.require('ui').then(function(ui) {
+ ui.showIndicator('media_error', _('Theme fallback'), function(ev) {
+ ui.showModal(_('Error loading theme'), [
+ E('p', [
+ _('A fallback is used since the configured theme failed to load with the error below.')
+ ]),
+ E('hr'),
+ E('div', { 'style': 'white-space:pre-line' }, {{ sprintf('%J', trim(media_error)) }}),
+ E('div', { 'class': 'right' }, [
+ E('button', { 'class': 'btn cbi-button', 'click': ui.hideModal }, _('Dismiss'))
+ ])
+ ]);
+ });
+ });
+ </script>
+{% endif %}
+
+{% include(`themes/${theme}/footer`) %}
+
+<!-- Lua compatibility mode active: {{ lua_active ? 'yes' : 'no' }} -->
--- /dev/null
+{#
+ Copyright 2022 Jo-Philipp Wich <jo@mein.io>
+ Licensed to the public under the Apache License 2.0.
+-#}
+
+{%
+ include(`themes/${theme}/header`);
+-%}
+
+<script type="text/javascript" src="{{ resource }}/promis.min.js"></script>
+<script type="text/javascript" src="{{ resource }}/luci.js"></script>
+<script type="text/javascript">
+ L = new LuCI({{ {
+ media : media,
+ resource : resource,
+ scriptname : http.getenv("SCRIPT_NAME"),
+ pathinfo : http.getenv("PATH_INFO"),
+ documentroot : http.getenv("DOCUMENT_ROOT"),
+ requestpath : ctx.request_path,
+ dispatchpath : ctx.path,
+ pollinterval : +config.main.pollinterval || 5,
+ ubuspath : config.main.ubuspath || '/ubus/',
+ sessionid : ctx.authsession,
+ token : ctx.authtoken,
+ nodespec : node,
+ apply_rollback : max(+config.apply.rollback || 90, 90),
+ apply_holdoff : max(+config.apply.holdoff || 4, 1),
+ apply_timeout : max(+config.apply.timeout || 5, 1),
+ apply_display : max(+config.apply.display || 1.5, 1),
+ rollback_token : rollback_token
+ } }});
+</script>
--- /dev/null
+{#
+ Copyright 2008 Steven Barth <steven@midlink.org>
+ Copyright 2008-2012 Jo-Philipp Wich <jow@openwrt.org>
+ Licensed to the public under the Apache License 2.0.
+-#}
+
+{% include('header') %}
+
+<form method="post">
+ {% if (fuser): %}
+ <div class="alert-message warning">
+ <p>{{ _('Invalid username and/or password! Please try again.') }}</p>
+ </div>
+ {% endif %}
+
+ <div class="cbi-map">
+ <h2 name="content">{{ _('Authorization Required') }}</h2>
+ <div class="cbi-map-descr">
+ {{ _('Please enter your username and password.') }}
+ </div>
+ <div class="cbi-section"><div class="cbi-section-node">
+ <div class="cbi-value">
+ <label class="cbi-value-title">{{ _('Username') }}</label>
+ <div class="cbi-value-field">
+ <input class="cbi-input-text" type="text" name="luci_username" value="{{ entityencode(duser, true) }}" />
+ </div>
+ </div>
+ <div class="cbi-value cbi-value-last">
+ <label class="cbi-value-title">{{ _('Password') }}</label>
+ <div class="cbi-value-field">
+ <input class="cbi-input-text" type="password" name="luci_password" />
+ </div>
+ </div>
+ </div></div>
+ </div>
+
+ <div class="cbi-page-actions">
+ <input type="submit" value="{{ _('Login') }}" class="btn cbi-button cbi-button-apply" />
+ <input type="reset" value="{{ _('Reset') }}" class="btn cbi-button cbi-button-reset" />
+ </div>
+</form>
+
+{%
+ let https_ports = uci.get('uhttpd', 'main', 'listen_https') ?? [];
+
+ https_ports = uniq(filter(
+ map(
+ (type(https_ports) == 'string') ? split(https_port, /\s+/) : https_ports,
+ e => +match(e, /\d+$/)?.[0]
+ ),
+ p => (p >= 0 && p <= 65535)
+ ));
+%}
+
+<script type="text/javascript">//<![CDATA[
+ var input = document.getElementsByName('luci_password')[0];
+
+ if (input)
+ input.focus();
+
+ if (document.location.protocol != 'https:') {
+ {{ https_ports }}.forEach(function(port) {
+ var url = 'https://' + window.location.hostname + ':' + port + window.location.pathname;
+ var img = new Image();
+
+ img.onload = function() { window.location = url };
+ img.src = 'https://' + window.location.hostname + ':' + port + '{{ resource }}/icons/loading.gif?' + Math.random();
+
+ setTimeout(function() { img.src = '' }, 5000);
+ });
+ }
+//]]></script>
+
+{% include('footer') %}
--- /dev/null
+{% include('header') %}
+
+<div id="view">
+ <div class="spinning">{{ _('Loading view…') }}</div>
+ <script type="text/javascript">
+ L.require('ui').then(function(ui) {
+ ui.instantiateView('{{ view }}');
+ });
+ </script>
+</div>
+
+{% include('footer') %}
--- /dev/null
+{%
+
+import dispatch from 'luci.dispatcher';
+import request from 'luci.http';
+
+global.handle_request = function(env) {
+ let req = request(env, uhttpd.recv, uhttpd.send);
+
+ dispatch(req);
+
+ req.close();
+};
--- /dev/null
+// Autogenerated by zoneinfo2ucode.pl
+
+export default {
+ 'Africa/Abidjan': 'GMT0',
+ 'Africa/Accra': 'GMT0',
+ 'Africa/Addis Ababa': 'EAT-3',
+ 'Africa/Algiers': 'CET-1',
+ 'Africa/Asmara': 'EAT-3',
+ 'Africa/Bamako': 'GMT0',
+ 'Africa/Bangui': 'WAT-1',
+ 'Africa/Banjul': 'GMT0',
+ 'Africa/Bissau': 'GMT0',
+ 'Africa/Blantyre': 'CAT-2',
+ 'Africa/Brazzaville': 'WAT-1',
+ 'Africa/Bujumbura': 'CAT-2',
+ 'Africa/Cairo': 'EET-2',
+ 'Africa/Casablanca': '<+01>-1',
+ 'Africa/Ceuta': 'CET-1CEST,M3.5.0,M10.5.0/3',
+ 'Africa/Conakry': 'GMT0',
+ 'Africa/Dakar': 'GMT0',
+ 'Africa/Dar es Salaam': 'EAT-3',
+ 'Africa/Djibouti': 'EAT-3',
+ 'Africa/Douala': 'WAT-1',
+ 'Africa/El Aaiun': '<+01>-1',
+ 'Africa/Freetown': 'GMT0',
+ 'Africa/Gaborone': 'CAT-2',
+ 'Africa/Harare': 'CAT-2',
+ 'Africa/Johannesburg': 'SAST-2',
+ 'Africa/Juba': 'CAT-2',
+ 'Africa/Kampala': 'EAT-3',
+ 'Africa/Khartoum': 'CAT-2',
+ 'Africa/Kigali': 'CAT-2',
+ 'Africa/Kinshasa': 'WAT-1',
+ 'Africa/Lagos': 'WAT-1',
+ 'Africa/Libreville': 'WAT-1',
+ 'Africa/Lome': 'GMT0',
+ 'Africa/Luanda': 'WAT-1',
+ 'Africa/Lubumbashi': 'CAT-2',
+ 'Africa/Lusaka': 'CAT-2',
+ 'Africa/Malabo': 'WAT-1',
+ 'Africa/Maputo': 'CAT-2',
+ 'Africa/Maseru': 'SAST-2',
+ 'Africa/Mbabane': 'SAST-2',
+ 'Africa/Mogadishu': 'EAT-3',
+ 'Africa/Monrovia': 'GMT0',
+ 'Africa/Nairobi': 'EAT-3',
+ 'Africa/Ndjamena': 'WAT-1',
+ 'Africa/Niamey': 'WAT-1',
+ 'Africa/Nouakchott': 'GMT0',
+ 'Africa/Ouagadougou': 'GMT0',
+ 'Africa/Porto-Novo': 'WAT-1',
+ 'Africa/Sao Tome': 'GMT0',
+ 'Africa/Tripoli': 'EET-2',
+ 'Africa/Tunis': 'CET-1',
+ 'Africa/Windhoek': 'CAT-2',
+ 'America/Adak': 'HST10HDT,M3.2.0,M11.1.0',
+ 'America/Anchorage': 'AKST9AKDT,M3.2.0,M11.1.0',
+ 'America/Anguilla': 'AST4',
+ 'America/Antigua': 'AST4',
+ 'America/Araguaina': '<-03>3',
+ 'America/Argentina/Buenos Aires': '<-03>3',
+ 'America/Argentina/Catamarca': '<-03>3',
+ 'America/Argentina/Cordoba': '<-03>3',
+ 'America/Argentina/Jujuy': '<-03>3',
+ 'America/Argentina/La Rioja': '<-03>3',
+ 'America/Argentina/Mendoza': '<-03>3',
+ 'America/Argentina/Rio Gallegos': '<-03>3',
+ 'America/Argentina/Salta': '<-03>3',
+ 'America/Argentina/San Juan': '<-03>3',
+ 'America/Argentina/San Luis': '<-03>3',
+ 'America/Argentina/Tucuman': '<-03>3',
+ 'America/Argentina/Ushuaia': '<-03>3',
+ 'America/Aruba': 'AST4',
+ 'America/Asuncion': '<-04>4<-03>,M10.1.0/0,M3.4.0/0',
+ 'America/Atikokan': 'EST5',
+ 'America/Bahia': '<-03>3',
+ 'America/Bahia Banderas': 'CST6CDT,M4.1.0,M10.5.0',
+ 'America/Barbados': 'AST4',
+ 'America/Belem': '<-03>3',
+ 'America/Belize': 'CST6',
+ 'America/Blanc-Sablon': 'AST4',
+ 'America/Boa Vista': '<-04>4',
+ 'America/Bogota': '<-05>5',
+ 'America/Boise': 'MST7MDT,M3.2.0,M11.1.0',
+ 'America/Cambridge Bay': 'MST7MDT,M3.2.0,M11.1.0',
+ 'America/Campo Grande': '<-04>4',
+ 'America/Cancun': 'EST5',
+ 'America/Caracas': '<-04>4',
+ 'America/Cayenne': '<-03>3',
+ 'America/Cayman': 'EST5',
+ 'America/Chicago': 'CST6CDT,M3.2.0,M11.1.0',
+ 'America/Chihuahua': 'MST7MDT,M4.1.0,M10.5.0',
+ 'America/Costa Rica': 'CST6',
+ 'America/Creston': 'MST7',
+ 'America/Cuiaba': '<-04>4',
+ 'America/Curacao': 'AST4',
+ 'America/Danmarkshavn': 'GMT0',
+ 'America/Dawson': 'MST7',
+ 'America/Dawson Creek': 'MST7',
+ 'America/Denver': 'MST7MDT,M3.2.0,M11.1.0',
+ 'America/Detroit': 'EST5EDT,M3.2.0,M11.1.0',
+ 'America/Dominica': 'AST4',
+ 'America/Edmonton': 'MST7MDT,M3.2.0,M11.1.0',
+ 'America/Eirunepe': '<-05>5',
+ 'America/El Salvador': 'CST6',
+ 'America/Fort Nelson': 'MST7',
+ 'America/Fortaleza': '<-03>3',
+ 'America/Glace Bay': 'AST4ADT,M3.2.0,M11.1.0',
+ 'America/Goose Bay': 'AST4ADT,M3.2.0,M11.1.0',
+ 'America/Grand Turk': 'EST5EDT,M3.2.0,M11.1.0',
+ 'America/Grenada': 'AST4',
+ 'America/Guadeloupe': 'AST4',
+ 'America/Guatemala': 'CST6',
+ 'America/Guayaquil': '<-05>5',
+ 'America/Guyana': '<-04>4',
+ 'America/Halifax': 'AST4ADT,M3.2.0,M11.1.0',
+ 'America/Havana': 'CST5CDT,M3.2.0/0,M11.1.0/1',
+ 'America/Hermosillo': 'MST7',
+ 'America/Indiana/Indianapolis': 'EST5EDT,M3.2.0,M11.1.0',
+ 'America/Indiana/Knox': 'CST6CDT,M3.2.0,M11.1.0',
+ 'America/Indiana/Marengo': 'EST5EDT,M3.2.0,M11.1.0',
+ 'America/Indiana/Petersburg': 'EST5EDT,M3.2.0,M11.1.0',
+ 'America/Indiana/Tell City': 'CST6CDT,M3.2.0,M11.1.0',
+ 'America/Indiana/Vevay': 'EST5EDT,M3.2.0,M11.1.0',
+ 'America/Indiana/Vincennes': 'EST5EDT,M3.2.0,M11.1.0',
+ 'America/Indiana/Winamac': 'EST5EDT,M3.2.0,M11.1.0',
+ 'America/Inuvik': 'MST7MDT,M3.2.0,M11.1.0',
+ 'America/Iqaluit': 'EST5EDT,M3.2.0,M11.1.0',
+ 'America/Jamaica': 'EST5',
+ 'America/Juneau': 'AKST9AKDT,M3.2.0,M11.1.0',
+ 'America/Kentucky/Louisville': 'EST5EDT,M3.2.0,M11.1.0',
+ 'America/Kentucky/Monticello': 'EST5EDT,M3.2.0,M11.1.0',
+ 'America/Kralendijk': 'AST4',
+ 'America/La Paz': '<-04>4',
+ 'America/Lima': '<-05>5',
+ 'America/Los Angeles': 'PST8PDT,M3.2.0,M11.1.0',
+ 'America/Lower Princes': 'AST4',
+ 'America/Maceio': '<-03>3',
+ 'America/Managua': 'CST6',
+ 'America/Manaus': '<-04>4',
+ 'America/Marigot': 'AST4',
+ 'America/Martinique': 'AST4',
+ 'America/Matamoros': 'CST6CDT,M3.2.0,M11.1.0',
+ 'America/Mazatlan': 'MST7MDT,M4.1.0,M10.5.0',
+ 'America/Menominee': 'CST6CDT,M3.2.0,M11.1.0',
+ 'America/Merida': 'CST6CDT,M4.1.0,M10.5.0',
+ 'America/Metlakatla': 'AKST9AKDT,M3.2.0,M11.1.0',
+ 'America/Mexico City': 'CST6CDT,M4.1.0,M10.5.0',
+ 'America/Miquelon': '<-03>3<-02>,M3.2.0,M11.1.0',
+ 'America/Moncton': 'AST4ADT,M3.2.0,M11.1.0',
+ 'America/Monterrey': 'CST6CDT,M4.1.0,M10.5.0',
+ 'America/Montevideo': '<-03>3',
+ 'America/Montserrat': 'AST4',
+ 'America/Nassau': 'EST5EDT,M3.2.0,M11.1.0',
+ 'America/New York': 'EST5EDT,M3.2.0,M11.1.0',
+ 'America/Nipigon': 'EST5EDT,M3.2.0,M11.1.0',
+ 'America/Nome': 'AKST9AKDT,M3.2.0,M11.1.0',
+ 'America/Noronha': '<-02>2',
+ 'America/North Dakota/Beulah': 'CST6CDT,M3.2.0,M11.1.0',
+ 'America/North Dakota/Center': 'CST6CDT,M3.2.0,M11.1.0',
+ 'America/North Dakota/New Salem': 'CST6CDT,M3.2.0,M11.1.0',
+ 'America/Nuuk': '<-03>3<-02>,M3.5.0/-2,M10.5.0/-1',
+ 'America/Ojinaga': 'MST7MDT,M3.2.0,M11.1.0',
+ 'America/Panama': 'EST5',
+ 'America/Pangnirtung': 'EST5EDT,M3.2.0,M11.1.0',
+ 'America/Paramaribo': '<-03>3',
+ 'America/Phoenix': 'MST7',
+ 'America/Port of Spain': 'AST4',
+ 'America/Port-au-Prince': 'EST5EDT,M3.2.0,M11.1.0',
+ 'America/Porto Velho': '<-04>4',
+ 'America/Puerto Rico': 'AST4',
+ 'America/Punta Arenas': '<-03>3',
+ 'America/Rainy River': 'CST6CDT,M3.2.0,M11.1.0',
+ 'America/Rankin Inlet': 'CST6CDT,M3.2.0,M11.1.0',
+ 'America/Recife': '<-03>3',
+ 'America/Regina': 'CST6',
+ 'America/Resolute': 'CST6CDT,M3.2.0,M11.1.0',
+ 'America/Rio Branco': '<-05>5',
+ 'America/Santarem': '<-03>3',
+ 'America/Santiago': '<-04>4<-03>,M9.1.6/24,M4.1.6/24',
+ 'America/Santo Domingo': 'AST4',
+ 'America/Sao Paulo': '<-03>3',
+ 'America/Scoresbysund': '<-01>1<+00>,M3.5.0/0,M10.5.0/1',
+ 'America/Sitka': 'AKST9AKDT,M3.2.0,M11.1.0',
+ 'America/St Barthelemy': 'AST4',
+ 'America/St Johns': 'NST3:30NDT,M3.2.0,M11.1.0',
+ 'America/St Kitts': 'AST4',
+ 'America/St Lucia': 'AST4',
+ 'America/St Thomas': 'AST4',
+ 'America/St Vincent': 'AST4',
+ 'America/Swift Current': 'CST6',
+ 'America/Tegucigalpa': 'CST6',
+ 'America/Thule': 'AST4ADT,M3.2.0,M11.1.0',
+ 'America/Thunder Bay': 'EST5EDT,M3.2.0,M11.1.0',
+ 'America/Tijuana': 'PST8PDT,M3.2.0,M11.1.0',
+ 'America/Toronto': 'EST5EDT,M3.2.0,M11.1.0',
+ 'America/Tortola': 'AST4',
+ 'America/Vancouver': 'PST8PDT,M3.2.0,M11.1.0',
+ 'America/Whitehorse': 'MST7',
+ 'America/Winnipeg': 'CST6CDT,M3.2.0,M11.1.0',
+ 'America/Yakutat': 'AKST9AKDT,M3.2.0,M11.1.0',
+ 'America/Yellowknife': 'MST7MDT,M3.2.0,M11.1.0',
+ 'Antarctica/Casey': '<+11>-11',
+ 'Antarctica/Davis': '<+07>-7',
+ 'Antarctica/DumontDUrville': '<+10>-10',
+ 'Antarctica/Macquarie': 'AEST-10AEDT,M10.1.0,M4.1.0/3',
+ 'Antarctica/Mawson': '<+05>-5',
+ 'Antarctica/McMurdo': 'NZST-12NZDT,M9.5.0,M4.1.0/3',
+ 'Antarctica/Palmer': '<-03>3',
+ 'Antarctica/Rothera': '<-03>3',
+ 'Antarctica/Syowa': '<+03>-3',
+ 'Antarctica/Troll': '<+00>0<+02>-2,M3.5.0/1,M10.5.0/3',
+ 'Antarctica/Vostok': '<+06>-6',
+ 'Arctic/Longyearbyen': 'CET-1CEST,M3.5.0,M10.5.0/3',
+ 'Asia/Aden': '<+03>-3',
+ 'Asia/Almaty': '<+06>-6',
+ 'Asia/Amman': '<+03>-3',
+ 'Asia/Anadyr': '<+12>-12',
+ 'Asia/Aqtau': '<+05>-5',
+ 'Asia/Aqtobe': '<+05>-5',
+ 'Asia/Ashgabat': '<+05>-5',
+ 'Asia/Atyrau': '<+05>-5',
+ 'Asia/Baghdad': '<+03>-3',
+ 'Asia/Bahrain': '<+03>-3',
+ 'Asia/Baku': '<+04>-4',
+ 'Asia/Bangkok': '<+07>-7',
+ 'Asia/Barnaul': '<+07>-7',
+ 'Asia/Beirut': 'EET-2EEST,M3.5.0/0,M10.5.0/0',
+ 'Asia/Bishkek': '<+06>-6',
+ 'Asia/Brunei': '<+08>-8',
+ 'Asia/Chita': '<+09>-9',
+ 'Asia/Choibalsan': '<+08>-8',
+ 'Asia/Colombo': '<+0530>-5:30',
+ 'Asia/Damascus': '<+03>-3',
+ 'Asia/Dhaka': '<+06>-6',
+ 'Asia/Dili': '<+09>-9',
+ 'Asia/Dubai': '<+04>-4',
+ 'Asia/Dushanbe': '<+05>-5',
+ 'Asia/Famagusta': 'EET-2EEST,M3.5.0/3,M10.5.0/4',
+ 'Asia/Gaza': 'EET-2EEST,M3.4.4/50,M10.4.4/50',
+ 'Asia/Hebron': 'EET-2EEST,M3.4.4/50,M10.4.4/50',
+ 'Asia/Ho Chi Minh': '<+07>-7',
+ 'Asia/Hong Kong': 'HKT-8',
+ 'Asia/Hovd': '<+07>-7',
+ 'Asia/Irkutsk': '<+08>-8',
+ 'Asia/Jakarta': 'WIB-7',
+ 'Asia/Jayapura': 'WIT-9',
+ 'Asia/Jerusalem': 'IST-2IDT,M3.4.4/26,M10.5.0',
+ 'Asia/Kabul': '<+0430>-4:30',
+ 'Asia/Kamchatka': '<+12>-12',
+ 'Asia/Karachi': 'PKT-5',
+ 'Asia/Kathmandu': '<+0545>-5:45',
+ 'Asia/Khandyga': '<+09>-9',
+ 'Asia/Kolkata': 'IST-5:30',
+ 'Asia/Krasnoyarsk': '<+07>-7',
+ 'Asia/Kuala Lumpur': '<+08>-8',
+ 'Asia/Kuching': '<+08>-8',
+ 'Asia/Kuwait': '<+03>-3',
+ 'Asia/Macau': 'CST-8',
+ 'Asia/Magadan': '<+11>-11',
+ 'Asia/Makassar': 'WITA-8',
+ 'Asia/Manila': 'PST-8',
+ 'Asia/Muscat': '<+04>-4',
+ 'Asia/Nicosia': 'EET-2EEST,M3.5.0/3,M10.5.0/4',
+ 'Asia/Novokuznetsk': '<+07>-7',
+ 'Asia/Novosibirsk': '<+07>-7',
+ 'Asia/Omsk': '<+06>-6',
+ 'Asia/Oral': '<+05>-5',
+ 'Asia/Phnom Penh': '<+07>-7',
+ 'Asia/Pontianak': 'WIB-7',
+ 'Asia/Pyongyang': 'KST-9',
+ 'Asia/Qatar': '<+03>-3',
+ 'Asia/Qostanay': '<+06>-6',
+ 'Asia/Qyzylorda': '<+05>-5',
+ 'Asia/Riyadh': '<+03>-3',
+ 'Asia/Sakhalin': '<+11>-11',
+ 'Asia/Samarkand': '<+05>-5',
+ 'Asia/Seoul': 'KST-9',
+ 'Asia/Shanghai': 'CST-8',
+ 'Asia/Singapore': '<+08>-8',
+ 'Asia/Srednekolymsk': '<+11>-11',
+ 'Asia/Taipei': 'CST-8',
+ 'Asia/Tashkent': '<+05>-5',
+ 'Asia/Tbilisi': '<+04>-4',
+ 'Asia/Tehran': '<+0330>-3:30',
+ 'Asia/Thimphu': '<+06>-6',
+ 'Asia/Tokyo': 'JST-9',
+ 'Asia/Tomsk': '<+07>-7',
+ 'Asia/Ulaanbaatar': '<+08>-8',
+ 'Asia/Urumqi': '<+06>-6',
+ 'Asia/Ust-Nera': '<+10>-10',
+ 'Asia/Vientiane': '<+07>-7',
+ 'Asia/Vladivostok': '<+10>-10',
+ 'Asia/Yakutsk': '<+09>-9',
+ 'Asia/Yangon': '<+0630>-6:30',
+ 'Asia/Yekaterinburg': '<+05>-5',
+ 'Asia/Yerevan': '<+04>-4',
+ 'Atlantic/Azores': '<-01>1<+00>,M3.5.0/0,M10.5.0/1',
+ 'Atlantic/Bermuda': 'AST4ADT,M3.2.0,M11.1.0',
+ 'Atlantic/Canary': 'WET0WEST,M3.5.0/1,M10.5.0',
+ 'Atlantic/Cape Verde': '<-01>1',
+ 'Atlantic/Faroe': 'WET0WEST,M3.5.0/1,M10.5.0',
+ 'Atlantic/Madeira': 'WET0WEST,M3.5.0/1,M10.5.0',
+ 'Atlantic/Reykjavik': 'GMT0',
+ 'Atlantic/South Georgia': '<-02>2',
+ 'Atlantic/St Helena': 'GMT0',
+ 'Atlantic/Stanley': '<-03>3',
+ 'Australia/Adelaide': 'ACST-9:30ACDT,M10.1.0,M4.1.0/3',
+ 'Australia/Brisbane': 'AEST-10',
+ 'Australia/Broken Hill': 'ACST-9:30ACDT,M10.1.0,M4.1.0/3',
+ 'Australia/Darwin': 'ACST-9:30',
+ 'Australia/Eucla': '<+0845>-8:45',
+ 'Australia/Hobart': 'AEST-10AEDT,M10.1.0,M4.1.0/3',
+ 'Australia/Lindeman': 'AEST-10',
+ 'Australia/Lord Howe': '<+1030>-10:30<+11>-11,M10.1.0,M4.1.0',
+ 'Australia/Melbourne': 'AEST-10AEDT,M10.1.0,M4.1.0/3',
+ 'Australia/Perth': 'AWST-8',
+ 'Australia/Sydney': 'AEST-10AEDT,M10.1.0,M4.1.0/3',
+ 'Etc/GMT': 'GMT0',
+ 'Etc/GMT+1': '<-01>1',
+ 'Etc/GMT+10': '<-10>10',
+ 'Etc/GMT+11': '<-11>11',
+ 'Etc/GMT+12': '<-12>12',
+ 'Etc/GMT+2': '<-02>2',
+ 'Etc/GMT+3': '<-03>3',
+ 'Etc/GMT+4': '<-04>4',
+ 'Etc/GMT+5': '<-05>5',
+ 'Etc/GMT+6': '<-06>6',
+ 'Etc/GMT+7': '<-07>7',
+ 'Etc/GMT+8': '<-08>8',
+ 'Etc/GMT+9': '<-09>9',
+ 'Etc/GMT-1': '<+01>-1',
+ 'Etc/GMT-10': '<+10>-10',
+ 'Etc/GMT-11': '<+11>-11',
+ 'Etc/GMT-12': '<+12>-12',
+ 'Etc/GMT-13': '<+13>-13',
+ 'Etc/GMT-14': '<+14>-14',
+ 'Etc/GMT-2': '<+02>-2',
+ 'Etc/GMT-3': '<+03>-3',
+ 'Etc/GMT-4': '<+04>-4',
+ 'Etc/GMT-5': '<+05>-5',
+ 'Etc/GMT-6': '<+06>-6',
+ 'Etc/GMT-7': '<+07>-7',
+ 'Etc/GMT-8': '<+08>-8',
+ 'Etc/GMT-9': '<+09>-9',
+ 'Europe/Amsterdam': 'CET-1CEST,M3.5.0,M10.5.0/3',
+ 'Europe/Andorra': 'CET-1CEST,M3.5.0,M10.5.0/3',
+ 'Europe/Astrakhan': '<+04>-4',
+ 'Europe/Athens': 'EET-2EEST,M3.5.0/3,M10.5.0/4',
+ 'Europe/Belgrade': 'CET-1CEST,M3.5.0,M10.5.0/3',
+ 'Europe/Berlin': 'CET-1CEST,M3.5.0,M10.5.0/3',
+ 'Europe/Bratislava': 'CET-1CEST,M3.5.0,M10.5.0/3',
+ 'Europe/Brussels': 'CET-1CEST,M3.5.0,M10.5.0/3',
+ 'Europe/Bucharest': 'EET-2EEST,M3.5.0/3,M10.5.0/4',
+ 'Europe/Budapest': 'CET-1CEST,M3.5.0,M10.5.0/3',
+ 'Europe/Busingen': 'CET-1CEST,M3.5.0,M10.5.0/3',
+ 'Europe/Chisinau': 'EET-2EEST,M3.5.0,M10.5.0/3',
+ 'Europe/Copenhagen': 'CET-1CEST,M3.5.0,M10.5.0/3',
+ 'Europe/Dublin': 'IST-1GMT0,M10.5.0,M3.5.0/1',
+ 'Europe/Gibraltar': 'CET-1CEST,M3.5.0,M10.5.0/3',
+ 'Europe/Guernsey': 'GMT0BST,M3.5.0/1,M10.5.0',
+ 'Europe/Helsinki': 'EET-2EEST,M3.5.0/3,M10.5.0/4',
+ 'Europe/Isle of Man': 'GMT0BST,M3.5.0/1,M10.5.0',
+ 'Europe/Istanbul': '<+03>-3',
+ 'Europe/Jersey': 'GMT0BST,M3.5.0/1,M10.5.0',
+ 'Europe/Kaliningrad': 'EET-2',
+ 'Europe/Kirov': '<+03>-3',
+ 'Europe/Kyiv': 'EET-2EEST,M3.5.0/3,M10.5.0/4',
+ 'Europe/Lisbon': 'WET0WEST,M3.5.0/1,M10.5.0',
+ 'Europe/Ljubljana': 'CET-1CEST,M3.5.0,M10.5.0/3',
+ 'Europe/London': 'GMT0BST,M3.5.0/1,M10.5.0',
+ 'Europe/Luxembourg': 'CET-1CEST,M3.5.0,M10.5.0/3',
+ 'Europe/Madrid': 'CET-1CEST,M3.5.0,M10.5.0/3',
+ 'Europe/Malta': 'CET-1CEST,M3.5.0,M10.5.0/3',
+ 'Europe/Mariehamn': 'EET-2EEST,M3.5.0/3,M10.5.0/4',
+ 'Europe/Minsk': '<+03>-3',
+ 'Europe/Monaco': 'CET-1CEST,M3.5.0,M10.5.0/3',
+ 'Europe/Moscow': 'MSK-3',
+ 'Europe/Oslo': 'CET-1CEST,M3.5.0,M10.5.0/3',
+ 'Europe/Paris': 'CET-1CEST,M3.5.0,M10.5.0/3',
+ 'Europe/Podgorica': 'CET-1CEST,M3.5.0,M10.5.0/3',
+ 'Europe/Prague': 'CET-1CEST,M3.5.0,M10.5.0/3',
+ 'Europe/Riga': 'EET-2EEST,M3.5.0/3,M10.5.0/4',
+ 'Europe/Rome': 'CET-1CEST,M3.5.0,M10.5.0/3',
+ 'Europe/Samara': '<+04>-4',
+ 'Europe/San Marino': 'CET-1CEST,M3.5.0,M10.5.0/3',
+ 'Europe/Sarajevo': 'CET-1CEST,M3.5.0,M10.5.0/3',
+ 'Europe/Saratov': '<+04>-4',
+ 'Europe/Simferopol': 'MSK-3',
+ 'Europe/Skopje': 'CET-1CEST,M3.5.0,M10.5.0/3',
+ 'Europe/Sofia': 'EET-2EEST,M3.5.0/3,M10.5.0/4',
+ 'Europe/Stockholm': 'CET-1CEST,M3.5.0,M10.5.0/3',
+ 'Europe/Tallinn': 'EET-2EEST,M3.5.0/3,M10.5.0/4',
+ 'Europe/Tirane': 'CET-1CEST,M3.5.0,M10.5.0/3',
+ 'Europe/Ulyanovsk': '<+04>-4',
+ 'Europe/Vaduz': 'CET-1CEST,M3.5.0,M10.5.0/3',
+ 'Europe/Vatican': 'CET-1CEST,M3.5.0,M10.5.0/3',
+ 'Europe/Vienna': 'CET-1CEST,M3.5.0,M10.5.0/3',
+ 'Europe/Vilnius': 'EET-2EEST,M3.5.0/3,M10.5.0/4',
+ 'Europe/Volgograd': '<+03>-3',
+ 'Europe/Warsaw': 'CET-1CEST,M3.5.0,M10.5.0/3',
+ 'Europe/Zagreb': 'CET-1CEST,M3.5.0,M10.5.0/3',
+ 'Europe/Zurich': 'CET-1CEST,M3.5.0,M10.5.0/3',
+ 'Indian/Antananarivo': 'EAT-3',
+ 'Indian/Chagos': '<+06>-6',
+ 'Indian/Christmas': '<+07>-7',
+ 'Indian/Cocos': '<+0630>-6:30',
+ 'Indian/Comoro': 'EAT-3',
+ 'Indian/Kerguelen': '<+05>-5',
+ 'Indian/Mahe': '<+04>-4',
+ 'Indian/Maldives': '<+05>-5',
+ 'Indian/Mauritius': '<+04>-4',
+ 'Indian/Mayotte': 'EAT-3',
+ 'Indian/Reunion': '<+04>-4',
+ 'Pacific/Apia': '<+13>-13',
+ 'Pacific/Auckland': 'NZST-12NZDT,M9.5.0,M4.1.0/3',
+ 'Pacific/Bougainville': '<+11>-11',
+ 'Pacific/Chatham': '<+1245>-12:45<+1345>,M9.5.0/2:45,M4.1.0/3:45',
+ 'Pacific/Chuuk': '<+10>-10',
+ 'Pacific/Easter': '<-06>6<-05>,M9.1.6/22,M4.1.6/22',
+ 'Pacific/Efate': '<+11>-11',
+ 'Pacific/Fakaofo': '<+13>-13',
+ 'Pacific/Fiji': '<+12>-12<+13>,M11.2.0,M1.2.3/99',
+ 'Pacific/Funafuti': '<+12>-12',
+ 'Pacific/Galapagos': '<-06>6',
+ 'Pacific/Gambier': '<-09>9',
+ 'Pacific/Guadalcanal': '<+11>-11',
+ 'Pacific/Guam': 'ChST-10',
+ 'Pacific/Honolulu': 'HST10',
+ 'Pacific/Kanton': '<+13>-13',
+ 'Pacific/Kiritimati': '<+14>-14',
+ 'Pacific/Kosrae': '<+11>-11',
+ 'Pacific/Kwajalein': '<+12>-12',
+ 'Pacific/Majuro': '<+12>-12',
+ 'Pacific/Marquesas': '<-0930>9:30',
+ 'Pacific/Midway': 'SST11',
+ 'Pacific/Nauru': '<+12>-12',
+ 'Pacific/Niue': '<-11>11',
+ 'Pacific/Norfolk': '<+11>-11<+12>,M10.1.0,M4.1.0/3',
+ 'Pacific/Noumea': '<+11>-11',
+ 'Pacific/Pago Pago': 'SST11',
+ 'Pacific/Palau': '<+09>-9',
+ 'Pacific/Pitcairn': '<-08>8',
+ 'Pacific/Pohnpei': '<+11>-11',
+ 'Pacific/Port Moresby': '<+10>-10',
+ 'Pacific/Rarotonga': '<-10>10',
+ 'Pacific/Saipan': 'ChST-10',
+ 'Pacific/Tahiti': '<-10>10',
+ 'Pacific/Tarawa': '<+12>-12',
+ 'Pacific/Tongatapu': '<+13>-13',
+ 'Pacific/Wake': '<+12>-12',
+ 'Pacific/Wallis': '<+12>-12',
+};
LUCI_BASENAME:=compat
LUCI_TITLE:=LuCI compatibility libraries
-LUCI_DEPENDS:=+luci-base
+LUCI_DEPENDS:=+luci-lua-runtime
include ../../luci.mk
--- /dev/null
+#
+# Copyright (C) 2022 Jo-Philipp Wich <jo@mein.io>
+#
+# This is free software, licensed under the Apache License, Version 2.0 .
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=luci-lua-runtime
+
+LUCI_TYPE:=mod
+LUCI_BASENAME:=lua-runtime
+
+LUCI_TITLE:=LuCI Lua runtime libraries
+LUCI_DEPENDS:= \
+ +luci-base \
+ +lua \
+ +luci-lib-base \
+ +luci-lib-nixio \
+ +luci-lib-ip \
+ +luci-lib-jsonc \
+ +libubus-lua \
+ +liblucihttp-lua \
+ +ucode-mod-lua
+
+include ../../luci.mk
+
+# call BuildPackage - OpenWrt buildroot signature
--- /dev/null
+-- Copyright 2008 Steven Barth <steven@midlink.org>
+-- Copyright 2008 Jo-Philipp Wich <jow@openwrt.org>
+-- Licensed to the public under the Apache License 2.0.
+
+local config = require "luci.config"
+local ccache = require "luci.ccache"
+
+module "luci.cacheloader"
+
+if config.ccache and config.ccache.enable == "1" then
+ ccache.cache_ondemand()
+end
--- /dev/null
+-- Copyright 2008 Steven Barth <steven@midlink.org>
+-- Copyright 2008 Jo-Philipp Wich <jow@openwrt.org>
+-- Licensed to the public under the Apache License 2.0.
+
+local io = require "io"
+local fs = require "nixio.fs"
+local util = require "luci.util"
+local nixio = require "nixio"
+local debug = require "debug"
+local string = require "string"
+local package = require "package"
+
+local type, loadfile = type, loadfile
+
+
+module "luci.ccache"
+
+function cache_ondemand(...)
+ if debug.getinfo(1, 'S').source ~= "=?" then
+ cache_enable(...)
+ end
+end
+
+function cache_enable(cachepath, mode)
+ cachepath = cachepath or "/tmp/luci-modulecache"
+ mode = mode or "r--r--r--"
+
+ local loader = package.loaders[2]
+ local uid = nixio.getuid()
+
+ if not fs.stat(cachepath) then
+ fs.mkdir(cachepath)
+ end
+
+ local function _encode_filename(name)
+ local encoded = ""
+ for i=1, #name do
+ encoded = encoded .. ("%2X" % string.byte(name, i))
+ end
+ return encoded
+ end
+
+ local function _load_sane(file)
+ local stat = fs.stat(file)
+ if stat and stat.uid == uid and stat.modestr == mode then
+ return loadfile(file)
+ end
+ end
+
+ local function _write_sane(file, func)
+ if nixio.getuid() == uid then
+ local fp = io.open(file, "w")
+ if fp then
+ fp:write(util.get_bytecode(func))
+ fp:close()
+ fs.chmod(file, mode)
+ end
+ end
+ end
+
+ package.loaders[2] = function(mod)
+ local encoded = cachepath .. "/" .. _encode_filename(mod)
+ local modcons = _load_sane(encoded)
+
+ if modcons then
+ return modcons
+ end
+
+ -- No cachefile
+ modcons = loader(mod)
+ if type(modcons) == "function" then
+ _write_sane(encoded, modcons)
+ end
+ return modcons
+ end
+end
--- /dev/null
+-- Copyright 2008 Steven Barth <steven@midlink.org>
+-- Licensed to the public under the Apache License 2.0.
+
+local util = require "luci.util"
+module("luci.config",
+ function(m)
+ if pcall(require, "luci.model.uci") then
+ local config = util.threadlocal()
+ setmetatable(m, {
+ __index = function(tbl, key)
+ if not config[key] then
+ config[key] = luci.model.uci.cursor():get_all("luci", key)
+ end
+ return config[key]
+ end
+ })
+ end
+ end)
--- /dev/null
+-- Copyright 2008 Steven Barth <steven@midlink.org>
+-- Copyright 2008-2015 Jo-Philipp Wich <jow@openwrt.org>
+-- Licensed to the public under the Apache License 2.0.
+
+module("luci.dispatcher", package.seeall)
+
+local http = _G.L.http
+
+context = setmetatable({
+ request = _G.L.ctx.request_path;
+ requested = _G.L.node;
+ dispatched = _G.L.node;
+}, {
+ __index = function(t, k)
+ if k == "requestpath" then
+ return _G.L.ctx.request_path
+ elseif k == "requestargs" then
+ return _G.L.ctx.request_args
+ else
+ return _G.L.ctx[k]
+ end
+ end
+})
+
+uci = require "luci.model.uci"
+uci:set_session_id(_G.L.ctx.authsession)
+
+i18n = require "luci.i18n"
+i18n.setlanguage(_G.L.dispatcher.lang)
+
+build_url = _G.L.dispatcher.build_url
+menu_json = _G.L.dispatcher.menu_json
+error404 = _G.L.dispatcher.error404
+error500 = _G.L.dispatcher.error500
+
+function is_authenticated(auth)
+ local session = _G.L.dispatcher.is_authenticated(auth)
+ if session then
+ return session.sid, session.data, session.acls
+ end
+end
+
+function assign(path, clone, title, order)
+ local obj = node(unpack(path))
+
+ obj.title = title
+ obj.order = order
+
+ setmetatable(obj, {__index = node(unpack(clone))})
+
+ return obj
+end
+
+function entry(path, target, title, order)
+ local c = node(unpack(path))
+
+ c.title = title
+ c.order = order
+ c.action = target
+
+ return c
+end
+
+-- enabling the node.
+function get(...)
+ return node(...)
+end
+
+function node(...)
+ local p = table.concat({ ... }, "/")
+
+ if not __entries[p] then
+ __entries[p] = {}
+ end
+
+ return __entries[p]
+end
+
+function lookup(...)
+ local i, path = nil, {}
+ for i = 1, select('#', ...) do
+ local name, arg = nil, tostring(select(i, ...))
+ for name in arg:gmatch("[^/]+") do
+ path[#path+1] = name
+ end
+ end
+
+ local node = menu_json()
+ for i = 1, #path do
+ node = node.children[path[i]]
+
+ if not node then
+ return nil
+ elseif node.leaf then
+ break
+ end
+ end
+
+ return node, build_url(unpack(path))
+end
+
+
+function process_lua_controller(path)
+ local base = "/usr/lib/lua/luci/controller/"
+ local modname = "luci.controller." .. path:sub(#base+1, #path-4):gsub("/", ".")
+ local mod = require(modname)
+ assert(mod ~= true,
+ "Invalid controller file found\n" ..
+ "The file '" .. path .. "' contains an invalid module line.\n" ..
+ "Please verify whether the module name is set to '" .. modname ..
+ "' - It must correspond to the file path!")
+
+ local idx = mod.index
+ if type(idx) ~= "function" then
+ return nil
+ end
+
+ local entries = {}
+
+ __entries = entries
+ __controller = modname
+
+ setfenv(idx, setmetatable({}, { __index = luci.dispatcher }))()
+
+ __entries = nil
+ __controller = nil
+
+ -- fixup gathered node specs
+ for path, entry in pairs(entries) do
+ if entry.leaf then
+ entry.wildcard = true
+ end
+
+ if type(entry.file_depends) == "table" then
+ for _, v in ipairs(entry.file_depends) do
+ entry.depends = entry.depends or {}
+ entry.depends.fs = entry.depends.fs or {}
+
+ local ft = fs.stat(v, "type")
+ if ft == "dir" then
+ entry.depends.fs[v] = "directory"
+ elseif v:match("/s?bin/") then
+ entry.depends.fs[v] = "executable"
+ else
+ entry.depends.fs[v] = "file"
+ end
+ end
+ end
+
+ if type(entry.uci_depends) == "table" then
+ for k, v in pairs(entry.uci_depends) do
+ entry.depends = entry.depends or {}
+ entry.depends.uci = entry.depends.uci or {}
+ entry.depends.uci[k] = v
+ end
+ end
+
+ if type(entry.acl_depends) == "table" then
+ for _, acl in ipairs(entry.acl_depends) do
+ entry.depends = entry.depends or {}
+ entry.depends.acl = entry.depends.acl or {}
+ entry.depends.acl[#entry.depends.acl + 1] = acl
+ end
+ end
+
+ if (entry.sysauth_authenticator ~= nil) or
+ (entry.sysauth ~= nil and entry.sysauth ~= false)
+ then
+ if entry.sysauth_authenticator == "htmlauth" then
+ entry.auth = {
+ login = true,
+ methods = { "cookie:sysauth_https", "cookie:sysauth_http" }
+ }
+ elseif subname == "rpc" and entry.module == "luci.controller.rpc" then
+ entry.auth = {
+ login = false,
+ methods = { "query:auth", "cookie:sysauth_https", "cookie:sysauth_http" }
+ }
+ elseif entry.module == "luci.controller.admin.uci" then
+ entry.auth = {
+ login = false,
+ methods = { "param:sid" }
+ }
+ end
+ elseif entry.sysauth == false then
+ entry.auth = {}
+ end
+
+ entry.leaf = nil
+
+ entry.file_depends = nil
+ entry.uci_depends = nil
+ entry.acl_depends = nil
+
+ entry.sysauth = nil
+ entry.sysauth_authenticator = nil
+ end
+
+ return entries
+end
+
+function invoke_cbi_action(model, config, ...)
+ local cbi = require "luci.cbi"
+ local tpl = require "luci.template"
+ local util = require "luci.util"
+
+ if not config then
+ config = {}
+ end
+
+ local maps = cbi.load(model, ...)
+
+ local state = nil
+
+ local function has_uci_access(config, level)
+ local rv = util.ubus("session", "access", {
+ ubus_rpc_session = context.authsession,
+ scope = "uci", object = config,
+ ["function"] = level
+ })
+
+ return (type(rv) == "table" and rv.access == true) or false
+ end
+
+ local i, res
+ for i, res in ipairs(maps) do
+ if util.instanceof(res, cbi.SimpleForm) then
+ io.stderr:write("Model %s returns SimpleForm but is dispatched via cbi(),\n"
+ % model)
+
+ io.stderr:write("please change %s to use the form() action instead.\n"
+ % table.concat(context.request, "/"))
+ end
+
+ res.flow = config
+ local cstate = res:parse()
+ if cstate and (not state or cstate < state) then
+ state = cstate
+ end
+ end
+
+ local function _resolve_path(path)
+ return type(path) == "table" and build_url(unpack(path)) or path
+ end
+
+ if config.on_valid_to and state and state > 0 and state < 2 then
+ http:redirect(_resolve_path(config.on_valid_to))
+ return
+ end
+
+ if config.on_changed_to and state and state > 1 then
+ http:redirect(_resolve_path(config.on_changed_to))
+ return
+ end
+
+ if config.on_success_to and state and state > 0 then
+ http:redirect(_resolve_path(config.on_success_to))
+ return
+ end
+
+ if config.state_handler then
+ if not config.state_handler(state, maps) then
+ return
+ end
+ end
+
+ http:header("X-CBI-State", state or 0)
+
+ if not config.noheader then
+ _G.L.include("cbi/header", {state = state})
+ end
+
+ local redirect
+ local messages
+ local applymap = false
+ local pageaction = true
+ local parsechain = { }
+ local writable = false
+
+ for i, res in ipairs(maps) do
+ if res.apply_needed and res.parsechain then
+ local c
+ for _, c in ipairs(res.parsechain) do
+ parsechain[#parsechain+1] = c
+ end
+ applymap = true
+ end
+
+ if res.redirect then
+ redirect = redirect or res.redirect
+ end
+
+ if res.pageaction == false then
+ pageaction = false
+ end
+
+ if res.message then
+ messages = messages or { }
+ messages[#messages+1] = res.message
+ end
+ end
+
+ for i, res in ipairs(maps) do
+ local is_readable_map = has_uci_access(res.config, "read")
+ local is_writable_map = has_uci_access(res.config, "write")
+
+ writable = writable or is_writable_map
+
+ res:render({
+ firstmap = (i == 1),
+ redirect = redirect,
+ messages = messages,
+ pageaction = pageaction,
+ parsechain = parsechain,
+ readable = is_readable_map,
+ writable = is_writable_map
+ })
+ end
+
+ if not config.nofooter then
+ _G.L.include("cbi/footer", {
+ flow = config,
+ pageaction = pageaction,
+ redirect = redirect,
+ state = state,
+ autoapply = config.autoapply,
+ trigger_apply = applymap,
+ writable = writable
+ })
+ end
+end
+
+function invoke_form_action(model, ...)
+ local cbi = require "luci.cbi"
+ local tpl = require "luci.template"
+
+ local maps = luci.cbi.load(model, ...)
+ local state = nil
+
+ local i, res
+ for i, res in ipairs(maps) do
+ local cstate = res:parse()
+ if cstate and (not state or cstate < state) then
+ state = cstate
+ end
+ end
+
+ http:header("X-CBI-State", state or 0)
+ _G.L.include("header")
+ for i, res in ipairs(maps) do
+ res:render()
+ end
+ _G.L.include("footer")
+end
+
+
+function call(name, ...)
+ return {
+ ["type"] = "call",
+ ["module"] = __controller,
+ ["function"] = name,
+ ["parameters"] = select('#', ...) > 0 and {...} or nil
+ }
+end
+
+function post(name, ...)
+ return {
+ ["type"] = "call",
+ ["module"] = __controller,
+ ["function"] = name,
+ ["parameters"] = select('#', ...) > 0 and {...} or nil,
+ ["post"] = true
+ }
+end
+
+function view(name)
+ return {
+ ["type"] = "view",
+ ["path"] = name
+ }
+end
+
+function template(name)
+ return {
+ ["type"] = "template",
+ ["path"] = name
+ }
+end
+
+function cbi(model, config)
+ return {
+ ["type"] = "call",
+ ["module"] = "luci.dispatcher",
+ ["function"] = "invoke_cbi_action",
+ ["parameters"] = { model, config or {} },
+ ["post"] = {
+ ["cbi.submit"] = true
+ }
+ }
+end
+
+function form(model)
+ return {
+ ["type"] = "call",
+ ["module"] = "luci.dispatcher",
+ ["function"] = "invoke_form_action",
+ ["parameters"] = { model },
+ ["post"] = {
+ ["cbi.submit"] = true
+ }
+ }
+end
+
+function firstchild()
+ return {
+ ["type"] = "firstchild"
+ }
+end
+
+function firstnode()
+ return {
+ ["type"] = "firstchild",
+ ["recurse"] = true
+ }
+end
+
+function arcombine(trg1, trg2)
+ return {
+ ["type"] = "arcombine",
+ ["targets"] = { trg1, trg2 } --,
+ --env = getfenv(),
+ }
+end
+
+function alias(...)
+ return {
+ ["type"] = "alias",
+ ["path"] = table.concat({ ... }, "/")
+ }
+end
+
+function rewrite(n, ...)
+ return {
+ ["type"] = "rewrite",
+ ["path"] = table.concat({ ... }, "/"),
+ ["remove"] = n
+ }
+end
+
+
+translate = i18n.translate
+
+-- This function does not actually translate the given argument but
+-- is used by build/i18n-scan.pl to find translatable entries.
+function _(text)
+ return text
+end
--- /dev/null
+-- Copyright 2008 Steven Barth <steven@midlink.org>
+-- Licensed to the public under the Apache License 2.0.
+
+local tparser = require "luci.template.parser"
+local util = require "luci.util"
+local tostring = tostring
+
+module "luci.i18n"
+
+i18ndir = util.libpath() .. "/i18n/"
+context = util.threadlocal()
+default = "en"
+
+
+function setlanguage(lang)
+ local code, subcode = lang:match("^([A-Za-z][A-Za-z])[%-_]([A-Za-z][A-Za-z])$")
+ if not (code and subcode) then
+ subcode = lang:match("^([A-Za-z][A-Za-z])$")
+ if not subcode then
+ return nil
+ end
+ end
+
+ context.parent = code and code:lower()
+ context.lang = context.parent and context.parent.."-"..subcode:lower() or subcode:lower()
+
+ if tparser.load_catalog(context.lang, i18ndir) and
+ tparser.change_catalog(context.lang)
+ then
+ return context.lang
+
+ elseif context.parent then
+ if tparser.load_catalog(context.parent, i18ndir) and
+ tparser.change_catalog(context.parent)
+ then
+ return context.parent
+ end
+ end
+
+ return nil
+end
+
+function translate(key)
+ return tparser.translate(key) or key
+end
+
+function translatef(key, ...)
+ return tostring(translate(key)):format(...)
+end
+
+function dump()
+ local rv = {}
+ tparser.get_translations(function(k, v) rv[k] = v end)
+ return rv
+end
--- /dev/null
+---[[
+LuCI translation library.
+]]
+module "luci.i18n"
+
+---[[
+Set the context default translation language.
+
+@class function
+@name setlanguage
+@param lang An IETF/BCP 47 language tag or ISO3166 country code, e.g. "en-US" or "de"
+@return The effective loaded language, e.g. "en" for "en-US" - or nil on failure
+]]
+
+---[[
+Return the translated value for a specific translation key.
+
+@class function
+@name translate
+@param key Default translation text
+@return Translated string
+]]
+
+---[[
+Return the translated value for a specific translation key and use it as sprintf pattern.
+
+@class function
+@name translatef
+@param key Default translation text
+@param ... Format parameters
+@return Translated and formatted string
+]]
+
+---[[
+Return all currently loaded translation strings as a key-value table. The key is the
+hexadecimal representation of the translation key while the value is the translated
+text content.
+
+@class function
+@name dump
+@return Key-value translation string table.
+]]
--- /dev/null
+-- Copyright 2008 Steven Barth <steven@midlink.org>
+-- Licensed to the public under the Apache License 2.0.
+
+local os = require "os"
+local util = require "luci.util"
+local table = require "table"
+
+
+local setmetatable, rawget, rawset = setmetatable, rawget, rawset
+local require, getmetatable, assert = require, getmetatable, assert
+local error, pairs, ipairs, select = error, pairs, ipairs, select
+local type, tostring, tonumber, unpack = type, tostring, tonumber, unpack
+
+-- The typical workflow for UCI is: Get a cursor instance from the
+-- cursor factory, modify data (via Cursor.add, Cursor.delete, etc.),
+-- save the changes to the staging area via Cursor.save and finally
+-- Cursor.commit the data to the actual config files.
+-- LuCI then needs to Cursor.apply the changes so daemons etc. are
+-- reloaded.
+module "luci.model.uci"
+
+local ERRSTR = {
+ "Invalid command",
+ "Invalid argument",
+ "Method not found",
+ "Entry not found",
+ "No data",
+ "Permission denied",
+ "Timeout",
+ "Not supported",
+ "Unknown error",
+ "Connection failed"
+}
+
+local session_id = nil
+
+local function call(cmd, args)
+ if type(args) == "table" and session_id then
+ args.ubus_rpc_session = session_id
+ end
+ return util.ubus("uci", cmd, args)
+end
+
+
+function cursor()
+ return _M
+end
+
+function cursor_state()
+ return _M
+end
+
+function substate(self)
+ return self
+end
+
+
+function get_confdir(self)
+ return "/etc/config"
+end
+
+function get_savedir(self)
+ return "/tmp/.uci"
+end
+
+function get_session_id(self)
+ return session_id
+end
+
+function set_confdir(self, directory)
+ return false
+end
+
+function set_savedir(self, directory)
+ return false
+end
+
+function set_session_id(self, id)
+ session_id = id
+ return true
+end
+
+
+function load(self, config)
+ return true
+end
+
+function save(self, config)
+ return true
+end
+
+function unload(self, config)
+ return true
+end
+
+
+function changes(self, config)
+ local rv, err = call("changes", { config = config })
+
+ if type(rv) == "table" and type(rv.changes) == "table" then
+ return rv.changes
+ elseif err then
+ return nil, ERRSTR[err]
+ else
+ return { }
+ end
+end
+
+
+function revert(self, config)
+ local _, err = call("revert", { config = config })
+ return (err == nil), ERRSTR[err]
+end
+
+function commit(self, config)
+ local _, err = call("commit", { config = config })
+ return (err == nil), ERRSTR[err]
+end
+
+function apply(self, rollback)
+ local _, err
+
+ if rollback then
+ local sys = require "luci.sys"
+ local conf = require "luci.config"
+ local timeout = tonumber(conf and conf.apply and conf.apply.rollback or 90) or 0
+
+ _, err = call("apply", {
+ timeout = (timeout > 90) and timeout or 90,
+ rollback = true
+ })
+
+ if not err then
+ local now = os.time()
+ local token = sys.uniqueid(16)
+
+ util.ubus("session", "set", {
+ ubus_rpc_session = "00000000000000000000000000000000",
+ values = {
+ rollback = {
+ token = token,
+ session = session_id,
+ timeout = now + timeout
+ }
+ }
+ })
+
+ return token
+ end
+ else
+ _, err = call("changes", {})
+
+ if not err then
+ if type(_) == "table" and type(_.changes) == "table" then
+ local k, v
+ for k, v in pairs(_.changes) do
+ _, err = call("commit", { config = k })
+ if err then
+ break
+ end
+ end
+ end
+ end
+
+ if not err then
+ _, err = call("apply", { rollback = false })
+ end
+ end
+
+ return (err == nil), ERRSTR[err]
+end
+
+function confirm(self, token)
+ local is_pending, time_remaining, rollback_sid, rollback_token = self:rollback_pending()
+
+ if is_pending then
+ if token ~= rollback_token then
+ return false, "Permission denied"
+ end
+
+ local _, err = util.ubus("uci", "confirm", {
+ ubus_rpc_session = rollback_sid
+ })
+
+ if not err then
+ util.ubus("session", "set", {
+ ubus_rpc_session = "00000000000000000000000000000000",
+ values = { rollback = {} }
+ })
+ end
+
+ return (err == nil), ERRSTR[err]
+ end
+
+ return false, "No data"
+end
+
+function rollback(self)
+ local is_pending, time_remaining, rollback_sid = self:rollback_pending()
+
+ if is_pending then
+ local _, err = util.ubus("uci", "rollback", {
+ ubus_rpc_session = rollback_sid
+ })
+
+ if not err then
+ util.ubus("session", "set", {
+ ubus_rpc_session = "00000000000000000000000000000000",
+ values = { rollback = {} }
+ })
+ end
+
+ return (err == nil), ERRSTR[err]
+ end
+
+ return false, "No data"
+end
+
+function rollback_pending(self)
+ local rv, err = util.ubus("session", "get", {
+ ubus_rpc_session = "00000000000000000000000000000000",
+ keys = { "rollback" }
+ })
+
+ local now = os.time()
+
+ if type(rv) == "table" and
+ type(rv.values) == "table" and
+ type(rv.values.rollback) == "table" and
+ type(rv.values.rollback.token) == "string" and
+ type(rv.values.rollback.session) == "string" and
+ type(rv.values.rollback.timeout) == "number" and
+ rv.values.rollback.timeout > now
+ then
+ return true,
+ rv.values.rollback.timeout - now,
+ rv.values.rollback.session,
+ rv.values.rollback.token
+ end
+
+ return false, ERRSTR[err]
+end
+
+
+function foreach(self, config, stype, callback)
+ if type(callback) == "function" then
+ local rv, err = call("get", {
+ config = config,
+ type = stype
+ })
+
+ if type(rv) == "table" and type(rv.values) == "table" then
+ local sections = { }
+ local res = false
+ local index = 1
+
+ local _, section
+ for _, section in pairs(rv.values) do
+ section[".index"] = section[".index"] or index
+ sections[index] = section
+ index = index + 1
+ end
+
+ table.sort(sections, function(a, b)
+ return a[".index"] < b[".index"]
+ end)
+
+ for _, section in ipairs(sections) do
+ local continue = callback(section)
+ res = true
+ if continue == false then
+ break
+ end
+ end
+ return res
+ else
+ return false, ERRSTR[err] or "No data"
+ end
+ else
+ return false, "Invalid argument"
+ end
+end
+
+local function _get(self, operation, config, section, option)
+ if section == nil then
+ return nil
+ elseif type(option) == "string" and option:byte(1) ~= 46 then
+ local rv, err = call(operation, {
+ config = config,
+ section = section,
+ option = option
+ })
+
+ if type(rv) == "table" then
+ return rv.value or nil
+ elseif err then
+ return false, ERRSTR[err]
+ else
+ return nil
+ end
+ elseif option == nil then
+ local values = self:get_all(config, section)
+ if values then
+ return values[".type"], values[".name"]
+ else
+ return nil
+ end
+ else
+ return false, "Invalid argument"
+ end
+end
+
+function get(self, ...)
+ return _get(self, "get", ...)
+end
+
+function get_state(self, ...)
+ return _get(self, "state", ...)
+end
+
+function get_all(self, config, section)
+ local rv, err = call("get", {
+ config = config,
+ section = section
+ })
+
+ if type(rv) == "table" and type(rv.values) == "table" then
+ return rv.values
+ elseif err then
+ return false, ERRSTR[err]
+ else
+ return nil
+ end
+end
+
+function get_bool(self, ...)
+ local val = self:get(...)
+ return (val == "1" or val == "true" or val == "yes" or val == "on")
+end
+
+function get_first(self, config, stype, option, default)
+ local rv = default
+
+ self:foreach(config, stype, function(s)
+ local val = not option and s[".name"] or s[option]
+
+ if type(default) == "number" then
+ val = tonumber(val)
+ elseif type(default) == "boolean" then
+ val = (val == "1" or val == "true" or
+ val == "yes" or val == "on")
+ end
+
+ if val ~= nil then
+ rv = val
+ return false
+ end
+ end)
+
+ return rv
+end
+
+function get_list(self, config, section, option)
+ if config and section and option then
+ local val = self:get(config, section, option)
+ return (type(val) == "table" and val or { val })
+ end
+ return { }
+end
+
+
+function section(self, config, stype, name, values)
+ local rv, err = call("add", {
+ config = config,
+ type = stype,
+ name = name,
+ values = values
+ })
+
+ if type(rv) == "table" then
+ return rv.section
+ elseif err then
+ return false, ERRSTR[err]
+ else
+ return nil
+ end
+end
+
+
+function add(self, config, stype)
+ return self:section(config, stype)
+end
+
+function set(self, config, section, option, ...)
+ if select('#', ...) == 0 then
+ local sname, err = self:section(config, option, section)
+ return (not not sname), err
+ else
+ local _, err = call("set", {
+ config = config,
+ section = section,
+ values = { [option] = select(1, ...) }
+ })
+ return (err == nil), ERRSTR[err]
+ end
+end
+
+function set_list(self, config, section, option, value)
+ if section == nil or option == nil then
+ return false
+ elseif value == nil or (type(value) == "table" and #value == 0) then
+ return self:delete(config, section, option)
+ elseif type(value) == "table" then
+ return self:set(config, section, option, value)
+ else
+ return self:set(config, section, option, { value })
+ end
+end
+
+function tset(self, config, section, values)
+ local _, err = call("set", {
+ config = config,
+ section = section,
+ values = values
+ })
+ return (err == nil), ERRSTR[err]
+end
+
+function reorder(self, config, section, index)
+ local sections
+
+ if type(section) == "string" and type(index) == "number" then
+ local pos = 0
+
+ sections = { }
+
+ self:foreach(config, nil, function(s)
+ if pos == index then
+ pos = pos + 1
+ end
+
+ if s[".name"] ~= section then
+ pos = pos + 1
+ sections[pos] = s[".name"]
+ else
+ sections[index + 1] = section
+ end
+ end)
+ elseif type(section) == "table" then
+ sections = section
+ else
+ return false, "Invalid argument"
+ end
+
+ local _, err = call("order", {
+ config = config,
+ sections = sections
+ })
+
+ return (err == nil), ERRSTR[err]
+end
+
+
+function delete(self, config, section, option)
+ local _, err = call("delete", {
+ config = config,
+ section = section,
+ option = option
+ })
+ return (err == nil), ERRSTR[err]
+end
+
+function delete_all(self, config, stype, comparator)
+ local _, err
+ if type(comparator) == "table" then
+ _, err = call("delete", {
+ config = config,
+ type = stype,
+ match = comparator
+ })
+ elseif type(comparator) == "function" then
+ local rv = call("get", {
+ config = config,
+ type = stype
+ })
+
+ if type(rv) == "table" and type(rv.values) == "table" then
+ local sname, section
+ for sname, section in pairs(rv.values) do
+ if comparator(section) then
+ _, err = call("delete", {
+ config = config,
+ section = sname
+ })
+ end
+ end
+ end
+ elseif comparator == nil then
+ _, err = call("delete", {
+ config = config,
+ type = stype
+ })
+ else
+ return false, "Invalid argument"
+ end
+
+ return (err == nil), ERRSTR[err]
+end
--- /dev/null
+---[[
+LuCI UCI model library.
+
+The typical workflow for UCI is: Get a cursor instance from the
+cursor factory, modify data (via Cursor.add, Cursor.delete, etc.),
+save the changes to the staging area via Cursor.save and finally
+Cursor.commit the data to the actual config files.
+LuCI then needs to Cursor.apply the changes so daemons etc. are
+reloaded.
+@cstyle instance
+]]
+module "luci.model.uci"
+
+---[[
+Create a new UCI-Cursor.
+
+@class function
+@name cursor
+@return UCI-Cursor
+]]
+
+---[[
+Create a new Cursor initialized to the state directory.
+
+@class function
+@name cursor_state
+@return UCI cursor
+]]
+
+---[[
+Applies UCI configuration changes.
+
+If the rollback parameter is set to true, the apply function will invoke the
+rollback mechanism which causes the configuration to be automatically reverted
+if no confirm() call occurs within a certain timeout.
+
+The current default timeout is 30s and can be increased using the
+"luci.apply.timeout" uci configuration key.
+
+@class function
+@name Cursor.apply
+@param rollback Enable rollback mechanism
+@return Boolean whether operation succeeded
+]]
+
+---[[
+Confirms UCI apply process.
+
+If a previous UCI apply with rollback has been invoked using apply(true),
+this function confirms the process and cancels the pending rollback timer.
+
+If no apply with rollback session is active, the function has no effect and
+returns with a "No data" error.
+
+@class function
+@name Cursor.confirm
+@return Boolean whether operation succeeded
+]]
+
+---[[
+Cancels UCI apply process.
+
+If a previous UCI apply with rollback has been invoked using apply(true),
+this function cancels the process and rolls back the configuration to the
+pre-apply state.
+
+If no apply with rollback session is active, the function has no effect and
+returns with a "No data" error.
+
+@class function
+@name Cursor.rollback
+@return Boolean whether operation succeeded
+]]
+
+---[[
+Checks whether a pending rollback is scheduled.
+
+If a previous UCI apply with rollback has been invoked using apply(true),
+and has not been confirmed or rolled back yet, this function returns true
+and the remaining time until rollback in seconds. If no rollback is pending,
+the function returns false. On error, the function returns false and an
+additional string describing the error.
+
+@class function
+@name Cursor.rollback_pending
+@return Boolean whether rollback is pending
+@return Remaining time in seconds
+]]
+
+---[[
+Delete all sections of a given type that match certain criteria.
+
+@class function
+@name Cursor.delete_all
+@param config UCI config
+@param type UCI section type
+@param comparator Function that will be called for each section and returns
+ a boolean whether to delete the current section (optional)
+]]
+
+---[[
+Create a new section and initialize it with data.
+
+@class function
+@name Cursor.section
+@param config UCI config
+@param type UCI section type
+@param name UCI section name (optional)
+@param values Table of key - value pairs to initialize the section with
+@return Name of created section
+]]
+
+---[[
+Updated the data of a section using data from a table.
+
+@class function
+@name Cursor.tset
+@param config UCI config
+@param section UCI section name (optional)
+@param values Table of key - value pairs to update the section with
+]]
+
+---[[
+Get a boolean option and return it's value as true or false.
+
+@class function
+@name Cursor.get_bool
+@param config UCI config
+@param section UCI section name
+@param option UCI option
+@return Boolean
+]]
+
+---[[
+Get an option or list and return values as table.
+
+@class function
+@name Cursor.get_list
+@param config UCI config
+@param section UCI section name
+@param option UCI option
+@return table. If the option was not found, you will simply get an empty
+ table.
+]]
+
+---[[
+Get the given option from the first section with the given type.
+
+@class function
+@name Cursor.get_first
+@param config UCI config
+@param type UCI section type
+@param option UCI option (optional)
+@param default Default value (optional)
+@return UCI value
+]]
+
+---[[
+Set given values as list. Setting a list option to an empty list
+has the same effect as deleting the option.
+
+@class function
+@name Cursor.set_list
+@param config UCI config
+@param section UCI section name
+@param option UCI option
+@param value Value or table. Non-table values will be set as single
+ item UCI list.
+@return Boolean whether operation succeeded
+]]
+
+---[[
+Create a sub-state of this cursor.
+
+The sub-state is tied to the parent cursor, means it the parent unloads or
+loads configs, the sub state will do so as well.
+
+@class function
+@name Cursor.substate
+@return UCI state cursor tied to the parent cursor
+]]
+
+---[[
+Add an anonymous section.
+
+@class function
+@name Cursor.add
+@param config UCI config
+@param type UCI section type
+@return Name of created section
+]]
+
+---[[
+Get a table of saved but uncommitted changes.
+
+@class function
+@name Cursor.changes
+@param config UCI config
+@return Table of changes
+@see Cursor.save
+]]
+
+---[[
+Commit saved changes.
+
+@class function
+@name Cursor.commit
+@param config UCI config
+@return Boolean whether operation succeeded
+@see Cursor.revert
+@see Cursor.save
+]]
+
+---[[
+Deletes a section or an option.
+
+@class function
+@name Cursor.delete
+@param config UCI config
+@param section UCI section name
+@param option UCI option (optional)
+@return Boolean whether operation succeeded
+]]
+
+---[[
+Call a function for every section of a certain type.
+
+@class function
+@name Cursor.foreach
+@param config UCI config
+@param type UCI section type
+@param callback Function to be called
+@return Boolean whether operation succeeded
+]]
+
+---[[
+Get a section type or an option
+
+@class function
+@name Cursor.get
+@param config UCI config
+@param section UCI section name
+@param option UCI option (optional)
+@return UCI value
+]]
+
+---[[
+Get all sections of a config or all values of a section.
+
+@class function
+@name Cursor.get_all
+@param config UCI config
+@param section UCI section name (optional)
+@return Table of UCI sections or table of UCI values
+]]
+
+---[[
+Manually load a config.
+
+@class function
+@name Cursor.load
+@param config UCI config
+@return Boolean whether operation succeeded
+@see Cursor.save
+@see Cursor.unload
+]]
+
+---[[
+Revert saved but uncommitted changes.
+
+@class function
+@name Cursor.revert
+@param config UCI config
+@return Boolean whether operation succeeded
+@see Cursor.commit
+@see Cursor.save
+]]
+
+---[[
+Saves changes made to a config to make them committable.
+
+@class function
+@name Cursor.save
+@param config UCI config
+@return Boolean whether operation succeeded
+@see Cursor.load
+@see Cursor.unload
+]]
+
+---[[
+Set a value or create a named section.
+
+When invoked with three arguments `config`, `sectionname`, `sectiontype`,
+then a named section of the given type is created.
+
+When invoked with four arguments `config`, `sectionname`, `optionname` and
+`optionvalue` then the value of the specified option is set to the given value.
+
+@class function
+@name Cursor.set
+@param config UCI config
+@param section UCI section name
+@param option UCI option or UCI section type
+@param value UCI value or nothing if you want to create a section
+@return Boolean whether operation succeeded
+]]
+
+---[[
+Get the configuration directory.
+
+@class function
+@name Cursor.get_confdir
+@return Configuration directory
+]]
+
+---[[
+Get the directory for uncomitted changes.
+
+@class function
+@name Cursor.get_savedir
+@return Save directory
+]]
+
+---[[
+Get the effective session ID.
+
+@class function
+@name Cursor.get_session_id
+@return String containing the session ID
+]]
+
+---[[
+Set the configuration directory.
+
+@class function
+@name Cursor.set_confdir
+@param directory UCI configuration directory
+@return Boolean whether operation succeeded
+]]
+
+---[[
+Set the directory for uncommitted changes.
+
+@class function
+@name Cursor.set_savedir
+@param directory UCI changes directory
+@return Boolean whether operation succeeded
+]]
+
+---[[
+Set the effective session ID.
+
+@class function
+@name Cursor.set_session_id
+@param id String containing the session ID to set
+@return Boolean whether operation succeeded
+]]
+
+---[[
+Discard changes made to a config.
+
+@class function
+@name Cursor.unload
+@param config UCI config
+@return Boolean whether operation succeeded
+@see Cursor.load
+@see Cursor.save
+]]
+
--- /dev/null
+-- Copyright 2009 Steven Barth <steven@midlink.org>
+-- Copyright 2009 Jo-Philipp Wich <jow@openwrt.org>
+-- Licensed to the public under the Apache License 2.0.
+
+local util = require "luci.util"
+module("luci.store", util.threadlocal)
--- /dev/null
+-- Copyright 2008 Steven Barth <steven@midlink.org>
+-- Licensed to the public under the Apache License 2.0.
+
+local io = require "io"
+local os = require "os"
+local table = require "table"
+local nixio = require "nixio"
+local fs = require "nixio.fs"
+local uci = require "luci.model.uci"
+
+local luci = {}
+luci.util = require "luci.util"
+luci.ip = require "luci.ip"
+
+local tonumber, ipairs, pairs, pcall, type, next, setmetatable, require, select, unpack =
+ tonumber, ipairs, pairs, pcall, type, next, setmetatable, require, select, unpack
+
+
+module "luci.sys"
+
+function call(...)
+ return os.execute(...) / 256
+end
+
+exec = luci.util.exec
+
+-- containing the whole environment is returned otherwise this function returns
+-- the corresponding string value for the given name or nil if no such variable
+-- exists.
+getenv = nixio.getenv
+
+function hostname(newname)
+ if type(newname) == "string" and #newname > 0 then
+ fs.writefile( "/proc/sys/kernel/hostname", newname )
+ return newname
+ else
+ return nixio.uname().nodename
+ end
+end
+
+function httpget(url, stream, target)
+ if not target then
+ local source = stream and io.popen or luci.util.exec
+ return source("wget -qO- %s" % luci.util.shellquote(url))
+ else
+ return os.execute("wget -qO %s %s" %
+ {luci.util.shellquote(target), luci.util.shellquote(url)})
+ end
+end
+
+function reboot()
+ return os.execute("reboot >/dev/null 2>&1")
+end
+
+function syslog()
+ return luci.util.exec("logread")
+end
+
+function dmesg()
+ return luci.util.exec("dmesg")
+end
+
+function uniqueid(bytes)
+ local rand = fs.readfile("/dev/urandom", bytes)
+ return rand and nixio.bin.hexlify(rand)
+end
+
+function uptime()
+ return nixio.sysinfo().uptime
+end
+
+
+net = {}
+
+local function _nethints(what, callback)
+ local _, k, e, mac, ip, name, duid, iaid
+ local cur = uci.cursor()
+ local ifn = { }
+ local hosts = { }
+ local lookup = { }
+
+ local function _add(i, ...)
+ local k = select(i, ...)
+ if k then
+ if not hosts[k] then hosts[k] = { } end
+ hosts[k][1] = select(1, ...) or hosts[k][1]
+ hosts[k][2] = select(2, ...) or hosts[k][2]
+ hosts[k][3] = select(3, ...) or hosts[k][3]
+ hosts[k][4] = select(4, ...) or hosts[k][4]
+ end
+ end
+
+ luci.ip.neighbors(nil, function(neigh)
+ if neigh.mac and neigh.family == 4 then
+ _add(what, neigh.mac:string(), neigh.dest:string(), nil, nil)
+ elseif neigh.mac and neigh.family == 6 then
+ _add(what, neigh.mac:string(), nil, neigh.dest:string(), nil)
+ end
+ end)
+
+ if fs.access("/etc/ethers") then
+ for e in io.lines("/etc/ethers") do
+ mac, name = e:match("^([a-fA-F0-9:-]+)%s+(%S+)")
+ mac = luci.ip.checkmac(mac)
+ if mac and name then
+ if luci.ip.checkip4(name) then
+ _add(what, mac, name, nil, nil)
+ else
+ _add(what, mac, nil, nil, name)
+ end
+ end
+ end
+ end
+
+ cur:foreach("dhcp", "dnsmasq",
+ function(s)
+ if s.leasefile and fs.access(s.leasefile) then
+ for e in io.lines(s.leasefile) do
+ mac, ip, name = e:match("^%d+ (%S+) (%S+) (%S+)")
+ mac = luci.ip.checkmac(mac)
+ if mac and ip then
+ _add(what, mac, ip, nil, name ~= "*" and name)
+ end
+ end
+ end
+ end
+ )
+
+ cur:foreach("dhcp", "odhcpd",
+ function(s)
+ if type(s.leasefile) == "string" and fs.access(s.leasefile) then
+ for e in io.lines(s.leasefile) do
+ duid, iaid, name, _, ip = e:match("^# %S+ (%S+) (%S+) (%S+) (-?%d+) %S+ %S+ ([0-9a-f:.]+)/[0-9]+")
+ mac = net.duid_to_mac(duid)
+ if mac then
+ if ip and iaid == "ipv4" then
+ _add(what, mac, ip, nil, name ~= "*" and name)
+ elseif ip then
+ _add(what, mac, nil, ip, name ~= "*" and name)
+ end
+ end
+ end
+ end
+ end
+ )
+
+ cur:foreach("dhcp", "host",
+ function(s)
+ for mac in luci.util.imatch(s.mac) do
+ mac = luci.ip.checkmac(mac)
+ if mac then
+ _add(what, mac, s.ip, nil, s.name)
+ end
+ end
+ end)
+
+ for _, e in ipairs(nixio.getifaddrs()) do
+ if e.name ~= "lo" then
+ ifn[e.name] = ifn[e.name] or { }
+ if e.family == "packet" and e.addr and #e.addr == 17 then
+ ifn[e.name][1] = e.addr:upper()
+ elseif e.family == "inet" then
+ ifn[e.name][2] = e.addr
+ elseif e.family == "inet6" then
+ ifn[e.name][3] = e.addr
+ end
+ end
+ end
+
+ for _, e in pairs(ifn) do
+ if e[what] and (e[2] or e[3]) then
+ _add(what, e[1], e[2], e[3], e[4])
+ end
+ end
+
+ for _, e in pairs(hosts) do
+ lookup[#lookup+1] = (what > 1) and e[what] or (e[2] or e[3])
+ end
+
+ if #lookup > 0 then
+ lookup = luci.util.ubus("network.rrdns", "lookup", {
+ addrs = lookup,
+ timeout = 250,
+ limit = 1000
+ }) or { }
+ end
+
+ for _, e in luci.util.kspairs(hosts) do
+ callback(e[1], e[2], e[3], lookup[e[2]] or lookup[e[3]] or e[4])
+ end
+end
+
+-- Each entry contains the values in the following order:
+-- [ "mac", "name" ]
+function net.mac_hints(callback)
+ if callback then
+ _nethints(1, function(mac, v4, v6, name)
+ name = name or v4
+ if name and name ~= mac then
+ callback(mac, name or v4)
+ end
+ end)
+ else
+ local rv = { }
+ _nethints(1, function(mac, v4, v6, name)
+ name = name or v4
+ if name and name ~= mac then
+ rv[#rv+1] = { mac, name or v4 }
+ end
+ end)
+ return rv
+ end
+end
+
+-- Each entry contains the values in the following order:
+-- [ "ip", "name" ]
+function net.ipv4_hints(callback)
+ if callback then
+ _nethints(2, function(mac, v4, v6, name)
+ name = name or mac
+ if name and name ~= v4 then
+ callback(v4, name)
+ end
+ end)
+ else
+ local rv = { }
+ _nethints(2, function(mac, v4, v6, name)
+ name = name or mac
+ if name and name ~= v4 then
+ rv[#rv+1] = { v4, name }
+ end
+ end)
+ return rv
+ end
+end
+
+-- Each entry contains the values in the following order:
+-- [ "ip", "name" ]
+function net.ipv6_hints(callback)
+ if callback then
+ _nethints(3, function(mac, v4, v6, name)
+ name = name or mac
+ if name and name ~= v6 then
+ callback(v6, name)
+ end
+ end)
+ else
+ local rv = { }
+ _nethints(3, function(mac, v4, v6, name)
+ name = name or mac
+ if name and name ~= v6 then
+ rv[#rv+1] = { v6, name }
+ end
+ end)
+ return rv
+ end
+end
+
+function net.host_hints(callback)
+ if callback then
+ _nethints(1, function(mac, v4, v6, name)
+ if mac and mac ~= "00:00:00:00:00:00" and (v4 or v6 or name) then
+ callback(mac, v4, v6, name)
+ end
+ end)
+ else
+ local rv = { }
+ _nethints(1, function(mac, v4, v6, name)
+ if mac and mac ~= "00:00:00:00:00:00" and (v4 or v6 or name) then
+ local e = { }
+ if v4 then e.ipv4 = v4 end
+ if v6 then e.ipv6 = v6 end
+ if name then e.name = name end
+ rv[mac] = e
+ end
+ end)
+ return rv
+ end
+end
+
+function net.conntrack(callback)
+ local ok, nfct = pcall(io.lines, "/proc/net/nf_conntrack")
+ if not ok or not nfct then
+ return nil
+ end
+
+ local line, connt = nil, (not callback) and { }
+ for line in nfct do
+ local fam, l3, l4, rest =
+ line:match("^(ipv[46]) +(%d+) +%S+ +(%d+) +(.+)$")
+
+ local timeout, tuples = rest:match("^(%d+) +(.+)$")
+
+ if not tuples then
+ tuples = rest
+ end
+
+ if fam and l3 and l4 and not tuples:match("^TIME_WAIT ") then
+ l4 = nixio.getprotobynumber(l4)
+
+ local entry = {
+ bytes = 0,
+ packets = 0,
+ layer3 = fam,
+ layer4 = l4 and l4.name or "unknown",
+ timeout = tonumber(timeout, 10)
+ }
+
+ local key, val
+ for key, val in tuples:gmatch("(%w+)=(%S+)") do
+ if key == "bytes" or key == "packets" then
+ entry[key] = entry[key] + tonumber(val, 10)
+ elseif key == "src" or key == "dst" then
+ if entry[key] == nil then
+ entry[key] = luci.ip.new(val):string()
+ end
+ elseif key == "sport" or key == "dport" then
+ if entry[key] == nil then
+ entry[key] = val
+ end
+ elseif val then
+ entry[key] = val
+ end
+ end
+
+ if callback then
+ callback(entry)
+ else
+ connt[#connt+1] = entry
+ end
+ end
+ end
+
+ return callback and true or connt
+end
+
+function net.devices()
+ local devs = {}
+ local seen = {}
+ for k, v in ipairs(nixio.getifaddrs()) do
+ if v.name and not seen[v.name] then
+ seen[v.name] = true
+ devs[#devs+1] = v.name
+ end
+ end
+ return devs
+end
+
+function net.duid_to_mac(duid)
+ local b1, b2, b3, b4, b5, b6
+
+ if type(duid) == "string" then
+ -- DUID-LLT / Ethernet
+ if #duid == 28 then
+ b1, b2, b3, b4, b5, b6 = duid:match("^00010001(%x%x)(%x%x)(%x%x)(%x%x)(%x%x)(%x%x)%x%x%x%x%x%x%x%x$")
+
+ -- DUID-LL / Ethernet
+ elseif #duid == 20 then
+ b1, b2, b3, b4, b5, b6 = duid:match("^00030001(%x%x)(%x%x)(%x%x)(%x%x)(%x%x)(%x%x)$")
+
+ -- DUID-LL / Ethernet (Without Header)
+ elseif #duid == 12 then
+ b1, b2, b3, b4, b5, b6 = duid:match("^(%x%x)(%x%x)(%x%x)(%x%x)(%x%x)(%x%x)$")
+ end
+ end
+
+ return b1 and luci.ip.checkmac(table.concat({ b1, b2, b3, b4, b5, b6 }, ":"))
+end
+
+process = {}
+
+function process.info(key)
+ local s = {uid = nixio.getuid(), gid = nixio.getgid()}
+ return not key and s or s[key]
+end
+
+function process.list()
+ local data = {}
+ local k
+ local ps = luci.util.execi("/bin/busybox top -bn1")
+
+ if not ps then
+ return
+ end
+
+ for line in ps do
+ local pid, ppid, user, stat, vsz, mem, cpu, cmd = line:match(
+ "^ *(%d+) +(%d+) +(%S.-%S) +([RSDZTW][<NW ][<N ]) +(%d+m?) +(%d+%%) +(%d+%%) +(.+)"
+ )
+
+ local idx = tonumber(pid)
+ if idx and not cmd:match("top %-bn1") then
+ data[idx] = {
+ ['PID'] = pid,
+ ['PPID'] = ppid,
+ ['USER'] = user,
+ ['STAT'] = stat,
+ ['VSZ'] = vsz,
+ ['%MEM'] = mem,
+ ['%CPU'] = cpu,
+ ['COMMAND'] = cmd
+ }
+ end
+ end
+
+ return data
+end
+
+function process.setgroup(gid)
+ return nixio.setgid(gid)
+end
+
+function process.setuser(uid)
+ return nixio.setuid(uid)
+end
+
+process.signal = nixio.kill
+
+local function xclose(fd)
+ if fd and fd:fileno() > 2 then
+ fd:close()
+ end
+end
+
+function process.exec(command, stdout, stderr, nowait)
+ local out_r, out_w, err_r, err_w
+ if stdout then out_r, out_w = nixio.pipe() end
+ if stderr then err_r, err_w = nixio.pipe() end
+
+ local pid = nixio.fork()
+ if pid == 0 then
+ nixio.chdir("/")
+
+ local null = nixio.open("/dev/null", "w+")
+ if null then
+ nixio.dup(out_w or null, nixio.stdout)
+ nixio.dup(err_w or null, nixio.stderr)
+ nixio.dup(null, nixio.stdin)
+ xclose(out_w)
+ xclose(out_r)
+ xclose(err_w)
+ xclose(err_r)
+ xclose(null)
+ end
+
+ nixio.exec(unpack(command))
+ os.exit(-1)
+ end
+
+ local _, pfds, rv = nil, {}, { code = -1, pid = pid }
+
+ xclose(out_w)
+ xclose(err_w)
+
+ if out_r then
+ pfds[#pfds+1] = {
+ fd = out_r,
+ cb = type(stdout) == "function" and stdout,
+ name = "stdout",
+ events = nixio.poll_flags("in", "err", "hup")
+ }
+ end
+
+ if err_r then
+ pfds[#pfds+1] = {
+ fd = err_r,
+ cb = type(stderr) == "function" and stderr,
+ name = "stderr",
+ events = nixio.poll_flags("in", "err", "hup")
+ }
+ end
+
+ while #pfds > 0 do
+ local nfds, err = nixio.poll(pfds, -1)
+ if not nfds and err ~= nixio.const.EINTR then
+ break
+ end
+
+ local i
+ for i = #pfds, 1, -1 do
+ local rfd = pfds[i]
+ if rfd.revents > 0 then
+ local chunk, err = rfd.fd:read(4096)
+ if chunk and #chunk > 0 then
+ if rfd.cb then
+ rfd.cb(chunk)
+ else
+ rfd.buf = rfd.buf or {}
+ rfd.buf[#rfd.buf + 1] = chunk
+ end
+ else
+ table.remove(pfds, i)
+ if rfd.buf then
+ rv[rfd.name] = table.concat(rfd.buf, "")
+ end
+ rfd.fd:close()
+ end
+ end
+ end
+ end
+
+ if not nowait then
+ _, _, rv.code = nixio.waitpid(pid)
+ end
+
+ return rv
+end
+
+
+user = {}
+
+-- { "uid", "gid", "name", "passwd", "dir", "shell", "gecos" }
+user.getuser = nixio.getpw
+
+function user.getpasswd(username)
+ local pwe = nixio.getsp and nixio.getsp(username) or nixio.getpw(username)
+ local pwh = pwe and (pwe.pwdp or pwe.passwd)
+ if not pwh or #pwh < 1 then
+ return nil, pwe
+ else
+ return pwh, pwe
+ end
+end
+
+function user.checkpasswd(username, pass)
+ local pwh, pwe = user.getpasswd(username)
+ if pwe then
+ return (pwh == nil or nixio.crypt(pass, pwh) == pwh)
+ end
+ return false
+end
+
+function user.setpasswd(username, password)
+ return os.execute("(echo %s; sleep 1; echo %s) | passwd %s >/dev/null 2>&1" %{
+ luci.util.shellquote(password),
+ luci.util.shellquote(password),
+ luci.util.shellquote(username)
+ })
+end
+
+
+wifi = {}
+
+function wifi.getiwinfo(ifname)
+ local ntm = require "luci.model.network"
+
+ ntm.init()
+
+ local wnet = ntm:get_wifinet(ifname)
+ if wnet and wnet.iwinfo then
+ return wnet.iwinfo
+ end
+
+ local wdev = ntm:get_wifidev(ifname)
+ if wdev and wdev.iwinfo then
+ return wdev.iwinfo
+ end
+
+ return { ifname = ifname }
+end
+
+
+init = {}
+init.dir = "/etc/init.d/"
+
+function init.names()
+ local names = { }
+ for name in fs.glob(init.dir.."*") do
+ names[#names+1] = fs.basename(name)
+ end
+ return names
+end
+
+function init.index(name)
+ name = fs.basename(name)
+ if fs.access(init.dir..name) then
+ return call("env -i sh -c 'source %s%s enabled; exit ${START:-255}' >/dev/null"
+ %{ init.dir, name })
+ end
+end
+
+local function init_action(action, name)
+ name = fs.basename(name)
+ if fs.access(init.dir..name) then
+ return call("env -i %s%s %s >/dev/null" %{ init.dir, name, action })
+ end
+end
+
+function init.enabled(name)
+ return (init_action("enabled", name) == 0)
+end
+
+function init.enable(name)
+ return (init_action("enable", name) == 0)
+end
+
+function init.disable(name)
+ return (init_action("disable", name) == 0)
+end
+
+function init.start(name)
+ return (init_action("start", name) == 0)
+end
+
+function init.stop(name)
+ return (init_action("stop", name) == 0)
+end
+
+function init.restart(name)
+ return (init_action("restart", name) == 0)
+end
+
+function init.reload(name)
+ return (init_action("reload", name) == 0)
+end
--- /dev/null
+---[[
+LuCI Linux and POSIX system utilities.
+]]
+module "luci.sys"
+
+---[[
+Execute a given shell command and return the error code
+
+@class function
+@name call
+@param ... Command to call
+@return Error code of the command
+]]
+
+---[[
+Execute a given shell command and capture its standard output
+
+@class function
+@name exec
+@param command Command to call
+@return String containing the return the output of the command
+]]
+
+---[[
+Retrieve information about currently mounted file systems.
+
+@class function
+@name mounts
+@return Table containing mount information
+]]
+
+---[[
+Retrieve environment variables. If no variable is given then a table
+
+containing the whole environment is returned otherwise this function returns
+the corresponding string value for the given name or nil if no such variable
+exists.
+@class function
+@name getenv
+@param var Name of the environment variable to retrieve (optional)
+@return String containing the value of the specified variable
+@return Table containing all variables if no variable name is given
+]]
+
+---[[
+Get or set the current hostname.
+
+@class function
+@name hostname
+@param String containing a new hostname to set (optional)
+@return String containing the system hostname
+]]
+
+---[[
+Returns the contents of a documented referred by an URL.
+
+@class function
+@name httpget
+@param url The URL to retrieve
+@param stream Return a stream instead of a buffer
+@param target Directly write to target file name
+@return String containing the contents of given the URL
+]]
+
+---[[
+Initiate a system reboot.
+
+@class function
+@name reboot
+@return Return value of os.execute()
+]]
+
+---[[
+Retrieves the output of the "logread" command.
+
+@class function
+@name syslog
+@return String containing the current log buffer
+]]
+
+---[[
+Retrieves the output of the "dmesg" command.
+
+@class function
+@name dmesg
+@return String containing the current log buffer
+]]
+
+---[[
+Generates a random id with specified length.
+
+@class function
+@name uniqueid
+@param bytes Number of bytes for the unique id
+@return String containing hex encoded id
+]]
+
+---[[
+Returns the current system uptime stats.
+
+@class function
+@name uptime
+@return String containing total uptime in seconds
+]]
+
+---[[
+LuCI system utilities / network related functions.
+
+@class module
+@name luci.sys.net
+]]
+
+---[[
+Returns a two-dimensional table of mac address hints.
+
+@class function
+@name net.mac_hints
+@return Table of table containing known hosts from various sources.
+ Each entry contains the values in the following order:
+ [ "mac", "name" ]
+]]
+
+---[[
+Returns a two-dimensional table of IPv4 address hints.
+
+@class function
+@name net.ipv4_hints
+@return Table of table containing known hosts from various sources.
+ Each entry contains the values in the following order:
+ [ "ip", "name" ]
+]]
+
+---[[
+Returns a two-dimensional table of IPv6 address hints.
+
+@class function
+@name net.ipv6_hints
+@return Table of table containing known hosts from various sources.
+ Each entry contains the values in the following order:
+ [ "ip", "name" ]
+]]
+
+---[[
+Returns a two-dimensional table of host hints.
+
+@class function
+@name net.host_hints
+@return Table of table containing known hosts from various sources,
+ indexed by mac address. Each subtable contains at least one
+ of the fields "name", "ipv4" or "ipv6".
+]]
+
+---[[
+Returns conntrack information
+
+@class function
+@name net.conntrack
+@return Table with the currently tracked IP connections
+]]
+
+---[[
+Determine the names of available network interfaces.
+
+@class function
+@name net.devices
+@return Table containing all current interface names
+]]
+
+---[[
+LuCI system utilities / process related functions.
+
+@class module
+@name luci.sys.process
+]]
+
+---[[
+Get the current process id.
+
+@class function
+@name process.info
+@return Number containing the current pid
+]]
+
+---[[
+Retrieve information about currently running processes.
+
+@class function
+@name process.list
+@return Table containing process information
+]]
+
+---[[
+Set the gid of a process identified by given pid.
+
+@class function
+@name process.setgroup
+@param gid Number containing the Unix group id
+@return Boolean indicating successful operation
+@return String containing the error message if failed
+@return Number containing the error code if failed
+]]
+
+---[[
+Set the uid of a process identified by given pid.
+
+@class function
+@name process.setuser
+@param uid Number containing the Unix user id
+@return Boolean indicating successful operation
+@return String containing the error message if failed
+@return Number containing the error code if failed
+]]
+
+---[[
+Send a signal to a process identified by given pid.
+
+@class function
+@name process.signal
+@param pid Number containing the process id
+@param sig Signal to send (default: 15 [SIGTERM])
+@return Boolean indicating successful operation
+@return Number containing the error code if failed
+]]
+
+---[[
+Execute a process, optionally capturing stdio.
+
+Executes the process specified by the given argv vector, e.g.
+`{ "/bin/sh", "-c", "echo 1" }` and waits for it to terminate unless a true
+value has been passed for the "nowait" parameter.
+
+When a function value is passed for the stdout or stderr arguments, the passed
+function is repeatedly called for each chunk read from the corresponding stdio
+stream. The read data is passed as string containing at most 4096 bytes at a
+time.
+
+When a true, non-function value is passed for the stdout or stderr arguments,
+the data of the corresponding stdio stream is read into an internal string
+buffer and returned as "stdout" or "stderr" field respectively in the result
+table.
+
+When a true value is passed to the nowait parameter, the function does not
+await process termination but returns as soon as all captured stdio streams
+have been closed or - if no streams are captured - immediately after launching
+the process.
+
+@class function
+@name process.exec
+@param commend Table containing the argv vector to execute
+@param stdout Callback function or boolean to indicate capturing (optional)
+@param stderr Callback function or boolean to indicate capturing (optional)
+@param nowait Don't wait for process termination when true (optional)
+@return Table containing at least the fields "code" which holds the exit
+ status of the invoked process or "-1" on error and "pid", which
+ contains the process id assigned to the spawned process. When
+ stdout and/or stderr capturing has been requested, it additionally
+ contains "stdout" and "stderr" fields respectively, holding the
+ captured stdio data as string.
+]]
+
+---[[
+LuCI system utilities / user related functions.
+
+@class module
+@name luci.sys.user
+]]
+
+---[[
+Retrieve user information for given uid.
+
+@class function
+@name getuser
+@param uid Number containing the Unix user id
+@return Table containing the following fields:
+-- { "uid", "gid", "name", "passwd", "dir", "shell", "gecos" }
+]]
+
+---[[
+Retrieve the current user password hash.
+
+@class function
+@name user.getpasswd
+@param username String containing the username to retrieve the password for
+@return String containing the hash or nil if no password is set.
+@return Password database entry
+]]
+
+---[[
+Test whether given string matches the password of a given system user.
+
+@class function
+@name user.checkpasswd
+@param username String containing the Unix user name
+@param pass String containing the password to compare
+@return Boolean indicating whether the passwords are equal
+]]
+
+---[[
+Change the password of given user.
+
+@class function
+@name user.setpasswd
+@param username String containing the Unix user name
+@param password String containing the password to compare
+@return Number containing 0 on success and >= 1 on error
+]]
+
+---[[
+LuCI system utilities / wifi related functions.
+
+@class module
+@name luci.sys.wifi
+]]
+
+---[[
+Get wireless information for given interface.
+
+@class function
+@name wifi.getiwinfo
+@param ifname String containing the interface name
+@return A wrapped iwinfo object instance
+]]
+
+---[[
+LuCI system utilities / init related functions.
+
+@class module
+@name luci.sys.init
+]]
+
+---[[
+Get the names of all installed init scripts
+
+@class function
+@name init.names
+@return Table containing the names of all inistalled init scripts
+]]
+
+---[[
+Get the index of he given init script
+
+@class function
+@name init.index
+@param name Name of the init script
+@return Numeric index value
+]]
+
+---[[
+Test whether the given init script is enabled
+
+@class function
+@name init.enabled
+@param name Name of the init script
+@return Boolean indicating whether init is enabled
+]]
+
+---[[
+Enable the given init script
+
+@class function
+@name init.enable
+@param name Name of the init script
+@return Boolean indicating success
+]]
+
+---[[
+Disable the given init script
+
+@class function
+@name init.disable
+@param name Name of the init script
+@return Boolean indicating success
+]]
+
+---[[
+Start the given init script
+
+@class function
+@name init.start
+@param name Name of the init script
+@return Boolean indicating success
+]]
+
+---[[
+Stop the given init script
+
+@class function
+@name init.stop
+@param name Name of the init script
+@return Boolean indicating success
+]]
+
--- /dev/null
+-- Licensed to the public under the Apache License 2.0.
+
+local setmetatable, require, rawget, rawset = setmetatable, require, rawget, rawset
+
+module "luci.sys.zoneinfo"
+
+setmetatable(_M, {
+ __index = function(t, k)
+ if k == "TZ" and not rawget(t, k) then
+ local m = require "luci.sys.zoneinfo.tzdata"
+ rawset(t, k, rawget(m, k))
+ elseif k == "OFFSET" and not rawget(t, k) then
+ local m = require "luci.sys.zoneinfo.tzoffset"
+ rawset(t, k, rawget(m, k))
+ end
+
+ return rawget(t, k)
+ end
+})
--- /dev/null
+-- Licensed to the public under the Apache License 2.0.
+
+module "luci.sys.zoneinfo.tzdata"
+
+TZ = {
+ { 'Africa/Abidjan', 'GMT0' },
+ { 'Africa/Accra', 'GMT0' },
+ { 'Africa/Addis Ababa', 'EAT-3' },
+ { 'Africa/Algiers', 'CET-1' },
+ { 'Africa/Asmara', 'EAT-3' },
+ { 'Africa/Bamako', 'GMT0' },
+ { 'Africa/Bangui', 'WAT-1' },
+ { 'Africa/Banjul', 'GMT0' },
+ { 'Africa/Bissau', 'GMT0' },
+ { 'Africa/Blantyre', 'CAT-2' },
+ { 'Africa/Brazzaville', 'WAT-1' },
+ { 'Africa/Bujumbura', 'CAT-2' },
+ { 'Africa/Cairo', 'EET-2' },
+ { 'Africa/Casablanca', '<+01>-1' },
+ { 'Africa/Ceuta', 'CET-1CEST,M3.5.0,M10.5.0/3' },
+ { 'Africa/Conakry', 'GMT0' },
+ { 'Africa/Dakar', 'GMT0' },
+ { 'Africa/Dar es Salaam', 'EAT-3' },
+ { 'Africa/Djibouti', 'EAT-3' },
+ { 'Africa/Douala', 'WAT-1' },
+ { 'Africa/El Aaiun', '<+01>-1' },
+ { 'Africa/Freetown', 'GMT0' },
+ { 'Africa/Gaborone', 'CAT-2' },
+ { 'Africa/Harare', 'CAT-2' },
+ { 'Africa/Johannesburg', 'SAST-2' },
+ { 'Africa/Juba', 'CAT-2' },
+ { 'Africa/Kampala', 'EAT-3' },
+ { 'Africa/Khartoum', 'CAT-2' },
+ { 'Africa/Kigali', 'CAT-2' },
+ { 'Africa/Kinshasa', 'WAT-1' },
+ { 'Africa/Lagos', 'WAT-1' },
+ { 'Africa/Libreville', 'WAT-1' },
+ { 'Africa/Lome', 'GMT0' },
+ { 'Africa/Luanda', 'WAT-1' },
+ { 'Africa/Lubumbashi', 'CAT-2' },
+ { 'Africa/Lusaka', 'CAT-2' },
+ { 'Africa/Malabo', 'WAT-1' },
+ { 'Africa/Maputo', 'CAT-2' },
+ { 'Africa/Maseru', 'SAST-2' },
+ { 'Africa/Mbabane', 'SAST-2' },
+ { 'Africa/Mogadishu', 'EAT-3' },
+ { 'Africa/Monrovia', 'GMT0' },
+ { 'Africa/Nairobi', 'EAT-3' },
+ { 'Africa/Ndjamena', 'WAT-1' },
+ { 'Africa/Niamey', 'WAT-1' },
+ { 'Africa/Nouakchott', 'GMT0' },
+ { 'Africa/Ouagadougou', 'GMT0' },
+ { 'Africa/Porto-Novo', 'WAT-1' },
+ { 'Africa/Sao Tome', 'GMT0' },
+ { 'Africa/Tripoli', 'EET-2' },
+ { 'Africa/Tunis', 'CET-1' },
+ { 'Africa/Windhoek', 'CAT-2' },
+ { 'America/Adak', 'HST10HDT,M3.2.0,M11.1.0' },
+ { 'America/Anchorage', 'AKST9AKDT,M3.2.0,M11.1.0' },
+ { 'America/Anguilla', 'AST4' },
+ { 'America/Antigua', 'AST4' },
+ { 'America/Araguaina', '<-03>3' },
+ { 'America/Argentina/Buenos Aires', '<-03>3' },
+ { 'America/Argentina/Catamarca', '<-03>3' },
+ { 'America/Argentina/Cordoba', '<-03>3' },
+ { 'America/Argentina/Jujuy', '<-03>3' },
+ { 'America/Argentina/La Rioja', '<-03>3' },
+ { 'America/Argentina/Mendoza', '<-03>3' },
+ { 'America/Argentina/Rio Gallegos', '<-03>3' },
+ { 'America/Argentina/Salta', '<-03>3' },
+ { 'America/Argentina/San Juan', '<-03>3' },
+ { 'America/Argentina/San Luis', '<-03>3' },
+ { 'America/Argentina/Tucuman', '<-03>3' },
+ { 'America/Argentina/Ushuaia', '<-03>3' },
+ { 'America/Aruba', 'AST4' },
+ { 'America/Asuncion', '<-04>4<-03>,M10.1.0/0,M3.4.0/0' },
+ { 'America/Atikokan', 'EST5' },
+ { 'America/Bahia', '<-03>3' },
+ { 'America/Bahia Banderas', 'CST6CDT,M4.1.0,M10.5.0' },
+ { 'America/Barbados', 'AST4' },
+ { 'America/Belem', '<-03>3' },
+ { 'America/Belize', 'CST6' },
+ { 'America/Blanc-Sablon', 'AST4' },
+ { 'America/Boa Vista', '<-04>4' },
+ { 'America/Bogota', '<-05>5' },
+ { 'America/Boise', 'MST7MDT,M3.2.0,M11.1.0' },
+ { 'America/Cambridge Bay', 'MST7MDT,M3.2.0,M11.1.0' },
+ { 'America/Campo Grande', '<-04>4' },
+ { 'America/Cancun', 'EST5' },
+ { 'America/Caracas', '<-04>4' },
+ { 'America/Cayenne', '<-03>3' },
+ { 'America/Cayman', 'EST5' },
+ { 'America/Chicago', 'CST6CDT,M3.2.0,M11.1.0' },
+ { 'America/Chihuahua', 'MST7MDT,M4.1.0,M10.5.0' },
+ { 'America/Costa Rica', 'CST6' },
+ { 'America/Creston', 'MST7' },
+ { 'America/Cuiaba', '<-04>4' },
+ { 'America/Curacao', 'AST4' },
+ { 'America/Danmarkshavn', 'GMT0' },
+ { 'America/Dawson', 'MST7' },
+ { 'America/Dawson Creek', 'MST7' },
+ { 'America/Denver', 'MST7MDT,M3.2.0,M11.1.0' },
+ { 'America/Detroit', 'EST5EDT,M3.2.0,M11.1.0' },
+ { 'America/Dominica', 'AST4' },
+ { 'America/Edmonton', 'MST7MDT,M3.2.0,M11.1.0' },
+ { 'America/Eirunepe', '<-05>5' },
+ { 'America/El Salvador', 'CST6' },
+ { 'America/Fort Nelson', 'MST7' },
+ { 'America/Fortaleza', '<-03>3' },
+ { 'America/Glace Bay', 'AST4ADT,M3.2.0,M11.1.0' },
+ { 'America/Goose Bay', 'AST4ADT,M3.2.0,M11.1.0' },
+ { 'America/Grand Turk', 'EST5EDT,M3.2.0,M11.1.0' },
+ { 'America/Grenada', 'AST4' },
+ { 'America/Guadeloupe', 'AST4' },
+ { 'America/Guatemala', 'CST6' },
+ { 'America/Guayaquil', '<-05>5' },
+ { 'America/Guyana', '<-04>4' },
+ { 'America/Halifax', 'AST4ADT,M3.2.0,M11.1.0' },
+ { 'America/Havana', 'CST5CDT,M3.2.0/0,M11.1.0/1' },
+ { 'America/Hermosillo', 'MST7' },
+ { 'America/Indiana/Indianapolis', 'EST5EDT,M3.2.0,M11.1.0' },
+ { 'America/Indiana/Knox', 'CST6CDT,M3.2.0,M11.1.0' },
+ { 'America/Indiana/Marengo', 'EST5EDT,M3.2.0,M11.1.0' },
+ { 'America/Indiana/Petersburg', 'EST5EDT,M3.2.0,M11.1.0' },
+ { 'America/Indiana/Tell City', 'CST6CDT,M3.2.0,M11.1.0' },
+ { 'America/Indiana/Vevay', 'EST5EDT,M3.2.0,M11.1.0' },
+ { 'America/Indiana/Vincennes', 'EST5EDT,M3.2.0,M11.1.0' },
+ { 'America/Indiana/Winamac', 'EST5EDT,M3.2.0,M11.1.0' },
+ { 'America/Inuvik', 'MST7MDT,M3.2.0,M11.1.0' },
+ { 'America/Iqaluit', 'EST5EDT,M3.2.0,M11.1.0' },
+ { 'America/Jamaica', 'EST5' },
+ { 'America/Juneau', 'AKST9AKDT,M3.2.0,M11.1.0' },
+ { 'America/Kentucky/Louisville', 'EST5EDT,M3.2.0,M11.1.0' },
+ { 'America/Kentucky/Monticello', 'EST5EDT,M3.2.0,M11.1.0' },
+ { 'America/Kralendijk', 'AST4' },
+ { 'America/La Paz', '<-04>4' },
+ { 'America/Lima', '<-05>5' },
+ { 'America/Los Angeles', 'PST8PDT,M3.2.0,M11.1.0' },
+ { 'America/Lower Princes', 'AST4' },
+ { 'America/Maceio', '<-03>3' },
+ { 'America/Managua', 'CST6' },
+ { 'America/Manaus', '<-04>4' },
+ { 'America/Marigot', 'AST4' },
+ { 'America/Martinique', 'AST4' },
+ { 'America/Matamoros', 'CST6CDT,M3.2.0,M11.1.0' },
+ { 'America/Mazatlan', 'MST7MDT,M4.1.0,M10.5.0' },
+ { 'America/Menominee', 'CST6CDT,M3.2.0,M11.1.0' },
+ { 'America/Merida', 'CST6CDT,M4.1.0,M10.5.0' },
+ { 'America/Metlakatla', 'AKST9AKDT,M3.2.0,M11.1.0' },
+ { 'America/Mexico City', 'CST6CDT,M4.1.0,M10.5.0' },
+ { 'America/Miquelon', '<-03>3<-02>,M3.2.0,M11.1.0' },
+ { 'America/Moncton', 'AST4ADT,M3.2.0,M11.1.0' },
+ { 'America/Monterrey', 'CST6CDT,M4.1.0,M10.5.0' },
+ { 'America/Montevideo', '<-03>3' },
+ { 'America/Montserrat', 'AST4' },
+ { 'America/Nassau', 'EST5EDT,M3.2.0,M11.1.0' },
+ { 'America/New York', 'EST5EDT,M3.2.0,M11.1.0' },
+ { 'America/Nipigon', 'EST5EDT,M3.2.0,M11.1.0' },
+ { 'America/Nome', 'AKST9AKDT,M3.2.0,M11.1.0' },
+ { 'America/Noronha', '<-02>2' },
+ { 'America/North Dakota/Beulah', 'CST6CDT,M3.2.0,M11.1.0' },
+ { 'America/North Dakota/Center', 'CST6CDT,M3.2.0,M11.1.0' },
+ { 'America/North Dakota/New Salem', 'CST6CDT,M3.2.0,M11.1.0' },
+ { 'America/Nuuk', '<-03>3<-02>,M3.5.0/-2,M10.5.0/-1' },
+ { 'America/Ojinaga', 'MST7MDT,M3.2.0,M11.1.0' },
+ { 'America/Panama', 'EST5' },
+ { 'America/Pangnirtung', 'EST5EDT,M3.2.0,M11.1.0' },
+ { 'America/Paramaribo', '<-03>3' },
+ { 'America/Phoenix', 'MST7' },
+ { 'America/Port of Spain', 'AST4' },
+ { 'America/Port-au-Prince', 'EST5EDT,M3.2.0,M11.1.0' },
+ { 'America/Porto Velho', '<-04>4' },
+ { 'America/Puerto Rico', 'AST4' },
+ { 'America/Punta Arenas', '<-03>3' },
+ { 'America/Rainy River', 'CST6CDT,M3.2.0,M11.1.0' },
+ { 'America/Rankin Inlet', 'CST6CDT,M3.2.0,M11.1.0' },
+ { 'America/Recife', '<-03>3' },
+ { 'America/Regina', 'CST6' },
+ { 'America/Resolute', 'CST6CDT,M3.2.0,M11.1.0' },
+ { 'America/Rio Branco', '<-05>5' },
+ { 'America/Santarem', '<-03>3' },
+ { 'America/Santiago', '<-04>4<-03>,M9.1.6/24,M4.1.6/24' },
+ { 'America/Santo Domingo', 'AST4' },
+ { 'America/Sao Paulo', '<-03>3' },
+ { 'America/Scoresbysund', '<-01>1<+00>,M3.5.0/0,M10.5.0/1' },
+ { 'America/Sitka', 'AKST9AKDT,M3.2.0,M11.1.0' },
+ { 'America/St Barthelemy', 'AST4' },
+ { 'America/St Johns', 'NST3:30NDT,M3.2.0,M11.1.0' },
+ { 'America/St Kitts', 'AST4' },
+ { 'America/St Lucia', 'AST4' },
+ { 'America/St Thomas', 'AST4' },
+ { 'America/St Vincent', 'AST4' },
+ { 'America/Swift Current', 'CST6' },
+ { 'America/Tegucigalpa', 'CST6' },
+ { 'America/Thule', 'AST4ADT,M3.2.0,M11.1.0' },
+ { 'America/Thunder Bay', 'EST5EDT,M3.2.0,M11.1.0' },
+ { 'America/Tijuana', 'PST8PDT,M3.2.0,M11.1.0' },
+ { 'America/Toronto', 'EST5EDT,M3.2.0,M11.1.0' },
+ { 'America/Tortola', 'AST4' },
+ { 'America/Vancouver', 'PST8PDT,M3.2.0,M11.1.0' },
+ { 'America/Whitehorse', 'MST7' },
+ { 'America/Winnipeg', 'CST6CDT,M3.2.0,M11.1.0' },
+ { 'America/Yakutat', 'AKST9AKDT,M3.2.0,M11.1.0' },
+ { 'America/Yellowknife', 'MST7MDT,M3.2.0,M11.1.0' },
+ { 'Antarctica/Casey', '<+11>-11' },
+ { 'Antarctica/Davis', '<+07>-7' },
+ { 'Antarctica/DumontDUrville', '<+10>-10' },
+ { 'Antarctica/Macquarie', 'AEST-10AEDT,M10.1.0,M4.1.0/3' },
+ { 'Antarctica/Mawson', '<+05>-5' },
+ { 'Antarctica/McMurdo', 'NZST-12NZDT,M9.5.0,M4.1.0/3' },
+ { 'Antarctica/Palmer', '<-03>3' },
+ { 'Antarctica/Rothera', '<-03>3' },
+ { 'Antarctica/Syowa', '<+03>-3' },
+ { 'Antarctica/Troll', '<+00>0<+02>-2,M3.5.0/1,M10.5.0/3' },
+ { 'Antarctica/Vostok', '<+06>-6' },
+ { 'Arctic/Longyearbyen', 'CET-1CEST,M3.5.0,M10.5.0/3' },
+ { 'Asia/Aden', '<+03>-3' },
+ { 'Asia/Almaty', '<+06>-6' },
+ { 'Asia/Amman', '<+03>-3' },
+ { 'Asia/Anadyr', '<+12>-12' },
+ { 'Asia/Aqtau', '<+05>-5' },
+ { 'Asia/Aqtobe', '<+05>-5' },
+ { 'Asia/Ashgabat', '<+05>-5' },
+ { 'Asia/Atyrau', '<+05>-5' },
+ { 'Asia/Baghdad', '<+03>-3' },
+ { 'Asia/Bahrain', '<+03>-3' },
+ { 'Asia/Baku', '<+04>-4' },
+ { 'Asia/Bangkok', '<+07>-7' },
+ { 'Asia/Barnaul', '<+07>-7' },
+ { 'Asia/Beirut', 'EET-2EEST,M3.5.0/0,M10.5.0/0' },
+ { 'Asia/Bishkek', '<+06>-6' },
+ { 'Asia/Brunei', '<+08>-8' },
+ { 'Asia/Chita', '<+09>-9' },
+ { 'Asia/Choibalsan', '<+08>-8' },
+ { 'Asia/Colombo', '<+0530>-5:30' },
+ { 'Asia/Damascus', '<+03>-3' },
+ { 'Asia/Dhaka', '<+06>-6' },
+ { 'Asia/Dili', '<+09>-9' },
+ { 'Asia/Dubai', '<+04>-4' },
+ { 'Asia/Dushanbe', '<+05>-5' },
+ { 'Asia/Famagusta', 'EET-2EEST,M3.5.0/3,M10.5.0/4' },
+ { 'Asia/Gaza', 'EET-2EEST,M3.4.4/50,M10.4.4/50' },
+ { 'Asia/Hebron', 'EET-2EEST,M3.4.4/50,M10.4.4/50' },
+ { 'Asia/Ho Chi Minh', '<+07>-7' },
+ { 'Asia/Hong Kong', 'HKT-8' },
+ { 'Asia/Hovd', '<+07>-7' },
+ { 'Asia/Irkutsk', '<+08>-8' },
+ { 'Asia/Jakarta', 'WIB-7' },
+ { 'Asia/Jayapura', 'WIT-9' },
+ { 'Asia/Jerusalem', 'IST-2IDT,M3.4.4/26,M10.5.0' },
+ { 'Asia/Kabul', '<+0430>-4:30' },
+ { 'Asia/Kamchatka', '<+12>-12' },
+ { 'Asia/Karachi', 'PKT-5' },
+ { 'Asia/Kathmandu', '<+0545>-5:45' },
+ { 'Asia/Khandyga', '<+09>-9' },
+ { 'Asia/Kolkata', 'IST-5:30' },
+ { 'Asia/Krasnoyarsk', '<+07>-7' },
+ { 'Asia/Kuala Lumpur', '<+08>-8' },
+ { 'Asia/Kuching', '<+08>-8' },
+ { 'Asia/Kuwait', '<+03>-3' },
+ { 'Asia/Macau', 'CST-8' },
+ { 'Asia/Magadan', '<+11>-11' },
+ { 'Asia/Makassar', 'WITA-8' },
+ { 'Asia/Manila', 'PST-8' },
+ { 'Asia/Muscat', '<+04>-4' },
+ { 'Asia/Nicosia', 'EET-2EEST,M3.5.0/3,M10.5.0/4' },
+ { 'Asia/Novokuznetsk', '<+07>-7' },
+ { 'Asia/Novosibirsk', '<+07>-7' },
+ { 'Asia/Omsk', '<+06>-6' },
+ { 'Asia/Oral', '<+05>-5' },
+ { 'Asia/Phnom Penh', '<+07>-7' },
+ { 'Asia/Pontianak', 'WIB-7' },
+ { 'Asia/Pyongyang', 'KST-9' },
+ { 'Asia/Qatar', '<+03>-3' },
+ { 'Asia/Qostanay', '<+06>-6' },
+ { 'Asia/Qyzylorda', '<+05>-5' },
+ { 'Asia/Riyadh', '<+03>-3' },
+ { 'Asia/Sakhalin', '<+11>-11' },
+ { 'Asia/Samarkand', '<+05>-5' },
+ { 'Asia/Seoul', 'KST-9' },
+ { 'Asia/Shanghai', 'CST-8' },
+ { 'Asia/Singapore', '<+08>-8' },
+ { 'Asia/Srednekolymsk', '<+11>-11' },
+ { 'Asia/Taipei', 'CST-8' },
+ { 'Asia/Tashkent', '<+05>-5' },
+ { 'Asia/Tbilisi', '<+04>-4' },
+ { 'Asia/Tehran', '<+0330>-3:30' },
+ { 'Asia/Thimphu', '<+06>-6' },
+ { 'Asia/Tokyo', 'JST-9' },
+ { 'Asia/Tomsk', '<+07>-7' },
+ { 'Asia/Ulaanbaatar', '<+08>-8' },
+ { 'Asia/Urumqi', '<+06>-6' },
+ { 'Asia/Ust-Nera', '<+10>-10' },
+ { 'Asia/Vientiane', '<+07>-7' },
+ { 'Asia/Vladivostok', '<+10>-10' },
+ { 'Asia/Yakutsk', '<+09>-9' },
+ { 'Asia/Yangon', '<+0630>-6:30' },
+ { 'Asia/Yekaterinburg', '<+05>-5' },
+ { 'Asia/Yerevan', '<+04>-4' },
+ { 'Atlantic/Azores', '<-01>1<+00>,M3.5.0/0,M10.5.0/1' },
+ { 'Atlantic/Bermuda', 'AST4ADT,M3.2.0,M11.1.0' },
+ { 'Atlantic/Canary', 'WET0WEST,M3.5.0/1,M10.5.0' },
+ { 'Atlantic/Cape Verde', '<-01>1' },
+ { 'Atlantic/Faroe', 'WET0WEST,M3.5.0/1,M10.5.0' },
+ { 'Atlantic/Madeira', 'WET0WEST,M3.5.0/1,M10.5.0' },
+ { 'Atlantic/Reykjavik', 'GMT0' },
+ { 'Atlantic/South Georgia', '<-02>2' },
+ { 'Atlantic/St Helena', 'GMT0' },
+ { 'Atlantic/Stanley', '<-03>3' },
+ { 'Australia/Adelaide', 'ACST-9:30ACDT,M10.1.0,M4.1.0/3' },
+ { 'Australia/Brisbane', 'AEST-10' },
+ { 'Australia/Broken Hill', 'ACST-9:30ACDT,M10.1.0,M4.1.0/3' },
+ { 'Australia/Darwin', 'ACST-9:30' },
+ { 'Australia/Eucla', '<+0845>-8:45' },
+ { 'Australia/Hobart', 'AEST-10AEDT,M10.1.0,M4.1.0/3' },
+ { 'Australia/Lindeman', 'AEST-10' },
+ { 'Australia/Lord Howe', '<+1030>-10:30<+11>-11,M10.1.0,M4.1.0' },
+ { 'Australia/Melbourne', 'AEST-10AEDT,M10.1.0,M4.1.0/3' },
+ { 'Australia/Perth', 'AWST-8' },
+ { 'Australia/Sydney', 'AEST-10AEDT,M10.1.0,M4.1.0/3' },
+ { 'Etc/GMT', 'GMT0' },
+ { 'Etc/GMT+1', '<-01>1' },
+ { 'Etc/GMT+10', '<-10>10' },
+ { 'Etc/GMT+11', '<-11>11' },
+ { 'Etc/GMT+12', '<-12>12' },
+ { 'Etc/GMT+2', '<-02>2' },
+ { 'Etc/GMT+3', '<-03>3' },
+ { 'Etc/GMT+4', '<-04>4' },
+ { 'Etc/GMT+5', '<-05>5' },
+ { 'Etc/GMT+6', '<-06>6' },
+ { 'Etc/GMT+7', '<-07>7' },
+ { 'Etc/GMT+8', '<-08>8' },
+ { 'Etc/GMT+9', '<-09>9' },
+ { 'Etc/GMT-1', '<+01>-1' },
+ { 'Etc/GMT-10', '<+10>-10' },
+ { 'Etc/GMT-11', '<+11>-11' },
+ { 'Etc/GMT-12', '<+12>-12' },
+ { 'Etc/GMT-13', '<+13>-13' },
+ { 'Etc/GMT-14', '<+14>-14' },
+ { 'Etc/GMT-2', '<+02>-2' },
+ { 'Etc/GMT-3', '<+03>-3' },
+ { 'Etc/GMT-4', '<+04>-4' },
+ { 'Etc/GMT-5', '<+05>-5' },
+ { 'Etc/GMT-6', '<+06>-6' },
+ { 'Etc/GMT-7', '<+07>-7' },
+ { 'Etc/GMT-8', '<+08>-8' },
+ { 'Etc/GMT-9', '<+09>-9' },
+ { 'Europe/Amsterdam', 'CET-1CEST,M3.5.0,M10.5.0/3' },
+ { 'Europe/Andorra', 'CET-1CEST,M3.5.0,M10.5.0/3' },
+ { 'Europe/Astrakhan', '<+04>-4' },
+ { 'Europe/Athens', 'EET-2EEST,M3.5.0/3,M10.5.0/4' },
+ { 'Europe/Belgrade', 'CET-1CEST,M3.5.0,M10.5.0/3' },
+ { 'Europe/Berlin', 'CET-1CEST,M3.5.0,M10.5.0/3' },
+ { 'Europe/Bratislava', 'CET-1CEST,M3.5.0,M10.5.0/3' },
+ { 'Europe/Brussels', 'CET-1CEST,M3.5.0,M10.5.0/3' },
+ { 'Europe/Bucharest', 'EET-2EEST,M3.5.0/3,M10.5.0/4' },
+ { 'Europe/Budapest', 'CET-1CEST,M3.5.0,M10.5.0/3' },
+ { 'Europe/Busingen', 'CET-1CEST,M3.5.0,M10.5.0/3' },
+ { 'Europe/Chisinau', 'EET-2EEST,M3.5.0,M10.5.0/3' },
+ { 'Europe/Copenhagen', 'CET-1CEST,M3.5.0,M10.5.0/3' },
+ { 'Europe/Dublin', 'IST-1GMT0,M10.5.0,M3.5.0/1' },
+ { 'Europe/Gibraltar', 'CET-1CEST,M3.5.0,M10.5.0/3' },
+ { 'Europe/Guernsey', 'GMT0BST,M3.5.0/1,M10.5.0' },
+ { 'Europe/Helsinki', 'EET-2EEST,M3.5.0/3,M10.5.0/4' },
+ { 'Europe/Isle of Man', 'GMT0BST,M3.5.0/1,M10.5.0' },
+ { 'Europe/Istanbul', '<+03>-3' },
+ { 'Europe/Jersey', 'GMT0BST,M3.5.0/1,M10.5.0' },
+ { 'Europe/Kaliningrad', 'EET-2' },
+ { 'Europe/Kirov', '<+03>-3' },
+ { 'Europe/Kyiv', 'EET-2EEST,M3.5.0/3,M10.5.0/4' },
+ { 'Europe/Lisbon', 'WET0WEST,M3.5.0/1,M10.5.0' },
+ { 'Europe/Ljubljana', 'CET-1CEST,M3.5.0,M10.5.0/3' },
+ { 'Europe/London', 'GMT0BST,M3.5.0/1,M10.5.0' },
+ { 'Europe/Luxembourg', 'CET-1CEST,M3.5.0,M10.5.0/3' },
+ { 'Europe/Madrid', 'CET-1CEST,M3.5.0,M10.5.0/3' },
+ { 'Europe/Malta', 'CET-1CEST,M3.5.0,M10.5.0/3' },
+ { 'Europe/Mariehamn', 'EET-2EEST,M3.5.0/3,M10.5.0/4' },
+ { 'Europe/Minsk', '<+03>-3' },
+ { 'Europe/Monaco', 'CET-1CEST,M3.5.0,M10.5.0/3' },
+ { 'Europe/Moscow', 'MSK-3' },
+ { 'Europe/Oslo', 'CET-1CEST,M3.5.0,M10.5.0/3' },
+ { 'Europe/Paris', 'CET-1CEST,M3.5.0,M10.5.0/3' },
+ { 'Europe/Podgorica', 'CET-1CEST,M3.5.0,M10.5.0/3' },
+ { 'Europe/Prague', 'CET-1CEST,M3.5.0,M10.5.0/3' },
+ { 'Europe/Riga', 'EET-2EEST,M3.5.0/3,M10.5.0/4' },
+ { 'Europe/Rome', 'CET-1CEST,M3.5.0,M10.5.0/3' },
+ { 'Europe/Samara', '<+04>-4' },
+ { 'Europe/San Marino', 'CET-1CEST,M3.5.0,M10.5.0/3' },
+ { 'Europe/Sarajevo', 'CET-1CEST,M3.5.0,M10.5.0/3' },
+ { 'Europe/Saratov', '<+04>-4' },
+ { 'Europe/Simferopol', 'MSK-3' },
+ { 'Europe/Skopje', 'CET-1CEST,M3.5.0,M10.5.0/3' },
+ { 'Europe/Sofia', 'EET-2EEST,M3.5.0/3,M10.5.0/4' },
+ { 'Europe/Stockholm', 'CET-1CEST,M3.5.0,M10.5.0/3' },
+ { 'Europe/Tallinn', 'EET-2EEST,M3.5.0/3,M10.5.0/4' },
+ { 'Europe/Tirane', 'CET-1CEST,M3.5.0,M10.5.0/3' },
+ { 'Europe/Ulyanovsk', '<+04>-4' },
+ { 'Europe/Vaduz', 'CET-1CEST,M3.5.0,M10.5.0/3' },
+ { 'Europe/Vatican', 'CET-1CEST,M3.5.0,M10.5.0/3' },
+ { 'Europe/Vienna', 'CET-1CEST,M3.5.0,M10.5.0/3' },
+ { 'Europe/Vilnius', 'EET-2EEST,M3.5.0/3,M10.5.0/4' },
+ { 'Europe/Volgograd', '<+03>-3' },
+ { 'Europe/Warsaw', 'CET-1CEST,M3.5.0,M10.5.0/3' },
+ { 'Europe/Zagreb', 'CET-1CEST,M3.5.0,M10.5.0/3' },
+ { 'Europe/Zurich', 'CET-1CEST,M3.5.0,M10.5.0/3' },
+ { 'Indian/Antananarivo', 'EAT-3' },
+ { 'Indian/Chagos', '<+06>-6' },
+ { 'Indian/Christmas', '<+07>-7' },
+ { 'Indian/Cocos', '<+0630>-6:30' },
+ { 'Indian/Comoro', 'EAT-3' },
+ { 'Indian/Kerguelen', '<+05>-5' },
+ { 'Indian/Mahe', '<+04>-4' },
+ { 'Indian/Maldives', '<+05>-5' },
+ { 'Indian/Mauritius', '<+04>-4' },
+ { 'Indian/Mayotte', 'EAT-3' },
+ { 'Indian/Reunion', '<+04>-4' },
+ { 'Pacific/Apia', '<+13>-13' },
+ { 'Pacific/Auckland', 'NZST-12NZDT,M9.5.0,M4.1.0/3' },
+ { 'Pacific/Bougainville', '<+11>-11' },
+ { 'Pacific/Chatham', '<+1245>-12:45<+1345>,M9.5.0/2:45,M4.1.0/3:45' },
+ { 'Pacific/Chuuk', '<+10>-10' },
+ { 'Pacific/Easter', '<-06>6<-05>,M9.1.6/22,M4.1.6/22' },
+ { 'Pacific/Efate', '<+11>-11' },
+ { 'Pacific/Fakaofo', '<+13>-13' },
+ { 'Pacific/Fiji', '<+12>-12<+13>,M11.2.0,M1.2.3/99' },
+ { 'Pacific/Funafuti', '<+12>-12' },
+ { 'Pacific/Galapagos', '<-06>6' },
+ { 'Pacific/Gambier', '<-09>9' },
+ { 'Pacific/Guadalcanal', '<+11>-11' },
+ { 'Pacific/Guam', 'ChST-10' },
+ { 'Pacific/Honolulu', 'HST10' },
+ { 'Pacific/Kanton', '<+13>-13' },
+ { 'Pacific/Kiritimati', '<+14>-14' },
+ { 'Pacific/Kosrae', '<+11>-11' },
+ { 'Pacific/Kwajalein', '<+12>-12' },
+ { 'Pacific/Majuro', '<+12>-12' },
+ { 'Pacific/Marquesas', '<-0930>9:30' },
+ { 'Pacific/Midway', 'SST11' },
+ { 'Pacific/Nauru', '<+12>-12' },
+ { 'Pacific/Niue', '<-11>11' },
+ { 'Pacific/Norfolk', '<+11>-11<+12>,M10.1.0,M4.1.0/3' },
+ { 'Pacific/Noumea', '<+11>-11' },
+ { 'Pacific/Pago Pago', 'SST11' },
+ { 'Pacific/Palau', '<+09>-9' },
+ { 'Pacific/Pitcairn', '<-08>8' },
+ { 'Pacific/Pohnpei', '<+11>-11' },
+ { 'Pacific/Port Moresby', '<+10>-10' },
+ { 'Pacific/Rarotonga', '<-10>10' },
+ { 'Pacific/Saipan', 'ChST-10' },
+ { 'Pacific/Tahiti', '<-10>10' },
+ { 'Pacific/Tarawa', '<+12>-12' },
+ { 'Pacific/Tongatapu', '<+13>-13' },
+ { 'Pacific/Wake', '<+12>-12' },
+ { 'Pacific/Wallis', '<+12>-12' },
+}
--- /dev/null
+-- Licensed to the public under the Apache License 2.0.
+
+module "luci.sys.zoneinfo.tzoffset"
+
+OFFSET = {
+ gmt = 0, -- GMT
+ eat = 10800, -- EAT
+ cet = 3600, -- CET
+ wat = 3600, -- WAT
+ cat = 7200, -- CAT
+ eet = 7200, -- EET
+ sast = 7200, -- SAST
+ hst = -36000, -- HST
+ hdt = -32400, -- HDT
+ akst = -32400, -- AKST
+ akdt = -28800, -- AKDT
+ ast = -14400, -- AST
+ est = -18000, -- EST
+ cst = -21600, -- CST
+ cdt = -18000, -- CDT
+ mst = -25200, -- MST
+ mdt = -21600, -- MDT
+ pst = -28800, -- PST
+ pdt = -25200, -- PDT
+ nst = -12600, -- NST
+ ndt = -9000, -- NDT
+ aest = 36000, -- AEST
+ aedt = 39600, -- AEDT
+ nzst = 43200, -- NZST
+ nzdt = 46800, -- NZDT
+ hkt = 28800, -- HKT
+ wib = 25200, -- WIB
+ wit = 32400, -- WIT
+ ist = 7200, -- IST
+ idt = 10800, -- IDT
+ pkt = 18000, -- PKT
+ wita = 28800, -- WITA
+ kst = 32400, -- KST
+ jst = 32400, -- JST
+ wet = 0, -- WET
+ acst = 34200, -- ACST
+ acdt = 37800, -- ACDT
+ awst = 28800, -- AWST
+ msk = 10800, -- MSK
+ sst = -39600, -- SST
+}
--- /dev/null
+-- Copyright 2008 Steven Barth <steven@midlink.org>
+-- Licensed to the public under the Apache License 2.0.
+
+local util = require "luci.util"
+local config = require "luci.config"
+local tparser = require "luci.template.parser"
+
+local tostring, pairs, loadstring = tostring, pairs, loadstring
+local setmetatable, loadfile = setmetatable, loadfile
+local getfenv, setfenv, rawget = getfenv, setfenv, rawget
+local assert, type, error = assert, type, error
+local table, string, unpack = table, string, unpack
+
+
+---
+--- bootstrap
+---
+local _G = _G
+local L = _G.L
+
+local http = _G.L.http
+
+local disp = require "luci.dispatcher"
+local i18n = require "luci.i18n"
+local xml = require "luci.xml"
+local fs = require "nixio.fs"
+
+
+--- LuCI template library.
+module "luci.template"
+
+config.template = config.template or {}
+viewdir = config.template.viewdir or util.libpath() .. "/view"
+
+
+-- Define the namespace for template modules
+context = {} --util.threadlocal()
+
+--- Render a certain template.
+-- @param name Template name
+-- @param scope Scope to assign to template (optional)
+function render(name, scope)
+ return Template(name):render(scope or getfenv(2))
+end
+
+--- Render a template from a string.
+-- @param template Template string
+-- @param scope Scope to assign to template (optional)
+function render_string(template, scope)
+ return Template(nil, template):render(scope or getfenv(2))
+end
+
+
+-- Template class
+Template = util.class()
+
+-- Shared template cache to store templates in to avoid unnecessary reloading
+Template.cache = setmetatable({}, {__mode = "v"})
+
+
+
+local function _ifattr(cond, key, val, noescape)
+ if cond then
+ local env = getfenv(3)
+ local scope = (type(env.self) == "table") and env.self
+ if type(val) == "table" then
+ if not next(val) then
+ return ''
+ else
+ val = util.serialize_json(val)
+ end
+ end
+
+ val = tostring(val or
+ (type(env[key]) ~= "function" and env[key]) or
+ (scope and type(scope[key]) ~= "function" and scope[key]) or "")
+
+ if noescape ~= true then
+ val = xml.pcdata(val)
+ end
+
+ return string.format(' %s="%s"', tostring(key), val)
+ else
+ return ''
+ end
+end
+
+context.viewns = setmetatable({
+ include = function(name)
+ if fs.access(viewdir .. "/" .. name .. ".htm") then
+ Template(name):render(getfenv(2))
+ else
+ L.include(name, getfenv(2))
+ end
+ end;
+ translate = i18n.translate;
+ translatef = i18n.translatef;
+ export = function(k, v) if tpl.context.viewns[k] == nil then tpl.context.viewns[k] = v end end;
+ striptags = xml.striptags;
+ pcdata = xml.pcdata;
+ ifattr = function(...) return _ifattr(...) end;
+ attr = function(...) return _ifattr(true, ...) end;
+ url = disp.build_url;
+}, {__index=function(tbl, key)
+ if key == "controller" then
+ return disp.build_url()
+ elseif key == "REQUEST_URI" then
+ return disp.build_url(unpack(disp.context.requestpath))
+ elseif key == "FULL_REQUEST_URI" then
+ local url = { http:getenv("SCRIPT_NAME") or "", http:getenv("PATH_INFO") }
+ local query = http:getenv("QUERY_STRING")
+ if query and #query > 0 then
+ url[#url+1] = "?"
+ url[#url+1] = query
+ end
+ return table.concat(url, "")
+ elseif key == "token" then
+ return disp.context.authtoken
+ elseif key == "theme" then
+ return L.media and fs.basename(L.media) or tostring(L)
+ elseif key == "resource" then
+ return L.config.main.resourcebase
+ else
+ return rawget(tbl, key) or _G[key] or L[key]
+ end
+end})
+
+
+-- Constructor - Reads and compiles the template on-demand
+function Template.__init__(self, name, template)
+ if name then
+ self.template = self.cache[name]
+ self.name = name
+ else
+ self.name = "[string]"
+ end
+
+ -- Create a new namespace for this template
+ self.viewns = context.viewns
+
+ -- If we have a cached template, skip compiling and loading
+ if not self.template then
+
+ -- Compile template
+ local err
+ local sourcefile
+
+ if name then
+ sourcefile = viewdir .. "/" .. name .. ".htm"
+ self.template, _, err = tparser.parse(sourcefile)
+ else
+ sourcefile = "[string]"
+ self.template, _, err = tparser.parse_string(template)
+ end
+
+ -- If we have no valid template throw error, otherwise cache the template
+ if not self.template then
+ error("Failed to load template '" .. self.name .. "'.\n" ..
+ "Error while parsing template '" .. sourcefile .. "':\n" ..
+ (err or "Unknown syntax error"))
+ elseif name then
+ self.cache[name] = self.template
+ end
+ end
+end
+
+
+-- Renders a template
+function Template.render(self, scope)
+ scope = scope or getfenv(2)
+
+ -- Put our predefined objects in the scope of the template
+ setfenv(self.template, setmetatable({}, {__index =
+ function(tbl, key)
+ return rawget(tbl, key) or self.viewns[key] or scope[key]
+ end}))
+
+ -- Now finally render the thing
+ local stat, err = util.copcall(self.template)
+ if not stat then
+ error("Failed to execute template '" .. self.name .. "'.\n" ..
+ "A runtime error occurred: " .. tostring(err or "(nil)"))
+ end
+end
--- /dev/null
+-- Copyright 2022 Jo-Philipp Wich <jo@mein.io>
+-- Licensed to the public under the Apache License 2.0.
+
+local coroutine, assert, error, type, require = coroutine, assert, error, type, require
+local tmpl = require "luci.template"
+local util = require "luci.util"
+local http = require "luci.http"
+local sys = require "luci.sys"
+
+
+--- LuCI ucode bridge library.
+module "luci.ucodebridge"
+
+local function run(fn, ...)
+ local co = coroutine.create(fn)
+ local ok, ret
+
+ while coroutine.status(co) ~= "dead" do
+ ok, ret = coroutine.resume(co, ...)
+
+ if not ok then
+ error(ret)
+ end
+ end
+
+ return ret
+end
+
+function compile(path)
+ run(function(path)
+ return tmpl.Template(path)
+ end, path)
+end
+
+function render(path, scope)
+ run(tmpl.render, path, scope)
+end
+
+function call(modname, method, ...)
+ return run(function(module, method, ...)
+ local mod = require(modname)
+ local func = mod[method]
+
+ assert(func ~= nil,
+ 'Cannot resolve function "' .. method .. '". Is it misspelled or local?')
+
+ assert(type(func) == "function",
+ 'The symbol "' .. method .. '" does not refer to a function but data ' ..
+ 'of type "' .. type(func) .. '".')
+
+ return func(...)
+ end, modname, method, ...)
+end
--- /dev/null
+-- Licensed to the public under the Apache License 2.0.
+
+module "luci.version"
+
+distname = "Host System"
+distversion = "SDK"
+
+luciname = "LuCI"
+luciversion = "SVN"
--- /dev/null
+<%-
+ local util = require "luci.util"
+ local fs = require "nixio.fs"
+
+ local incdir = util.libpath() .. "/view/admin_status/index/"
+ if fs.access(incdir) then
+ local _, inc
+ local includes = {}
+ for inc in fs.dir(incdir) do
+ if inc:match("%.htm$") then
+ includes[#includes + 1] = inc:gsub("%.htm$", "")
+ end
+ end
+ for _, inc in luci.util.vspairs(includes) do
+ include("admin_status/index/" .. inc)
+ end
+ end
+-%>
--- /dev/null
+<%#
+ Copyright 2010 Jo-Philipp Wich <jow@openwrt.org>
+ Copyright 2018 Daniel F. Dickinson <cshored@thecshore.com>
+ Licensed to the public under the Apache License 2.0.
+-%>
+
+<%+header%>
+
+<p>Component not present.</p>
+
+<%+footer%>
--- /dev/null
+<%#
+ Copyright 2008 Steven Barth <steven@midlink.org>
+ Copyright 2008 Jo-Philipp Wich <jow@openwrt.org>
+ Licensed to the public under the Apache License 2.0.
+-%>
+
+<% include("themes/" .. theme .. "/indexer") %>
\ No newline at end of file
--- /dev/null
+-- Copyright 2008 Steven Barth <steven@midlink.org>
+-- Licensed to the public under the Apache License 2.0.
+
+local tparser = require "luci.template.parser"
+local string = require "string"
+
+local tostring = tostring
+
+module "luci.xml"
+
+--
+-- String and data manipulation routines
+--
+
+function pcdata(value)
+ return value and tparser.pcdata(tostring(value))
+end
+
+function striptags(value)
+ return value and tparser.striptags(tostring(value))
+end
+
+
+-- also register functions above in the central string class for convenience
+string.pcdata = pcdata
+string.striptags = striptags
--- /dev/null
+---[[
+LuCI utility functions.
+]]
+module "luci.xml"
+
+---[[
+Create valid XML PCDATA from given string.
+
+@class function
+@name pcdata
+@param value String value containing the data to escape
+@return String value containing the escaped data
+]]
+
+---[[
+Strip HTML tags from given string.
+
+@class function
+@name striptags
+@param value String containing the HTML text
+@return String with HTML tags stripped of
+]]
+
--- /dev/null
+%.o: %.c
+ $(CC) $(CPPFLAGS) $(CFLAGS) $(FPIC) -DNDEBUG -c -o $@ $<
+
+contrib/lemon: contrib/lemon.c contrib/lempar.c
+ cc -o contrib/lemon $<
+
+plural_formula.c: plural_formula.y contrib/lemon
+ ./contrib/lemon -q $<
+
+template_lmo.c: plural_formula.c
+
+clean:
+ rm -f contrib/lemon parser.so plural_formula.c plural_formula.h *.o
+
+parser.so: template_parser.o template_utils.o template_lmo.o template_lualib.o plural_formula.o
+ $(CC) $(LDFLAGS) -shared -o $@ $^
+
+version.lua:
+ ./mkversion.sh $@ $(LUCI_VERSION) "$(LUCI_GITBRANCH)"
+
+compile: parser.so version.lua
+
+install: compile
+ mkdir -p $(DESTDIR)/usr/lib/lua/luci/template
+ cp parser.so $(DESTDIR)/usr/lib/lua/luci/template/parser.so
+ cp version.lua $(DESTDIR)/usr/lib/lua/luci/version.lua
--- /dev/null
+/*
+** This file contains all sources (including headers) to the LEMON
+** LALR(1) parser generator. The sources have been combined into a
+** single file to make it easy to include LEMON in the source tree
+** and Makefile of another program.
+**
+** The author of this program disclaims copyright.
+*/
+#include <stdio.h>
+#include <stdarg.h>
+#include <string.h>
+#include <ctype.h>
+#include <stdlib.h>
+#include <assert.h>
+
+#ifndef __WIN32__
+# if defined(_WIN32) || defined(WIN32)
+# define __WIN32__
+# endif
+#endif
+
+#ifdef __WIN32__
+#ifdef __cplusplus
+extern "C" {
+#endif
+extern int access(const char *path, int mode);
+#ifdef __cplusplus
+}
+#endif
+#else
+#include <unistd.h>
+#endif
+
+/* #define PRIVATE static */
+#define PRIVATE
+
+#ifdef TEST
+#define MAXRHS 5 /* Set low to exercise exception code */
+#else
+#define MAXRHS 1000
+#endif
+
+static int showPrecedenceConflict = 0;
+static char *msort(char*,char**,int(*)(const char*,const char*));
+
+/*
+** Compilers are getting increasingly pedantic about type conversions
+** as C evolves ever closer to Ada.... To work around the latest problems
+** we have to define the following variant of strlen().
+*/
+#define lemonStrlen(X) ((int)strlen(X))
+
+/*
+** Compilers are starting to complain about the use of sprintf() and strcpy(),
+** saying they are unsafe. So we define our own versions of those routines too.
+**
+** There are three routines here: lemon_sprintf(), lemon_vsprintf(), and
+** lemon_addtext(). The first two are replacements for sprintf() and vsprintf().
+** The third is a helper routine for vsnprintf() that adds texts to the end of a
+** buffer, making sure the buffer is always zero-terminated.
+**
+** The string formatter is a minimal subset of stdlib sprintf() supporting only
+** a few simply conversions:
+**
+** %d
+** %s
+** %.*s
+**
+*/
+static void lemon_addtext(
+ char *zBuf, /* The buffer to which text is added */
+ int *pnUsed, /* Slots of the buffer used so far */
+ const char *zIn, /* Text to add */
+ int nIn, /* Bytes of text to add. -1 to use strlen() */
+ int iWidth /* Field width. Negative to left justify */
+){
+ if( nIn<0 ) for(nIn=0; zIn[nIn]; nIn++){}
+ while( iWidth>nIn ){ zBuf[(*pnUsed)++] = ' '; iWidth--; }
+ if( nIn==0 ) return;
+ memcpy(&zBuf[*pnUsed], zIn, nIn);
+ *pnUsed += nIn;
+ while( (-iWidth)>nIn ){ zBuf[(*pnUsed)++] = ' '; iWidth++; }
+ zBuf[*pnUsed] = 0;
+}
+static int lemon_vsprintf(char *str, const char *zFormat, va_list ap){
+ int i, j, k, c;
+ int nUsed = 0;
+ const char *z;
+ char zTemp[50];
+ str[0] = 0;
+ for(i=j=0; (c = zFormat[i])!=0; i++){
+ if( c=='%' ){
+ int iWidth = 0;
+ lemon_addtext(str, &nUsed, &zFormat[j], i-j, 0);
+ c = zFormat[++i];
+ if( isdigit(c) || (c=='-' && isdigit(zFormat[i+1])) ){
+ if( c=='-' ) i++;
+ while( isdigit(zFormat[i]) ) iWidth = iWidth*10 + zFormat[i++] - '0';
+ if( c=='-' ) iWidth = -iWidth;
+ c = zFormat[i];
+ }
+ if( c=='d' ){
+ int v = va_arg(ap, int);
+ if( v<0 ){
+ lemon_addtext(str, &nUsed, "-", 1, iWidth);
+ v = -v;
+ }else if( v==0 ){
+ lemon_addtext(str, &nUsed, "0", 1, iWidth);
+ }
+ k = 0;
+ while( v>0 ){
+ k++;
+ zTemp[sizeof(zTemp)-k] = (v%10) + '0';
+ v /= 10;
+ }
+ lemon_addtext(str, &nUsed, &zTemp[sizeof(zTemp)-k], k, iWidth);
+ }else if( c=='s' ){
+ z = va_arg(ap, const char*);
+ lemon_addtext(str, &nUsed, z, -1, iWidth);
+ }else if( c=='.' && memcmp(&zFormat[i], ".*s", 3)==0 ){
+ i += 2;
+ k = va_arg(ap, int);
+ z = va_arg(ap, const char*);
+ lemon_addtext(str, &nUsed, z, k, iWidth);
+ }else if( c=='%' ){
+ lemon_addtext(str, &nUsed, "%", 1, 0);
+ }else{
+ fprintf(stderr, "illegal format\n");
+ exit(1);
+ }
+ j = i+1;
+ }
+ }
+ lemon_addtext(str, &nUsed, &zFormat[j], i-j, 0);
+ return nUsed;
+}
+static int lemon_sprintf(char *str, const char *format, ...){
+ va_list ap;
+ int rc;
+ va_start(ap, format);
+ rc = lemon_vsprintf(str, format, ap);
+ va_end(ap);
+ return rc;
+}
+static void lemon_strcpy(char *dest, const char *src){
+ while( (*(dest++) = *(src++))!=0 ){}
+}
+static void lemon_strcat(char *dest, const char *src){
+ while( *dest ) dest++;
+ lemon_strcpy(dest, src);
+}
+
+
+/* a few forward declarations... */
+struct rule;
+struct lemon;
+struct action;
+
+static struct action *Action_new(void);
+static struct action *Action_sort(struct action *);
+
+/********** From the file "build.h" ************************************/
+void FindRulePrecedences();
+void FindFirstSets();
+void FindStates();
+void FindLinks();
+void FindFollowSets();
+void FindActions();
+
+/********* From the file "configlist.h" *********************************/
+void Configlist_init(void);
+struct config *Configlist_add(struct rule *, int);
+struct config *Configlist_addbasis(struct rule *, int);
+void Configlist_closure(struct lemon *);
+void Configlist_sort(void);
+void Configlist_sortbasis(void);
+struct config *Configlist_return(void);
+struct config *Configlist_basis(void);
+void Configlist_eat(struct config *);
+void Configlist_reset(void);
+
+/********* From the file "error.h" ***************************************/
+void ErrorMsg(const char *, int,const char *, ...);
+
+/****** From the file "option.h" ******************************************/
+enum option_type { OPT_FLAG=1, OPT_INT, OPT_DBL, OPT_STR,
+ OPT_FFLAG, OPT_FINT, OPT_FDBL, OPT_FSTR};
+struct s_options {
+ enum option_type type;
+ const char *label;
+ char *arg;
+ const char *message;
+};
+int OptInit(char**,struct s_options*,FILE*);
+int OptNArgs(void);
+char *OptArg(int);
+void OptErr(int);
+void OptPrint(void);
+
+/******** From the file "parse.h" *****************************************/
+void Parse(struct lemon *lemp);
+
+/********* From the file "plink.h" ***************************************/
+struct plink *Plink_new(void);
+void Plink_add(struct plink **, struct config *);
+void Plink_copy(struct plink **, struct plink *);
+void Plink_delete(struct plink *);
+
+/********** From the file "report.h" *************************************/
+void Reprint(struct lemon *);
+void ReportOutput(struct lemon *);
+void ReportTable(struct lemon *, int);
+void ReportHeader(struct lemon *);
+void CompressTables(struct lemon *);
+void ResortStates(struct lemon *);
+
+/********** From the file "set.h" ****************************************/
+void SetSize(int); /* All sets will be of size N */
+char *SetNew(void); /* A new set for element 0..N */
+void SetFree(char*); /* Deallocate a set */
+int SetAdd(char*,int); /* Add element to a set */
+int SetUnion(char *,char *); /* A <- A U B, thru element N */
+#define SetFind(X,Y) (X[Y]) /* True if Y is in set X */
+
+/********** From the file "struct.h" *************************************/
+/*
+** Principal data structures for the LEMON parser generator.
+*/
+
+typedef enum {LEMON_FALSE=0, LEMON_TRUE} Boolean;
+
+/* Symbols (terminals and nonterminals) of the grammar are stored
+** in the following: */
+enum symbol_type {
+ TERMINAL,
+ NONTERMINAL,
+ MULTITERMINAL
+};
+enum e_assoc {
+ LEFT,
+ RIGHT,
+ NONE,
+ UNK
+};
+struct symbol {
+ const char *name; /* Name of the symbol */
+ int index; /* Index number for this symbol */
+ enum symbol_type type; /* Symbols are all either TERMINALS or NTs */
+ struct rule *rule; /* Linked list of rules of this (if an NT) */
+ struct symbol *fallback; /* fallback token in case this token doesn't parse */
+ int prec; /* Precedence if defined (-1 otherwise) */
+ enum e_assoc assoc; /* Associativity if precedence is defined */
+ char *firstset; /* First-set for all rules of this symbol */
+ Boolean lambda; /* True if NT and can generate an empty string */
+ int useCnt; /* Number of times used */
+ char *destructor; /* Code which executes whenever this symbol is
+ ** popped from the stack during error processing */
+ int destLineno; /* Line number for start of destructor */
+ char *datatype; /* The data type of information held by this
+ ** object. Only used if type==NONTERMINAL */
+ int dtnum; /* The data type number. In the parser, the value
+ ** stack is a union. The .yy%d element of this
+ ** union is the correct data type for this object */
+ /* The following fields are used by MULTITERMINALs only */
+ int nsubsym; /* Number of constituent symbols in the MULTI */
+ struct symbol **subsym; /* Array of constituent symbols */
+};
+
+/* Each production rule in the grammar is stored in the following
+** structure. */
+struct rule {
+ struct symbol *lhs; /* Left-hand side of the rule */
+ const char *lhsalias; /* Alias for the LHS (NULL if none) */
+ int lhsStart; /* True if left-hand side is the start symbol */
+ int ruleline; /* Line number for the rule */
+ int nrhs; /* Number of RHS symbols */
+ struct symbol **rhs; /* The RHS symbols */
+ const char **rhsalias; /* An alias for each RHS symbol (NULL if none) */
+ int line; /* Line number at which code begins */
+ const char *code; /* The code executed when this rule is reduced */
+ struct symbol *precsym; /* Precedence symbol for this rule */
+ int index; /* An index number for this rule */
+ Boolean canReduce; /* True if this rule is ever reduced */
+ struct rule *nextlhs; /* Next rule with the same LHS */
+ struct rule *next; /* Next rule in the global list */
+};
+
+/* A configuration is a production rule of the grammar together with
+** a mark (dot) showing how much of that rule has been processed so far.
+** Configurations also contain a follow-set which is a list of terminal
+** symbols which are allowed to immediately follow the end of the rule.
+** Every configuration is recorded as an instance of the following: */
+enum cfgstatus {
+ COMPLETE,
+ INCOMPLETE
+};
+struct config {
+ struct rule *rp; /* The rule upon which the configuration is based */
+ int dot; /* The parse point */
+ char *fws; /* Follow-set for this configuration only */
+ struct plink *fplp; /* Follow-set forward propagation links */
+ struct plink *bplp; /* Follow-set backwards propagation links */
+ struct state *stp; /* Pointer to state which contains this */
+ enum cfgstatus status; /* used during followset and shift computations */
+ struct config *next; /* Next configuration in the state */
+ struct config *bp; /* The next basis configuration */
+};
+
+enum e_action {
+ SHIFT,
+ ACCEPT,
+ REDUCE,
+ ERROR,
+ SSCONFLICT, /* A shift/shift conflict */
+ SRCONFLICT, /* Was a reduce, but part of a conflict */
+ RRCONFLICT, /* Was a reduce, but part of a conflict */
+ SH_RESOLVED, /* Was a shift. Precedence resolved conflict */
+ RD_RESOLVED, /* Was reduce. Precedence resolved conflict */
+ NOT_USED /* Deleted by compression */
+};
+
+/* Every shift or reduce operation is stored as one of the following */
+struct action {
+ struct symbol *sp; /* The look-ahead symbol */
+ enum e_action type;
+ union {
+ struct state *stp; /* The new state, if a shift */
+ struct rule *rp; /* The rule, if a reduce */
+ } x;
+ struct action *next; /* Next action for this state */
+ struct action *collide; /* Next action with the same hash */
+};
+
+/* Each state of the generated parser's finite state machine
+** is encoded as an instance of the following structure. */
+struct state {
+ struct config *bp; /* The basis configurations for this state */
+ struct config *cfp; /* All configurations in this set */
+ int statenum; /* Sequential number for this state */
+ struct action *ap; /* Array of actions for this state */
+ int nTknAct, nNtAct; /* Number of actions on terminals and nonterminals */
+ int iTknOfst, iNtOfst; /* yy_action[] offset for terminals and nonterms */
+ int iDflt; /* Default action */
+};
+#define NO_OFFSET (-2147483647)
+
+/* A followset propagation link indicates that the contents of one
+** configuration followset should be propagated to another whenever
+** the first changes. */
+struct plink {
+ struct config *cfp; /* The configuration to which linked */
+ struct plink *next; /* The next propagate link */
+};
+
+/* The state vector for the entire parser generator is recorded as
+** follows. (LEMON uses no global variables and makes little use of
+** static variables. Fields in the following structure can be thought
+** of as begin global variables in the program.) */
+struct lemon {
+ struct state **sorted; /* Table of states sorted by state number */
+ struct rule *rule; /* List of all rules */
+ int nstate; /* Number of states */
+ int nrule; /* Number of rules */
+ int nsymbol; /* Number of terminal and nonterminal symbols */
+ int nterminal; /* Number of terminal symbols */
+ struct symbol **symbols; /* Sorted array of pointers to symbols */
+ int errorcnt; /* Number of errors */
+ struct symbol *errsym; /* The error symbol */
+ struct symbol *wildcard; /* Token that matches anything */
+ char *name; /* Name of the generated parser */
+ char *arg; /* Declaration of the 3th argument to parser */
+ char *tokentype; /* Type of terminal symbols in the parser stack */
+ char *vartype; /* The default type of non-terminal symbols */
+ char *start; /* Name of the start symbol for the grammar */
+ char *stacksize; /* Size of the parser stack */
+ char *include; /* Code to put at the start of the C file */
+ char *error; /* Code to execute when an error is seen */
+ char *overflow; /* Code to execute on a stack overflow */
+ char *failure; /* Code to execute on parser failure */
+ char *accept; /* Code to execute when the parser excepts */
+ char *extracode; /* Code appended to the generated file */
+ char *tokendest; /* Code to execute to destroy token data */
+ char *vardest; /* Code for the default non-terminal destructor */
+ char *filename; /* Name of the input file */
+ char *outname; /* Name of the current output file */
+ char *tokenprefix; /* A prefix added to token names in the .h file */
+ int nconflict; /* Number of parsing conflicts */
+ int tablesize; /* Size of the parse tables */
+ int basisflag; /* Print only basis configurations */
+ int has_fallback; /* True if any %fallback is seen in the grammar */
+ int nolinenosflag; /* True if #line statements should not be printed */
+ char *argv0; /* Name of the program */
+};
+
+#define MemoryCheck(X) if((X)==0){ \
+ extern void memory_error(); \
+ memory_error(); \
+}
+
+/**************** From the file "table.h" *********************************/
+/*
+** All code in this file has been automatically generated
+** from a specification in the file
+** "table.q"
+** by the associative array code building program "aagen".
+** Do not edit this file! Instead, edit the specification
+** file, then rerun aagen.
+*/
+/*
+** Code for processing tables in the LEMON parser generator.
+*/
+/* Routines for handling a strings */
+
+const char *Strsafe(const char *);
+
+void Strsafe_init(void);
+int Strsafe_insert(const char *);
+const char *Strsafe_find(const char *);
+
+/* Routines for handling symbols of the grammar */
+
+struct symbol *Symbol_new(const char *);
+int Symbolcmpp(const void *, const void *);
+void Symbol_init(void);
+int Symbol_insert(struct symbol *, const char *);
+struct symbol *Symbol_find(const char *);
+struct symbol *Symbol_Nth(int);
+int Symbol_count(void);
+struct symbol **Symbol_arrayof(void);
+
+/* Routines to manage the state table */
+
+int Configcmp(const char *, const char *);
+struct state *State_new(void);
+void State_init(void);
+int State_insert(struct state *, struct config *);
+struct state *State_find(struct config *);
+struct state **State_arrayof(/* */);
+
+/* Routines used for efficiency in Configlist_add */
+
+void Configtable_init(void);
+int Configtable_insert(struct config *);
+struct config *Configtable_find(struct config *);
+void Configtable_clear(int(*)(struct config *));
+
+/****************** From the file "action.c" *******************************/
+/*
+** Routines processing parser actions in the LEMON parser generator.
+*/
+
+/* Allocate a new parser action */
+static struct action *Action_new(void){
+ static struct action *freelist = 0;
+ struct action *newaction;
+
+ if( freelist==0 ){
+ int i;
+ int amt = 100;
+ freelist = (struct action *)calloc(amt, sizeof(struct action));
+ if( freelist==0 ){
+ fprintf(stderr,"Unable to allocate memory for a new parser action.");
+ exit(1);
+ }
+ for(i=0; i<amt-1; i++) freelist[i].next = &freelist[i+1];
+ freelist[amt-1].next = 0;
+ }
+ newaction = freelist;
+ freelist = freelist->next;
+ return newaction;
+}
+
+/* Compare two actions for sorting purposes. Return negative, zero, or
+** positive if the first action is less than, equal to, or greater than
+** the first
+*/
+static int actioncmp(
+ struct action *ap1,
+ struct action *ap2
+){
+ int rc;
+ rc = ap1->sp->index - ap2->sp->index;
+ if( rc==0 ){
+ rc = (int)ap1->type - (int)ap2->type;
+ }
+ if( rc==0 && ap1->type==REDUCE ){
+ rc = ap1->x.rp->index - ap2->x.rp->index;
+ }
+ if( rc==0 ){
+ rc = (int) (ap2 - ap1);
+ }
+ return rc;
+}
+
+/* Sort parser actions */
+static struct action *Action_sort(
+ struct action *ap
+){
+ ap = (struct action *)msort((char *)ap,(char **)&ap->next,
+ (int(*)(const char*,const char*))actioncmp);
+ return ap;
+}
+
+void Action_add(
+ struct action **app,
+ enum e_action type,
+ struct symbol *sp,
+ char *arg
+){
+ struct action *newaction;
+ newaction = Action_new();
+ newaction->next = *app;
+ *app = newaction;
+ newaction->type = type;
+ newaction->sp = sp;
+ if( type==SHIFT ){
+ newaction->x.stp = (struct state *)arg;
+ }else{
+ newaction->x.rp = (struct rule *)arg;
+ }
+}
+/********************** New code to implement the "acttab" module ***********/
+/*
+** This module implements routines use to construct the yy_action[] table.
+*/
+
+/*
+** The state of the yy_action table under construction is an instance of
+** the following structure.
+**
+** The yy_action table maps the pair (state_number, lookahead) into an
+** action_number. The table is an array of integers pairs. The state_number
+** determines an initial offset into the yy_action array. The lookahead
+** value is then added to this initial offset to get an index X into the
+** yy_action array. If the aAction[X].lookahead equals the value of the
+** of the lookahead input, then the value of the action_number output is
+** aAction[X].action. If the lookaheads do not match then the
+** default action for the state_number is returned.
+**
+** All actions associated with a single state_number are first entered
+** into aLookahead[] using multiple calls to acttab_action(). Then the
+** actions for that single state_number are placed into the aAction[]
+** array with a single call to acttab_insert(). The acttab_insert() call
+** also resets the aLookahead[] array in preparation for the next
+** state number.
+*/
+struct lookahead_action {
+ int lookahead; /* Value of the lookahead token */
+ int action; /* Action to take on the given lookahead */
+};
+typedef struct acttab acttab;
+struct acttab {
+ int nAction; /* Number of used slots in aAction[] */
+ int nActionAlloc; /* Slots allocated for aAction[] */
+ struct lookahead_action
+ *aAction, /* The yy_action[] table under construction */
+ *aLookahead; /* A single new transaction set */
+ int mnLookahead; /* Minimum aLookahead[].lookahead */
+ int mnAction; /* Action associated with mnLookahead */
+ int mxLookahead; /* Maximum aLookahead[].lookahead */
+ int nLookahead; /* Used slots in aLookahead[] */
+ int nLookaheadAlloc; /* Slots allocated in aLookahead[] */
+};
+
+/* Return the number of entries in the yy_action table */
+#define acttab_size(X) ((X)->nAction)
+
+/* The value for the N-th entry in yy_action */
+#define acttab_yyaction(X,N) ((X)->aAction[N].action)
+
+/* The value for the N-th entry in yy_lookahead */
+#define acttab_yylookahead(X,N) ((X)->aAction[N].lookahead)
+
+/* Free all memory associated with the given acttab */
+void acttab_free(acttab *p){
+ free( p->aAction );
+ free( p->aLookahead );
+ free( p );
+}
+
+/* Allocate a new acttab structure */
+acttab *acttab_alloc(void){
+ acttab *p = (acttab *) calloc( 1, sizeof(*p) );
+ if( p==0 ){
+ fprintf(stderr,"Unable to allocate memory for a new acttab.");
+ exit(1);
+ }
+ memset(p, 0, sizeof(*p));
+ return p;
+}
+
+/* Add a new action to the current transaction set.
+**
+** This routine is called once for each lookahead for a particular
+** state.
+*/
+void acttab_action(acttab *p, int lookahead, int action){
+ if( p->nLookahead>=p->nLookaheadAlloc ){
+ p->nLookaheadAlloc += 25;
+ p->aLookahead = (struct lookahead_action *) realloc( p->aLookahead,
+ sizeof(p->aLookahead[0])*p->nLookaheadAlloc );
+ if( p->aLookahead==0 ){
+ fprintf(stderr,"malloc failed\n");
+ exit(1);
+ }
+ }
+ if( p->nLookahead==0 ){
+ p->mxLookahead = lookahead;
+ p->mnLookahead = lookahead;
+ p->mnAction = action;
+ }else{
+ if( p->mxLookahead<lookahead ) p->mxLookahead = lookahead;
+ if( p->mnLookahead>lookahead ){
+ p->mnLookahead = lookahead;
+ p->mnAction = action;
+ }
+ }
+ p->aLookahead[p->nLookahead].lookahead = lookahead;
+ p->aLookahead[p->nLookahead].action = action;
+ p->nLookahead++;
+}
+
+/*
+** Add the transaction set built up with prior calls to acttab_action()
+** into the current action table. Then reset the transaction set back
+** to an empty set in preparation for a new round of acttab_action() calls.
+**
+** Return the offset into the action table of the new transaction.
+*/
+int acttab_insert(acttab *p){
+ int i, j, k, n;
+ assert( p->nLookahead>0 );
+
+ /* Make sure we have enough space to hold the expanded action table
+ ** in the worst case. The worst case occurs if the transaction set
+ ** must be appended to the current action table
+ */
+ n = p->mxLookahead + 1;
+ if( p->nAction + n >= p->nActionAlloc ){
+ int oldAlloc = p->nActionAlloc;
+ p->nActionAlloc = p->nAction + n + p->nActionAlloc + 20;
+ p->aAction = (struct lookahead_action *) realloc( p->aAction,
+ sizeof(p->aAction[0])*p->nActionAlloc);
+ if( p->aAction==0 ){
+ fprintf(stderr,"malloc failed\n");
+ exit(1);
+ }
+ for(i=oldAlloc; i<p->nActionAlloc; i++){
+ p->aAction[i].lookahead = -1;
+ p->aAction[i].action = -1;
+ }
+ }
+
+ /* Scan the existing action table looking for an offset that is a
+ ** duplicate of the current transaction set. Fall out of the loop
+ ** if and when the duplicate is found.
+ **
+ ** i is the index in p->aAction[] where p->mnLookahead is inserted.
+ */
+ for(i=p->nAction-1; i>=0; i--){
+ if( p->aAction[i].lookahead==p->mnLookahead ){
+ /* All lookaheads and actions in the aLookahead[] transaction
+ ** must match against the candidate aAction[i] entry. */
+ if( p->aAction[i].action!=p->mnAction ) continue;
+ for(j=0; j<p->nLookahead; j++){
+ k = p->aLookahead[j].lookahead - p->mnLookahead + i;
+ if( k<0 || k>=p->nAction ) break;
+ if( p->aLookahead[j].lookahead!=p->aAction[k].lookahead ) break;
+ if( p->aLookahead[j].action!=p->aAction[k].action ) break;
+ }
+ if( j<p->nLookahead ) continue;
+
+ /* No possible lookahead value that is not in the aLookahead[]
+ ** transaction is allowed to match aAction[i] */
+ n = 0;
+ for(j=0; j<p->nAction; j++){
+ if( p->aAction[j].lookahead<0 ) continue;
+ if( p->aAction[j].lookahead==j+p->mnLookahead-i ) n++;
+ }
+ if( n==p->nLookahead ){
+ break; /* An exact match is found at offset i */
+ }
+ }
+ }
+
+ /* If no existing offsets exactly match the current transaction, find an
+ ** an empty offset in the aAction[] table in which we can add the
+ ** aLookahead[] transaction.
+ */
+ if( i<0 ){
+ /* Look for holes in the aAction[] table that fit the current
+ ** aLookahead[] transaction. Leave i set to the offset of the hole.
+ ** If no holes are found, i is left at p->nAction, which means the
+ ** transaction will be appended. */
+ for(i=0; i<p->nActionAlloc - p->mxLookahead; i++){
+ if( p->aAction[i].lookahead<0 ){
+ for(j=0; j<p->nLookahead; j++){
+ k = p->aLookahead[j].lookahead - p->mnLookahead + i;
+ if( k<0 ) break;
+ if( p->aAction[k].lookahead>=0 ) break;
+ }
+ if( j<p->nLookahead ) continue;
+ for(j=0; j<p->nAction; j++){
+ if( p->aAction[j].lookahead==j+p->mnLookahead-i ) break;
+ }
+ if( j==p->nAction ){
+ break; /* Fits in empty slots */
+ }
+ }
+ }
+ }
+ /* Insert transaction set at index i. */
+ for(j=0; j<p->nLookahead; j++){
+ k = p->aLookahead[j].lookahead - p->mnLookahead + i;
+ p->aAction[k] = p->aLookahead[j];
+ if( k>=p->nAction ) p->nAction = k+1;
+ }
+ p->nLookahead = 0;
+
+ /* Return the offset that is added to the lookahead in order to get the
+ ** index into yy_action of the action */
+ return i - p->mnLookahead;
+}
+
+/********************** From the file "build.c" *****************************/
+/*
+** Routines to construction the finite state machine for the LEMON
+** parser generator.
+*/
+
+/* Find a precedence symbol of every rule in the grammar.
+**
+** Those rules which have a precedence symbol coded in the input
+** grammar using the "[symbol]" construct will already have the
+** rp->precsym field filled. Other rules take as their precedence
+** symbol the first RHS symbol with a defined precedence. If there
+** are not RHS symbols with a defined precedence, the precedence
+** symbol field is left blank.
+*/
+void FindRulePrecedences(struct lemon *xp)
+{
+ struct rule *rp;
+ for(rp=xp->rule; rp; rp=rp->next){
+ if( rp->precsym==0 ){
+ int i, j;
+ for(i=0; i<rp->nrhs && rp->precsym==0; i++){
+ struct symbol *sp = rp->rhs[i];
+ if( sp->type==MULTITERMINAL ){
+ for(j=0; j<sp->nsubsym; j++){
+ if( sp->subsym[j]->prec>=0 ){
+ rp->precsym = sp->subsym[j];
+ break;
+ }
+ }
+ }else if( sp->prec>=0 ){
+ rp->precsym = rp->rhs[i];
+ }
+ }
+ }
+ }
+ return;
+}
+
+/* Find all nonterminals which will generate the empty string.
+** Then go back and compute the first sets of every nonterminal.
+** The first set is the set of all terminal symbols which can begin
+** a string generated by that nonterminal.
+*/
+void FindFirstSets(struct lemon *lemp)
+{
+ int i, j;
+ struct rule *rp;
+ int progress;
+
+ for(i=0; i<lemp->nsymbol; i++){
+ lemp->symbols[i]->lambda = LEMON_FALSE;
+ }
+ for(i=lemp->nterminal; i<lemp->nsymbol; i++){
+ lemp->symbols[i]->firstset = SetNew();
+ }
+
+ /* First compute all lambdas */
+ do{
+ progress = 0;
+ for(rp=lemp->rule; rp; rp=rp->next){
+ if( rp->lhs->lambda ) continue;
+ for(i=0; i<rp->nrhs; i++){
+ struct symbol *sp = rp->rhs[i];
+ assert( sp->type==NONTERMINAL || sp->lambda==LEMON_FALSE );
+ if( sp->lambda==LEMON_FALSE ) break;
+ }
+ if( i==rp->nrhs ){
+ rp->lhs->lambda = LEMON_TRUE;
+ progress = 1;
+ }
+ }
+ }while( progress );
+
+ /* Now compute all first sets */
+ do{
+ struct symbol *s1, *s2;
+ progress = 0;
+ for(rp=lemp->rule; rp; rp=rp->next){
+ s1 = rp->lhs;
+ for(i=0; i<rp->nrhs; i++){
+ s2 = rp->rhs[i];
+ if( s2->type==TERMINAL ){
+ progress += SetAdd(s1->firstset,s2->index);
+ break;
+ }else if( s2->type==MULTITERMINAL ){
+ for(j=0; j<s2->nsubsym; j++){
+ progress += SetAdd(s1->firstset,s2->subsym[j]->index);
+ }
+ break;
+ }else if( s1==s2 ){
+ if( s1->lambda==LEMON_FALSE ) break;
+ }else{
+ progress += SetUnion(s1->firstset,s2->firstset);
+ if( s2->lambda==LEMON_FALSE ) break;
+ }
+ }
+ }
+ }while( progress );
+ return;
+}
+
+/* Compute all LR(0) states for the grammar. Links
+** are added to between some states so that the LR(1) follow sets
+** can be computed later.
+*/
+PRIVATE struct state *getstate(struct lemon *); /* forward reference */
+void FindStates(struct lemon *lemp)
+{
+ struct symbol *sp;
+ struct rule *rp;
+
+ Configlist_init();
+
+ /* Find the start symbol */
+ if( lemp->start ){
+ sp = Symbol_find(lemp->start);
+ if( sp==0 ){
+ ErrorMsg(lemp->filename,0,
+"The specified start symbol \"%s\" is not \
+in a nonterminal of the grammar. \"%s\" will be used as the start \
+symbol instead.",lemp->start,lemp->rule->lhs->name);
+ lemp->errorcnt++;
+ sp = lemp->rule->lhs;
+ }
+ }else{
+ sp = lemp->rule->lhs;
+ }
+
+ /* Make sure the start symbol doesn't occur on the right-hand side of
+ ** any rule. Report an error if it does. (YACC would generate a new
+ ** start symbol in this case.) */
+ for(rp=lemp->rule; rp; rp=rp->next){
+ int i;
+ for(i=0; i<rp->nrhs; i++){
+ if( rp->rhs[i]==sp ){ /* FIX ME: Deal with multiterminals */
+ ErrorMsg(lemp->filename,0,
+"The start symbol \"%s\" occurs on the \
+right-hand side of a rule. This will result in a parser which \
+does not work properly.",sp->name);
+ lemp->errorcnt++;
+ }
+ }
+ }
+
+ /* The basis configuration set for the first state
+ ** is all rules which have the start symbol as their
+ ** left-hand side */
+ for(rp=sp->rule; rp; rp=rp->nextlhs){
+ struct config *newcfp;
+ rp->lhsStart = 1;
+ newcfp = Configlist_addbasis(rp,0);
+ SetAdd(newcfp->fws,0);
+ }
+
+ /* Compute the first state. All other states will be
+ ** computed automatically during the computation of the first one.
+ ** The returned pointer to the first state is not used. */
+ (void)getstate(lemp);
+ return;
+}
+
+/* Return a pointer to a state which is described by the configuration
+** list which has been built from calls to Configlist_add.
+*/
+PRIVATE void buildshifts(struct lemon *, struct state *); /* Forwd ref */
+PRIVATE struct state *getstate(struct lemon *lemp)
+{
+ struct config *cfp, *bp;
+ struct state *stp;
+
+ /* Extract the sorted basis of the new state. The basis was constructed
+ ** by prior calls to "Configlist_addbasis()". */
+ Configlist_sortbasis();
+ bp = Configlist_basis();
+
+ /* Get a state with the same basis */
+ stp = State_find(bp);
+ if( stp ){
+ /* A state with the same basis already exists! Copy all the follow-set
+ ** propagation links from the state under construction into the
+ ** preexisting state, then return a pointer to the preexisting state */
+ struct config *x, *y;
+ for(x=bp, y=stp->bp; x && y; x=x->bp, y=y->bp){
+ Plink_copy(&y->bplp,x->bplp);
+ Plink_delete(x->fplp);
+ x->fplp = x->bplp = 0;
+ }
+ cfp = Configlist_return();
+ Configlist_eat(cfp);
+ }else{
+ /* This really is a new state. Construct all the details */
+ Configlist_closure(lemp); /* Compute the configuration closure */
+ Configlist_sort(); /* Sort the configuration closure */
+ cfp = Configlist_return(); /* Get a pointer to the config list */
+ stp = State_new(); /* A new state structure */
+ MemoryCheck(stp);
+ stp->bp = bp; /* Remember the configuration basis */
+ stp->cfp = cfp; /* Remember the configuration closure */
+ stp->statenum = lemp->nstate++; /* Every state gets a sequence number */
+ stp->ap = 0; /* No actions, yet. */
+ State_insert(stp,stp->bp); /* Add to the state table */
+ buildshifts(lemp,stp); /* Recursively compute successor states */
+ }
+ return stp;
+}
+
+/*
+** Return true if two symbols are the same.
+*/
+int same_symbol(struct symbol *a, struct symbol *b)
+{
+ int i;
+ if( a==b ) return 1;
+ if( a->type!=MULTITERMINAL ) return 0;
+ if( b->type!=MULTITERMINAL ) return 0;
+ if( a->nsubsym!=b->nsubsym ) return 0;
+ for(i=0; i<a->nsubsym; i++){
+ if( a->subsym[i]!=b->subsym[i] ) return 0;
+ }
+ return 1;
+}
+
+/* Construct all successor states to the given state. A "successor"
+** state is any state which can be reached by a shift action.
+*/
+PRIVATE void buildshifts(struct lemon *lemp, struct state *stp)
+{
+ struct config *cfp; /* For looping thru the config closure of "stp" */
+ struct config *bcfp; /* For the inner loop on config closure of "stp" */
+ struct config *newcfg; /* */
+ struct symbol *sp; /* Symbol following the dot in configuration "cfp" */
+ struct symbol *bsp; /* Symbol following the dot in configuration "bcfp" */
+ struct state *newstp; /* A pointer to a successor state */
+
+ /* Each configuration becomes complete after it contibutes to a successor
+ ** state. Initially, all configurations are incomplete */
+ for(cfp=stp->cfp; cfp; cfp=cfp->next) cfp->status = INCOMPLETE;
+
+ /* Loop through all configurations of the state "stp" */
+ for(cfp=stp->cfp; cfp; cfp=cfp->next){
+ if( cfp->status==COMPLETE ) continue; /* Already used by inner loop */
+ if( cfp->dot>=cfp->rp->nrhs ) continue; /* Can't shift this config */
+ Configlist_reset(); /* Reset the new config set */
+ sp = cfp->rp->rhs[cfp->dot]; /* Symbol after the dot */
+
+ /* For every configuration in the state "stp" which has the symbol "sp"
+ ** following its dot, add the same configuration to the basis set under
+ ** construction but with the dot shifted one symbol to the right. */
+ for(bcfp=cfp; bcfp; bcfp=bcfp->next){
+ if( bcfp->status==COMPLETE ) continue; /* Already used */
+ if( bcfp->dot>=bcfp->rp->nrhs ) continue; /* Can't shift this one */
+ bsp = bcfp->rp->rhs[bcfp->dot]; /* Get symbol after dot */
+ if( !same_symbol(bsp,sp) ) continue; /* Must be same as for "cfp" */
+ bcfp->status = COMPLETE; /* Mark this config as used */
+ newcfg = Configlist_addbasis(bcfp->rp,bcfp->dot+1);
+ Plink_add(&newcfg->bplp,bcfp);
+ }
+
+ /* Get a pointer to the state described by the basis configuration set
+ ** constructed in the preceding loop */
+ newstp = getstate(lemp);
+
+ /* The state "newstp" is reached from the state "stp" by a shift action
+ ** on the symbol "sp" */
+ if( sp->type==MULTITERMINAL ){
+ int i;
+ for(i=0; i<sp->nsubsym; i++){
+ Action_add(&stp->ap,SHIFT,sp->subsym[i],(char*)newstp);
+ }
+ }else{
+ Action_add(&stp->ap,SHIFT,sp,(char *)newstp);
+ }
+ }
+}
+
+/*
+** Construct the propagation links
+*/
+void FindLinks(struct lemon *lemp)
+{
+ int i;
+ struct config *cfp, *other;
+ struct state *stp;
+ struct plink *plp;
+
+ /* Housekeeping detail:
+ ** Add to every propagate link a pointer back to the state to
+ ** which the link is attached. */
+ for(i=0; i<lemp->nstate; i++){
+ stp = lemp->sorted[i];
+ for(cfp=stp->cfp; cfp; cfp=cfp->next){
+ cfp->stp = stp;
+ }
+ }
+
+ /* Convert all backlinks into forward links. Only the forward
+ ** links are used in the follow-set computation. */
+ for(i=0; i<lemp->nstate; i++){
+ stp = lemp->sorted[i];
+ for(cfp=stp->cfp; cfp; cfp=cfp->next){
+ for(plp=cfp->bplp; plp; plp=plp->next){
+ other = plp->cfp;
+ Plink_add(&other->fplp,cfp);
+ }
+ }
+ }
+}
+
+/* Compute all followsets.
+**
+** A followset is the set of all symbols which can come immediately
+** after a configuration.
+*/
+void FindFollowSets(struct lemon *lemp)
+{
+ int i;
+ struct config *cfp;
+ struct plink *plp;
+ int progress;
+ int change;
+
+ for(i=0; i<lemp->nstate; i++){
+ for(cfp=lemp->sorted[i]->cfp; cfp; cfp=cfp->next){
+ cfp->status = INCOMPLETE;
+ }
+ }
+
+ do{
+ progress = 0;
+ for(i=0; i<lemp->nstate; i++){
+ for(cfp=lemp->sorted[i]->cfp; cfp; cfp=cfp->next){
+ if( cfp->status==COMPLETE ) continue;
+ for(plp=cfp->fplp; plp; plp=plp->next){
+ change = SetUnion(plp->cfp->fws,cfp->fws);
+ if( change ){
+ plp->cfp->status = INCOMPLETE;
+ progress = 1;
+ }
+ }
+ cfp->status = COMPLETE;
+ }
+ }
+ }while( progress );
+}
+
+static int resolve_conflict(struct action *,struct action *);
+
+/* Compute the reduce actions, and resolve conflicts.
+*/
+void FindActions(struct lemon *lemp)
+{
+ int i,j;
+ struct config *cfp;
+ struct state *stp;
+ struct symbol *sp;
+ struct rule *rp;
+
+ /* Add all of the reduce actions
+ ** A reduce action is added for each element of the followset of
+ ** a configuration which has its dot at the extreme right.
+ */
+ for(i=0; i<lemp->nstate; i++){ /* Loop over all states */
+ stp = lemp->sorted[i];
+ for(cfp=stp->cfp; cfp; cfp=cfp->next){ /* Loop over all configurations */
+ if( cfp->rp->nrhs==cfp->dot ){ /* Is dot at extreme right? */
+ for(j=0; j<lemp->nterminal; j++){
+ if( SetFind(cfp->fws,j) ){
+ /* Add a reduce action to the state "stp" which will reduce by the
+ ** rule "cfp->rp" if the lookahead symbol is "lemp->symbols[j]" */
+ Action_add(&stp->ap,REDUCE,lemp->symbols[j],(char *)cfp->rp);
+ }
+ }
+ }
+ }
+ }
+
+ /* Add the accepting token */
+ if( lemp->start ){
+ sp = Symbol_find(lemp->start);
+ if( sp==0 ) sp = lemp->rule->lhs;
+ }else{
+ sp = lemp->rule->lhs;
+ }
+ /* Add to the first state (which is always the starting state of the
+ ** finite state machine) an action to ACCEPT if the lookahead is the
+ ** start nonterminal. */
+ Action_add(&lemp->sorted[0]->ap,ACCEPT,sp,0);
+
+ /* Resolve conflicts */
+ for(i=0; i<lemp->nstate; i++){
+ struct action *ap, *nap;
+ struct state *stp;
+ stp = lemp->sorted[i];
+ /* assert( stp->ap ); */
+ stp->ap = Action_sort(stp->ap);
+ for(ap=stp->ap; ap && ap->next; ap=ap->next){
+ for(nap=ap->next; nap && nap->sp==ap->sp; nap=nap->next){
+ /* The two actions "ap" and "nap" have the same lookahead.
+ ** Figure out which one should be used */
+ lemp->nconflict += resolve_conflict(ap,nap);
+ }
+ }
+ }
+
+ /* Report an error for each rule that can never be reduced. */
+ for(rp=lemp->rule; rp; rp=rp->next) rp->canReduce = LEMON_FALSE;
+ for(i=0; i<lemp->nstate; i++){
+ struct action *ap;
+ for(ap=lemp->sorted[i]->ap; ap; ap=ap->next){
+ if( ap->type==REDUCE ) ap->x.rp->canReduce = LEMON_TRUE;
+ }
+ }
+ for(rp=lemp->rule; rp; rp=rp->next){
+ if( rp->canReduce ) continue;
+ ErrorMsg(lemp->filename,rp->ruleline,"This rule can not be reduced.\n");
+ lemp->errorcnt++;
+ }
+}
+
+/* Resolve a conflict between the two given actions. If the
+** conflict can't be resolved, return non-zero.
+**
+** NO LONGER TRUE:
+** To resolve a conflict, first look to see if either action
+** is on an error rule. In that case, take the action which
+** is not associated with the error rule. If neither or both
+** actions are associated with an error rule, then try to
+** use precedence to resolve the conflict.
+**
+** If either action is a SHIFT, then it must be apx. This
+** function won't work if apx->type==REDUCE and apy->type==SHIFT.
+*/
+static int resolve_conflict(
+ struct action *apx,
+ struct action *apy
+){
+ struct symbol *spx, *spy;
+ int errcnt = 0;
+ assert( apx->sp==apy->sp ); /* Otherwise there would be no conflict */
+ if( apx->type==SHIFT && apy->type==SHIFT ){
+ apy->type = SSCONFLICT;
+ errcnt++;
+ }
+ if( apx->type==SHIFT && apy->type==REDUCE ){
+ spx = apx->sp;
+ spy = apy->x.rp->precsym;
+ if( spy==0 || spx->prec<0 || spy->prec<0 ){
+ /* Not enough precedence information. */
+ apy->type = SRCONFLICT;
+ errcnt++;
+ }else if( spx->prec>spy->prec ){ /* higher precedence wins */
+ apy->type = RD_RESOLVED;
+ }else if( spx->prec<spy->prec ){
+ apx->type = SH_RESOLVED;
+ }else if( spx->prec==spy->prec && spx->assoc==RIGHT ){ /* Use operator */
+ apy->type = RD_RESOLVED; /* associativity */
+ }else if( spx->prec==spy->prec && spx->assoc==LEFT ){ /* to break tie */
+ apx->type = SH_RESOLVED;
+ }else{
+ assert( spx->prec==spy->prec && spx->assoc==NONE );
+ apx->type = ERROR;
+ }
+ }else if( apx->type==REDUCE && apy->type==REDUCE ){
+ spx = apx->x.rp->precsym;
+ spy = apy->x.rp->precsym;
+ if( spx==0 || spy==0 || spx->prec<0 ||
+ spy->prec<0 || spx->prec==spy->prec ){
+ apy->type = RRCONFLICT;
+ errcnt++;
+ }else if( spx->prec>spy->prec ){
+ apy->type = RD_RESOLVED;
+ }else if( spx->prec<spy->prec ){
+ apx->type = RD_RESOLVED;
+ }
+ }else{
+ assert(
+ apx->type==SH_RESOLVED ||
+ apx->type==RD_RESOLVED ||
+ apx->type==SSCONFLICT ||
+ apx->type==SRCONFLICT ||
+ apx->type==RRCONFLICT ||
+ apy->type==SH_RESOLVED ||
+ apy->type==RD_RESOLVED ||
+ apy->type==SSCONFLICT ||
+ apy->type==SRCONFLICT ||
+ apy->type==RRCONFLICT
+ );
+ /* The REDUCE/SHIFT case cannot happen because SHIFTs come before
+ ** REDUCEs on the list. If we reach this point it must be because
+ ** the parser conflict had already been resolved. */
+ }
+ return errcnt;
+}
+/********************* From the file "configlist.c" *************************/
+/*
+** Routines to processing a configuration list and building a state
+** in the LEMON parser generator.
+*/
+
+static struct config *freelist = 0; /* List of free configurations */
+static struct config *current = 0; /* Top of list of configurations */
+static struct config **currentend = 0; /* Last on list of configs */
+static struct config *basis = 0; /* Top of list of basis configs */
+static struct config **basisend = 0; /* End of list of basis configs */
+
+/* Return a pointer to a new configuration */
+PRIVATE struct config *newconfig(){
+ struct config *newcfg;
+ if( freelist==0 ){
+ int i;
+ int amt = 3;
+ freelist = (struct config *)calloc( amt, sizeof(struct config) );
+ if( freelist==0 ){
+ fprintf(stderr,"Unable to allocate memory for a new configuration.");
+ exit(1);
+ }
+ for(i=0; i<amt-1; i++) freelist[i].next = &freelist[i+1];
+ freelist[amt-1].next = 0;
+ }
+ newcfg = freelist;
+ freelist = freelist->next;
+ return newcfg;
+}
+
+/* The configuration "old" is no longer used */
+PRIVATE void deleteconfig(struct config *old)
+{
+ old->next = freelist;
+ freelist = old;
+}
+
+/* Initialized the configuration list builder */
+void Configlist_init(){
+ current = 0;
+ currentend = ¤t;
+ basis = 0;
+ basisend = &basis;
+ Configtable_init();
+ return;
+}
+
+/* Initialized the configuration list builder */
+void Configlist_reset(){
+ current = 0;
+ currentend = ¤t;
+ basis = 0;
+ basisend = &basis;
+ Configtable_clear(0);
+ return;
+}
+
+/* Add another configuration to the configuration list */
+struct config *Configlist_add(
+ struct rule *rp, /* The rule */
+ int dot /* Index into the RHS of the rule where the dot goes */
+){
+ struct config *cfp, model;
+
+ assert( currentend!=0 );
+ model.rp = rp;
+ model.dot = dot;
+ cfp = Configtable_find(&model);
+ if( cfp==0 ){
+ cfp = newconfig();
+ cfp->rp = rp;
+ cfp->dot = dot;
+ cfp->fws = SetNew();
+ cfp->stp = 0;
+ cfp->fplp = cfp->bplp = 0;
+ cfp->next = 0;
+ cfp->bp = 0;
+ *currentend = cfp;
+ currentend = &cfp->next;
+ Configtable_insert(cfp);
+ }
+ return cfp;
+}
+
+/* Add a basis configuration to the configuration list */
+struct config *Configlist_addbasis(struct rule *rp, int dot)
+{
+ struct config *cfp, model;
+
+ assert( basisend!=0 );
+ assert( currentend!=0 );
+ model.rp = rp;
+ model.dot = dot;
+ cfp = Configtable_find(&model);
+ if( cfp==0 ){
+ cfp = newconfig();
+ cfp->rp = rp;
+ cfp->dot = dot;
+ cfp->fws = SetNew();
+ cfp->stp = 0;
+ cfp->fplp = cfp->bplp = 0;
+ cfp->next = 0;
+ cfp->bp = 0;
+ *currentend = cfp;
+ currentend = &cfp->next;
+ *basisend = cfp;
+ basisend = &cfp->bp;
+ Configtable_insert(cfp);
+ }
+ return cfp;
+}
+
+/* Compute the closure of the configuration list */
+void Configlist_closure(struct lemon *lemp)
+{
+ struct config *cfp, *newcfp;
+ struct rule *rp, *newrp;
+ struct symbol *sp, *xsp;
+ int i, dot;
+
+ assert( currentend!=0 );
+ for(cfp=current; cfp; cfp=cfp->next){
+ rp = cfp->rp;
+ dot = cfp->dot;
+ if( dot>=rp->nrhs ) continue;
+ sp = rp->rhs[dot];
+ if( sp->type==NONTERMINAL ){
+ if( sp->rule==0 && sp!=lemp->errsym ){
+ ErrorMsg(lemp->filename,rp->line,"Nonterminal \"%s\" has no rules.",
+ sp->name);
+ lemp->errorcnt++;
+ }
+ for(newrp=sp->rule; newrp; newrp=newrp->nextlhs){
+ newcfp = Configlist_add(newrp,0);
+ for(i=dot+1; i<rp->nrhs; i++){
+ xsp = rp->rhs[i];
+ if( xsp->type==TERMINAL ){
+ SetAdd(newcfp->fws,xsp->index);
+ break;
+ }else if( xsp->type==MULTITERMINAL ){
+ int k;
+ for(k=0; k<xsp->nsubsym; k++){
+ SetAdd(newcfp->fws, xsp->subsym[k]->index);
+ }
+ break;
+ }else{
+ SetUnion(newcfp->fws,xsp->firstset);
+ if( xsp->lambda==LEMON_FALSE ) break;
+ }
+ }
+ if( i==rp->nrhs ) Plink_add(&cfp->fplp,newcfp);
+ }
+ }
+ }
+ return;
+}
+
+/* Sort the configuration list */
+void Configlist_sort(){
+ current = (struct config *)msort((char *)current,(char **)&(current->next),Configcmp);
+ currentend = 0;
+ return;
+}
+
+/* Sort the basis configuration list */
+void Configlist_sortbasis(){
+ basis = (struct config *)msort((char *)current,(char **)&(current->bp),Configcmp);
+ basisend = 0;
+ return;
+}
+
+/* Return a pointer to the head of the configuration list and
+** reset the list */
+struct config *Configlist_return(){
+ struct config *old;
+ old = current;
+ current = 0;
+ currentend = 0;
+ return old;
+}
+
+/* Return a pointer to the head of the configuration list and
+** reset the list */
+struct config *Configlist_basis(){
+ struct config *old;
+ old = basis;
+ basis = 0;
+ basisend = 0;
+ return old;
+}
+
+/* Free all elements of the given configuration list */
+void Configlist_eat(struct config *cfp)
+{
+ struct config *nextcfp;
+ for(; cfp; cfp=nextcfp){
+ nextcfp = cfp->next;
+ assert( cfp->fplp==0 );
+ assert( cfp->bplp==0 );
+ if( cfp->fws ) SetFree(cfp->fws);
+ deleteconfig(cfp);
+ }
+ return;
+}
+/***************** From the file "error.c" *********************************/
+/*
+** Code for printing error message.
+*/
+
+void ErrorMsg(const char *filename, int lineno, const char *format, ...){
+ va_list ap;
+ fprintf(stderr, "%s:%d: ", filename, lineno);
+ va_start(ap, format);
+ vfprintf(stderr,format,ap);
+ va_end(ap);
+ fprintf(stderr, "\n");
+}
+/**************** From the file "main.c" ************************************/
+/*
+** Main program file for the LEMON parser generator.
+*/
+
+/* Report an out-of-memory condition and abort. This function
+** is used mostly by the "MemoryCheck" macro in struct.h
+*/
+void memory_error(){
+ fprintf(stderr,"Out of memory. Aborting...\n");
+ exit(1);
+}
+
+static int nDefine = 0; /* Number of -D options on the command line */
+static char **azDefine = 0; /* Name of the -D macros */
+
+/* This routine is called with the argument to each -D command-line option.
+** Add the macro defined to the azDefine array.
+*/
+static void handle_D_option(char *z){
+ char **paz;
+ nDefine++;
+ azDefine = (char **) realloc(azDefine, sizeof(azDefine[0])*nDefine);
+ if( azDefine==0 ){
+ fprintf(stderr,"out of memory\n");
+ exit(1);
+ }
+ paz = &azDefine[nDefine-1];
+ *paz = (char *) malloc( lemonStrlen(z)+1 );
+ if( *paz==0 ){
+ fprintf(stderr,"out of memory\n");
+ exit(1);
+ }
+ lemon_strcpy(*paz, z);
+ for(z=*paz; *z && *z!='='; z++){}
+ *z = 0;
+}
+
+static char *user_templatename = NULL;
+static void handle_T_option(char *z){
+ user_templatename = (char *) malloc( lemonStrlen(z)+1 );
+ if( user_templatename==0 ){
+ memory_error();
+ }
+ lemon_strcpy(user_templatename, z);
+}
+
+/* The main program. Parse the command line and do it... */
+int main(int argc, char **argv)
+{
+ static int version = 0;
+ static int rpflag = 0;
+ static int basisflag = 0;
+ static int compress = 0;
+ static int quiet = 0;
+ static int statistics = 0;
+ static int mhflag = 0;
+ static int nolinenosflag = 0;
+ static int noResort = 0;
+ static struct s_options options[] = {
+ {OPT_FLAG, "b", (char*)&basisflag, "Print only the basis in report."},
+ {OPT_FLAG, "c", (char*)&compress, "Don't compress the action table."},
+ {OPT_FSTR, "D", (char*)handle_D_option, "Define an %ifdef macro."},
+ {OPT_FSTR, "T", (char*)handle_T_option, "Specify a template file."},
+ {OPT_FLAG, "g", (char*)&rpflag, "Print grammar without actions."},
+ {OPT_FLAG, "m", (char*)&mhflag, "Output a makeheaders compatible file."},
+ {OPT_FLAG, "l", (char*)&nolinenosflag, "Do not print #line statements."},
+ {OPT_FLAG, "p", (char*)&showPrecedenceConflict,
+ "Show conflicts resolved by precedence rules"},
+ {OPT_FLAG, "q", (char*)&quiet, "(Quiet) Don't print the report file."},
+ {OPT_FLAG, "r", (char*)&noResort, "Do not sort or renumber states"},
+ {OPT_FLAG, "s", (char*)&statistics,
+ "Print parser stats to standard output."},
+ {OPT_FLAG, "x", (char*)&version, "Print the version number."},
+ {OPT_FLAG,0,0,0}
+ };
+ int i;
+ int exitcode;
+ struct lemon lem;
+
+ OptInit(argv,options,stderr);
+ if( version ){
+ printf("Lemon version 1.0\n");
+ exit(0);
+ }
+ if( OptNArgs()!=1 ){
+ fprintf(stderr,"Exactly one filename argument is required.\n");
+ exit(1);
+ }
+ memset(&lem, 0, sizeof(lem));
+ lem.errorcnt = 0;
+
+ /* Initialize the machine */
+ Strsafe_init();
+ Symbol_init();
+ State_init();
+ lem.argv0 = argv[0];
+ lem.filename = OptArg(0);
+ lem.basisflag = basisflag;
+ lem.nolinenosflag = nolinenosflag;
+ Symbol_new("$");
+ lem.errsym = Symbol_new("error");
+ lem.errsym->useCnt = 0;
+
+ /* Parse the input file */
+ Parse(&lem);
+ if( lem.errorcnt ) exit(lem.errorcnt);
+ if( lem.nrule==0 ){
+ fprintf(stderr,"Empty grammar.\n");
+ exit(1);
+ }
+
+ /* Count and index the symbols of the grammar */
+ Symbol_new("{default}");
+ lem.nsymbol = Symbol_count();
+ lem.symbols = Symbol_arrayof();
+ for(i=0; i<lem.nsymbol; i++) lem.symbols[i]->index = i;
+ qsort(lem.symbols,lem.nsymbol,sizeof(struct symbol*), Symbolcmpp);
+ for(i=0; i<lem.nsymbol; i++) lem.symbols[i]->index = i;
+ while( lem.symbols[i-1]->type==MULTITERMINAL ){ i--; }
+ assert( strcmp(lem.symbols[i-1]->name,"{default}")==0 );
+ lem.nsymbol = i - 1;
+ for(i=1; isupper(lem.symbols[i]->name[0]); i++);
+ lem.nterminal = i;
+
+ /* Generate a reprint of the grammar, if requested on the command line */
+ if( rpflag ){
+ Reprint(&lem);
+ }else{
+ /* Initialize the size for all follow and first sets */
+ SetSize(lem.nterminal+1);
+
+ /* Find the precedence for every production rule (that has one) */
+ FindRulePrecedences(&lem);
+
+ /* Compute the lambda-nonterminals and the first-sets for every
+ ** nonterminal */
+ FindFirstSets(&lem);
+
+ /* Compute all LR(0) states. Also record follow-set propagation
+ ** links so that the follow-set can be computed later */
+ lem.nstate = 0;
+ FindStates(&lem);
+ lem.sorted = State_arrayof();
+
+ /* Tie up loose ends on the propagation links */
+ FindLinks(&lem);
+
+ /* Compute the follow set of every reducible configuration */
+ FindFollowSets(&lem);
+
+ /* Compute the action tables */
+ FindActions(&lem);
+
+ /* Compress the action tables */
+ if( compress==0 ) CompressTables(&lem);
+
+ /* Reorder and renumber the states so that states with fewer choices
+ ** occur at the end. This is an optimization that helps make the
+ ** generated parser tables smaller. */
+ if( noResort==0 ) ResortStates(&lem);
+
+ /* Generate a report of the parser generated. (the "y.output" file) */
+ if( !quiet ) ReportOutput(&lem);
+
+ /* Generate the source code for the parser */
+ ReportTable(&lem, mhflag);
+
+ /* Produce a header file for use by the scanner. (This step is
+ ** omitted if the "-m" option is used because makeheaders will
+ ** generate the file for us.) */
+ if( !mhflag ) ReportHeader(&lem);
+ }
+ if( statistics ){
+ printf("Parser statistics: %d terminals, %d nonterminals, %d rules\n",
+ lem.nterminal, lem.nsymbol - lem.nterminal, lem.nrule);
+ printf(" %d states, %d parser table entries, %d conflicts\n",
+ lem.nstate, lem.tablesize, lem.nconflict);
+ }
+ if( lem.nconflict > 0 ){
+ fprintf(stderr,"%d parsing conflicts.\n",lem.nconflict);
+ }
+
+ /* return 0 on success, 1 on failure. */
+ exitcode = ((lem.errorcnt > 0) || (lem.nconflict > 0)) ? 1 : 0;
+ exit(exitcode);
+ return (exitcode);
+}
+/******************** From the file "msort.c" *******************************/
+/*
+** A generic merge-sort program.
+**
+** USAGE:
+** Let "ptr" be a pointer to some structure which is at the head of
+** a null-terminated list. Then to sort the list call:
+**
+** ptr = msort(ptr,&(ptr->next),cmpfnc);
+**
+** In the above, "cmpfnc" is a pointer to a function which compares
+** two instances of the structure and returns an integer, as in
+** strcmp. The second argument is a pointer to the pointer to the
+** second element of the linked list. This address is used to compute
+** the offset to the "next" field within the structure. The offset to
+** the "next" field must be constant for all structures in the list.
+**
+** The function returns a new pointer which is the head of the list
+** after sorting.
+**
+** ALGORITHM:
+** Merge-sort.
+*/
+
+/*
+** Return a pointer to the next structure in the linked list.
+*/
+#define NEXT(A) (*(char**)(((char*)A)+offset))
+
+/*
+** Inputs:
+** a: A sorted, null-terminated linked list. (May be null).
+** b: A sorted, null-terminated linked list. (May be null).
+** cmp: A pointer to the comparison function.
+** offset: Offset in the structure to the "next" field.
+**
+** Return Value:
+** A pointer to the head of a sorted list containing the elements
+** of both a and b.
+**
+** Side effects:
+** The "next" pointers for elements in the lists a and b are
+** changed.
+*/
+static char *merge(
+ char *a,
+ char *b,
+ int (*cmp)(const char*,const char*),
+ int offset
+){
+ char *ptr, *head;
+
+ if( a==0 ){
+ head = b;
+ }else if( b==0 ){
+ head = a;
+ }else{
+ if( (*cmp)(a,b)<=0 ){
+ ptr = a;
+ a = NEXT(a);
+ }else{
+ ptr = b;
+ b = NEXT(b);
+ }
+ head = ptr;
+ while( a && b ){
+ if( (*cmp)(a,b)<=0 ){
+ NEXT(ptr) = a;
+ ptr = a;
+ a = NEXT(a);
+ }else{
+ NEXT(ptr) = b;
+ ptr = b;
+ b = NEXT(b);
+ }
+ }
+ if( a ) NEXT(ptr) = a;
+ else NEXT(ptr) = b;
+ }
+ return head;
+}
+
+/*
+** Inputs:
+** list: Pointer to a singly-linked list of structures.
+** next: Pointer to pointer to the second element of the list.
+** cmp: A comparison function.
+**
+** Return Value:
+** A pointer to the head of a sorted list containing the elements
+** orginally in list.
+**
+** Side effects:
+** The "next" pointers for elements in list are changed.
+*/
+#define LISTSIZE 30
+static char *msort(
+ char *list,
+ char **next,
+ int (*cmp)(const char*,const char*)
+){
+ unsigned long offset;
+ char *ep;
+ char *set[LISTSIZE];
+ int i;
+ offset = (unsigned long)next - (unsigned long)list;
+ for(i=0; i<LISTSIZE; i++) set[i] = 0;
+ while( list ){
+ ep = list;
+ list = NEXT(list);
+ NEXT(ep) = 0;
+ for(i=0; i<LISTSIZE-1 && set[i]!=0; i++){
+ ep = merge(ep,set[i],cmp,offset);
+ set[i] = 0;
+ }
+ set[i] = ep;
+ }
+ ep = 0;
+ for(i=0; i<LISTSIZE; i++) if( set[i] ) ep = merge(set[i],ep,cmp,offset);
+ return ep;
+}
+/************************ From the file "option.c" **************************/
+static char **argv;
+static struct s_options *op;
+static FILE *errstream;
+
+#define ISOPT(X) ((X)[0]=='-'||(X)[0]=='+'||strchr((X),'=')!=0)
+
+/*
+** Print the command line with a carrot pointing to the k-th character
+** of the n-th field.
+*/
+static void errline(int n, int k, FILE *err)
+{
+ int spcnt, i;
+ if( argv[0] ) fprintf(err,"%s",argv[0]);
+ spcnt = lemonStrlen(argv[0]) + 1;
+ for(i=1; i<n && argv[i]; i++){
+ fprintf(err," %s",argv[i]);
+ spcnt += lemonStrlen(argv[i])+1;
+ }
+ spcnt += k;
+ for(; argv[i]; i++) fprintf(err," %s",argv[i]);
+ if( spcnt<20 ){
+ fprintf(err,"\n%*s^-- here\n",spcnt,"");
+ }else{
+ fprintf(err,"\n%*shere --^\n",spcnt-7,"");
+ }
+}
+
+/*
+** Return the index of the N-th non-switch argument. Return -1
+** if N is out of range.
+*/
+static int argindex(int n)
+{
+ int i;
+ int dashdash = 0;
+ if( argv!=0 && *argv!=0 ){
+ for(i=1; argv[i]; i++){
+ if( dashdash || !ISOPT(argv[i]) ){
+ if( n==0 ) return i;
+ n--;
+ }
+ if( strcmp(argv[i],"--")==0 ) dashdash = 1;
+ }
+ }
+ return -1;
+}
+
+static char emsg[] = "Command line syntax error: ";
+
+/*
+** Process a flag command line argument.
+*/
+static int handleflags(int i, FILE *err)
+{
+ int v;
+ int errcnt = 0;
+ int j;
+ for(j=0; op[j].label; j++){
+ if( strncmp(&argv[i][1],op[j].label,lemonStrlen(op[j].label))==0 ) break;
+ }
+ v = argv[i][0]=='-' ? 1 : 0;
+ if( op[j].label==0 ){
+ if( err ){
+ fprintf(err,"%sundefined option.\n",emsg);
+ errline(i,1,err);
+ }
+ errcnt++;
+ }else if( op[j].type==OPT_FLAG ){
+ *((int*)op[j].arg) = v;
+ }else if( op[j].type==OPT_FFLAG ){
+ (*(void(*)(int))(op[j].arg))(v);
+ }else if( op[j].type==OPT_FSTR ){
+ (*(void(*)(char *))(op[j].arg))(&argv[i][2]);
+ }else{
+ if( err ){
+ fprintf(err,"%smissing argument on switch.\n",emsg);
+ errline(i,1,err);
+ }
+ errcnt++;
+ }
+ return errcnt;
+}
+
+/*
+** Process a command line switch which has an argument.
+*/
+static int handleswitch(int i, FILE *err)
+{
+ int lv = 0;
+ double dv = 0.0;
+ char *sv = 0, *end;
+ char *cp;
+ int j;
+ int errcnt = 0;
+ cp = strchr(argv[i],'=');
+ assert( cp!=0 );
+ *cp = 0;
+ for(j=0; op[j].label; j++){
+ if( strcmp(argv[i],op[j].label)==0 ) break;
+ }
+ *cp = '=';
+ if( op[j].label==0 ){
+ if( err ){
+ fprintf(err,"%sundefined option.\n",emsg);
+ errline(i,0,err);
+ }
+ errcnt++;
+ }else{
+ cp++;
+ switch( op[j].type ){
+ case OPT_FLAG:
+ case OPT_FFLAG:
+ if( err ){
+ fprintf(err,"%soption requires an argument.\n",emsg);
+ errline(i,0,err);
+ }
+ errcnt++;
+ break;
+ case OPT_DBL:
+ case OPT_FDBL:
+ dv = strtod(cp,&end);
+ if( *end ){
+ if( err ){
+ fprintf(err,"%sillegal character in floating-point argument.\n",emsg);
+ errline(i,((unsigned long)end)-(unsigned long)argv[i],err);
+ }
+ errcnt++;
+ }
+ break;
+ case OPT_INT:
+ case OPT_FINT:
+ lv = strtol(cp,&end,0);
+ if( *end ){
+ if( err ){
+ fprintf(err,"%sillegal character in integer argument.\n",emsg);
+ errline(i,((unsigned long)end)-(unsigned long)argv[i],err);
+ }
+ errcnt++;
+ }
+ break;
+ case OPT_STR:
+ case OPT_FSTR:
+ sv = cp;
+ break;
+ }
+ switch( op[j].type ){
+ case OPT_FLAG:
+ case OPT_FFLAG:
+ break;
+ case OPT_DBL:
+ *(double*)(op[j].arg) = dv;
+ break;
+ case OPT_FDBL:
+ (*(void(*)(double))(op[j].arg))(dv);
+ break;
+ case OPT_INT:
+ *(int*)(op[j].arg) = lv;
+ break;
+ case OPT_FINT:
+ (*(void(*)(int))(op[j].arg))((int)lv);
+ break;
+ case OPT_STR:
+ *(char**)(op[j].arg) = sv;
+ break;
+ case OPT_FSTR:
+ (*(void(*)(char *))(op[j].arg))(sv);
+ break;
+ }
+ }
+ return errcnt;
+}
+
+int OptInit(char **a, struct s_options *o, FILE *err)
+{
+ int errcnt = 0;
+ argv = a;
+ op = o;
+ errstream = err;
+ if( argv && *argv && op ){
+ int i;
+ for(i=1; argv[i]; i++){
+ if( argv[i][0]=='+' || argv[i][0]=='-' ){
+ errcnt += handleflags(i,err);
+ }else if( strchr(argv[i],'=') ){
+ errcnt += handleswitch(i,err);
+ }
+ }
+ }
+ if( errcnt>0 ){
+ fprintf(err,"Valid command line options for \"%s\" are:\n",*a);
+ OptPrint();
+ exit(1);
+ }
+ return 0;
+}
+
+int OptNArgs(){
+ int cnt = 0;
+ int dashdash = 0;
+ int i;
+ if( argv!=0 && argv[0]!=0 ){
+ for(i=1; argv[i]; i++){
+ if( dashdash || !ISOPT(argv[i]) ) cnt++;
+ if( strcmp(argv[i],"--")==0 ) dashdash = 1;
+ }
+ }
+ return cnt;
+}
+
+char *OptArg(int n)
+{
+ int i;
+ i = argindex(n);
+ return i>=0 ? argv[i] : 0;
+}
+
+void OptErr(int n)
+{
+ int i;
+ i = argindex(n);
+ if( i>=0 ) errline(i,0,errstream);
+}
+
+void OptPrint(){
+ int i;
+ int max, len;
+ max = 0;
+ for(i=0; op[i].label; i++){
+ len = lemonStrlen(op[i].label) + 1;
+ switch( op[i].type ){
+ case OPT_FLAG:
+ case OPT_FFLAG:
+ break;
+ case OPT_INT:
+ case OPT_FINT:
+ len += 9; /* length of "<integer>" */
+ break;
+ case OPT_DBL:
+ case OPT_FDBL:
+ len += 6; /* length of "<real>" */
+ break;
+ case OPT_STR:
+ case OPT_FSTR:
+ len += 8; /* length of "<string>" */
+ break;
+ }
+ if( len>max ) max = len;
+ }
+ for(i=0; op[i].label; i++){
+ switch( op[i].type ){
+ case OPT_FLAG:
+ case OPT_FFLAG:
+ fprintf(errstream," -%-*s %s\n",max,op[i].label,op[i].message);
+ break;
+ case OPT_INT:
+ case OPT_FINT:
+ fprintf(errstream," %s=<integer>%*s %s\n",op[i].label,
+ (int)(max-lemonStrlen(op[i].label)-9),"",op[i].message);
+ break;
+ case OPT_DBL:
+ case OPT_FDBL:
+ fprintf(errstream," %s=<real>%*s %s\n",op[i].label,
+ (int)(max-lemonStrlen(op[i].label)-6),"",op[i].message);
+ break;
+ case OPT_STR:
+ case OPT_FSTR:
+ fprintf(errstream," %s=<string>%*s %s\n",op[i].label,
+ (int)(max-lemonStrlen(op[i].label)-8),"",op[i].message);
+ break;
+ }
+ }
+}
+/*********************** From the file "parse.c" ****************************/
+/*
+** Input file parser for the LEMON parser generator.
+*/
+
+/* The state of the parser */
+enum e_state {
+ INITIALIZE,
+ WAITING_FOR_DECL_OR_RULE,
+ WAITING_FOR_DECL_KEYWORD,
+ WAITING_FOR_DECL_ARG,
+ WAITING_FOR_PRECEDENCE_SYMBOL,
+ WAITING_FOR_ARROW,
+ IN_RHS,
+ LHS_ALIAS_1,
+ LHS_ALIAS_2,
+ LHS_ALIAS_3,
+ RHS_ALIAS_1,
+ RHS_ALIAS_2,
+ PRECEDENCE_MARK_1,
+ PRECEDENCE_MARK_2,
+ RESYNC_AFTER_RULE_ERROR,
+ RESYNC_AFTER_DECL_ERROR,
+ WAITING_FOR_DESTRUCTOR_SYMBOL,
+ WAITING_FOR_DATATYPE_SYMBOL,
+ WAITING_FOR_FALLBACK_ID,
+ WAITING_FOR_WILDCARD_ID,
+ WAITING_FOR_CLASS_ID,
+ WAITING_FOR_CLASS_TOKEN
+};
+struct pstate {
+ char *filename; /* Name of the input file */
+ int tokenlineno; /* Linenumber at which current token starts */
+ int errorcnt; /* Number of errors so far */
+ char *tokenstart; /* Text of current token */
+ struct lemon *gp; /* Global state vector */
+ enum e_state state; /* The state of the parser */
+ struct symbol *fallback; /* The fallback token */
+ struct symbol *tkclass; /* Token class symbol */
+ struct symbol *lhs; /* Left-hand side of current rule */
+ const char *lhsalias; /* Alias for the LHS */
+ int nrhs; /* Number of right-hand side symbols seen */
+ struct symbol *rhs[MAXRHS]; /* RHS symbols */
+ const char *alias[MAXRHS]; /* Aliases for each RHS symbol (or NULL) */
+ struct rule *prevrule; /* Previous rule parsed */
+ const char *declkeyword; /* Keyword of a declaration */
+ char **declargslot; /* Where the declaration argument should be put */
+ int insertLineMacro; /* Add #line before declaration insert */
+ int *decllinenoslot; /* Where to write declaration line number */
+ enum e_assoc declassoc; /* Assign this association to decl arguments */
+ int preccounter; /* Assign this precedence to decl arguments */
+ struct rule *firstrule; /* Pointer to first rule in the grammar */
+ struct rule *lastrule; /* Pointer to the most recently parsed rule */
+};
+
+/* Parse a single token */
+static void parseonetoken(struct pstate *psp)
+{
+ const char *x;
+ x = Strsafe(psp->tokenstart); /* Save the token permanently */
+#if 0
+ printf("%s:%d: Token=[%s] state=%d\n",psp->filename,psp->tokenlineno,
+ x,psp->state);
+#endif
+ switch( psp->state ){
+ case INITIALIZE:
+ psp->prevrule = 0;
+ psp->preccounter = 0;
+ psp->firstrule = psp->lastrule = 0;
+ psp->gp->nrule = 0;
+ /* Fall thru to next case */
+ case WAITING_FOR_DECL_OR_RULE:
+ if( x[0]=='%' ){
+ psp->state = WAITING_FOR_DECL_KEYWORD;
+ }else if( islower(x[0]) ){
+ psp->lhs = Symbol_new(x);
+ psp->nrhs = 0;
+ psp->lhsalias = 0;
+ psp->state = WAITING_FOR_ARROW;
+ }else if( x[0]=='{' ){
+ if( psp->prevrule==0 ){
+ ErrorMsg(psp->filename,psp->tokenlineno,
+"There is no prior rule upon which to attach the code \
+fragment which begins on this line.");
+ psp->errorcnt++;
+ }else if( psp->prevrule->code!=0 ){
+ ErrorMsg(psp->filename,psp->tokenlineno,
+"Code fragment beginning on this line is not the first \
+to follow the previous rule.");
+ psp->errorcnt++;
+ }else{
+ psp->prevrule->line = psp->tokenlineno;
+ psp->prevrule->code = &x[1];
+ }
+ }else if( x[0]=='[' ){
+ psp->state = PRECEDENCE_MARK_1;
+ }else{
+ ErrorMsg(psp->filename,psp->tokenlineno,
+ "Token \"%s\" should be either \"%%\" or a nonterminal name.",
+ x);
+ psp->errorcnt++;
+ }
+ break;
+ case PRECEDENCE_MARK_1:
+ if( !isupper(x[0]) ){
+ ErrorMsg(psp->filename,psp->tokenlineno,
+ "The precedence symbol must be a terminal.");
+ psp->errorcnt++;
+ }else if( psp->prevrule==0 ){
+ ErrorMsg(psp->filename,psp->tokenlineno,
+ "There is no prior rule to assign precedence \"[%s]\".",x);
+ psp->errorcnt++;
+ }else if( psp->prevrule->precsym!=0 ){
+ ErrorMsg(psp->filename,psp->tokenlineno,
+"Precedence mark on this line is not the first \
+to follow the previous rule.");
+ psp->errorcnt++;
+ }else{
+ psp->prevrule->precsym = Symbol_new(x);
+ }
+ psp->state = PRECEDENCE_MARK_2;
+ break;
+ case PRECEDENCE_MARK_2:
+ if( x[0]!=']' ){
+ ErrorMsg(psp->filename,psp->tokenlineno,
+ "Missing \"]\" on precedence mark.");
+ psp->errorcnt++;
+ }
+ psp->state = WAITING_FOR_DECL_OR_RULE;
+ break;
+ case WAITING_FOR_ARROW:
+ if( x[0]==':' && x[1]==':' && x[2]=='=' ){
+ psp->state = IN_RHS;
+ }else if( x[0]=='(' ){
+ psp->state = LHS_ALIAS_1;
+ }else{
+ ErrorMsg(psp->filename,psp->tokenlineno,
+ "Expected to see a \":\" following the LHS symbol \"%s\".",
+ psp->lhs->name);
+ psp->errorcnt++;
+ psp->state = RESYNC_AFTER_RULE_ERROR;
+ }
+ break;
+ case LHS_ALIAS_1:
+ if( isalpha(x[0]) ){
+ psp->lhsalias = x;
+ psp->state = LHS_ALIAS_2;
+ }else{
+ ErrorMsg(psp->filename,psp->tokenlineno,
+ "\"%s\" is not a valid alias for the LHS \"%s\"\n",
+ x,psp->lhs->name);
+ psp->errorcnt++;
+ psp->state = RESYNC_AFTER_RULE_ERROR;
+ }
+ break;
+ case LHS_ALIAS_2:
+ if( x[0]==')' ){
+ psp->state = LHS_ALIAS_3;
+ }else{
+ ErrorMsg(psp->filename,psp->tokenlineno,
+ "Missing \")\" following LHS alias name \"%s\".",psp->lhsalias);
+ psp->errorcnt++;
+ psp->state = RESYNC_AFTER_RULE_ERROR;
+ }
+ break;
+ case LHS_ALIAS_3:
+ if( x[0]==':' && x[1]==':' && x[2]=='=' ){
+ psp->state = IN_RHS;
+ }else{
+ ErrorMsg(psp->filename,psp->tokenlineno,
+ "Missing \"->\" following: \"%s(%s)\".",
+ psp->lhs->name,psp->lhsalias);
+ psp->errorcnt++;
+ psp->state = RESYNC_AFTER_RULE_ERROR;
+ }
+ break;
+ case IN_RHS:
+ if( x[0]=='.' ){
+ struct rule *rp;
+ rp = (struct rule *)calloc( sizeof(struct rule) +
+ sizeof(struct symbol*)*psp->nrhs + sizeof(char*)*psp->nrhs, 1);
+ if( rp==0 ){
+ ErrorMsg(psp->filename,psp->tokenlineno,
+ "Can't allocate enough memory for this rule.");
+ psp->errorcnt++;
+ psp->prevrule = 0;
+ }else{
+ int i;
+ rp->ruleline = psp->tokenlineno;
+ rp->rhs = (struct symbol**)&rp[1];
+ rp->rhsalias = (const char**)&(rp->rhs[psp->nrhs]);
+ for(i=0; i<psp->nrhs; i++){
+ rp->rhs[i] = psp->rhs[i];
+ rp->rhsalias[i] = psp->alias[i];
+ }
+ rp->lhs = psp->lhs;
+ rp->lhsalias = psp->lhsalias;
+ rp->nrhs = psp->nrhs;
+ rp->code = 0;
+ rp->precsym = 0;
+ rp->index = psp->gp->nrule++;
+ rp->nextlhs = rp->lhs->rule;
+ rp->lhs->rule = rp;
+ rp->next = 0;
+ if( psp->firstrule==0 ){
+ psp->firstrule = psp->lastrule = rp;
+ }else{
+ psp->lastrule->next = rp;
+ psp->lastrule = rp;
+ }
+ psp->prevrule = rp;
+ }
+ psp->state = WAITING_FOR_DECL_OR_RULE;
+ }else if( isalpha(x[0]) ){
+ if( psp->nrhs>=MAXRHS ){
+ ErrorMsg(psp->filename,psp->tokenlineno,
+ "Too many symbols on RHS of rule beginning at \"%s\".",
+ x);
+ psp->errorcnt++;
+ psp->state = RESYNC_AFTER_RULE_ERROR;
+ }else{
+ psp->rhs[psp->nrhs] = Symbol_new(x);
+ psp->alias[psp->nrhs] = 0;
+ psp->nrhs++;
+ }
+ }else if( (x[0]=='|' || x[0]=='/') && psp->nrhs>0 ){
+ struct symbol *msp = psp->rhs[psp->nrhs-1];
+ if( msp->type!=MULTITERMINAL ){
+ struct symbol *origsp = msp;
+ msp = (struct symbol *) calloc(1,sizeof(*msp));
+ memset(msp, 0, sizeof(*msp));
+ msp->type = MULTITERMINAL;
+ msp->nsubsym = 1;
+ msp->subsym = (struct symbol **) calloc(1,sizeof(struct symbol*));
+ msp->subsym[0] = origsp;
+ msp->name = origsp->name;
+ psp->rhs[psp->nrhs-1] = msp;
+ }
+ msp->nsubsym++;
+ msp->subsym = (struct symbol **) realloc(msp->subsym,
+ sizeof(struct symbol*)*msp->nsubsym);
+ msp->subsym[msp->nsubsym-1] = Symbol_new(&x[1]);
+ if( islower(x[1]) || islower(msp->subsym[0]->name[0]) ){
+ ErrorMsg(psp->filename,psp->tokenlineno,
+ "Cannot form a compound containing a non-terminal");
+ psp->errorcnt++;
+ }
+ }else if( x[0]=='(' && psp->nrhs>0 ){
+ psp->state = RHS_ALIAS_1;
+ }else{
+ ErrorMsg(psp->filename,psp->tokenlineno,
+ "Illegal character on RHS of rule: \"%s\".",x);
+ psp->errorcnt++;
+ psp->state = RESYNC_AFTER_RULE_ERROR;
+ }
+ break;
+ case RHS_ALIAS_1:
+ if( isalpha(x[0]) ){
+ psp->alias[psp->nrhs-1] = x;
+ psp->state = RHS_ALIAS_2;
+ }else{
+ ErrorMsg(psp->filename,psp->tokenlineno,
+ "\"%s\" is not a valid alias for the RHS symbol \"%s\"\n",
+ x,psp->rhs[psp->nrhs-1]->name);
+ psp->errorcnt++;
+ psp->state = RESYNC_AFTER_RULE_ERROR;
+ }
+ break;
+ case RHS_ALIAS_2:
+ if( x[0]==')' ){
+ psp->state = IN_RHS;
+ }else{
+ ErrorMsg(psp->filename,psp->tokenlineno,
+ "Missing \")\" following LHS alias name \"%s\".",psp->lhsalias);
+ psp->errorcnt++;
+ psp->state = RESYNC_AFTER_RULE_ERROR;
+ }
+ break;
+ case WAITING_FOR_DECL_KEYWORD:
+ if( isalpha(x[0]) ){
+ psp->declkeyword = x;
+ psp->declargslot = 0;
+ psp->decllinenoslot = 0;
+ psp->insertLineMacro = 1;
+ psp->state = WAITING_FOR_DECL_ARG;
+ if( strcmp(x,"name")==0 ){
+ psp->declargslot = &(psp->gp->name);
+ psp->insertLineMacro = 0;
+ }else if( strcmp(x,"include")==0 ){
+ psp->declargslot = &(psp->gp->include);
+ }else if( strcmp(x,"code")==0 ){
+ psp->declargslot = &(psp->gp->extracode);
+ }else if( strcmp(x,"token_destructor")==0 ){
+ psp->declargslot = &psp->gp->tokendest;
+ }else if( strcmp(x,"default_destructor")==0 ){
+ psp->declargslot = &psp->gp->vardest;
+ }else if( strcmp(x,"token_prefix")==0 ){
+ psp->declargslot = &psp->gp->tokenprefix;
+ psp->insertLineMacro = 0;
+ }else if( strcmp(x,"syntax_error")==0 ){
+ psp->declargslot = &(psp->gp->error);
+ }else if( strcmp(x,"parse_accept")==0 ){
+ psp->declargslot = &(psp->gp->accept);
+ }else if( strcmp(x,"parse_failure")==0 ){
+ psp->declargslot = &(psp->gp->failure);
+ }else if( strcmp(x,"stack_overflow")==0 ){
+ psp->declargslot = &(psp->gp->overflow);
+ }else if( strcmp(x,"extra_argument")==0 ){
+ psp->declargslot = &(psp->gp->arg);
+ psp->insertLineMacro = 0;
+ }else if( strcmp(x,"token_type")==0 ){
+ psp->declargslot = &(psp->gp->tokentype);
+ psp->insertLineMacro = 0;
+ }else if( strcmp(x,"default_type")==0 ){
+ psp->declargslot = &(psp->gp->vartype);
+ psp->insertLineMacro = 0;
+ }else if( strcmp(x,"stack_size")==0 ){
+ psp->declargslot = &(psp->gp->stacksize);
+ psp->insertLineMacro = 0;
+ }else if( strcmp(x,"start_symbol")==0 ){
+ psp->declargslot = &(psp->gp->start);
+ psp->insertLineMacro = 0;
+ }else if( strcmp(x,"left")==0 ){
+ psp->preccounter++;
+ psp->declassoc = LEFT;
+ psp->state = WAITING_FOR_PRECEDENCE_SYMBOL;
+ }else if( strcmp(x,"right")==0 ){
+ psp->preccounter++;
+ psp->declassoc = RIGHT;
+ psp->state = WAITING_FOR_PRECEDENCE_SYMBOL;
+ }else if( strcmp(x,"nonassoc")==0 ){
+ psp->preccounter++;
+ psp->declassoc = NONE;
+ psp->state = WAITING_FOR_PRECEDENCE_SYMBOL;
+ }else if( strcmp(x,"destructor")==0 ){
+ psp->state = WAITING_FOR_DESTRUCTOR_SYMBOL;
+ }else if( strcmp(x,"type")==0 ){
+ psp->state = WAITING_FOR_DATATYPE_SYMBOL;
+ }else if( strcmp(x,"fallback")==0 ){
+ psp->fallback = 0;
+ psp->state = WAITING_FOR_FALLBACK_ID;
+ }else if( strcmp(x,"wildcard")==0 ){
+ psp->state = WAITING_FOR_WILDCARD_ID;
+ }else if( strcmp(x,"token_class")==0 ){
+ psp->state = WAITING_FOR_CLASS_ID;
+ }else{
+ ErrorMsg(psp->filename,psp->tokenlineno,
+ "Unknown declaration keyword: \"%%%s\".",x);
+ psp->errorcnt++;
+ psp->state = RESYNC_AFTER_DECL_ERROR;
+ }
+ }else{
+ ErrorMsg(psp->filename,psp->tokenlineno,
+ "Illegal declaration keyword: \"%s\".",x);
+ psp->errorcnt++;
+ psp->state = RESYNC_AFTER_DECL_ERROR;
+ }
+ break;
+ case WAITING_FOR_DESTRUCTOR_SYMBOL:
+ if( !isalpha(x[0]) ){
+ ErrorMsg(psp->filename,psp->tokenlineno,
+ "Symbol name missing after %%destructor keyword");
+ psp->errorcnt++;
+ psp->state = RESYNC_AFTER_DECL_ERROR;
+ }else{
+ struct symbol *sp = Symbol_new(x);
+ psp->declargslot = &sp->destructor;
+ psp->decllinenoslot = &sp->destLineno;
+ psp->insertLineMacro = 1;
+ psp->state = WAITING_FOR_DECL_ARG;
+ }
+ break;
+ case WAITING_FOR_DATATYPE_SYMBOL:
+ if( !isalpha(x[0]) ){
+ ErrorMsg(psp->filename,psp->tokenlineno,
+ "Symbol name missing after %%type keyword");
+ psp->errorcnt++;
+ psp->state = RESYNC_AFTER_DECL_ERROR;
+ }else{
+ struct symbol *sp = Symbol_find(x);
+ if((sp) && (sp->datatype)){
+ ErrorMsg(psp->filename,psp->tokenlineno,
+ "Symbol %%type \"%s\" already defined", x);
+ psp->errorcnt++;
+ psp->state = RESYNC_AFTER_DECL_ERROR;
+ }else{
+ if (!sp){
+ sp = Symbol_new(x);
+ }
+ psp->declargslot = &sp->datatype;
+ psp->insertLineMacro = 0;
+ psp->state = WAITING_FOR_DECL_ARG;
+ }
+ }
+ break;
+ case WAITING_FOR_PRECEDENCE_SYMBOL:
+ if( x[0]=='.' ){
+ psp->state = WAITING_FOR_DECL_OR_RULE;
+ }else if( isupper(x[0]) ){
+ struct symbol *sp;
+ sp = Symbol_new(x);
+ if( sp->prec>=0 ){
+ ErrorMsg(psp->filename,psp->tokenlineno,
+ "Symbol \"%s\" has already be given a precedence.",x);
+ psp->errorcnt++;
+ }else{
+ sp->prec = psp->preccounter;
+ sp->assoc = psp->declassoc;
+ }
+ }else{
+ ErrorMsg(psp->filename,psp->tokenlineno,
+ "Can't assign a precedence to \"%s\".",x);
+ psp->errorcnt++;
+ }
+ break;
+ case WAITING_FOR_DECL_ARG:
+ if( x[0]=='{' || x[0]=='\"' || isalnum(x[0]) ){
+ const char *zOld, *zNew;
+ char *zBuf, *z;
+ int nOld, n, nLine, nNew, nBack;
+ int addLineMacro;
+ char zLine[50];
+ zNew = x;
+ if( zNew[0]=='"' || zNew[0]=='{' ) zNew++;
+ nNew = lemonStrlen(zNew);
+ if( *psp->declargslot ){
+ zOld = *psp->declargslot;
+ }else{
+ zOld = "";
+ }
+ nOld = lemonStrlen(zOld);
+ n = nOld + nNew + 20;
+ addLineMacro = !psp->gp->nolinenosflag && psp->insertLineMacro &&
+ (psp->decllinenoslot==0 || psp->decllinenoslot[0]!=0);
+ if( addLineMacro ){
+ for(z=psp->filename, nBack=0; *z; z++){
+ if( *z=='\\' ) nBack++;
+ }
+ lemon_sprintf(zLine, "#line %d ", psp->tokenlineno);
+ nLine = lemonStrlen(zLine);
+ n += nLine + lemonStrlen(psp->filename) + nBack;
+ }
+ *psp->declargslot = (char *) realloc(*psp->declargslot, n);
+ zBuf = *psp->declargslot + nOld;
+ if( addLineMacro ){
+ if( nOld && zBuf[-1]!='\n' ){
+ *(zBuf++) = '\n';
+ }
+ memcpy(zBuf, zLine, nLine);
+ zBuf += nLine;
+ *(zBuf++) = '"';
+ for(z=psp->filename; *z; z++){
+ if( *z=='\\' ){
+ *(zBuf++) = '\\';
+ }
+ *(zBuf++) = *z;
+ }
+ *(zBuf++) = '"';
+ *(zBuf++) = '\n';
+ }
+ if( psp->decllinenoslot && psp->decllinenoslot[0]==0 ){
+ psp->decllinenoslot[0] = psp->tokenlineno;
+ }
+ memcpy(zBuf, zNew, nNew);
+ zBuf += nNew;
+ *zBuf = 0;
+ psp->state = WAITING_FOR_DECL_OR_RULE;
+ }else{
+ ErrorMsg(psp->filename,psp->tokenlineno,
+ "Illegal argument to %%%s: %s",psp->declkeyword,x);
+ psp->errorcnt++;
+ psp->state = RESYNC_AFTER_DECL_ERROR;
+ }
+ break;
+ case WAITING_FOR_FALLBACK_ID:
+ if( x[0]=='.' ){
+ psp->state = WAITING_FOR_DECL_OR_RULE;
+ }else if( !isupper(x[0]) ){
+ ErrorMsg(psp->filename, psp->tokenlineno,
+ "%%fallback argument \"%s\" should be a token", x);
+ psp->errorcnt++;
+ }else{
+ struct symbol *sp = Symbol_new(x);
+ if( psp->fallback==0 ){
+ psp->fallback = sp;
+ }else if( sp->fallback ){
+ ErrorMsg(psp->filename, psp->tokenlineno,
+ "More than one fallback assigned to token %s", x);
+ psp->errorcnt++;
+ }else{
+ sp->fallback = psp->fallback;
+ psp->gp->has_fallback = 1;
+ }
+ }
+ break;
+ case WAITING_FOR_WILDCARD_ID:
+ if( x[0]=='.' ){
+ psp->state = WAITING_FOR_DECL_OR_RULE;
+ }else if( !isupper(x[0]) ){
+ ErrorMsg(psp->filename, psp->tokenlineno,
+ "%%wildcard argument \"%s\" should be a token", x);
+ psp->errorcnt++;
+ }else{
+ struct symbol *sp = Symbol_new(x);
+ if( psp->gp->wildcard==0 ){
+ psp->gp->wildcard = sp;
+ }else{
+ ErrorMsg(psp->filename, psp->tokenlineno,
+ "Extra wildcard to token: %s", x);
+ psp->errorcnt++;
+ }
+ }
+ break;
+ case WAITING_FOR_CLASS_ID:
+ if( !islower(x[0]) ){
+ ErrorMsg(psp->filename, psp->tokenlineno,
+ "%%token_class must be followed by an identifier: ", x);
+ psp->errorcnt++;
+ psp->state = RESYNC_AFTER_DECL_ERROR;
+ }else if( Symbol_find(x) ){
+ ErrorMsg(psp->filename, psp->tokenlineno,
+ "Symbol \"%s\" already used", x);
+ psp->errorcnt++;
+ psp->state = RESYNC_AFTER_DECL_ERROR;
+ }else{
+ psp->tkclass = Symbol_new(x);
+ psp->tkclass->type = MULTITERMINAL;
+ psp->state = WAITING_FOR_CLASS_TOKEN;
+ }
+ break;
+ case WAITING_FOR_CLASS_TOKEN:
+ if( x[0]=='.' ){
+ psp->state = WAITING_FOR_DECL_OR_RULE;
+ }else if( isupper(x[0]) || ((x[0]=='|' || x[0]=='/') && isupper(x[1])) ){
+ struct symbol *msp = psp->tkclass;
+ msp->nsubsym++;
+ msp->subsym = (struct symbol **) realloc(msp->subsym,
+ sizeof(struct symbol*)*msp->nsubsym);
+ if( !isupper(x[0]) ) x++;
+ msp->subsym[msp->nsubsym-1] = Symbol_new(x);
+ }else{
+ ErrorMsg(psp->filename, psp->tokenlineno,
+ "%%token_class argument \"%s\" should be a token", x);
+ psp->errorcnt++;
+ psp->state = RESYNC_AFTER_DECL_ERROR;
+ }
+ break;
+ case RESYNC_AFTER_RULE_ERROR:
+/* if( x[0]=='.' ) psp->state = WAITING_FOR_DECL_OR_RULE;
+** break; */
+ case RESYNC_AFTER_DECL_ERROR:
+ if( x[0]=='.' ) psp->state = WAITING_FOR_DECL_OR_RULE;
+ if( x[0]=='%' ) psp->state = WAITING_FOR_DECL_KEYWORD;
+ break;
+ }
+}
+
+/* Run the preprocessor over the input file text. The global variables
+** azDefine[0] through azDefine[nDefine-1] contains the names of all defined
+** macros. This routine looks for "%ifdef" and "%ifndef" and "%endif" and
+** comments them out. Text in between is also commented out as appropriate.
+*/
+static void preprocess_input(char *z){
+ int i, j, k, n;
+ int exclude = 0;
+ int start = 0;
+ int lineno = 1;
+ int start_lineno = 1;
+ for(i=0; z[i]; i++){
+ if( z[i]=='\n' ) lineno++;
+ if( z[i]!='%' || (i>0 && z[i-1]!='\n') ) continue;
+ if( strncmp(&z[i],"%endif",6)==0 && isspace(z[i+6]) ){
+ if( exclude ){
+ exclude--;
+ if( exclude==0 ){
+ for(j=start; j<i; j++) if( z[j]!='\n' ) z[j] = ' ';
+ }
+ }
+ for(j=i; z[j] && z[j]!='\n'; j++) z[j] = ' ';
+ }else if( (strncmp(&z[i],"%ifdef",6)==0 && isspace(z[i+6]))
+ || (strncmp(&z[i],"%ifndef",7)==0 && isspace(z[i+7])) ){
+ if( exclude ){
+ exclude++;
+ }else{
+ for(j=i+7; isspace(z[j]); j++){}
+ for(n=0; z[j+n] && !isspace(z[j+n]); n++){}
+ exclude = 1;
+ for(k=0; k<nDefine; k++){
+ if( strncmp(azDefine[k],&z[j],n)==0 && lemonStrlen(azDefine[k])==n ){
+ exclude = 0;
+ break;
+ }
+ }
+ if( z[i+3]=='n' ) exclude = !exclude;
+ if( exclude ){
+ start = i;
+ start_lineno = lineno;
+ }
+ }
+ for(j=i; z[j] && z[j]!='\n'; j++) z[j] = ' ';
+ }
+ }
+ if( exclude ){
+ fprintf(stderr,"unterminated %%ifdef starting on line %d\n", start_lineno);
+ exit(1);
+ }
+}
+
+/* In spite of its name, this function is really a scanner. It read
+** in the entire input file (all at once) then tokenizes it. Each
+** token is passed to the function "parseonetoken" which builds all
+** the appropriate data structures in the global state vector "gp".
+*/
+void Parse(struct lemon *gp)
+{
+ struct pstate ps;
+ FILE *fp;
+ char *filebuf;
+ int filesize;
+ int lineno;
+ int c;
+ char *cp, *nextcp;
+ int startline = 0;
+
+ memset(&ps, '\0', sizeof(ps));
+ ps.gp = gp;
+ ps.filename = gp->filename;
+ ps.errorcnt = 0;
+ ps.state = INITIALIZE;
+
+ /* Begin by reading the input file */
+ fp = fopen(ps.filename,"rb");
+ if( fp==0 ){
+ ErrorMsg(ps.filename,0,"Can't open this file for reading.");
+ gp->errorcnt++;
+ return;
+ }
+ fseek(fp,0,2);
+ filesize = ftell(fp);
+ rewind(fp);
+ filebuf = (char *)malloc( filesize+1 );
+ if( filesize>100000000 || filebuf==0 ){
+ ErrorMsg(ps.filename,0,"Input file too large.");
+ gp->errorcnt++;
+ fclose(fp);
+ return;
+ }
+ if( fread(filebuf,1,filesize,fp)!=filesize ){
+ ErrorMsg(ps.filename,0,"Can't read in all %d bytes of this file.",
+ filesize);
+ free(filebuf);
+ gp->errorcnt++;
+ fclose(fp);
+ return;
+ }
+ fclose(fp);
+ filebuf[filesize] = 0;
+
+ /* Make an initial pass through the file to handle %ifdef and %ifndef */
+ preprocess_input(filebuf);
+
+ /* Now scan the text of the input file */
+ lineno = 1;
+ for(cp=filebuf; (c= *cp)!=0; ){
+ if( c=='\n' ) lineno++; /* Keep track of the line number */
+ if( isspace(c) ){ cp++; continue; } /* Skip all white space */
+ if( c=='/' && cp[1]=='/' ){ /* Skip C++ style comments */
+ cp+=2;
+ while( (c= *cp)!=0 && c!='\n' ) cp++;
+ continue;
+ }
+ if( c=='/' && cp[1]=='*' ){ /* Skip C style comments */
+ cp+=2;
+ while( (c= *cp)!=0 && (c!='/' || cp[-1]!='*') ){
+ if( c=='\n' ) lineno++;
+ cp++;
+ }
+ if( c ) cp++;
+ continue;
+ }
+ ps.tokenstart = cp; /* Mark the beginning of the token */
+ ps.tokenlineno = lineno; /* Linenumber on which token begins */
+ if( c=='\"' ){ /* String literals */
+ cp++;
+ while( (c= *cp)!=0 && c!='\"' ){
+ if( c=='\n' ) lineno++;
+ cp++;
+ }
+ if( c==0 ){
+ ErrorMsg(ps.filename,startline,
+"String starting on this line is not terminated before the end of the file.");
+ ps.errorcnt++;
+ nextcp = cp;
+ }else{
+ nextcp = cp+1;
+ }
+ }else if( c=='{' ){ /* A block of C code */
+ int level;
+ cp++;
+ for(level=1; (c= *cp)!=0 && (level>1 || c!='}'); cp++){
+ if( c=='\n' ) lineno++;
+ else if( c=='{' ) level++;
+ else if( c=='}' ) level--;
+ else if( c=='/' && cp[1]=='*' ){ /* Skip comments */
+ int prevc;
+ cp = &cp[2];
+ prevc = 0;
+ while( (c= *cp)!=0 && (c!='/' || prevc!='*') ){
+ if( c=='\n' ) lineno++;
+ prevc = c;
+ cp++;
+ }
+ }else if( c=='/' && cp[1]=='/' ){ /* Skip C++ style comments too */
+ cp = &cp[2];
+ while( (c= *cp)!=0 && c!='\n' ) cp++;
+ if( c ) lineno++;
+ }else if( c=='\'' || c=='\"' ){ /* String a character literals */
+ int startchar, prevc;
+ startchar = c;
+ prevc = 0;
+ for(cp++; (c= *cp)!=0 && (c!=startchar || prevc=='\\'); cp++){
+ if( c=='\n' ) lineno++;
+ if( prevc=='\\' ) prevc = 0;
+ else prevc = c;
+ }
+ }
+ }
+ if( c==0 ){
+ ErrorMsg(ps.filename,ps.tokenlineno,
+"C code starting on this line is not terminated before the end of the file.");
+ ps.errorcnt++;
+ nextcp = cp;
+ }else{
+ nextcp = cp+1;
+ }
+ }else if( isalnum(c) ){ /* Identifiers */
+ while( (c= *cp)!=0 && (isalnum(c) || c=='_') ) cp++;
+ nextcp = cp;
+ }else if( c==':' && cp[1]==':' && cp[2]=='=' ){ /* The operator "::=" */
+ cp += 3;
+ nextcp = cp;
+ }else if( (c=='/' || c=='|') && isalpha(cp[1]) ){
+ cp += 2;
+ while( (c = *cp)!=0 && (isalnum(c) || c=='_') ) cp++;
+ nextcp = cp;
+ }else{ /* All other (one character) operators */
+ cp++;
+ nextcp = cp;
+ }
+ c = *cp;
+ *cp = 0; /* Null terminate the token */
+ parseonetoken(&ps); /* Parse the token */
+ *cp = c; /* Restore the buffer */
+ cp = nextcp;
+ }
+ free(filebuf); /* Release the buffer after parsing */
+ gp->rule = ps.firstrule;
+ gp->errorcnt = ps.errorcnt;
+}
+/*************************** From the file "plink.c" *********************/
+/*
+** Routines processing configuration follow-set propagation links
+** in the LEMON parser generator.
+*/
+static struct plink *plink_freelist = 0;
+
+/* Allocate a new plink */
+struct plink *Plink_new(){
+ struct plink *newlink;
+
+ if( plink_freelist==0 ){
+ int i;
+ int amt = 100;
+ plink_freelist = (struct plink *)calloc( amt, sizeof(struct plink) );
+ if( plink_freelist==0 ){
+ fprintf(stderr,
+ "Unable to allocate memory for a new follow-set propagation link.\n");
+ exit(1);
+ }
+ for(i=0; i<amt-1; i++) plink_freelist[i].next = &plink_freelist[i+1];
+ plink_freelist[amt-1].next = 0;
+ }
+ newlink = plink_freelist;
+ plink_freelist = plink_freelist->next;
+ return newlink;
+}
+
+/* Add a plink to a plink list */
+void Plink_add(struct plink **plpp, struct config *cfp)
+{
+ struct plink *newlink;
+ newlink = Plink_new();
+ newlink->next = *plpp;
+ *plpp = newlink;
+ newlink->cfp = cfp;
+}
+
+/* Transfer every plink on the list "from" to the list "to" */
+void Plink_copy(struct plink **to, struct plink *from)
+{
+ struct plink *nextpl;
+ while( from ){
+ nextpl = from->next;
+ from->next = *to;
+ *to = from;
+ from = nextpl;
+ }
+}
+
+/* Delete every plink on the list */
+void Plink_delete(struct plink *plp)
+{
+ struct plink *nextpl;
+
+ while( plp ){
+ nextpl = plp->next;
+ plp->next = plink_freelist;
+ plink_freelist = plp;
+ plp = nextpl;
+ }
+}
+/*********************** From the file "report.c" **************************/
+/*
+** Procedures for generating reports and tables in the LEMON parser generator.
+*/
+
+/* Generate a filename with the given suffix. Space to hold the
+** name comes from malloc() and must be freed by the calling
+** function.
+*/
+PRIVATE char *file_makename(struct lemon *lemp, const char *suffix)
+{
+ char *name;
+ char *cp;
+
+ name = (char*)malloc( lemonStrlen(lemp->filename) + lemonStrlen(suffix) + 5 );
+ if( name==0 ){
+ fprintf(stderr,"Can't allocate space for a filename.\n");
+ exit(1);
+ }
+ lemon_strcpy(name,lemp->filename);
+ cp = strrchr(name,'.');
+ if( cp ) *cp = 0;
+ lemon_strcat(name,suffix);
+ return name;
+}
+
+/* Open a file with a name based on the name of the input file,
+** but with a different (specified) suffix, and return a pointer
+** to the stream */
+PRIVATE FILE *file_open(
+ struct lemon *lemp,
+ const char *suffix,
+ const char *mode
+){
+ FILE *fp;
+
+ if( lemp->outname ) free(lemp->outname);
+ lemp->outname = file_makename(lemp, suffix);
+ fp = fopen(lemp->outname,mode);
+ if( fp==0 && *mode=='w' ){
+ fprintf(stderr,"Can't open file \"%s\".\n",lemp->outname);
+ lemp->errorcnt++;
+ return 0;
+ }
+ return fp;
+}
+
+/* Duplicate the input file without comments and without actions
+** on rules */
+void Reprint(struct lemon *lemp)
+{
+ struct rule *rp;
+ struct symbol *sp;
+ int i, j, maxlen, len, ncolumns, skip;
+ printf("// Reprint of input file \"%s\".\n// Symbols:\n",lemp->filename);
+ maxlen = 10;
+ for(i=0; i<lemp->nsymbol; i++){
+ sp = lemp->symbols[i];
+ len = lemonStrlen(sp->name);
+ if( len>maxlen ) maxlen = len;
+ }
+ ncolumns = 76/(maxlen+5);
+ if( ncolumns<1 ) ncolumns = 1;
+ skip = (lemp->nsymbol + ncolumns - 1)/ncolumns;
+ for(i=0; i<skip; i++){
+ printf("//");
+ for(j=i; j<lemp->nsymbol; j+=skip){
+ sp = lemp->symbols[j];
+ assert( sp->index==j );
+ printf(" %3d %-*.*s",j,maxlen,maxlen,sp->name);
+ }
+ printf("\n");
+ }
+ for(rp=lemp->rule; rp; rp=rp->next){
+ printf("%s",rp->lhs->name);
+ /* if( rp->lhsalias ) printf("(%s)",rp->lhsalias); */
+ printf(" ::=");
+ for(i=0; i<rp->nrhs; i++){
+ sp = rp->rhs[i];
+ if( sp->type==MULTITERMINAL ){
+ printf(" %s", sp->subsym[0]->name);
+ for(j=1; j<sp->nsubsym; j++){
+ printf("|%s", sp->subsym[j]->name);
+ }
+ }else{
+ printf(" %s", sp->name);
+ }
+ /* if( rp->rhsalias[i] ) printf("(%s)",rp->rhsalias[i]); */
+ }
+ printf(".");
+ if( rp->precsym ) printf(" [%s]",rp->precsym->name);
+ /* if( rp->code ) printf("\n %s",rp->code); */
+ printf("\n");
+ }
+}
+
+void ConfigPrint(FILE *fp, struct config *cfp)
+{
+ struct rule *rp;
+ struct symbol *sp;
+ int i, j;
+ rp = cfp->rp;
+ fprintf(fp,"%s ::=",rp->lhs->name);
+ for(i=0; i<=rp->nrhs; i++){
+ if( i==cfp->dot ) fprintf(fp," *");
+ if( i==rp->nrhs ) break;
+ sp = rp->rhs[i];
+ if( sp->type==MULTITERMINAL ){
+ fprintf(fp," %s", sp->subsym[0]->name);
+ for(j=1; j<sp->nsubsym; j++){
+ fprintf(fp,"|%s",sp->subsym[j]->name);
+ }
+ }else{
+ fprintf(fp," %s", sp->name);
+ }
+ }
+}
+
+/* #define TEST */
+#if 0
+/* Print a set */
+PRIVATE void SetPrint(out,set,lemp)
+FILE *out;
+char *set;
+struct lemon *lemp;
+{
+ int i;
+ char *spacer;
+ spacer = "";
+ fprintf(out,"%12s[","");
+ for(i=0; i<lemp->nterminal; i++){
+ if( SetFind(set,i) ){
+ fprintf(out,"%s%s",spacer,lemp->symbols[i]->name);
+ spacer = " ";
+ }
+ }
+ fprintf(out,"]\n");
+}
+
+/* Print a plink chain */
+PRIVATE void PlinkPrint(out,plp,tag)
+FILE *out;
+struct plink *plp;
+char *tag;
+{
+ while( plp ){
+ fprintf(out,"%12s%s (state %2d) ","",tag,plp->cfp->stp->statenum);
+ ConfigPrint(out,plp->cfp);
+ fprintf(out,"\n");
+ plp = plp->next;
+ }
+}
+#endif
+
+/* Print an action to the given file descriptor. Return FALSE if
+** nothing was actually printed.
+*/
+int PrintAction(struct action *ap, FILE *fp, int indent){
+ int result = 1;
+ switch( ap->type ){
+ case SHIFT:
+ fprintf(fp,"%*s shift %d",indent,ap->sp->name,ap->x.stp->statenum);
+ break;
+ case REDUCE:
+ fprintf(fp,"%*s reduce %d",indent,ap->sp->name,ap->x.rp->index);
+ break;
+ case ACCEPT:
+ fprintf(fp,"%*s accept",indent,ap->sp->name);
+ break;
+ case ERROR:
+ fprintf(fp,"%*s error",indent,ap->sp->name);
+ break;
+ case SRCONFLICT:
+ case RRCONFLICT:
+ fprintf(fp,"%*s reduce %-3d ** Parsing conflict **",
+ indent,ap->sp->name,ap->x.rp->index);
+ break;
+ case SSCONFLICT:
+ fprintf(fp,"%*s shift %-3d ** Parsing conflict **",
+ indent,ap->sp->name,ap->x.stp->statenum);
+ break;
+ case SH_RESOLVED:
+ if( showPrecedenceConflict ){
+ fprintf(fp,"%*s shift %-3d -- dropped by precedence",
+ indent,ap->sp->name,ap->x.stp->statenum);
+ }else{
+ result = 0;
+ }
+ break;
+ case RD_RESOLVED:
+ if( showPrecedenceConflict ){
+ fprintf(fp,"%*s reduce %-3d -- dropped by precedence",
+ indent,ap->sp->name,ap->x.rp->index);
+ }else{
+ result = 0;
+ }
+ break;
+ case NOT_USED:
+ result = 0;
+ break;
+ }
+ return result;
+}
+
+/* Generate the "y.output" log file */
+void ReportOutput(struct lemon *lemp)
+{
+ int i;
+ struct state *stp;
+ struct config *cfp;
+ struct action *ap;
+ FILE *fp;
+
+ fp = file_open(lemp,".out","wb");
+ if( fp==0 ) return;
+ for(i=0; i<lemp->nstate; i++){
+ stp = lemp->sorted[i];
+ fprintf(fp,"State %d:\n",stp->statenum);
+ if( lemp->basisflag ) cfp=stp->bp;
+ else cfp=stp->cfp;
+ while( cfp ){
+ char buf[20];
+ if( cfp->dot==cfp->rp->nrhs ){
+ lemon_sprintf(buf,"(%d)",cfp->rp->index);
+ fprintf(fp," %5s ",buf);
+ }else{
+ fprintf(fp," ");
+ }
+ ConfigPrint(fp,cfp);
+ fprintf(fp,"\n");
+#if 0
+ SetPrint(fp,cfp->fws,lemp);
+ PlinkPrint(fp,cfp->fplp,"To ");
+ PlinkPrint(fp,cfp->bplp,"From");
+#endif
+ if( lemp->basisflag ) cfp=cfp->bp;
+ else cfp=cfp->next;
+ }
+ fprintf(fp,"\n");
+ for(ap=stp->ap; ap; ap=ap->next){
+ if( PrintAction(ap,fp,30) ) fprintf(fp,"\n");
+ }
+ fprintf(fp,"\n");
+ }
+ fprintf(fp, "----------------------------------------------------\n");
+ fprintf(fp, "Symbols:\n");
+ for(i=0; i<lemp->nsymbol; i++){
+ int j;
+ struct symbol *sp;
+
+ sp = lemp->symbols[i];
+ fprintf(fp, " %3d: %s", i, sp->name);
+ if( sp->type==NONTERMINAL ){
+ fprintf(fp, ":");
+ if( sp->lambda ){
+ fprintf(fp, " <lambda>");
+ }
+ for(j=0; j<lemp->nterminal; j++){
+ if( sp->firstset && SetFind(sp->firstset, j) ){
+ fprintf(fp, " %s", lemp->symbols[j]->name);
+ }
+ }
+ }
+ fprintf(fp, "\n");
+ }
+ fclose(fp);
+ return;
+}
+
+/* Search for the file "name" which is in the same directory as
+** the exacutable */
+PRIVATE char *pathsearch(char *argv0, char *name, int modemask)
+{
+ const char *pathlist;
+ char *pathbufptr;
+ char *pathbuf;
+ char *path,*cp;
+ char c;
+
+#ifdef __WIN32__
+ cp = strrchr(argv0,'\\');
+#else
+ cp = strrchr(argv0,'/');
+#endif
+ if( cp ){
+ c = *cp;
+ *cp = 0;
+ path = (char *)malloc( lemonStrlen(argv0) + lemonStrlen(name) + 2 );
+ if( path ) lemon_sprintf(path,"%s/%s",argv0,name);
+ *cp = c;
+ }else{
+ pathlist = getenv("PATH");
+ if( pathlist==0 ) pathlist = ".:/bin:/usr/bin";
+ pathbuf = (char *) malloc( lemonStrlen(pathlist) + 1 );
+ path = (char *)malloc( lemonStrlen(pathlist)+lemonStrlen(name)+2 );
+ if( (pathbuf != 0) && (path!=0) ){
+ pathbufptr = pathbuf;
+ lemon_strcpy(pathbuf, pathlist);
+ while( *pathbuf ){
+ cp = strchr(pathbuf,':');
+ if( cp==0 ) cp = &pathbuf[lemonStrlen(pathbuf)];
+ c = *cp;
+ *cp = 0;
+ lemon_sprintf(path,"%s/%s",pathbuf,name);
+ *cp = c;
+ if( c==0 ) pathbuf[0] = 0;
+ else pathbuf = &cp[1];
+ if( access(path,modemask)==0 ) break;
+ }
+ free(pathbufptr);
+ }
+ }
+ return path;
+}
+
+/* Given an action, compute the integer value for that action
+** which is to be put in the action table of the generated machine.
+** Return negative if no action should be generated.
+*/
+PRIVATE int compute_action(struct lemon *lemp, struct action *ap)
+{
+ int act;
+ switch( ap->type ){
+ case SHIFT: act = ap->x.stp->statenum; break;
+ case REDUCE: act = ap->x.rp->index + lemp->nstate; break;
+ case ERROR: act = lemp->nstate + lemp->nrule; break;
+ case ACCEPT: act = lemp->nstate + lemp->nrule + 1; break;
+ default: act = -1; break;
+ }
+ return act;
+}
+
+#define LINESIZE 1000
+/* The next cluster of routines are for reading the template file
+** and writing the results to the generated parser */
+/* The first function transfers data from "in" to "out" until
+** a line is seen which begins with "%%". The line number is
+** tracked.
+**
+** if name!=0, then any word that begin with "Parse" is changed to
+** begin with *name instead.
+*/
+PRIVATE void tplt_xfer(char *name, FILE *in, FILE *out, int *lineno)
+{
+ int i, iStart;
+ char line[LINESIZE];
+ while( fgets(line,LINESIZE,in) && (line[0]!='%' || line[1]!='%') ){
+ (*lineno)++;
+ iStart = 0;
+ if( name ){
+ for(i=0; line[i]; i++){
+ if( line[i]=='P' && strncmp(&line[i],"Parse",5)==0
+ && (i==0 || !isalpha(line[i-1]))
+ ){
+ if( i>iStart ) fprintf(out,"%.*s",i-iStart,&line[iStart]);
+ fprintf(out,"%s",name);
+ i += 4;
+ iStart = i+1;
+ }
+ }
+ }
+ fprintf(out,"%s",&line[iStart]);
+ }
+}
+
+/* The next function finds the template file and opens it, returning
+** a pointer to the opened file. */
+PRIVATE FILE *tplt_open(struct lemon *lemp)
+{
+ static char templatename[] = "lempar.c";
+ char buf[1000];
+ FILE *in;
+ char *tpltname;
+ char *cp;
+
+ /* first, see if user specified a template filename on the command line. */
+ if (user_templatename != 0) {
+ if( access(user_templatename,004)==-1 ){
+ fprintf(stderr,"Can't find the parser driver template file \"%s\".\n",
+ user_templatename);
+ lemp->errorcnt++;
+ return 0;
+ }
+ in = fopen(user_templatename,"rb");
+ if( in==0 ){
+ fprintf(stderr,"Can't open the template file \"%s\".\n",user_templatename);
+ lemp->errorcnt++;
+ return 0;
+ }
+ return in;
+ }
+
+ cp = strrchr(lemp->filename,'.');
+ if( cp ){
+ lemon_sprintf(buf,"%.*s.lt",(int)(cp-lemp->filename),lemp->filename);
+ }else{
+ lemon_sprintf(buf,"%s.lt",lemp->filename);
+ }
+ if( access(buf,004)==0 ){
+ tpltname = buf;
+ }else if( access(templatename,004)==0 ){
+ tpltname = templatename;
+ }else{
+ tpltname = pathsearch(lemp->argv0,templatename,0);
+ }
+ if( tpltname==0 ){
+ fprintf(stderr,"Can't find the parser driver template file \"%s\".\n",
+ templatename);
+ lemp->errorcnt++;
+ return 0;
+ }
+ in = fopen(tpltname,"rb");
+ if( in==0 ){
+ fprintf(stderr,"Can't open the template file \"%s\".\n",templatename);
+ lemp->errorcnt++;
+ return 0;
+ }
+ return in;
+}
+
+/* Print a #line directive line to the output file. */
+PRIVATE void tplt_linedir(FILE *out, int lineno, char *filename)
+{
+ fprintf(out,"#line %d \"",lineno);
+ while( *filename ){
+ if( *filename == '\\' ) putc('\\',out);
+ putc(*filename,out);
+ filename++;
+ }
+ fprintf(out,"\"\n");
+}
+
+/* Print a string to the file and keep the linenumber up to date */
+PRIVATE void tplt_print(FILE *out, struct lemon *lemp, char *str, int *lineno)
+{
+ if( str==0 ) return;
+ while( *str ){
+ putc(*str,out);
+ if( *str=='\n' ) (*lineno)++;
+ str++;
+ }
+ if( str[-1]!='\n' ){
+ putc('\n',out);
+ (*lineno)++;
+ }
+ if (!lemp->nolinenosflag) {
+ (*lineno)++; tplt_linedir(out,*lineno,lemp->outname);
+ }
+ return;
+}
+
+/*
+** The following routine emits code for the destructor for the
+** symbol sp
+*/
+void emit_destructor_code(
+ FILE *out,
+ struct symbol *sp,
+ struct lemon *lemp,
+ int *lineno
+){
+ char *cp = 0;
+
+ if( sp->type==TERMINAL ){
+ cp = lemp->tokendest;
+ if( cp==0 ) return;
+ fprintf(out,"{\n"); (*lineno)++;
+ }else if( sp->destructor ){
+ cp = sp->destructor;
+ fprintf(out,"{\n"); (*lineno)++;
+ if (!lemp->nolinenosflag) { (*lineno)++; tplt_linedir(out,sp->destLineno,lemp->filename); }
+ }else if( lemp->vardest ){
+ cp = lemp->vardest;
+ if( cp==0 ) return;
+ fprintf(out,"{\n"); (*lineno)++;
+ }else{
+ assert( 0 ); /* Cannot happen */
+ }
+ for(; *cp; cp++){
+ if( *cp=='$' && cp[1]=='$' ){
+ fprintf(out,"(yypminor->yy%d)",sp->dtnum);
+ cp++;
+ continue;
+ }
+ if( *cp=='\n' ) (*lineno)++;
+ fputc(*cp,out);
+ }
+ fprintf(out,"\n"); (*lineno)++;
+ if (!lemp->nolinenosflag) {
+ (*lineno)++; tplt_linedir(out,*lineno,lemp->outname);
+ }
+ fprintf(out,"}\n"); (*lineno)++;
+ return;
+}
+
+/*
+** Return TRUE (non-zero) if the given symbol has a destructor.
+*/
+int has_destructor(struct symbol *sp, struct lemon *lemp)
+{
+ int ret;
+ if( sp->type==TERMINAL ){
+ ret = lemp->tokendest!=0;
+ }else{
+ ret = lemp->vardest!=0 || sp->destructor!=0;
+ }
+ return ret;
+}
+
+/*
+** Append text to a dynamically allocated string. If zText is 0 then
+** reset the string to be empty again. Always return the complete text
+** of the string (which is overwritten with each call).
+**
+** n bytes of zText are stored. If n==0 then all of zText up to the first
+** \000 terminator is stored. zText can contain up to two instances of
+** %d. The values of p1 and p2 are written into the first and second
+** %d.
+**
+** If n==-1, then the previous character is overwritten.
+*/
+PRIVATE char *append_str(const char *zText, int n, int p1, int p2){
+ static char empty[1] = { 0 };
+ static char *z = 0;
+ static int alloced = 0;
+ static int used = 0;
+ int c;
+ char zInt[40];
+ if( zText==0 ){
+ used = 0;
+ return z;
+ }
+ if( n<=0 ){
+ if( n<0 ){
+ used += n;
+ assert( used>=0 );
+ }
+ n = lemonStrlen(zText);
+ }
+ if( (int) (n+sizeof(zInt)*2+used) >= alloced ){
+ alloced = n + sizeof(zInt)*2 + used + 200;
+ z = (char *) realloc(z, alloced);
+ }
+ if( z==0 ) return empty;
+ while( n-- > 0 ){
+ c = *(zText++);
+ if( c=='%' && n>0 && zText[0]=='d' ){
+ lemon_sprintf(zInt, "%d", p1);
+ p1 = p2;
+ lemon_strcpy(&z[used], zInt);
+ used += lemonStrlen(&z[used]);
+ zText++;
+ n--;
+ }else{
+ z[used++] = c;
+ }
+ }
+ z[used] = 0;
+ return z;
+}
+
+/*
+** zCode is a string that is the action associated with a rule. Expand
+** the symbols in this string so that the refer to elements of the parser
+** stack.
+*/
+PRIVATE void translate_code(struct lemon *lemp, struct rule *rp){
+ char *cp, *xp;
+ int i;
+ char lhsused = 0; /* True if the LHS element has been used */
+ char used[MAXRHS]; /* True for each RHS element which is used */
+
+ for(i=0; i<rp->nrhs; i++) used[i] = 0;
+ lhsused = 0;
+
+ if( rp->code==0 ){
+ static char newlinestr[2] = { '\n', '\0' };
+ rp->code = newlinestr;
+ rp->line = rp->ruleline;
+ }
+
+ append_str(0,0,0,0);
+
+ /* This const cast is wrong but harmless, if we're careful. */
+ for(cp=(char *)rp->code; *cp; cp++){
+ if( isalpha(*cp) && (cp==rp->code || (!isalnum(cp[-1]) && cp[-1]!='_')) ){
+ char saved;
+ for(xp= &cp[1]; isalnum(*xp) || *xp=='_'; xp++);
+ saved = *xp;
+ *xp = 0;
+ if( rp->lhsalias && strcmp(cp,rp->lhsalias)==0 ){
+ append_str("yygotominor.yy%d",0,rp->lhs->dtnum,0);
+ cp = xp;
+ lhsused = 1;
+ }else{
+ for(i=0; i<rp->nrhs; i++){
+ if( rp->rhsalias[i] && strcmp(cp,rp->rhsalias[i])==0 ){
+ if( cp!=rp->code && cp[-1]=='@' ){
+ /* If the argument is of the form @X then substituted
+ ** the token number of X, not the value of X */
+ append_str("yymsp[%d].major",-1,i-rp->nrhs+1,0);
+ }else{
+ struct symbol *sp = rp->rhs[i];
+ int dtnum;
+ if( sp->type==MULTITERMINAL ){
+ dtnum = sp->subsym[0]->dtnum;
+ }else{
+ dtnum = sp->dtnum;
+ }
+ append_str("yymsp[%d].minor.yy%d",0,i-rp->nrhs+1, dtnum);
+ }
+ cp = xp;
+ used[i] = 1;
+ break;
+ }
+ }
+ }
+ *xp = saved;
+ }
+ append_str(cp, 1, 0, 0);
+ } /* End loop */
+
+ /* Check to make sure the LHS has been used */
+ if( rp->lhsalias && !lhsused ){
+ ErrorMsg(lemp->filename,rp->ruleline,
+ "Label \"%s\" for \"%s(%s)\" is never used.",
+ rp->lhsalias,rp->lhs->name,rp->lhsalias);
+ lemp->errorcnt++;
+ }
+
+ /* Generate destructor code for RHS symbols which are not used in the
+ ** reduce code */
+ for(i=0; i<rp->nrhs; i++){
+ if( rp->rhsalias[i] && !used[i] ){
+ ErrorMsg(lemp->filename,rp->ruleline,
+ "Label %s for \"%s(%s)\" is never used.",
+ rp->rhsalias[i],rp->rhs[i]->name,rp->rhsalias[i]);
+ lemp->errorcnt++;
+ }else if( rp->rhsalias[i]==0 ){
+ if( has_destructor(rp->rhs[i],lemp) ){
+ append_str(" yy_destructor(yypParser,%d,&yymsp[%d].minor);\n", 0,
+ rp->rhs[i]->index,i-rp->nrhs+1);
+ }else{
+ /* No destructor defined for this term */
+ }
+ }
+ }
+ if( rp->code ){
+ cp = append_str(0,0,0,0);
+ rp->code = Strsafe(cp?cp:"");
+ }
+}
+
+/*
+** Generate code which executes when the rule "rp" is reduced. Write
+** the code to "out". Make sure lineno stays up-to-date.
+*/
+PRIVATE void emit_code(
+ FILE *out,
+ struct rule *rp,
+ struct lemon *lemp,
+ int *lineno
+){
+ const char *cp;
+
+ /* Generate code to do the reduce action */
+ if( rp->code ){
+ if (!lemp->nolinenosflag) { (*lineno)++; tplt_linedir(out,rp->line,lemp->filename); }
+ fprintf(out,"{%s",rp->code);
+ for(cp=rp->code; *cp; cp++){
+ if( *cp=='\n' ) (*lineno)++;
+ } /* End loop */
+ fprintf(out,"}\n"); (*lineno)++;
+ if (!lemp->nolinenosflag) { (*lineno)++; tplt_linedir(out,*lineno,lemp->outname); }
+ } /* End if( rp->code ) */
+
+ return;
+}
+
+/*
+** Print the definition of the union used for the parser's data stack.
+** This union contains fields for every possible data type for tokens
+** and nonterminals. In the process of computing and printing this
+** union, also set the ".dtnum" field of every terminal and nonterminal
+** symbol.
+*/
+void print_stack_union(
+ FILE *out, /* The output stream */
+ struct lemon *lemp, /* The main info structure for this parser */
+ int *plineno, /* Pointer to the line number */
+ int mhflag /* True if generating makeheaders output */
+){
+ int lineno = *plineno; /* The line number of the output */
+ char **types; /* A hash table of datatypes */
+ int arraysize; /* Size of the "types" array */
+ int maxdtlength; /* Maximum length of any ".datatype" field. */
+ char *stddt; /* Standardized name for a datatype */
+ int i,j; /* Loop counters */
+ unsigned hash; /* For hashing the name of a type */
+ const char *name; /* Name of the parser */
+
+ /* Allocate and initialize types[] and allocate stddt[] */
+ arraysize = lemp->nsymbol * 2;
+ types = (char**)calloc( arraysize, sizeof(char*) );
+ if( types==0 ){
+ fprintf(stderr,"Out of memory.\n");
+ exit(1);
+ }
+ for(i=0; i<arraysize; i++) types[i] = 0;
+ maxdtlength = 0;
+ if( lemp->vartype ){
+ maxdtlength = lemonStrlen(lemp->vartype);
+ }
+ for(i=0; i<lemp->nsymbol; i++){
+ int len;
+ struct symbol *sp = lemp->symbols[i];
+ if( sp->datatype==0 ) continue;
+ len = lemonStrlen(sp->datatype);
+ if( len>maxdtlength ) maxdtlength = len;
+ }
+ stddt = (char*)malloc( maxdtlength*2 + 1 );
+ if( stddt==0 ){
+ fprintf(stderr,"Out of memory.\n");
+ exit(1);
+ }
+
+ /* Build a hash table of datatypes. The ".dtnum" field of each symbol
+ ** is filled in with the hash index plus 1. A ".dtnum" value of 0 is
+ ** used for terminal symbols. If there is no %default_type defined then
+ ** 0 is also used as the .dtnum value for nonterminals which do not specify
+ ** a datatype using the %type directive.
+ */
+ for(i=0; i<lemp->nsymbol; i++){
+ struct symbol *sp = lemp->symbols[i];
+ char *cp;
+ if( sp==lemp->errsym ){
+ sp->dtnum = arraysize+1;
+ continue;
+ }
+ if( sp->type!=NONTERMINAL || (sp->datatype==0 && lemp->vartype==0) ){
+ sp->dtnum = 0;
+ continue;
+ }
+ cp = sp->datatype;
+ if( cp==0 ) cp = lemp->vartype;
+ j = 0;
+ while( isspace(*cp) ) cp++;
+ while( *cp ) stddt[j++] = *cp++;
+ while( j>0 && isspace(stddt[j-1]) ) j--;
+ stddt[j] = 0;
+ if( lemp->tokentype && strcmp(stddt, lemp->tokentype)==0 ){
+ sp->dtnum = 0;
+ continue;
+ }
+ hash = 0;
+ for(j=0; stddt[j]; j++){
+ hash = hash*53 + stddt[j];
+ }
+ hash = (hash & 0x7fffffff)%arraysize;
+ while( types[hash] ){
+ if( strcmp(types[hash],stddt)==0 ){
+ sp->dtnum = hash + 1;
+ break;
+ }
+ hash++;
+ if( hash>=(unsigned)arraysize ) hash = 0;
+ }
+ if( types[hash]==0 ){
+ sp->dtnum = hash + 1;
+ types[hash] = (char*)malloc( lemonStrlen(stddt)+1 );
+ if( types[hash]==0 ){
+ fprintf(stderr,"Out of memory.\n");
+ exit(1);
+ }
+ lemon_strcpy(types[hash],stddt);
+ }
+ }
+
+ /* Print out the definition of YYTOKENTYPE and YYMINORTYPE */
+ name = lemp->name ? lemp->name : "Parse";
+ lineno = *plineno;
+ if( mhflag ){ fprintf(out,"#if INTERFACE\n"); lineno++; }
+ fprintf(out,"#define %sTOKENTYPE %s\n",name,
+ lemp->tokentype?lemp->tokentype:"void*"); lineno++;
+ if( mhflag ){ fprintf(out,"#endif\n"); lineno++; }
+ fprintf(out,"typedef union {\n"); lineno++;
+ fprintf(out," int yyinit;\n"); lineno++;
+ fprintf(out," %sTOKENTYPE yy0;\n",name); lineno++;
+ for(i=0; i<arraysize; i++){
+ if( types[i]==0 ) continue;
+ fprintf(out," %s yy%d;\n",types[i],i+1); lineno++;
+ free(types[i]);
+ }
+ if( lemp->errsym->useCnt ){
+ fprintf(out," int yy%d;\n",lemp->errsym->dtnum); lineno++;
+ }
+ free(stddt);
+ free(types);
+ fprintf(out,"} YYMINORTYPE;\n"); lineno++;
+ *plineno = lineno;
+}
+
+/*
+** Return the name of a C datatype able to represent values between
+** lwr and upr, inclusive.
+*/
+static const char *minimum_size_type(int lwr, int upr){
+ if( lwr>=0 ){
+ if( upr<=255 ){
+ return "unsigned char";
+ }else if( upr<65535 ){
+ return "unsigned short int";
+ }else{
+ return "unsigned int";
+ }
+ }else if( lwr>=-127 && upr<=127 ){
+ return "signed char";
+ }else if( lwr>=-32767 && upr<32767 ){
+ return "short";
+ }else{
+ return "int";
+ }
+}
+
+/*
+** Each state contains a set of token transaction and a set of
+** nonterminal transactions. Each of these sets makes an instance
+** of the following structure. An array of these structures is used
+** to order the creation of entries in the yy_action[] table.
+*/
+struct axset {
+ struct state *stp; /* A pointer to a state */
+ int isTkn; /* True to use tokens. False for non-terminals */
+ int nAction; /* Number of actions */
+ int iOrder; /* Original order of action sets */
+};
+
+/*
+** Compare to axset structures for sorting purposes
+*/
+static int axset_compare(const void *a, const void *b){
+ struct axset *p1 = (struct axset*)a;
+ struct axset *p2 = (struct axset*)b;
+ int c;
+ c = p2->nAction - p1->nAction;
+ if( c==0 ){
+ c = p2->iOrder - p1->iOrder;
+ }
+ assert( c!=0 || p1==p2 );
+ return c;
+}
+
+/*
+** Write text on "out" that describes the rule "rp".
+*/
+static void writeRuleText(FILE *out, struct rule *rp){
+ int j;
+ fprintf(out,"%s ::=", rp->lhs->name);
+ for(j=0; j<rp->nrhs; j++){
+ struct symbol *sp = rp->rhs[j];
+ if( sp->type!=MULTITERMINAL ){
+ fprintf(out," %s", sp->name);
+ }else{
+ int k;
+ fprintf(out," %s", sp->subsym[0]->name);
+ for(k=1; k<sp->nsubsym; k++){
+ fprintf(out,"|%s",sp->subsym[k]->name);
+ }
+ }
+ }
+}
+
+
+/* Generate C source code for the parser */
+void ReportTable(
+ struct lemon *lemp,
+ int mhflag /* Output in makeheaders format if true */
+){
+ FILE *out, *in;
+ char line[LINESIZE];
+ int lineno;
+ struct state *stp;
+ struct action *ap;
+ struct rule *rp;
+ struct acttab *pActtab;
+ int i, j, n;
+ const char *name;
+ int mnTknOfst, mxTknOfst;
+ int mnNtOfst, mxNtOfst;
+ struct axset *ax;
+
+ in = tplt_open(lemp);
+ if( in==0 ) return;
+ out = file_open(lemp,".c","wb");
+ if( out==0 ){
+ fclose(in);
+ return;
+ }
+ lineno = 1;
+ tplt_xfer(lemp->name,in,out,&lineno);
+
+ /* Generate the include code, if any */
+ tplt_print(out,lemp,lemp->include,&lineno);
+ if( mhflag ){
+ char *name = file_makename(lemp, ".h");
+ fprintf(out,"#include \"%s\"\n", name); lineno++;
+ free(name);
+ }
+ tplt_xfer(lemp->name,in,out,&lineno);
+
+ /* Generate #defines for all tokens */
+ if( mhflag ){
+ const char *prefix;
+ fprintf(out,"#if INTERFACE\n"); lineno++;
+ if( lemp->tokenprefix ) prefix = lemp->tokenprefix;
+ else prefix = "";
+ for(i=1; i<lemp->nterminal; i++){
+ fprintf(out,"#define %s%-30s %2d\n",prefix,lemp->symbols[i]->name,i);
+ lineno++;
+ }
+ fprintf(out,"#endif\n"); lineno++;
+ }
+ tplt_xfer(lemp->name,in,out,&lineno);
+
+ /* Generate the defines */
+ fprintf(out,"#define YYCODETYPE %s\n",
+ minimum_size_type(0, lemp->nsymbol+1)); lineno++;
+ fprintf(out,"#define YYNOCODE %d\n",lemp->nsymbol+1); lineno++;
+ fprintf(out,"#define YYACTIONTYPE %s\n",
+ minimum_size_type(0, lemp->nstate+lemp->nrule+5)); lineno++;
+ if( lemp->wildcard ){
+ fprintf(out,"#define YYWILDCARD %d\n",
+ lemp->wildcard->index); lineno++;
+ }
+ print_stack_union(out,lemp,&lineno,mhflag);
+ fprintf(out, "#ifndef YYSTACKDEPTH\n"); lineno++;
+ if( lemp->stacksize ){
+ fprintf(out,"#define YYSTACKDEPTH %s\n",lemp->stacksize); lineno++;
+ }else{
+ fprintf(out,"#define YYSTACKDEPTH 100\n"); lineno++;
+ }
+ fprintf(out, "#endif\n"); lineno++;
+ if( mhflag ){
+ fprintf(out,"#if INTERFACE\n"); lineno++;
+ }
+ name = lemp->name ? lemp->name : "Parse";
+ if( lemp->arg && lemp->arg[0] ){
+ int i;
+ i = lemonStrlen(lemp->arg);
+ while( i>=1 && isspace(lemp->arg[i-1]) ) i--;
+ while( i>=1 && (isalnum(lemp->arg[i-1]) || lemp->arg[i-1]=='_') ) i--;
+ fprintf(out,"#define %sARG_SDECL %s;\n",name,lemp->arg); lineno++;
+ fprintf(out,"#define %sARG_PDECL ,%s\n",name,lemp->arg); lineno++;
+ fprintf(out,"#define %sARG_FETCH %s = yypParser->%s\n",
+ name,lemp->arg,&lemp->arg[i]); lineno++;
+ fprintf(out,"#define %sARG_STORE yypParser->%s = %s\n",
+ name,&lemp->arg[i],&lemp->arg[i]); lineno++;
+ }else{
+ fprintf(out,"#define %sARG_SDECL\n",name); lineno++;
+ fprintf(out,"#define %sARG_PDECL\n",name); lineno++;
+ fprintf(out,"#define %sARG_FETCH\n",name); lineno++;
+ fprintf(out,"#define %sARG_STORE\n",name); lineno++;
+ }
+ if( mhflag ){
+ fprintf(out,"#endif\n"); lineno++;
+ }
+ fprintf(out,"#define YYNSTATE %d\n",lemp->nstate); lineno++;
+ fprintf(out,"#define YYNRULE %d\n",lemp->nrule); lineno++;
+ if( lemp->errsym->useCnt ){
+ fprintf(out,"#define YYERRORSYMBOL %d\n",lemp->errsym->index); lineno++;
+ fprintf(out,"#define YYERRSYMDT yy%d\n",lemp->errsym->dtnum); lineno++;
+ }
+ if( lemp->has_fallback ){
+ fprintf(out,"#define YYFALLBACK 1\n"); lineno++;
+ }
+ tplt_xfer(lemp->name,in,out,&lineno);
+
+ /* Generate the action table and its associates:
+ **
+ ** yy_action[] A single table containing all actions.
+ ** yy_lookahead[] A table containing the lookahead for each entry in
+ ** yy_action. Used to detect hash collisions.
+ ** yy_shift_ofst[] For each state, the offset into yy_action for
+ ** shifting terminals.
+ ** yy_reduce_ofst[] For each state, the offset into yy_action for
+ ** shifting non-terminals after a reduce.
+ ** yy_default[] Default action for each state.
+ */
+
+ /* Compute the actions on all states and count them up */
+ ax = (struct axset *) calloc(lemp->nstate*2, sizeof(ax[0]));
+ if( ax==0 ){
+ fprintf(stderr,"malloc failed\n");
+ exit(1);
+ }
+ for(i=0; i<lemp->nstate; i++){
+ stp = lemp->sorted[i];
+ ax[i*2].stp = stp;
+ ax[i*2].isTkn = 1;
+ ax[i*2].nAction = stp->nTknAct;
+ ax[i*2+1].stp = stp;
+ ax[i*2+1].isTkn = 0;
+ ax[i*2+1].nAction = stp->nNtAct;
+ }
+ mxTknOfst = mnTknOfst = 0;
+ mxNtOfst = mnNtOfst = 0;
+
+ /* Compute the action table. In order to try to keep the size of the
+ ** action table to a minimum, the heuristic of placing the largest action
+ ** sets first is used.
+ */
+ for(i=0; i<lemp->nstate*2; i++) ax[i].iOrder = i;
+ qsort(ax, lemp->nstate*2, sizeof(ax[0]), axset_compare);
+ pActtab = acttab_alloc();
+ for(i=0; i<lemp->nstate*2 && ax[i].nAction>0; i++){
+ stp = ax[i].stp;
+ if( ax[i].isTkn ){
+ for(ap=stp->ap; ap; ap=ap->next){
+ int action;
+ if( ap->sp->index>=lemp->nterminal ) continue;
+ action = compute_action(lemp, ap);
+ if( action<0 ) continue;
+ acttab_action(pActtab, ap->sp->index, action);
+ }
+ stp->iTknOfst = acttab_insert(pActtab);
+ if( stp->iTknOfst<mnTknOfst ) mnTknOfst = stp->iTknOfst;
+ if( stp->iTknOfst>mxTknOfst ) mxTknOfst = stp->iTknOfst;
+ }else{
+ for(ap=stp->ap; ap; ap=ap->next){
+ int action;
+ if( ap->sp->index<lemp->nterminal ) continue;
+ if( ap->sp->index==lemp->nsymbol ) continue;
+ action = compute_action(lemp, ap);
+ if( action<0 ) continue;
+ acttab_action(pActtab, ap->sp->index, action);
+ }
+ stp->iNtOfst = acttab_insert(pActtab);
+ if( stp->iNtOfst<mnNtOfst ) mnNtOfst = stp->iNtOfst;
+ if( stp->iNtOfst>mxNtOfst ) mxNtOfst = stp->iNtOfst;
+ }
+ }
+ free(ax);
+
+ /* Output the yy_action table */
+ n = acttab_size(pActtab);
+ fprintf(out,"#define YY_ACTTAB_COUNT (%d)\n", n); lineno++;
+ fprintf(out,"static const YYACTIONTYPE yy_action[] = {\n"); lineno++;
+ for(i=j=0; i<n; i++){
+ int action = acttab_yyaction(pActtab, i);
+ if( action<0 ) action = lemp->nstate + lemp->nrule + 2;
+ if( j==0 ) fprintf(out," /* %5d */ ", i);
+ fprintf(out, " %4d,", action);
+ if( j==9 || i==n-1 ){
+ fprintf(out, "\n"); lineno++;
+ j = 0;
+ }else{
+ j++;
+ }
+ }
+ fprintf(out, "};\n"); lineno++;
+
+ /* Output the yy_lookahead table */
+ fprintf(out,"static const YYCODETYPE yy_lookahead[] = {\n"); lineno++;
+ for(i=j=0; i<n; i++){
+ int la = acttab_yylookahead(pActtab, i);
+ if( la<0 ) la = lemp->nsymbol;
+ if( j==0 ) fprintf(out," /* %5d */ ", i);
+ fprintf(out, " %4d,", la);
+ if( j==9 || i==n-1 ){
+ fprintf(out, "\n"); lineno++;
+ j = 0;
+ }else{
+ j++;
+ }
+ }
+ fprintf(out, "};\n"); lineno++;
+
+ /* Output the yy_shift_ofst[] table */
+ fprintf(out, "#define YY_SHIFT_USE_DFLT (%d)\n", mnTknOfst-1); lineno++;
+ n = lemp->nstate;
+ while( n>0 && lemp->sorted[n-1]->iTknOfst==NO_OFFSET ) n--;
+ fprintf(out, "#define YY_SHIFT_COUNT (%d)\n", n-1); lineno++;
+ fprintf(out, "#define YY_SHIFT_MIN (%d)\n", mnTknOfst); lineno++;
+ fprintf(out, "#define YY_SHIFT_MAX (%d)\n", mxTknOfst); lineno++;
+ fprintf(out, "static const %s yy_shift_ofst[] = {\n",
+ minimum_size_type(mnTknOfst-1, mxTknOfst)); lineno++;
+ for(i=j=0; i<n; i++){
+ int ofst;
+ stp = lemp->sorted[i];
+ ofst = stp->iTknOfst;
+ if( ofst==NO_OFFSET ) ofst = mnTknOfst - 1;
+ if( j==0 ) fprintf(out," /* %5d */ ", i);
+ fprintf(out, " %4d,", ofst);
+ if( j==9 || i==n-1 ){
+ fprintf(out, "\n"); lineno++;
+ j = 0;
+ }else{
+ j++;
+ }
+ }
+ fprintf(out, "};\n"); lineno++;
+
+ /* Output the yy_reduce_ofst[] table */
+ fprintf(out, "#define YY_REDUCE_USE_DFLT (%d)\n", mnNtOfst-1); lineno++;
+ n = lemp->nstate;
+ while( n>0 && lemp->sorted[n-1]->iNtOfst==NO_OFFSET ) n--;
+ fprintf(out, "#define YY_REDUCE_COUNT (%d)\n", n-1); lineno++;
+ fprintf(out, "#define YY_REDUCE_MIN (%d)\n", mnNtOfst); lineno++;
+ fprintf(out, "#define YY_REDUCE_MAX (%d)\n", mxNtOfst); lineno++;
+ fprintf(out, "static const %s yy_reduce_ofst[] = {\n",
+ minimum_size_type(mnNtOfst-1, mxNtOfst)); lineno++;
+ for(i=j=0; i<n; i++){
+ int ofst;
+ stp = lemp->sorted[i];
+ ofst = stp->iNtOfst;
+ if( ofst==NO_OFFSET ) ofst = mnNtOfst - 1;
+ if( j==0 ) fprintf(out," /* %5d */ ", i);
+ fprintf(out, " %4d,", ofst);
+ if( j==9 || i==n-1 ){
+ fprintf(out, "\n"); lineno++;
+ j = 0;
+ }else{
+ j++;
+ }
+ }
+ fprintf(out, "};\n"); lineno++;
+
+ /* Output the default action table */
+ fprintf(out, "static const YYACTIONTYPE yy_default[] = {\n"); lineno++;
+ n = lemp->nstate;
+ for(i=j=0; i<n; i++){
+ stp = lemp->sorted[i];
+ if( j==0 ) fprintf(out," /* %5d */ ", i);
+ fprintf(out, " %4d,", stp->iDflt);
+ if( j==9 || i==n-1 ){
+ fprintf(out, "\n"); lineno++;
+ j = 0;
+ }else{
+ j++;
+ }
+ }
+ fprintf(out, "};\n"); lineno++;
+ tplt_xfer(lemp->name,in,out,&lineno);
+
+ /* Generate the table of fallback tokens.
+ */
+ if( lemp->has_fallback ){
+ int mx = lemp->nterminal - 1;
+ while( mx>0 && lemp->symbols[mx]->fallback==0 ){ mx--; }
+ for(i=0; i<=mx; i++){
+ struct symbol *p = lemp->symbols[i];
+ if( p->fallback==0 ){
+ fprintf(out, " 0, /* %10s => nothing */\n", p->name);
+ }else{
+ fprintf(out, " %3d, /* %10s => %s */\n", p->fallback->index,
+ p->name, p->fallback->name);
+ }
+ lineno++;
+ }
+ }
+ tplt_xfer(lemp->name, in, out, &lineno);
+
+ /* Generate a table containing the symbolic name of every symbol
+ */
+ for(i=0; i<lemp->nsymbol; i++){
+ lemon_sprintf(line,"\"%s\",",lemp->symbols[i]->name);
+ fprintf(out," %-15s",line);
+ if( (i&3)==3 ){ fprintf(out,"\n"); lineno++; }
+ }
+ if( (i&3)!=0 ){ fprintf(out,"\n"); lineno++; }
+ tplt_xfer(lemp->name,in,out,&lineno);
+
+ /* Generate a table containing a text string that describes every
+ ** rule in the rule set of the grammar. This information is used
+ ** when tracing REDUCE actions.
+ */
+ for(i=0, rp=lemp->rule; rp; rp=rp->next, i++){
+ assert( rp->index==i );
+ fprintf(out," /* %3d */ \"", i);
+ writeRuleText(out, rp);
+ fprintf(out,"\",\n"); lineno++;
+ }
+ tplt_xfer(lemp->name,in,out,&lineno);
+
+ /* Generate code which executes every time a symbol is popped from
+ ** the stack while processing errors or while destroying the parser.
+ ** (In other words, generate the %destructor actions)
+ */
+ if( lemp->tokendest ){
+ int once = 1;
+ for(i=0; i<lemp->nsymbol; i++){
+ struct symbol *sp = lemp->symbols[i];
+ if( sp==0 || sp->type!=TERMINAL ) continue;
+ if( once ){
+ fprintf(out, " /* TERMINAL Destructor */\n"); lineno++;
+ once = 0;
+ }
+ fprintf(out," case %d: /* %s */\n", sp->index, sp->name); lineno++;
+ }
+ for(i=0; i<lemp->nsymbol && lemp->symbols[i]->type!=TERMINAL; i++);
+ if( i<lemp->nsymbol ){
+ emit_destructor_code(out,lemp->symbols[i],lemp,&lineno);
+ fprintf(out," break;\n"); lineno++;
+ }
+ }
+ if( lemp->vardest ){
+ struct symbol *dflt_sp = 0;
+ int once = 1;
+ for(i=0; i<lemp->nsymbol; i++){
+ struct symbol *sp = lemp->symbols[i];
+ if( sp==0 || sp->type==TERMINAL ||
+ sp->index<=0 || sp->destructor!=0 ) continue;
+ if( once ){
+ fprintf(out, " /* Default NON-TERMINAL Destructor */\n"); lineno++;
+ once = 0;
+ }
+ fprintf(out," case %d: /* %s */\n", sp->index, sp->name); lineno++;
+ dflt_sp = sp;
+ }
+ if( dflt_sp!=0 ){
+ emit_destructor_code(out,dflt_sp,lemp,&lineno);
+ }
+ fprintf(out," break;\n"); lineno++;
+ }
+ for(i=0; i<lemp->nsymbol; i++){
+ struct symbol *sp = lemp->symbols[i];
+ if( sp==0 || sp->type==TERMINAL || sp->destructor==0 ) continue;
+ fprintf(out," case %d: /* %s */\n", sp->index, sp->name); lineno++;
+
+ /* Combine duplicate destructors into a single case */
+ for(j=i+1; j<lemp->nsymbol; j++){
+ struct symbol *sp2 = lemp->symbols[j];
+ if( sp2 && sp2->type!=TERMINAL && sp2->destructor
+ && sp2->dtnum==sp->dtnum
+ && strcmp(sp->destructor,sp2->destructor)==0 ){
+ fprintf(out," case %d: /* %s */\n",
+ sp2->index, sp2->name); lineno++;
+ sp2->destructor = 0;
+ }
+ }
+
+ emit_destructor_code(out,lemp->symbols[i],lemp,&lineno);
+ fprintf(out," break;\n"); lineno++;
+ }
+ tplt_xfer(lemp->name,in,out,&lineno);
+
+ /* Generate code which executes whenever the parser stack overflows */
+ tplt_print(out,lemp,lemp->overflow,&lineno);
+ tplt_xfer(lemp->name,in,out,&lineno);
+
+ /* Generate the table of rule information
+ **
+ ** Note: This code depends on the fact that rules are number
+ ** sequentually beginning with 0.
+ */
+ for(rp=lemp->rule; rp; rp=rp->next){
+ fprintf(out," { %d, %d },\n",rp->lhs->index,rp->nrhs); lineno++;
+ }
+ tplt_xfer(lemp->name,in,out,&lineno);
+
+ /* Generate code which execution during each REDUCE action */
+ for(rp=lemp->rule; rp; rp=rp->next){
+ translate_code(lemp, rp);
+ }
+ /* First output rules other than the default: rule */
+ for(rp=lemp->rule; rp; rp=rp->next){
+ struct rule *rp2; /* Other rules with the same action */
+ if( rp->code==0 ) continue;
+ if( rp->code[0]=='\n' && rp->code[1]==0 ) continue; /* Will be default: */
+ fprintf(out," case %d: /* ", rp->index);
+ writeRuleText(out, rp);
+ fprintf(out, " */\n"); lineno++;
+ for(rp2=rp->next; rp2; rp2=rp2->next){
+ if( rp2->code==rp->code ){
+ fprintf(out," case %d: /* ", rp2->index);
+ writeRuleText(out, rp2);
+ fprintf(out," */ yytestcase(yyruleno==%d);\n", rp2->index); lineno++;
+ rp2->code = 0;
+ }
+ }
+ emit_code(out,rp,lemp,&lineno);
+ fprintf(out," break;\n"); lineno++;
+ rp->code = 0;
+ }
+ /* Finally, output the default: rule. We choose as the default: all
+ ** empty actions. */
+ fprintf(out," default:\n"); lineno++;
+ for(rp=lemp->rule; rp; rp=rp->next){
+ if( rp->code==0 ) continue;
+ assert( rp->code[0]=='\n' && rp->code[1]==0 );
+ fprintf(out," /* (%d) ", rp->index);
+ writeRuleText(out, rp);
+ fprintf(out, " */ yytestcase(yyruleno==%d);\n", rp->index); lineno++;
+ }
+ fprintf(out," break;\n"); lineno++;
+ tplt_xfer(lemp->name,in,out,&lineno);
+
+ /* Generate code which executes if a parse fails */
+ tplt_print(out,lemp,lemp->failure,&lineno);
+ tplt_xfer(lemp->name,in,out,&lineno);
+
+ /* Generate code which executes when a syntax error occurs */
+ tplt_print(out,lemp,lemp->error,&lineno);
+ tplt_xfer(lemp->name,in,out,&lineno);
+
+ /* Generate code which executes when the parser accepts its input */
+ tplt_print(out,lemp,lemp->accept,&lineno);
+ tplt_xfer(lemp->name,in,out,&lineno);
+
+ /* Append any addition code the user desires */
+ tplt_print(out,lemp,lemp->extracode,&lineno);
+
+ fclose(in);
+ fclose(out);
+ return;
+}
+
+/* Generate a header file for the parser */
+void ReportHeader(struct lemon *lemp)
+{
+ FILE *out, *in;
+ const char *prefix;
+ char line[LINESIZE];
+ char pattern[LINESIZE];
+ int i;
+
+ if( lemp->tokenprefix ) prefix = lemp->tokenprefix;
+ else prefix = "";
+ in = file_open(lemp,".h","rb");
+ if( in ){
+ int nextChar;
+ for(i=1; i<lemp->nterminal && fgets(line,LINESIZE,in); i++){
+ lemon_sprintf(pattern,"#define %s%-30s %3d\n",
+ prefix,lemp->symbols[i]->name,i);
+ if( strcmp(line,pattern) ) break;
+ }
+ nextChar = fgetc(in);
+ fclose(in);
+ if( i==lemp->nterminal && nextChar==EOF ){
+ /* No change in the file. Don't rewrite it. */
+ return;
+ }
+ }
+ out = file_open(lemp,".h","wb");
+ if( out ){
+ for(i=1; i<lemp->nterminal; i++){
+ fprintf(out,"#define %s%-30s %3d\n",prefix,lemp->symbols[i]->name,i);
+ }
+ fclose(out);
+ }
+ return;
+}
+
+/* Reduce the size of the action tables, if possible, by making use
+** of defaults.
+**
+** In this version, we take the most frequent REDUCE action and make
+** it the default. Except, there is no default if the wildcard token
+** is a possible look-ahead.
+*/
+void CompressTables(struct lemon *lemp)
+{
+ struct state *stp;
+ struct action *ap, *ap2;
+ struct rule *rp, *rp2, *rbest;
+ int nbest, n;
+ int i;
+ int usesWildcard;
+
+ for(i=0; i<lemp->nstate; i++){
+ stp = lemp->sorted[i];
+ nbest = 0;
+ rbest = 0;
+ usesWildcard = 0;
+
+ for(ap=stp->ap; ap; ap=ap->next){
+ if( ap->type==SHIFT && ap->sp==lemp->wildcard ){
+ usesWildcard = 1;
+ }
+ if( ap->type!=REDUCE ) continue;
+ rp = ap->x.rp;
+ if( rp->lhsStart ) continue;
+ if( rp==rbest ) continue;
+ n = 1;
+ for(ap2=ap->next; ap2; ap2=ap2->next){
+ if( ap2->type!=REDUCE ) continue;
+ rp2 = ap2->x.rp;
+ if( rp2==rbest ) continue;
+ if( rp2==rp ) n++;
+ }
+ if( n>nbest ){
+ nbest = n;
+ rbest = rp;
+ }
+ }
+
+ /* Do not make a default if the number of rules to default
+ ** is not at least 1 or if the wildcard token is a possible
+ ** lookahead.
+ */
+ if( nbest<1 || usesWildcard ) continue;
+
+
+ /* Combine matching REDUCE actions into a single default */
+ for(ap=stp->ap; ap; ap=ap->next){
+ if( ap->type==REDUCE && ap->x.rp==rbest ) break;
+ }
+ assert( ap );
+ ap->sp = Symbol_new("{default}");
+ for(ap=ap->next; ap; ap=ap->next){
+ if( ap->type==REDUCE && ap->x.rp==rbest ) ap->type = NOT_USED;
+ }
+ stp->ap = Action_sort(stp->ap);
+ }
+}
+
+
+/*
+** Compare two states for sorting purposes. The smaller state is the
+** one with the most non-terminal actions. If they have the same number
+** of non-terminal actions, then the smaller is the one with the most
+** token actions.
+*/
+static int stateResortCompare(const void *a, const void *b){
+ const struct state *pA = *(const struct state**)a;
+ const struct state *pB = *(const struct state**)b;
+ int n;
+
+ n = pB->nNtAct - pA->nNtAct;
+ if( n==0 ){
+ n = pB->nTknAct - pA->nTknAct;
+ if( n==0 ){
+ n = pB->statenum - pA->statenum;
+ }
+ }
+ assert( n!=0 );
+ return n;
+}
+
+
+/*
+** Renumber and resort states so that states with fewer choices
+** occur at the end. Except, keep state 0 as the first state.
+*/
+void ResortStates(struct lemon *lemp)
+{
+ int i;
+ struct state *stp;
+ struct action *ap;
+
+ for(i=0; i<lemp->nstate; i++){
+ stp = lemp->sorted[i];
+ stp->nTknAct = stp->nNtAct = 0;
+ stp->iDflt = lemp->nstate + lemp->nrule;
+ stp->iTknOfst = NO_OFFSET;
+ stp->iNtOfst = NO_OFFSET;
+ for(ap=stp->ap; ap; ap=ap->next){
+ if( compute_action(lemp,ap)>=0 ){
+ if( ap->sp->index<lemp->nterminal ){
+ stp->nTknAct++;
+ }else if( ap->sp->index<lemp->nsymbol ){
+ stp->nNtAct++;
+ }else{
+ stp->iDflt = compute_action(lemp, ap);
+ }
+ }
+ }
+ }
+ qsort(&lemp->sorted[1], lemp->nstate-1, sizeof(lemp->sorted[0]),
+ stateResortCompare);
+ for(i=0; i<lemp->nstate; i++){
+ lemp->sorted[i]->statenum = i;
+ }
+}
+
+
+/***************** From the file "set.c" ************************************/
+/*
+** Set manipulation routines for the LEMON parser generator.
+*/
+
+static int size = 0;
+
+/* Set the set size */
+void SetSize(int n)
+{
+ size = n+1;
+}
+
+/* Allocate a new set */
+char *SetNew(){
+ char *s;
+ s = (char*)calloc( size, 1);
+ if( s==0 ){
+ extern void memory_error();
+ memory_error();
+ }
+ return s;
+}
+
+/* Deallocate a set */
+void SetFree(char *s)
+{
+ free(s);
+}
+
+/* Add a new element to the set. Return TRUE if the element was added
+** and FALSE if it was already there. */
+int SetAdd(char *s, int e)
+{
+ int rv;
+ assert( e>=0 && e<size );
+ rv = s[e];
+ s[e] = 1;
+ return !rv;
+}
+
+/* Add every element of s2 to s1. Return TRUE if s1 changes. */
+int SetUnion(char *s1, char *s2)
+{
+ int i, progress;
+ progress = 0;
+ for(i=0; i<size; i++){
+ if( s2[i]==0 ) continue;
+ if( s1[i]==0 ){
+ progress = 1;
+ s1[i] = 1;
+ }
+ }
+ return progress;
+}
+/********************** From the file "table.c" ****************************/
+/*
+** All code in this file has been automatically generated
+** from a specification in the file
+** "table.q"
+** by the associative array code building program "aagen".
+** Do not edit this file! Instead, edit the specification
+** file, then rerun aagen.
+*/
+/*
+** Code for processing tables in the LEMON parser generator.
+*/
+
+PRIVATE unsigned strhash(const char *x)
+{
+ unsigned h = 0;
+ while( *x ) h = h*13 + *(x++);
+ return h;
+}
+
+/* Works like strdup, sort of. Save a string in malloced memory, but
+** keep strings in a table so that the same string is not in more
+** than one place.
+*/
+const char *Strsafe(const char *y)
+{
+ const char *z;
+ char *cpy;
+
+ if( y==0 ) return 0;
+ z = Strsafe_find(y);
+ if( z==0 && (cpy=(char *)malloc( lemonStrlen(y)+1 ))!=0 ){
+ lemon_strcpy(cpy,y);
+ z = cpy;
+ Strsafe_insert(z);
+ }
+ MemoryCheck(z);
+ return z;
+}
+
+/* There is one instance of the following structure for each
+** associative array of type "x1".
+*/
+struct s_x1 {
+ int size; /* The number of available slots. */
+ /* Must be a power of 2 greater than or */
+ /* equal to 1 */
+ int count; /* Number of currently slots filled */
+ struct s_x1node *tbl; /* The data stored here */
+ struct s_x1node **ht; /* Hash table for lookups */
+};
+
+/* There is one instance of this structure for every data element
+** in an associative array of type "x1".
+*/
+typedef struct s_x1node {
+ const char *data; /* The data */
+ struct s_x1node *next; /* Next entry with the same hash */
+ struct s_x1node **from; /* Previous link */
+} x1node;
+
+/* There is only one instance of the array, which is the following */
+static struct s_x1 *x1a;
+
+/* Allocate a new associative array */
+void Strsafe_init(){
+ if( x1a ) return;
+ x1a = (struct s_x1*)malloc( sizeof(struct s_x1) );
+ if( x1a ){
+ x1a->size = 1024;
+ x1a->count = 0;
+ x1a->tbl = (x1node*)calloc(1024, sizeof(x1node) + sizeof(x1node*));
+ if( x1a->tbl==0 ){
+ free(x1a);
+ x1a = 0;
+ }else{
+ int i;
+ x1a->ht = (x1node**)&(x1a->tbl[1024]);
+ for(i=0; i<1024; i++) x1a->ht[i] = 0;
+ }
+ }
+}
+/* Insert a new record into the array. Return TRUE if successful.
+** Prior data with the same key is NOT overwritten */
+int Strsafe_insert(const char *data)
+{
+ x1node *np;
+ unsigned h;
+ unsigned ph;
+
+ if( x1a==0 ) return 0;
+ ph = strhash(data);
+ h = ph & (x1a->size-1);
+ np = x1a->ht[h];
+ while( np ){
+ if( strcmp(np->data,data)==0 ){
+ /* An existing entry with the same key is found. */
+ /* Fail because overwrite is not allows. */
+ return 0;
+ }
+ np = np->next;
+ }
+ if( x1a->count>=x1a->size ){
+ /* Need to make the hash table bigger */
+ int i,size;
+ struct s_x1 array;
+ array.size = size = x1a->size*2;
+ array.count = x1a->count;
+ array.tbl = (x1node*)calloc(size, sizeof(x1node) + sizeof(x1node*));
+ if( array.tbl==0 ) return 0; /* Fail due to malloc failure */
+ array.ht = (x1node**)&(array.tbl[size]);
+ for(i=0; i<size; i++) array.ht[i] = 0;
+ for(i=0; i<x1a->count; i++){
+ x1node *oldnp, *newnp;
+ oldnp = &(x1a->tbl[i]);
+ h = strhash(oldnp->data) & (size-1);
+ newnp = &(array.tbl[i]);
+ if( array.ht[h] ) array.ht[h]->from = &(newnp->next);
+ newnp->next = array.ht[h];
+ newnp->data = oldnp->data;
+ newnp->from = &(array.ht[h]);
+ array.ht[h] = newnp;
+ }
+ free(x1a->tbl);
+ *x1a = array;
+ }
+ /* Insert the new data */
+ h = ph & (x1a->size-1);
+ np = &(x1a->tbl[x1a->count++]);
+ np->data = data;
+ if( x1a->ht[h] ) x1a->ht[h]->from = &(np->next);
+ np->next = x1a->ht[h];
+ x1a->ht[h] = np;
+ np->from = &(x1a->ht[h]);
+ return 1;
+}
+
+/* Return a pointer to data assigned to the given key. Return NULL
+** if no such key. */
+const char *Strsafe_find(const char *key)
+{
+ unsigned h;
+ x1node *np;
+
+ if( x1a==0 ) return 0;
+ h = strhash(key) & (x1a->size-1);
+ np = x1a->ht[h];
+ while( np ){
+ if( strcmp(np->data,key)==0 ) break;
+ np = np->next;
+ }
+ return np ? np->data : 0;
+}
+
+/* Return a pointer to the (terminal or nonterminal) symbol "x".
+** Create a new symbol if this is the first time "x" has been seen.
+*/
+struct symbol *Symbol_new(const char *x)
+{
+ struct symbol *sp;
+
+ sp = Symbol_find(x);
+ if( sp==0 ){
+ sp = (struct symbol *)calloc(1, sizeof(struct symbol) );
+ MemoryCheck(sp);
+ sp->name = Strsafe(x);
+ sp->type = isupper(*x) ? TERMINAL : NONTERMINAL;
+ sp->rule = 0;
+ sp->fallback = 0;
+ sp->prec = -1;
+ sp->assoc = UNK;
+ sp->firstset = 0;
+ sp->lambda = LEMON_FALSE;
+ sp->destructor = 0;
+ sp->destLineno = 0;
+ sp->datatype = 0;
+ sp->useCnt = 0;
+ Symbol_insert(sp,sp->name);
+ }
+ sp->useCnt++;
+ return sp;
+}
+
+/* Compare two symbols for sorting purposes. Return negative,
+** zero, or positive if a is less then, equal to, or greater
+** than b.
+**
+** Symbols that begin with upper case letters (terminals or tokens)
+** must sort before symbols that begin with lower case letters
+** (non-terminals). And MULTITERMINAL symbols (created using the
+** %token_class directive) must sort at the very end. Other than
+** that, the order does not matter.
+**
+** We find experimentally that leaving the symbols in their original
+** order (the order they appeared in the grammar file) gives the
+** smallest parser tables in SQLite.
+*/
+int Symbolcmpp(const void *_a, const void *_b)
+{
+ const struct symbol *a = *(const struct symbol **) _a;
+ const struct symbol *b = *(const struct symbol **) _b;
+ int i1 = a->type==MULTITERMINAL ? 3 : a->name[0]>'Z' ? 2 : 1;
+ int i2 = b->type==MULTITERMINAL ? 3 : b->name[0]>'Z' ? 2 : 1;
+ return i1==i2 ? a->index - b->index : i1 - i2;
+}
+
+/* There is one instance of the following structure for each
+** associative array of type "x2".
+*/
+struct s_x2 {
+ int size; /* The number of available slots. */
+ /* Must be a power of 2 greater than or */
+ /* equal to 1 */
+ int count; /* Number of currently slots filled */
+ struct s_x2node *tbl; /* The data stored here */
+ struct s_x2node **ht; /* Hash table for lookups */
+};
+
+/* There is one instance of this structure for every data element
+** in an associative array of type "x2".
+*/
+typedef struct s_x2node {
+ struct symbol *data; /* The data */
+ const char *key; /* The key */
+ struct s_x2node *next; /* Next entry with the same hash */
+ struct s_x2node **from; /* Previous link */
+} x2node;
+
+/* There is only one instance of the array, which is the following */
+static struct s_x2 *x2a;
+
+/* Allocate a new associative array */
+void Symbol_init(){
+ if( x2a ) return;
+ x2a = (struct s_x2*)malloc( sizeof(struct s_x2) );
+ if( x2a ){
+ x2a->size = 128;
+ x2a->count = 0;
+ x2a->tbl = (x2node*)calloc(128, sizeof(x2node) + sizeof(x2node*));
+ if( x2a->tbl==0 ){
+ free(x2a);
+ x2a = 0;
+ }else{
+ int i;
+ x2a->ht = (x2node**)&(x2a->tbl[128]);
+ for(i=0; i<128; i++) x2a->ht[i] = 0;
+ }
+ }
+}
+/* Insert a new record into the array. Return TRUE if successful.
+** Prior data with the same key is NOT overwritten */
+int Symbol_insert(struct symbol *data, const char *key)
+{
+ x2node *np;
+ unsigned h;
+ unsigned ph;
+
+ if( x2a==0 ) return 0;
+ ph = strhash(key);
+ h = ph & (x2a->size-1);
+ np = x2a->ht[h];
+ while( np ){
+ if( strcmp(np->key,key)==0 ){
+ /* An existing entry with the same key is found. */
+ /* Fail because overwrite is not allows. */
+ return 0;
+ }
+ np = np->next;
+ }
+ if( x2a->count>=x2a->size ){
+ /* Need to make the hash table bigger */
+ int i,size;
+ struct s_x2 array;
+ array.size = size = x2a->size*2;
+ array.count = x2a->count;
+ array.tbl = (x2node*)calloc(size, sizeof(x2node) + sizeof(x2node*));
+ if( array.tbl==0 ) return 0; /* Fail due to malloc failure */
+ array.ht = (x2node**)&(array.tbl[size]);
+ for(i=0; i<size; i++) array.ht[i] = 0;
+ for(i=0; i<x2a->count; i++){
+ x2node *oldnp, *newnp;
+ oldnp = &(x2a->tbl[i]);
+ h = strhash(oldnp->key) & (size-1);
+ newnp = &(array.tbl[i]);
+ if( array.ht[h] ) array.ht[h]->from = &(newnp->next);
+ newnp->next = array.ht[h];
+ newnp->key = oldnp->key;
+ newnp->data = oldnp->data;
+ newnp->from = &(array.ht[h]);
+ array.ht[h] = newnp;
+ }
+ free(x2a->tbl);
+ *x2a = array;
+ }
+ /* Insert the new data */
+ h = ph & (x2a->size-1);
+ np = &(x2a->tbl[x2a->count++]);
+ np->key = key;
+ np->data = data;
+ if( x2a->ht[h] ) x2a->ht[h]->from = &(np->next);
+ np->next = x2a->ht[h];
+ x2a->ht[h] = np;
+ np->from = &(x2a->ht[h]);
+ return 1;
+}
+
+/* Return a pointer to data assigned to the given key. Return NULL
+** if no such key. */
+struct symbol *Symbol_find(const char *key)
+{
+ unsigned h;
+ x2node *np;
+
+ if( x2a==0 ) return 0;
+ h = strhash(key) & (x2a->size-1);
+ np = x2a->ht[h];
+ while( np ){
+ if( strcmp(np->key,key)==0 ) break;
+ np = np->next;
+ }
+ return np ? np->data : 0;
+}
+
+/* Return the n-th data. Return NULL if n is out of range. */
+struct symbol *Symbol_Nth(int n)
+{
+ struct symbol *data;
+ if( x2a && n>0 && n<=x2a->count ){
+ data = x2a->tbl[n-1].data;
+ }else{
+ data = 0;
+ }
+ return data;
+}
+
+/* Return the size of the array */
+int Symbol_count()
+{
+ return x2a ? x2a->count : 0;
+}
+
+/* Return an array of pointers to all data in the table.
+** The array is obtained from malloc. Return NULL if memory allocation
+** problems, or if the array is empty. */
+struct symbol **Symbol_arrayof()
+{
+ struct symbol **array;
+ int i,size;
+ if( x2a==0 ) return 0;
+ size = x2a->count;
+ array = (struct symbol **)calloc(size, sizeof(struct symbol *));
+ if( array ){
+ for(i=0; i<size; i++) array[i] = x2a->tbl[i].data;
+ }
+ return array;
+}
+
+/* Compare two configurations */
+int Configcmp(const char *_a,const char *_b)
+{
+ const struct config *a = (struct config *) _a;
+ const struct config *b = (struct config *) _b;
+ int x;
+ x = a->rp->index - b->rp->index;
+ if( x==0 ) x = a->dot - b->dot;
+ return x;
+}
+
+/* Compare two states */
+PRIVATE int statecmp(struct config *a, struct config *b)
+{
+ int rc;
+ for(rc=0; rc==0 && a && b; a=a->bp, b=b->bp){
+ rc = a->rp->index - b->rp->index;
+ if( rc==0 ) rc = a->dot - b->dot;
+ }
+ if( rc==0 ){
+ if( a ) rc = 1;
+ if( b ) rc = -1;
+ }
+ return rc;
+}
+
+/* Hash a state */
+PRIVATE unsigned statehash(struct config *a)
+{
+ unsigned h=0;
+ while( a ){
+ h = h*571 + a->rp->index*37 + a->dot;
+ a = a->bp;
+ }
+ return h;
+}
+
+/* Allocate a new state structure */
+struct state *State_new()
+{
+ struct state *newstate;
+ newstate = (struct state *)calloc(1, sizeof(struct state) );
+ MemoryCheck(newstate);
+ return newstate;
+}
+
+/* There is one instance of the following structure for each
+** associative array of type "x3".
+*/
+struct s_x3 {
+ int size; /* The number of available slots. */
+ /* Must be a power of 2 greater than or */
+ /* equal to 1 */
+ int count; /* Number of currently slots filled */
+ struct s_x3node *tbl; /* The data stored here */
+ struct s_x3node **ht; /* Hash table for lookups */
+};
+
+/* There is one instance of this structure for every data element
+** in an associative array of type "x3".
+*/
+typedef struct s_x3node {
+ struct state *data; /* The data */
+ struct config *key; /* The key */
+ struct s_x3node *next; /* Next entry with the same hash */
+ struct s_x3node **from; /* Previous link */
+} x3node;
+
+/* There is only one instance of the array, which is the following */
+static struct s_x3 *x3a;
+
+/* Allocate a new associative array */
+void State_init(){
+ if( x3a ) return;
+ x3a = (struct s_x3*)malloc( sizeof(struct s_x3) );
+ if( x3a ){
+ x3a->size = 128;
+ x3a->count = 0;
+ x3a->tbl = (x3node*)calloc(128, sizeof(x3node) + sizeof(x3node*));
+ if( x3a->tbl==0 ){
+ free(x3a);
+ x3a = 0;
+ }else{
+ int i;
+ x3a->ht = (x3node**)&(x3a->tbl[128]);
+ for(i=0; i<128; i++) x3a->ht[i] = 0;
+ }
+ }
+}
+/* Insert a new record into the array. Return TRUE if successful.
+** Prior data with the same key is NOT overwritten */
+int State_insert(struct state *data, struct config *key)
+{
+ x3node *np;
+ unsigned h;
+ unsigned ph;
+
+ if( x3a==0 ) return 0;
+ ph = statehash(key);
+ h = ph & (x3a->size-1);
+ np = x3a->ht[h];
+ while( np ){
+ if( statecmp(np->key,key)==0 ){
+ /* An existing entry with the same key is found. */
+ /* Fail because overwrite is not allows. */
+ return 0;
+ }
+ np = np->next;
+ }
+ if( x3a->count>=x3a->size ){
+ /* Need to make the hash table bigger */
+ int i,size;
+ struct s_x3 array;
+ array.size = size = x3a->size*2;
+ array.count = x3a->count;
+ array.tbl = (x3node*)calloc(size, sizeof(x3node) + sizeof(x3node*));
+ if( array.tbl==0 ) return 0; /* Fail due to malloc failure */
+ array.ht = (x3node**)&(array.tbl[size]);
+ for(i=0; i<size; i++) array.ht[i] = 0;
+ for(i=0; i<x3a->count; i++){
+ x3node *oldnp, *newnp;
+ oldnp = &(x3a->tbl[i]);
+ h = statehash(oldnp->key) & (size-1);
+ newnp = &(array.tbl[i]);
+ if( array.ht[h] ) array.ht[h]->from = &(newnp->next);
+ newnp->next = array.ht[h];
+ newnp->key = oldnp->key;
+ newnp->data = oldnp->data;
+ newnp->from = &(array.ht[h]);
+ array.ht[h] = newnp;
+ }
+ free(x3a->tbl);
+ *x3a = array;
+ }
+ /* Insert the new data */
+ h = ph & (x3a->size-1);
+ np = &(x3a->tbl[x3a->count++]);
+ np->key = key;
+ np->data = data;
+ if( x3a->ht[h] ) x3a->ht[h]->from = &(np->next);
+ np->next = x3a->ht[h];
+ x3a->ht[h] = np;
+ np->from = &(x3a->ht[h]);
+ return 1;
+}
+
+/* Return a pointer to data assigned to the given key. Return NULL
+** if no such key. */
+struct state *State_find(struct config *key)
+{
+ unsigned h;
+ x3node *np;
+
+ if( x3a==0 ) return 0;
+ h = statehash(key) & (x3a->size-1);
+ np = x3a->ht[h];
+ while( np ){
+ if( statecmp(np->key,key)==0 ) break;
+ np = np->next;
+ }
+ return np ? np->data : 0;
+}
+
+/* Return an array of pointers to all data in the table.
+** The array is obtained from malloc. Return NULL if memory allocation
+** problems, or if the array is empty. */
+struct state **State_arrayof()
+{
+ struct state **array;
+ int i,size;
+ if( x3a==0 ) return 0;
+ size = x3a->count;
+ array = (struct state **)calloc(size, sizeof(struct state *));
+ if( array ){
+ for(i=0; i<size; i++) array[i] = x3a->tbl[i].data;
+ }
+ return array;
+}
+
+/* Hash a configuration */
+PRIVATE unsigned confighash(struct config *a)
+{
+ unsigned h=0;
+ h = h*571 + a->rp->index*37 + a->dot;
+ return h;
+}
+
+/* There is one instance of the following structure for each
+** associative array of type "x4".
+*/
+struct s_x4 {
+ int size; /* The number of available slots. */
+ /* Must be a power of 2 greater than or */
+ /* equal to 1 */
+ int count; /* Number of currently slots filled */
+ struct s_x4node *tbl; /* The data stored here */
+ struct s_x4node **ht; /* Hash table for lookups */
+};
+
+/* There is one instance of this structure for every data element
+** in an associative array of type "x4".
+*/
+typedef struct s_x4node {
+ struct config *data; /* The data */
+ struct s_x4node *next; /* Next entry with the same hash */
+ struct s_x4node **from; /* Previous link */
+} x4node;
+
+/* There is only one instance of the array, which is the following */
+static struct s_x4 *x4a;
+
+/* Allocate a new associative array */
+void Configtable_init(){
+ if( x4a ) return;
+ x4a = (struct s_x4*)malloc( sizeof(struct s_x4) );
+ if( x4a ){
+ x4a->size = 64;
+ x4a->count = 0;
+ x4a->tbl = (x4node*)calloc(64, sizeof(x4node) + sizeof(x4node*));
+ if( x4a->tbl==0 ){
+ free(x4a);
+ x4a = 0;
+ }else{
+ int i;
+ x4a->ht = (x4node**)&(x4a->tbl[64]);
+ for(i=0; i<64; i++) x4a->ht[i] = 0;
+ }
+ }
+}
+/* Insert a new record into the array. Return TRUE if successful.
+** Prior data with the same key is NOT overwritten */
+int Configtable_insert(struct config *data)
+{
+ x4node *np;
+ unsigned h;
+ unsigned ph;
+
+ if( x4a==0 ) return 0;
+ ph = confighash(data);
+ h = ph & (x4a->size-1);
+ np = x4a->ht[h];
+ while( np ){
+ if( Configcmp((const char *) np->data,(const char *) data)==0 ){
+ /* An existing entry with the same key is found. */
+ /* Fail because overwrite is not allows. */
+ return 0;
+ }
+ np = np->next;
+ }
+ if( x4a->count>=x4a->size ){
+ /* Need to make the hash table bigger */
+ int i,size;
+ struct s_x4 array;
+ array.size = size = x4a->size*2;
+ array.count = x4a->count;
+ array.tbl = (x4node*)calloc(size, sizeof(x4node) + sizeof(x4node*));
+ if( array.tbl==0 ) return 0; /* Fail due to malloc failure */
+ array.ht = (x4node**)&(array.tbl[size]);
+ for(i=0; i<size; i++) array.ht[i] = 0;
+ for(i=0; i<x4a->count; i++){
+ x4node *oldnp, *newnp;
+ oldnp = &(x4a->tbl[i]);
+ h = confighash(oldnp->data) & (size-1);
+ newnp = &(array.tbl[i]);
+ if( array.ht[h] ) array.ht[h]->from = &(newnp->next);
+ newnp->next = array.ht[h];
+ newnp->data = oldnp->data;
+ newnp->from = &(array.ht[h]);
+ array.ht[h] = newnp;
+ }
+ free(x4a->tbl);
+ *x4a = array;
+ }
+ /* Insert the new data */
+ h = ph & (x4a->size-1);
+ np = &(x4a->tbl[x4a->count++]);
+ np->data = data;
+ if( x4a->ht[h] ) x4a->ht[h]->from = &(np->next);
+ np->next = x4a->ht[h];
+ x4a->ht[h] = np;
+ np->from = &(x4a->ht[h]);
+ return 1;
+}
+
+/* Return a pointer to data assigned to the given key. Return NULL
+** if no such key. */
+struct config *Configtable_find(struct config *key)
+{
+ int h;
+ x4node *np;
+
+ if( x4a==0 ) return 0;
+ h = confighash(key) & (x4a->size-1);
+ np = x4a->ht[h];
+ while( np ){
+ if( Configcmp((const char *) np->data,(const char *) key)==0 ) break;
+ np = np->next;
+ }
+ return np ? np->data : 0;
+}
+
+/* Remove all data from the table. Pass each data to the function "f"
+** as it is removed. ("f" may be null to avoid this step.) */
+void Configtable_clear(int(*f)(struct config *))
+{
+ int i;
+ if( x4a==0 || x4a->count==0 ) return;
+ if( f ) for(i=0; i<x4a->count; i++) (*f)(x4a->tbl[i].data);
+ for(i=0; i<x4a->size; i++) x4a->ht[i] = 0;
+ x4a->count = 0;
+ return;
+}
--- /dev/null
+/* Driver template for the LEMON parser generator.
+** The author disclaims copyright to this source code.
+*/
+/* First off, code is included that follows the "include" declaration
+** in the input grammar file. */
+#include <stdio.h>
+%%
+/* Next is all token values, in a form suitable for use by makeheaders.
+** This section will be null unless lemon is run with the -m switch.
+*/
+/*
+** These constants (all generated automatically by the parser generator)
+** specify the various kinds of tokens (terminals) that the parser
+** understands.
+**
+** Each symbol here is a terminal symbol in the grammar.
+*/
+%%
+/* Make sure the INTERFACE macro is defined.
+*/
+#ifndef INTERFACE
+# define INTERFACE 1
+#endif
+/* The next thing included is series of defines which control
+** various aspects of the generated parser.
+** YYCODETYPE is the data type used for storing terminal
+** and nonterminal numbers. "unsigned char" is
+** used if there are fewer than 250 terminals
+** and nonterminals. "int" is used otherwise.
+** YYNOCODE is a number of type YYCODETYPE which corresponds
+** to no legal terminal or nonterminal number. This
+** number is used to fill in empty slots of the hash
+** table.
+** YYFALLBACK If defined, this indicates that one or more tokens
+** have fall-back values which should be used if the
+** original value of the token will not parse.
+** YYACTIONTYPE is the data type used for storing terminal
+** and nonterminal numbers. "unsigned char" is
+** used if there are fewer than 250 rules and
+** states combined. "int" is used otherwise.
+** ParseTOKENTYPE is the data type used for minor tokens given
+** directly to the parser from the tokenizer.
+** YYMINORTYPE is the data type used for all minor tokens.
+** This is typically a union of many types, one of
+** which is ParseTOKENTYPE. The entry in the union
+** for base tokens is called "yy0".
+** YYSTACKDEPTH is the maximum depth of the parser's stack. If
+** zero the stack is dynamically sized using realloc()
+** ParseARG_SDECL A static variable declaration for the %extra_argument
+** ParseARG_PDECL A parameter declaration for the %extra_argument
+** ParseARG_STORE Code to store %extra_argument into yypParser
+** ParseARG_FETCH Code to extract %extra_argument from yypParser
+** YYNSTATE the combined number of states.
+** YYNRULE the number of rules in the grammar
+** YYERRORSYMBOL is the code number of the error symbol. If not
+** defined, then do no error processing.
+*/
+%%
+#define YY_NO_ACTION (YYNSTATE+YYNRULE+2)
+#define YY_ACCEPT_ACTION (YYNSTATE+YYNRULE+1)
+#define YY_ERROR_ACTION (YYNSTATE+YYNRULE)
+
+/* The yyzerominor constant is used to initialize instances of
+** YYMINORTYPE objects to zero. */
+static const YYMINORTYPE yyzerominor = { 0 };
+
+/* Define the yytestcase() macro to be a no-op if is not already defined
+** otherwise.
+**
+** Applications can choose to define yytestcase() in the %include section
+** to a macro that can assist in verifying code coverage. For production
+** code the yytestcase() macro should be turned off. But it is useful
+** for testing.
+*/
+#ifndef yytestcase
+# define yytestcase(X)
+#endif
+
+
+/* Next are the tables used to determine what action to take based on the
+** current state and lookahead token. These tables are used to implement
+** functions that take a state number and lookahead value and return an
+** action integer.
+**
+** Suppose the action integer is N. Then the action is determined as
+** follows
+**
+** 0 <= N < YYNSTATE Shift N. That is, push the lookahead
+** token onto the stack and goto state N.
+**
+** YYNSTATE <= N < YYNSTATE+YYNRULE Reduce by rule N-YYNSTATE.
+**
+** N == YYNSTATE+YYNRULE A syntax error has occurred.
+**
+** N == YYNSTATE+YYNRULE+1 The parser accepts its input.
+**
+** N == YYNSTATE+YYNRULE+2 No such action. Denotes unused
+** slots in the yy_action[] table.
+**
+** The action table is constructed as a single large table named yy_action[].
+** Given state S and lookahead X, the action is computed as
+**
+** yy_action[ yy_shift_ofst[S] + X ]
+**
+** If the index value yy_shift_ofst[S]+X is out of range or if the value
+** yy_lookahead[yy_shift_ofst[S]+X] is not equal to X or if yy_shift_ofst[S]
+** is equal to YY_SHIFT_USE_DFLT, it means that the action is not in the table
+** and that yy_default[S] should be used instead.
+**
+** The formula above is for computing the action when the lookahead is
+** a terminal symbol. If the lookahead is a non-terminal (as occurs after
+** a reduce action) then the yy_reduce_ofst[] array is used in place of
+** the yy_shift_ofst[] array and YY_REDUCE_USE_DFLT is used in place of
+** YY_SHIFT_USE_DFLT.
+**
+** The following are the tables generated in this section:
+**
+** yy_action[] A single table containing all actions.
+** yy_lookahead[] A table containing the lookahead for each entry in
+** yy_action. Used to detect hash collisions.
+** yy_shift_ofst[] For each state, the offset into yy_action for
+** shifting terminals.
+** yy_reduce_ofst[] For each state, the offset into yy_action for
+** shifting non-terminals after a reduce.
+** yy_default[] Default action for each state.
+*/
+%%
+
+/* The next table maps tokens into fallback tokens. If a construct
+** like the following:
+**
+** %fallback ID X Y Z.
+**
+** appears in the grammar, then ID becomes a fallback token for X, Y,
+** and Z. Whenever one of the tokens X, Y, or Z is input to the parser
+** but it does not parse, the type of the token is changed to ID and
+** the parse is retried before an error is thrown.
+*/
+#ifdef YYFALLBACK
+static const YYCODETYPE yyFallback[] = {
+%%
+};
+#endif /* YYFALLBACK */
+
+/* The following structure represents a single element of the
+** parser's stack. Information stored includes:
+**
+** + The state number for the parser at this level of the stack.
+**
+** + The value of the token stored at this level of the stack.
+** (In other words, the "major" token.)
+**
+** + The semantic value stored at this level of the stack. This is
+** the information used by the action routines in the grammar.
+** It is sometimes called the "minor" token.
+*/
+struct yyStackEntry {
+ YYACTIONTYPE stateno; /* The state-number */
+ YYCODETYPE major; /* The major token value. This is the code
+ ** number for the token at this stack level */
+ YYMINORTYPE minor; /* The user-supplied minor token value. This
+ ** is the value of the token */
+};
+typedef struct yyStackEntry yyStackEntry;
+
+/* The state of the parser is completely contained in an instance of
+** the following structure */
+struct yyParser {
+ int yyidx; /* Index of top element in stack */
+#ifdef YYTRACKMAXSTACKDEPTH
+ int yyidxMax; /* Maximum value of yyidx */
+#endif
+ int yyerrcnt; /* Shifts left before out of the error */
+ ParseARG_SDECL /* A place to hold %extra_argument */
+#if YYSTACKDEPTH<=0
+ int yystksz; /* Current side of the stack */
+ yyStackEntry *yystack; /* The parser's stack */
+#else
+ yyStackEntry yystack[YYSTACKDEPTH]; /* The parser's stack */
+#endif
+};
+typedef struct yyParser yyParser;
+
+#ifndef NDEBUG
+#include <stdio.h>
+static FILE *yyTraceFILE = 0;
+static char *yyTracePrompt = 0;
+#endif /* NDEBUG */
+
+#ifndef NDEBUG
+/*
+** Turn parser tracing on by giving a stream to which to write the trace
+** and a prompt to preface each trace message. Tracing is turned off
+** by making either argument NULL
+**
+** Inputs:
+** <ul>
+** <li> A FILE* to which trace output should be written.
+** If NULL, then tracing is turned off.
+** <li> A prefix string written at the beginning of every
+** line of trace output. If NULL, then tracing is
+** turned off.
+** </ul>
+**
+** Outputs:
+** None.
+*/
+void ParseTrace(FILE *TraceFILE, char *zTracePrompt);
+void ParseTrace(FILE *TraceFILE, char *zTracePrompt){
+ yyTraceFILE = TraceFILE;
+ yyTracePrompt = zTracePrompt;
+ if( yyTraceFILE==0 ) yyTracePrompt = 0;
+ else if( yyTracePrompt==0 ) yyTraceFILE = 0;
+}
+#endif /* NDEBUG */
+
+#ifndef NDEBUG
+/* For tracing shifts, the names of all terminals and nonterminals
+** are required. The following table supplies these names */
+static const char *const yyTokenName[] = {
+%%
+};
+#endif /* NDEBUG */
+
+#ifndef NDEBUG
+/* For tracing reduce actions, the names of all rules are required.
+*/
+static const char *const yyRuleName[] = {
+%%
+};
+#endif /* NDEBUG */
+
+
+#if YYSTACKDEPTH<=0
+/*
+** Try to increase the size of the parser stack.
+*/
+static void yyGrowStack(yyParser *p){
+ int newSize;
+ yyStackEntry *pNew;
+
+ newSize = p->yystksz*2 + 100;
+ pNew = realloc(p->yystack, newSize*sizeof(pNew[0]));
+ if( pNew ){
+ p->yystack = pNew;
+ p->yystksz = newSize;
+#ifndef NDEBUG
+ if( yyTraceFILE ){
+ fprintf(yyTraceFILE,"%sStack grows to %d entries!\n",
+ yyTracePrompt, p->yystksz);
+ }
+#endif
+ }
+}
+#endif
+
+/*
+** This function allocates a new parser.
+** The only argument is a pointer to a function which works like
+** malloc.
+**
+** Inputs:
+** A pointer to the function used to allocate memory.
+**
+** Outputs:
+** A pointer to a parser. This pointer is used in subsequent calls
+** to Parse and ParseFree.
+*/
+void *ParseAlloc(void *(*mallocProc)(size_t)){
+ yyParser *pParser;
+ pParser = (yyParser*)(*mallocProc)( (size_t)sizeof(yyParser) );
+ if( pParser ){
+ pParser->yyidx = -1;
+#ifdef YYTRACKMAXSTACKDEPTH
+ pParser->yyidxMax = 0;
+#endif
+#if YYSTACKDEPTH<=0
+ pParser->yystack = NULL;
+ pParser->yystksz = 0;
+ yyGrowStack(pParser);
+#endif
+ }
+ return pParser;
+}
+
+/* The following function deletes the value associated with a
+** symbol. The symbol can be either a terminal or nonterminal.
+** "yymajor" is the symbol code, and "yypminor" is a pointer to
+** the value.
+*/
+static void yy_destructor(
+ yyParser *yypParser, /* The parser */
+ YYCODETYPE yymajor, /* Type code for object to destroy */
+ YYMINORTYPE *yypminor /* The object to be destroyed */
+){
+ ParseARG_FETCH;
+ switch( yymajor ){
+ /* Here is inserted the actions which take place when a
+ ** terminal or non-terminal is destroyed. This can happen
+ ** when the symbol is popped from the stack during a
+ ** reduce or during error processing or when a parser is
+ ** being destroyed before it is finished parsing.
+ **
+ ** Note: during a reduce, the only symbols destroyed are those
+ ** which appear on the RHS of the rule, but which are not used
+ ** inside the C code.
+ */
+%%
+ default: break; /* If no destructor action specified: do nothing */
+ }
+}
+
+/*
+** Pop the parser's stack once.
+**
+** If there is a destructor routine associated with the token which
+** is popped from the stack, then call it.
+**
+** Return the major token number for the symbol popped.
+*/
+static int yy_pop_parser_stack(yyParser *pParser){
+ YYCODETYPE yymajor;
+ yyStackEntry *yytos = &pParser->yystack[pParser->yyidx];
+
+ if( pParser->yyidx<0 ) return 0;
+#ifndef NDEBUG
+ if( yyTraceFILE && pParser->yyidx>=0 ){
+ fprintf(yyTraceFILE,"%sPopping %s\n",
+ yyTracePrompt,
+ yyTokenName[yytos->major]);
+ }
+#endif
+ yymajor = yytos->major;
+ yy_destructor(pParser, yymajor, &yytos->minor);
+ pParser->yyidx--;
+ return yymajor;
+}
+
+/*
+** Deallocate and destroy a parser. Destructors are all called for
+** all stack elements before shutting the parser down.
+**
+** Inputs:
+** <ul>
+** <li> A pointer to the parser. This should be a pointer
+** obtained from ParseAlloc.
+** <li> A pointer to a function used to reclaim memory obtained
+** from malloc.
+** </ul>
+*/
+void ParseFree(
+ void *p, /* The parser to be deleted */
+ void (*freeProc)(void*) /* Function used to reclaim memory */
+){
+ yyParser *pParser = (yyParser*)p;
+ if( pParser==0 ) return;
+ while( pParser->yyidx>=0 ) yy_pop_parser_stack(pParser);
+#if YYSTACKDEPTH<=0
+ free(pParser->yystack);
+#endif
+ (*freeProc)((void*)pParser);
+}
+
+/*
+** Return the peak depth of the stack for a parser.
+*/
+#ifdef YYTRACKMAXSTACKDEPTH
+int ParseStackPeak(void *p){
+ yyParser *pParser = (yyParser*)p;
+ return pParser->yyidxMax;
+}
+#endif
+
+/*
+** Find the appropriate action for a parser given the terminal
+** look-ahead token iLookAhead.
+**
+** If the look-ahead token is YYNOCODE, then check to see if the action is
+** independent of the look-ahead. If it is, return the action, otherwise
+** return YY_NO_ACTION.
+*/
+static int yy_find_shift_action(
+ yyParser *pParser, /* The parser */
+ YYCODETYPE iLookAhead /* The look-ahead token */
+){
+ int i;
+ int stateno = pParser->yystack[pParser->yyidx].stateno;
+
+ if( stateno>YY_SHIFT_COUNT
+ || (i = yy_shift_ofst[stateno])==YY_SHIFT_USE_DFLT ){
+ return yy_default[stateno];
+ }
+ assert( iLookAhead!=YYNOCODE );
+ i += iLookAhead;
+ if( i<0 || i>=YY_ACTTAB_COUNT || yy_lookahead[i]!=iLookAhead ){
+ if( iLookAhead>0 ){
+#ifdef YYFALLBACK
+ YYCODETYPE iFallback; /* Fallback token */
+ if( iLookAhead<sizeof(yyFallback)/sizeof(yyFallback[0])
+ && (iFallback = yyFallback[iLookAhead])!=0 ){
+#ifndef NDEBUG
+ if( yyTraceFILE ){
+ fprintf(yyTraceFILE, "%sFALLBACK %s => %s\n",
+ yyTracePrompt, yyTokenName[iLookAhead], yyTokenName[iFallback]);
+ }
+#endif
+ return yy_find_shift_action(pParser, iFallback);
+ }
+#endif
+#ifdef YYWILDCARD
+ {
+ int j = i - iLookAhead + YYWILDCARD;
+ if(
+#if YY_SHIFT_MIN+YYWILDCARD<0
+ j>=0 &&
+#endif
+#if YY_SHIFT_MAX+YYWILDCARD>=YY_ACTTAB_COUNT
+ j<YY_ACTTAB_COUNT &&
+#endif
+ yy_lookahead[j]==YYWILDCARD
+ ){
+#ifndef NDEBUG
+ if( yyTraceFILE ){
+ fprintf(yyTraceFILE, "%sWILDCARD %s => %s\n",
+ yyTracePrompt, yyTokenName[iLookAhead], yyTokenName[YYWILDCARD]);
+ }
+#endif /* NDEBUG */
+ return yy_action[j];
+ }
+ }
+#endif /* YYWILDCARD */
+ }
+ return yy_default[stateno];
+ }else{
+ return yy_action[i];
+ }
+}
+
+/*
+** Find the appropriate action for a parser given the non-terminal
+** look-ahead token iLookAhead.
+**
+** If the look-ahead token is YYNOCODE, then check to see if the action is
+** independent of the look-ahead. If it is, return the action, otherwise
+** return YY_NO_ACTION.
+*/
+static int yy_find_reduce_action(
+ int stateno, /* Current state number */
+ YYCODETYPE iLookAhead /* The look-ahead token */
+){
+ int i;
+#ifdef YYERRORSYMBOL
+ if( stateno>YY_REDUCE_COUNT ){
+ return yy_default[stateno];
+ }
+#else
+ assert( stateno<=YY_REDUCE_COUNT );
+#endif
+ i = yy_reduce_ofst[stateno];
+ assert( i!=YY_REDUCE_USE_DFLT );
+ assert( iLookAhead!=YYNOCODE );
+ i += iLookAhead;
+#ifdef YYERRORSYMBOL
+ if( i<0 || i>=YY_ACTTAB_COUNT || yy_lookahead[i]!=iLookAhead ){
+ return yy_default[stateno];
+ }
+#else
+ assert( i>=0 && i<YY_ACTTAB_COUNT );
+ assert( yy_lookahead[i]==iLookAhead );
+#endif
+ return yy_action[i];
+}
+
+/*
+** The following routine is called if the stack overflows.
+*/
+static void yyStackOverflow(yyParser *yypParser, YYMINORTYPE *yypMinor){
+ ParseARG_FETCH;
+ yypParser->yyidx--;
+#ifndef NDEBUG
+ if( yyTraceFILE ){
+ fprintf(yyTraceFILE,"%sStack Overflow!\n",yyTracePrompt);
+ }
+#endif
+ while( yypParser->yyidx>=0 ) yy_pop_parser_stack(yypParser);
+ /* Here code is inserted which will execute if the parser
+ ** stack every overflows */
+%%
+ ParseARG_STORE; /* Suppress warning about unused %extra_argument var */
+}
+
+/*
+** Perform a shift action.
+*/
+static void yy_shift(
+ yyParser *yypParser, /* The parser to be shifted */
+ int yyNewState, /* The new state to shift in */
+ int yyMajor, /* The major token to shift in */
+ YYMINORTYPE *yypMinor /* Pointer to the minor token to shift in */
+){
+ yyStackEntry *yytos;
+ yypParser->yyidx++;
+#ifdef YYTRACKMAXSTACKDEPTH
+ if( yypParser->yyidx>yypParser->yyidxMax ){
+ yypParser->yyidxMax = yypParser->yyidx;
+ }
+#endif
+#if YYSTACKDEPTH>0
+ if( yypParser->yyidx>=YYSTACKDEPTH ){
+ yyStackOverflow(yypParser, yypMinor);
+ return;
+ }
+#else
+ if( yypParser->yyidx>=yypParser->yystksz ){
+ yyGrowStack(yypParser);
+ if( yypParser->yyidx>=yypParser->yystksz ){
+ yyStackOverflow(yypParser, yypMinor);
+ return;
+ }
+ }
+#endif
+ yytos = &yypParser->yystack[yypParser->yyidx];
+ yytos->stateno = (YYACTIONTYPE)yyNewState;
+ yytos->major = (YYCODETYPE)yyMajor;
+ yytos->minor = *yypMinor;
+#ifndef NDEBUG
+ if( yyTraceFILE && yypParser->yyidx>0 ){
+ int i;
+ fprintf(yyTraceFILE,"%sShift %d\n",yyTracePrompt,yyNewState);
+ fprintf(yyTraceFILE,"%sStack:",yyTracePrompt);
+ for(i=1; i<=yypParser->yyidx; i++)
+ fprintf(yyTraceFILE," %s",yyTokenName[yypParser->yystack[i].major]);
+ fprintf(yyTraceFILE,"\n");
+ }
+#endif
+}
+
+/* The following table contains information about every rule that
+** is used during the reduce.
+*/
+static const struct {
+ YYCODETYPE lhs; /* Symbol on the left-hand side of the rule */
+ unsigned char nrhs; /* Number of right-hand side symbols in the rule */
+} yyRuleInfo[] = {
+%%
+};
+
+static void yy_accept(yyParser*); /* Forward Declaration */
+
+/*
+** Perform a reduce action and the shift that must immediately
+** follow the reduce.
+*/
+static void yy_reduce(
+ yyParser *yypParser, /* The parser */
+ int yyruleno /* Number of the rule by which to reduce */
+){
+ int yygoto; /* The next state */
+ int yyact; /* The next action */
+ YYMINORTYPE yygotominor; /* The LHS of the rule reduced */
+ yyStackEntry *yymsp; /* The top of the parser's stack */
+ int yysize; /* Amount to pop the stack */
+ ParseARG_FETCH;
+ yymsp = &yypParser->yystack[yypParser->yyidx];
+#ifndef NDEBUG
+ if( yyTraceFILE && yyruleno>=0
+ && yyruleno<(int)(sizeof(yyRuleName)/sizeof(yyRuleName[0])) ){
+ fprintf(yyTraceFILE, "%sReduce [%s].\n", yyTracePrompt,
+ yyRuleName[yyruleno]);
+ }
+#endif /* NDEBUG */
+
+ /* Silence complaints from purify about yygotominor being uninitialized
+ ** in some cases when it is copied into the stack after the following
+ ** switch. yygotominor is uninitialized when a rule reduces that does
+ ** not set the value of its left-hand side nonterminal. Leaving the
+ ** value of the nonterminal uninitialized is utterly harmless as long
+ ** as the value is never used. So really the only thing this code
+ ** accomplishes is to quieten purify.
+ **
+ ** 2007-01-16: The wireshark project (www.wireshark.org) reports that
+ ** without this code, their parser segfaults. I'm not sure what there
+ ** parser is doing to make this happen. This is the second bug report
+ ** from wireshark this week. Clearly they are stressing Lemon in ways
+ ** that it has not been previously stressed... (SQLite ticket #2172)
+ */
+ /*memset(&yygotominor, 0, sizeof(yygotominor));*/
+ yygotominor = yyzerominor;
+
+
+ switch( yyruleno ){
+ /* Beginning here are the reduction cases. A typical example
+ ** follows:
+ ** case 0:
+ ** #line <lineno> <grammarfile>
+ ** { ... } // User supplied code
+ ** #line <lineno> <thisfile>
+ ** break;
+ */
+%%
+ };
+ yygoto = yyRuleInfo[yyruleno].lhs;
+ yysize = yyRuleInfo[yyruleno].nrhs;
+ yypParser->yyidx -= yysize;
+ yyact = yy_find_reduce_action(yymsp[-yysize].stateno,(YYCODETYPE)yygoto);
+ if( yyact < YYNSTATE ){
+#ifdef NDEBUG
+ /* If we are not debugging and the reduce action popped at least
+ ** one element off the stack, then we can push the new element back
+ ** onto the stack here, and skip the stack overflow test in yy_shift().
+ ** That gives a significant speed improvement. */
+ if( yysize ){
+ yypParser->yyidx++;
+ yymsp -= yysize-1;
+ yymsp->stateno = (YYACTIONTYPE)yyact;
+ yymsp->major = (YYCODETYPE)yygoto;
+ yymsp->minor = yygotominor;
+ }else
+#endif
+ {
+ yy_shift(yypParser,yyact,yygoto,&yygotominor);
+ }
+ }else{
+ assert( yyact == YYNSTATE + YYNRULE + 1 );
+ yy_accept(yypParser);
+ }
+}
+
+/*
+** The following code executes when the parse fails
+*/
+#ifndef YYNOERRORRECOVERY
+static void yy_parse_failed(
+ yyParser *yypParser /* The parser */
+){
+ ParseARG_FETCH;
+#ifndef NDEBUG
+ if( yyTraceFILE ){
+ fprintf(yyTraceFILE,"%sFail!\n",yyTracePrompt);
+ }
+#endif
+ while( yypParser->yyidx>=0 ) yy_pop_parser_stack(yypParser);
+ /* Here code is inserted which will be executed whenever the
+ ** parser fails */
+%%
+ ParseARG_STORE; /* Suppress warning about unused %extra_argument variable */
+}
+#endif /* YYNOERRORRECOVERY */
+
+/*
+** The following code executes when a syntax error first occurs.
+*/
+static void yy_syntax_error(
+ yyParser *yypParser, /* The parser */
+ int yymajor, /* The major type of the error token */
+ YYMINORTYPE yyminor /* The minor type of the error token */
+){
+ ParseARG_FETCH;
+#define TOKEN (yyminor.yy0)
+%%
+ ParseARG_STORE; /* Suppress warning about unused %extra_argument variable */
+}
+
+/*
+** The following is executed when the parser accepts
+*/
+static void yy_accept(
+ yyParser *yypParser /* The parser */
+){
+ ParseARG_FETCH;
+#ifndef NDEBUG
+ if( yyTraceFILE ){
+ fprintf(yyTraceFILE,"%sAccept!\n",yyTracePrompt);
+ }
+#endif
+ while( yypParser->yyidx>=0 ) yy_pop_parser_stack(yypParser);
+ /* Here code is inserted which will be executed whenever the
+ ** parser accepts */
+%%
+ ParseARG_STORE; /* Suppress warning about unused %extra_argument variable */
+}
+
+/* The main parser program.
+** The first argument is a pointer to a structure obtained from
+** "ParseAlloc" which describes the current state of the parser.
+** The second argument is the major token number. The third is
+** the minor token. The fourth optional argument is whatever the
+** user wants (and specified in the grammar) and is available for
+** use by the action routines.
+**
+** Inputs:
+** <ul>
+** <li> A pointer to the parser (an opaque structure.)
+** <li> The major token number.
+** <li> The minor token number.
+** <li> An option argument of a grammar-specified type.
+** </ul>
+**
+** Outputs:
+** None.
+*/
+void Parse(
+ void *yyp, /* The parser */
+ int yymajor, /* The major token code number */
+ ParseTOKENTYPE yyminor /* The value for the token */
+ ParseARG_PDECL /* Optional %extra_argument parameter */
+){
+ YYMINORTYPE yyminorunion;
+ int yyact; /* The parser action. */
+ int yyendofinput; /* True if we are at the end of input */
+#ifdef YYERRORSYMBOL
+ int yyerrorhit = 0; /* True if yymajor has invoked an error */
+#endif
+ yyParser *yypParser; /* The parser */
+
+ /* (re)initialize the parser, if necessary */
+ yypParser = (yyParser*)yyp;
+ if( yypParser->yyidx<0 ){
+#if YYSTACKDEPTH<=0
+ if( yypParser->yystksz <=0 ){
+ /*memset(&yyminorunion, 0, sizeof(yyminorunion));*/
+ yyminorunion = yyzerominor;
+ yyStackOverflow(yypParser, &yyminorunion);
+ return;
+ }
+#endif
+ yypParser->yyidx = 0;
+ yypParser->yyerrcnt = -1;
+ yypParser->yystack[0].stateno = 0;
+ yypParser->yystack[0].major = 0;
+ }
+ yyminorunion.yy0 = yyminor;
+ yyendofinput = (yymajor==0);
+ ParseARG_STORE;
+
+#ifndef NDEBUG
+ if( yyTraceFILE ){
+ fprintf(yyTraceFILE,"%sInput %s\n",yyTracePrompt,yyTokenName[yymajor]);
+ }
+#endif
+
+ do{
+ yyact = yy_find_shift_action(yypParser,(YYCODETYPE)yymajor);
+ if( yyact<YYNSTATE ){
+ assert( !yyendofinput ); /* Impossible to shift the $ token */
+ yy_shift(yypParser,yyact,yymajor,&yyminorunion);
+ yypParser->yyerrcnt--;
+ yymajor = YYNOCODE;
+ }else if( yyact < YYNSTATE + YYNRULE ){
+ yy_reduce(yypParser,yyact-YYNSTATE);
+ }else{
+ assert( yyact == YY_ERROR_ACTION );
+#ifdef YYERRORSYMBOL
+ int yymx;
+#endif
+#ifndef NDEBUG
+ if( yyTraceFILE ){
+ fprintf(yyTraceFILE,"%sSyntax Error!\n",yyTracePrompt);
+ }
+#endif
+#ifdef YYERRORSYMBOL
+ /* A syntax error has occurred.
+ ** The response to an error depends upon whether or not the
+ ** grammar defines an error token "ERROR".
+ **
+ ** This is what we do if the grammar does define ERROR:
+ **
+ ** * Call the %syntax_error function.
+ **
+ ** * Begin popping the stack until we enter a state where
+ ** it is legal to shift the error symbol, then shift
+ ** the error symbol.
+ **
+ ** * Set the error count to three.
+ **
+ ** * Begin accepting and shifting new tokens. No new error
+ ** processing will occur until three tokens have been
+ ** shifted successfully.
+ **
+ */
+ if( yypParser->yyerrcnt<0 ){
+ yy_syntax_error(yypParser,yymajor,yyminorunion);
+ }
+ yymx = yypParser->yystack[yypParser->yyidx].major;
+ if( yymx==YYERRORSYMBOL || yyerrorhit ){
+#ifndef NDEBUG
+ if( yyTraceFILE ){
+ fprintf(yyTraceFILE,"%sDiscard input token %s\n",
+ yyTracePrompt,yyTokenName[yymajor]);
+ }
+#endif
+ yy_destructor(yypParser, (YYCODETYPE)yymajor,&yyminorunion);
+ yymajor = YYNOCODE;
+ }else{
+ while(
+ yypParser->yyidx >= 0 &&
+ yymx != YYERRORSYMBOL &&
+ (yyact = yy_find_reduce_action(
+ yypParser->yystack[yypParser->yyidx].stateno,
+ YYERRORSYMBOL)) >= YYNSTATE
+ ){
+ yy_pop_parser_stack(yypParser);
+ }
+ if( yypParser->yyidx < 0 || yymajor==0 ){
+ yy_destructor(yypParser,(YYCODETYPE)yymajor,&yyminorunion);
+ yy_parse_failed(yypParser);
+ yymajor = YYNOCODE;
+ }else if( yymx!=YYERRORSYMBOL ){
+ YYMINORTYPE u2;
+ u2.YYERRSYMDT = 0;
+ yy_shift(yypParser,yyact,YYERRORSYMBOL,&u2);
+ }
+ }
+ yypParser->yyerrcnt = 3;
+ yyerrorhit = 1;
+#elif defined(YYNOERRORRECOVERY)
+ /* If the YYNOERRORRECOVERY macro is defined, then do not attempt to
+ ** do any kind of error recovery. Instead, simply invoke the syntax
+ ** error routine and continue going as if nothing had happened.
+ **
+ ** Applications can set this macro (for example inside %include) if
+ ** they intend to abandon the parse upon the first syntax error seen.
+ */
+ yy_syntax_error(yypParser,yymajor,yyminorunion);
+ yy_destructor(yypParser,(YYCODETYPE)yymajor,&yyminorunion);
+ yymajor = YYNOCODE;
+
+#else /* YYERRORSYMBOL is not defined */
+ /* This is what we do if the grammar does not define ERROR:
+ **
+ ** * Report an error message, and throw away the input token.
+ **
+ ** * If the input token is $, then fail the parse.
+ **
+ ** As before, subsequent error messages are suppressed until
+ ** three input tokens have been successfully shifted.
+ */
+ if( yypParser->yyerrcnt<=0 ){
+ yy_syntax_error(yypParser,yymajor,yyminorunion);
+ }
+ yypParser->yyerrcnt = 3;
+ yy_destructor(yypParser,(YYCODETYPE)yymajor,&yyminorunion);
+ if( yyendofinput ){
+ yy_parse_failed(yypParser);
+ }
+ yymajor = YYNOCODE;
+#endif
+ }
+ }while( yymajor!=YYNOCODE && yypParser->yyidx>=0 );
+ return;
+}
--- /dev/null
+#!/bin/sh
+
+cat <<EOF > $1
+local pcall, dofile, _G = pcall, dofile, _G
+
+module "luci.version"
+
+if pcall(dofile, "/etc/openwrt_release") and _G.DISTRIB_DESCRIPTION then
+ distname = ""
+ distversion = _G.DISTRIB_DESCRIPTION
+ if _G.DISTRIB_REVISION then
+ distrevision = _G.DISTRIB_REVISION
+ if not distversion:find(distrevision,1,true) then
+ distversion = distversion .. " " .. distrevision
+ end
+ end
+else
+ distname = "OpenWrt"
+ distversion = "Development Snapshot"
+end
+
+luciname = "${3:-LuCI}"
+luciversion = "${2:-Git}"
+EOF
--- /dev/null
+%name pluralParse
+%token_type {int}
+%extra_argument {struct parse_state *s}
+
+%right T_QMARK.
+%left T_OR.
+%left T_AND.
+%left T_EQ T_NE.
+%left T_LT T_LE T_GT T_GE.
+%left T_ADD T_SUB.
+%left T_MUL T_DIV T_MOD.
+%right T_NOT.
+%nonassoc T_COLON T_N T_LPAREN T_RPAREN.
+
+%include {
+#include <assert.h>
+
+struct parse_state {
+ int num;
+ int res;
+};
+}
+
+input ::= expr(A). { s->res = A; }
+
+expr(A) ::= expr(B) T_QMARK expr(C) T_COLON expr(D). { A = B ? C : D; }
+expr(A) ::= expr(B) T_OR expr(C). { A = B || C; }
+expr(A) ::= expr(B) T_AND expr(C). { A = B && C; }
+expr(A) ::= expr(B) T_EQ expr(C). { A = B == C; }
+expr(A) ::= expr(B) T_NE expr(C). { A = B != C; }
+expr(A) ::= expr(B) T_LT expr(C). { A = B < C; }
+expr(A) ::= expr(B) T_LE expr(C). { A = B <= C; }
+expr(A) ::= expr(B) T_GT expr(C). { A = B > C; }
+expr(A) ::= expr(B) T_GE expr(C). { A = B >= C; }
+expr(A) ::= expr(B) T_ADD expr(C). { A = B + C; }
+expr(A) ::= expr(B) T_SUB expr(C). { A = B - C; }
+expr(A) ::= expr(B) T_MUL expr(C). { A = B * C; }
+expr(A) ::= expr(B) T_DIV expr(C). { A = B / C; }
+expr(A) ::= expr(B) T_MOD expr(C). { A = B % C; }
+expr(A) ::= T_NOT expr(B). { A = !B; }
+expr(A) ::= T_N. { A = s->num; }
+expr(A) ::= T_NUM(B). { A = B; }
+expr(A) ::= T_LPAREN expr(B) T_RPAREN. { A = B; }
--- /dev/null
+/*
+ * lmo - Lua Machine Objects - Base functions
+ *
+ * Copyright (C) 2009-2010 Jo-Philipp Wich <jow@openwrt.org>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "template_lmo.h"
+#include "plural_formula.h"
+
+/*
+ * Hash function from http://www.azillionmonkeys.com/qed/hash.html
+ * Copyright (C) 2004-2008 by Paul Hsieh
+ */
+
+uint32_t sfh_hash(const char *data, int len)
+{
+ uint32_t hash = len, tmp;
+ int rem;
+
+ if (len <= 0 || data == NULL) return 0;
+
+ rem = len & 3;
+ len >>= 2;
+
+ /* Main loop */
+ for (;len > 0; len--) {
+ hash += sfh_get16(data);
+ tmp = (sfh_get16(data+2) << 11) ^ hash;
+ hash = (hash << 16) ^ tmp;
+ data += 2*sizeof(uint16_t);
+ hash += hash >> 11;
+ }
+
+ /* Handle end cases */
+ switch (rem) {
+ case 3: hash += sfh_get16(data);
+ hash ^= hash << 16;
+ hash ^= (signed char)data[sizeof(uint16_t)] << 18;
+ hash += hash >> 11;
+ break;
+ case 2: hash += sfh_get16(data);
+ hash ^= hash << 11;
+ hash += hash >> 17;
+ break;
+ case 1: hash += (signed char)*data;
+ hash ^= hash << 10;
+ hash += hash >> 1;
+ }
+
+ /* Force "avalanching" of final 127 bits */
+ hash ^= hash << 3;
+ hash += hash >> 5;
+ hash ^= hash << 4;
+ hash += hash >> 17;
+ hash ^= hash << 25;
+ hash += hash >> 6;
+
+ return hash;
+}
+
+uint32_t lmo_canon_hash(const char *str, int len,
+ const char *ctx, int ctxlen, int plural)
+{
+ char res[4096];
+ char *ptr, *end, prev;
+ int off;
+
+ if (!str)
+ return 0;
+
+ ptr = res;
+ end = res + sizeof(res);
+
+ if (ctx)
+ {
+ for (prev = ' ', off = 0; off < ctxlen; prev = *ctx, off++, ctx++)
+ {
+ if (ptr >= end)
+ return 0;
+
+ if (isspace(*ctx))
+ {
+ if (!isspace(prev))
+ *ptr++ = ' ';
+ }
+ else
+ {
+ *ptr++ = *ctx;
+ }
+ }
+
+ if ((ptr > res) && isspace(*(ptr-1)))
+ ptr--;
+
+ if (ptr >= end)
+ return 0;
+
+ *ptr++ = '\1';
+ }
+
+ for (prev = ' ', off = 0; off < len; prev = *str, off++, str++)
+ {
+ if (ptr >= end)
+ return 0;
+
+ if (isspace(*str))
+ {
+ if (!isspace(prev))
+ *ptr++ = ' ';
+ }
+ else
+ {
+ *ptr++ = *str;
+ }
+ }
+
+ if ((ptr > res) && isspace(*(ptr-1)))
+ ptr--;
+
+ if (plural > -1)
+ {
+ if (plural >= 100 || ptr + 3 >= end)
+ return 0;
+
+ ptr += snprintf(ptr, 3, "\2%d", plural);
+ }
+
+ return sfh_hash(res, ptr - res);
+}
+
+lmo_archive_t * lmo_open(const char *file)
+{
+ int in = -1;
+ uint32_t idx_offset = 0;
+ struct stat s;
+
+ lmo_archive_t *ar = NULL;
+
+ if (stat(file, &s) == -1)
+ goto err;
+
+ if ((in = open(file, O_RDONLY)) == -1)
+ goto err;
+
+ if ((ar = (lmo_archive_t *)malloc(sizeof(*ar))) != NULL)
+ {
+ memset(ar, 0, sizeof(*ar));
+
+ ar->fd = in;
+ ar->size = s.st_size;
+
+ fcntl(ar->fd, F_SETFD, fcntl(ar->fd, F_GETFD) | FD_CLOEXEC);
+
+ if ((ar->mmap = mmap(NULL, ar->size, PROT_READ, MAP_SHARED, ar->fd, 0)) == MAP_FAILED)
+ goto err;
+
+ idx_offset = ntohl(*((const uint32_t *)
+ (ar->mmap + ar->size - sizeof(uint32_t))));
+
+ if (idx_offset >= ar->size)
+ goto err;
+
+ ar->index = (lmo_entry_t *)(ar->mmap + idx_offset);
+ ar->length = (ar->size - idx_offset - sizeof(uint32_t)) / sizeof(lmo_entry_t);
+ ar->end = ar->mmap + ar->size;
+
+ return ar;
+ }
+
+err:
+ if (in > -1)
+ close(in);
+
+ if (ar != NULL)
+ {
+ if ((ar->mmap != NULL) && (ar->mmap != MAP_FAILED))
+ munmap(ar->mmap, ar->size);
+
+ free(ar);
+ }
+
+ return NULL;
+}
+
+void lmo_close(lmo_archive_t *ar)
+{
+ if (ar != NULL)
+ {
+ if ((ar->mmap != NULL) && (ar->mmap != MAP_FAILED))
+ munmap(ar->mmap, ar->size);
+
+ close(ar->fd);
+ free(ar);
+
+ ar = NULL;
+ }
+}
+
+
+lmo_catalog_t *_lmo_catalogs = NULL;
+lmo_catalog_t *_lmo_active_catalog = NULL;
+
+int lmo_load_catalog(const char *lang, const char *dir)
+{
+ DIR *dh = NULL;
+ char pattern[16];
+ char path[PATH_MAX];
+ struct dirent *de = NULL;
+
+ lmo_archive_t *ar = NULL;
+ lmo_catalog_t *cat = NULL;
+
+ if (!lmo_change_catalog(lang))
+ return 0;
+
+ if (!dir || !(dh = opendir(dir)))
+ goto err;
+
+ if (!(cat = malloc(sizeof(*cat))))
+ goto err;
+
+ memset(cat, 0, sizeof(*cat));
+
+ snprintf(cat->lang, sizeof(cat->lang), "%s", lang);
+ snprintf(pattern, sizeof(pattern), "*.%s.lmo", lang);
+
+ while ((de = readdir(dh)) != NULL)
+ {
+ if (!fnmatch(pattern, de->d_name, 0))
+ {
+ snprintf(path, sizeof(path), "%s/%s", dir, de->d_name);
+ ar = lmo_open(path);
+
+ if (ar)
+ {
+ ar->next = cat->archives;
+ cat->archives = ar;
+ }
+ }
+ }
+
+ closedir(dh);
+
+ cat->next = _lmo_catalogs;
+ _lmo_catalogs = cat;
+
+ if (!_lmo_active_catalog)
+ _lmo_active_catalog = cat;
+
+ return cat->archives ? 0 : -1;
+
+err:
+ if (dh) closedir(dh);
+ if (cat) free(cat);
+
+ return -1;
+}
+
+int lmo_change_catalog(const char *lang)
+{
+ lmo_catalog_t *cat;
+
+ for (cat = _lmo_catalogs; cat; cat = cat->next)
+ {
+ if (!strncmp(cat->lang, lang, sizeof(cat->lang)))
+ {
+ _lmo_active_catalog = cat;
+ return 0;
+ }
+ }
+
+ return -1;
+}
+
+static lmo_entry_t * lmo_find_entry(lmo_archive_t *ar, uint32_t hash)
+{
+ unsigned int m, l, r;
+ uint32_t k;
+
+ l = 0;
+ r = ar->length - 1;
+
+ while (1)
+ {
+ m = l + ((r - l) / 2);
+
+ if (r < l)
+ break;
+
+ k = ntohl(ar->index[m].key_id);
+
+ if (k == hash)
+ return &ar->index[m];
+
+ if (k > hash)
+ {
+ if (!m)
+ break;
+
+ r = m - 1;
+ }
+ else
+ {
+ l = m + 1;
+ }
+ }
+
+ return NULL;
+}
+
+void *pluralParseAlloc(void *(*)(size_t));
+void pluralParse(void *, int, int, void *);
+void pluralParseFree(void *, void (*)(void *));
+
+static int lmo_eval_plural(const char *expr, int len, int val)
+{
+ struct { int num; int res; } s = { .num = val, .res = -1 };
+ const char *p = NULL;
+ void *pParser = NULL;
+ int t, n;
+ char c;
+
+ while (len > 7) {
+ if (*expr == 'p') {
+ if (!strncmp(expr, "plural=", 7)) {
+ p = expr + 7;
+ len -= 7;
+ break;
+ }
+ }
+
+ expr++;
+ len--;
+ }
+
+ if (!p)
+ goto out;
+
+ pParser = pluralParseAlloc(malloc);
+
+ if (!pParser)
+ goto out;
+
+ while (len-- > 0) {
+ c = *p++;
+ t = -1;
+ n = 0;
+
+ switch (c) {
+ case ' ':
+ case '\t':
+ continue;
+
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ t = T_NUM;
+ n = c - '0';
+
+ while (*p >= '0' && *p <= '9') {
+ n *= 10;
+ n += *p - '0';
+ p++;
+ }
+
+ break;
+
+ case '=':
+ if (*p == '=') {
+ t = T_EQ;
+ p++;
+ }
+
+ break;
+
+ case '!':
+ if (*p == '=') {
+ t = T_NE;
+ p++;
+ }
+ else {
+ t = T_NOT;
+ }
+
+ break;
+
+ case '&':
+ if (*p == '&') {
+ t = T_AND;
+ p++;
+ }
+
+ break;
+
+ case '|':
+ if (*p == '|') {
+ t = T_OR;
+ p++;
+ }
+
+ break;
+
+ case '<':
+ if (*p == '=') {
+ t = T_LE;
+ p++;
+ }
+ else {
+ t = T_LT;
+ }
+
+ break;
+
+ case '>':
+ if (*p == '=') {
+ t = T_GE;
+ p++;
+ }
+ else {
+ t = T_GT;
+ }
+
+ break;
+
+ case '*':
+ t = T_MUL;
+ break;
+
+ case '/':
+ t = T_DIV;
+ break;
+
+ case '%':
+ t = T_MOD;
+ break;
+
+ case '+':
+ t = T_ADD;
+ break;
+
+ case '-':
+ t = T_SUB;
+ break;
+
+ case 'n':
+ t = T_N;
+ break;
+
+ case '?':
+ t = T_QMARK;
+ break;
+
+ case ':':
+ t = T_COLON;
+ break;
+
+ case '(':
+ t = T_LPAREN;
+ break;
+
+ case ')':
+ t = T_RPAREN;
+ break;
+
+ case ';':
+ case '\n':
+ case '\0':
+ t = 0;
+ break;
+ }
+
+ /* syntax error */
+ if (t < 0)
+ goto out;
+
+ pluralParse(pParser, t, n, &s);
+
+ /* eof */
+ if (t == 0)
+ break;
+ }
+
+ pluralParse(pParser, 0, 0, &s);
+
+out:
+ pluralParseFree(pParser, free);
+
+ return s.res;
+}
+
+int lmo_translate(const char *key, int keylen, char **out, int *outlen)
+{
+ return lmo_translate_ctxt(key, keylen, NULL, 0, out, outlen);
+}
+
+int lmo_translate_ctxt(const char *key, int keylen,
+ const char *ctx, int ctxlen,
+ char **out, int *outlen)
+{
+ uint32_t hash;
+ lmo_entry_t *e;
+ lmo_archive_t *ar;
+
+ if (!key || !_lmo_active_catalog)
+ return -2;
+
+ hash = lmo_canon_hash(key, keylen, ctx, ctxlen, -1);
+
+ if (hash > 0)
+ {
+ for (ar = _lmo_active_catalog->archives; ar; ar = ar->next)
+ {
+ if ((e = lmo_find_entry(ar, hash)) != NULL)
+ {
+ *out = ar->mmap + ntohl(e->offset);
+ *outlen = ntohl(e->length);
+ return 0;
+ }
+ }
+ }
+
+ return -1;
+}
+
+int lmo_translate_plural(int n, const char *skey, int skeylen,
+ const char *pkey, int pkeylen,
+ char **out, int *outlen)
+{
+ return lmo_translate_plural_ctxt(n, skey, skeylen, pkey, pkeylen,
+ NULL, 0, out, outlen);
+}
+
+int lmo_translate_plural_ctxt(int n, const char *skey, int skeylen,
+ const char *pkey, int pkeylen,
+ const char *ctx, int ctxlen,
+ char **out, int *outlen)
+{
+ int pid = -1;
+ uint32_t hash;
+ lmo_entry_t *e;
+ lmo_archive_t *ar;
+ const char *plural_formula;
+
+ if (!skey || !pkey || !_lmo_active_catalog)
+ return -2;
+
+ for (ar = _lmo_active_catalog->archives; ar; ar = ar->next) {
+ e = lmo_find_entry(ar, 0);
+
+ if (e != NULL) {
+ pid = lmo_eval_plural(ar->mmap + ntohl(e->offset), ntohl(e->length), n);
+ break;
+ }
+ }
+
+ if (pid == -1)
+ pid = (n != 1);
+
+ hash = lmo_canon_hash(skey, skeylen, ctx, ctxlen, pid);
+
+ if (hash == 0)
+ return -1;
+
+ for (ar = _lmo_active_catalog->archives; ar; ar = ar->next)
+ {
+ if ((e = lmo_find_entry(ar, hash)) != NULL)
+ {
+ *out = ar->mmap + ntohl(e->offset);
+ *outlen = ntohl(e->length);
+ return 0;
+ }
+ }
+
+ if (n != 1)
+ {
+ *out = (char *)pkey;
+ *outlen = pkeylen;
+ }
+ else
+ {
+ *out = (char *)skey;
+ *outlen = skeylen;
+ }
+
+ return 0;
+}
+
+void lmo_iterate(lmo_iterate_cb_t cb, void *priv)
+{
+ unsigned int i;
+ lmo_entry_t *e;
+ lmo_archive_t *ar;
+
+ if (!_lmo_active_catalog)
+ return;
+
+ for (ar = _lmo_active_catalog->archives; ar; ar = ar->next)
+ for (i = 0, e = &ar->index[0]; i < ar->length; e = &ar->index[++i])
+ cb(ntohl(e->key_id), ar->mmap + ntohl(e->offset), ntohl(e->length), priv);
+}
+
+void lmo_close_catalog(const char *lang)
+{
+ lmo_archive_t *ar, *next;
+ lmo_catalog_t *cat, *prev;
+
+ for (prev = NULL, cat = _lmo_catalogs; cat; prev = cat, cat = cat->next)
+ {
+ if (!strncmp(cat->lang, lang, sizeof(cat->lang)))
+ {
+ if (prev)
+ prev->next = cat->next;
+ else
+ _lmo_catalogs = cat->next;
+
+ for (ar = cat->archives; ar; ar = next)
+ {
+ next = ar->next;
+ lmo_close(ar);
+ }
+
+ free(cat);
+ break;
+ }
+ }
+}
--- /dev/null
+/*
+ * lmo - Lua Machine Objects - General header
+ *
+ * Copyright (C) 2009-2012 Jo-Philipp Wich <jow@openwrt.org>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _TEMPLATE_LMO_H_
+#define _TEMPLATE_LMO_H_
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <stdint.h>
+#include <string.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <sys/mman.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <errno.h>
+#include <fnmatch.h>
+#include <dirent.h>
+#include <ctype.h>
+#include <limits.h>
+
+#if (defined(__GNUC__) && defined(__i386__))
+#define sfh_get16(d) (*((const uint16_t *) (d)))
+#else
+#define sfh_get16(d) ((((uint32_t)(((const uint8_t *)(d))[1])) << 8)\
+ +(uint32_t)(((const uint8_t *)(d))[0]) )
+#endif
+
+
+struct lmo_entry {
+ uint32_t key_id;
+ uint32_t val_id;
+ uint32_t offset;
+ uint32_t length;
+} __attribute__((packed));
+
+typedef struct lmo_entry lmo_entry_t;
+
+
+struct lmo_archive {
+ int fd;
+ int length;
+ uint32_t size;
+ lmo_entry_t *index;
+ char *mmap;
+ char *end;
+ struct lmo_archive *next;
+};
+
+typedef struct lmo_archive lmo_archive_t;
+
+
+struct lmo_catalog {
+ char lang[6];
+ struct lmo_archive *archives;
+ struct lmo_catalog *next;
+};
+
+typedef struct lmo_catalog lmo_catalog_t;
+
+typedef void (*lmo_iterate_cb_t)(uint32_t, const char *, int, void *);
+
+uint32_t sfh_hash(const char *data, int len);
+uint32_t lmo_canon_hash(const char *data, int len,
+ const char *ctx, int ctxlen, int plural);
+
+lmo_archive_t * lmo_open(const char *file);
+void lmo_close(lmo_archive_t *ar);
+
+
+extern lmo_catalog_t *_lmo_catalogs;
+extern lmo_catalog_t *_lmo_active_catalog;
+
+int lmo_load_catalog(const char *lang, const char *dir);
+int lmo_change_catalog(const char *lang);
+int lmo_translate(const char *key, int keylen, char **out, int *outlen);
+int lmo_translate_ctxt(const char *key, int keylen,
+ const char *ctx, int ctxlen, char **out, int *outlen);
+int lmo_translate_plural(int n, const char *skey, int skeylen,
+ const char *pkey, int pkeylen,
+ char **out, int *outlen);
+int lmo_translate_plural_ctxt(int n, const char *skey, int skeylen,
+ const char *pkey, int pkeylen,
+ const char *ctx, int ctxlen,
+ char **out, int *outlen);
+void lmo_iterate(lmo_iterate_cb_t cb, void *priv);
+void lmo_close_catalog(const char *lang);
+
+#endif
--- /dev/null
+/*
+ * LuCI Template - Lua binding
+ *
+ * Copyright (C) 2009 Jo-Philipp Wich <jow@openwrt.org>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "template_lualib.h"
+
+static int template_L_do_parse(lua_State *L, struct template_parser *parser, const char *chunkname)
+{
+ int lua_status, rv;
+
+ if (!parser)
+ {
+ lua_pushnil(L);
+ lua_pushinteger(L, errno);
+ lua_pushstring(L, strerror(errno));
+ return 3;
+ }
+
+ lua_status = lua_load(L, template_reader, parser, chunkname);
+
+ if (lua_status == 0)
+ rv = 1;
+ else
+ rv = template_error(L, parser);
+
+ template_close(parser);
+
+ return rv;
+}
+
+int template_L_parse(lua_State *L)
+{
+ const char *file = luaL_checkstring(L, 1);
+ struct template_parser *parser = template_open(file);
+
+ return template_L_do_parse(L, parser, file);
+}
+
+int template_L_parse_string(lua_State *L)
+{
+ size_t len;
+ const char *str = luaL_checklstring(L, 1, &len);
+ struct template_parser *parser = template_string(str, len);
+
+ return template_L_do_parse(L, parser, "[string]");
+}
+
+int template_L_utf8(lua_State *L)
+{
+ size_t len = 0;
+ const char *str = luaL_checklstring(L, 1, &len);
+ char *res = utf8(str, len);
+
+ if (res != NULL)
+ {
+ lua_pushstring(L, res);
+ free(res);
+
+ return 1;
+ }
+
+ return 0;
+}
+
+int template_L_pcdata(lua_State *L)
+{
+ size_t len = 0;
+ const char *str = luaL_checklstring(L, 1, &len);
+ char *res = pcdata(str, len);
+
+ if (res != NULL)
+ {
+ lua_pushstring(L, res);
+ free(res);
+
+ return 1;
+ }
+
+ return 0;
+}
+
+int template_L_striptags(lua_State *L)
+{
+ size_t len = 0;
+ const char *str = luaL_checklstring(L, 1, &len);
+ char *res = striptags(str, len);
+
+ if (res != NULL)
+ {
+ lua_pushstring(L, res);
+ free(res);
+
+ return 1;
+ }
+
+ return 0;
+}
+
+static int template_L_load_catalog(lua_State *L) {
+ const char *lang = luaL_optstring(L, 1, "en");
+ const char *dir = luaL_optstring(L, 2, NULL);
+ lua_pushboolean(L, !lmo_load_catalog(lang, dir));
+ return 1;
+}
+
+static int template_L_close_catalog(lua_State *L) {
+ const char *lang = luaL_optstring(L, 1, "en");
+ lmo_close_catalog(lang);
+ return 0;
+}
+
+static int template_L_change_catalog(lua_State *L) {
+ const char *lang = luaL_optstring(L, 1, "en");
+ lua_pushboolean(L, !lmo_change_catalog(lang));
+ return 1;
+}
+
+static void template_L_get_translations_cb(uint32_t key, const char *val, int len, void *priv) {
+ lua_State *L = priv;
+ char hex[9];
+
+ luaL_checktype(L, 1, LUA_TFUNCTION);
+ snprintf(hex, sizeof(hex), "%08x", key);
+
+ lua_pushvalue(L, 1);
+ lua_pushstring(L, hex);
+ lua_pushlstring(L, val, len);
+ lua_call(L, 2, 0);
+}
+
+static int template_L_get_translations(lua_State *L) {
+ lmo_iterate(template_L_get_translations_cb, L);
+ return 0;
+}
+
+static int template_L_translate(lua_State *L) {
+ size_t len, ctxlen = 0;
+ char *tr;
+ int trlen;
+ const char *key = luaL_checklstring(L, 1, &len);
+ const char *ctx = luaL_optlstring(L, 2, NULL, &ctxlen);
+
+ switch (lmo_translate_ctxt(key, len, ctx, ctxlen, &tr, &trlen))
+ {
+ case 0:
+ lua_pushlstring(L, tr, trlen);
+ return 1;
+
+ case -1:
+ return 0;
+ }
+
+ lua_pushnil(L);
+ lua_pushstring(L, "no catalog loaded");
+ return 2;
+}
+
+static int template_L_ntranslate(lua_State *L) {
+ size_t slen, plen, ctxlen = 0;
+ char *tr;
+ int trlen;
+ int n = luaL_checkinteger(L, 1);
+ const char *skey = luaL_checklstring(L, 2, &slen);
+ const char *pkey = luaL_checklstring(L, 3, &plen);
+ const char *ctx = luaL_optlstring(L, 4, NULL, &ctxlen);
+
+ switch (lmo_translate_plural_ctxt(n, skey, slen, pkey, plen, ctx, ctxlen, &tr, &trlen))
+ {
+ case 0:
+ lua_pushlstring(L, tr, trlen);
+ return 1;
+
+ case -1:
+ return 0;
+ }
+
+ lua_pushnil(L);
+ lua_pushstring(L, "no catalog loaded");
+ return 2;
+}
+
+static int template_L_hash(lua_State *L) {
+ size_t len;
+ const char *key = luaL_checklstring(L, 1, &len);
+ lua_pushinteger(L, sfh_hash(key, len));
+ return 1;
+}
+
+
+/* module table */
+static const luaL_reg R[] = {
+ { "parse", template_L_parse },
+ { "parse_string", template_L_parse_string },
+ { "utf8", template_L_utf8 },
+ { "pcdata", template_L_pcdata },
+ { "striptags", template_L_striptags },
+ { "load_catalog", template_L_load_catalog },
+ { "close_catalog", template_L_close_catalog },
+ { "change_catalog", template_L_change_catalog },
+ { "get_translations", template_L_get_translations },
+ { "translate", template_L_translate },
+ { "ntranslate", template_L_ntranslate },
+ { "hash", template_L_hash },
+ { NULL, NULL }
+};
+
+LUALIB_API int luaopen_luci_template_parser(lua_State *L) {
+ luaL_register(L, TEMPLATE_LUALIB_META, R);
+ return 1;
+}
--- /dev/null
+/*
+ * LuCI Template - Lua library header
+ *
+ * Copyright (C) 2009 Jo-Philipp Wich <jow@openwrt.org>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _TEMPLATE_LUALIB_H_
+#define _TEMPLATE_LUALIB_H_
+
+#include "template_parser.h"
+#include "template_utils.h"
+#include "template_lmo.h"
+
+#define TEMPLATE_LUALIB_META "template.parser"
+
+LUALIB_API int luaopen_luci_template_parser(lua_State *L);
+
+#endif
--- /dev/null
+/*
+ * LuCI Template - Parser implementation
+ *
+ * Copyright (C) 2009-2012 Jo-Philipp Wich <jow@openwrt.org>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "template_parser.h"
+#include "template_utils.h"
+#include "template_lmo.h"
+
+
+/* leading and trailing code for different types */
+const char *gen_code[9][2] = {
+ { NULL, NULL },
+ { "write(\"", "\")" },
+ { NULL, NULL },
+ { "write(tostring(", " or \"\"))" },
+ { "include(\"", "\")" },
+ { "write(\"", "\")" },
+ { "write(\"", "\")" },
+ { NULL, " " },
+ { NULL, NULL },
+};
+
+/* Simple strstr() like function that takes len arguments for both haystack and needle. */
+static char *strfind(char *haystack, int hslen, const char *needle, int ndlen)
+{
+ int match = 0;
+ int i, j;
+
+ for( i = 0; i < hslen; i++ )
+ {
+ if( haystack[i] == needle[0] )
+ {
+ match = ((ndlen == 1) || ((i + ndlen) <= hslen));
+
+ for( j = 1; (j < ndlen) && ((i + j) < hslen); j++ )
+ {
+ if( haystack[i+j] != needle[j] )
+ {
+ match = 0;
+ break;
+ }
+ }
+
+ if( match )
+ return &haystack[i];
+ }
+ }
+
+ return NULL;
+}
+
+struct template_parser * template_open(const char *file)
+{
+ struct stat s;
+ struct template_parser *parser;
+
+ if (!(parser = malloc(sizeof(*parser))))
+ goto err;
+
+ memset(parser, 0, sizeof(*parser));
+ parser->fd = -1;
+ parser->file = file;
+
+ if (stat(file, &s))
+ goto err;
+
+ if ((parser->fd = open(file, O_RDONLY)) < 0)
+ goto err;
+
+ parser->size = s.st_size;
+ parser->data = mmap(NULL, parser->size, PROT_READ, MAP_PRIVATE,
+ parser->fd, 0);
+
+ if (parser->data != MAP_FAILED)
+ {
+ parser->off = parser->data;
+ parser->cur_chunk.type = T_TYPE_INIT;
+ parser->cur_chunk.s = parser->data;
+ parser->cur_chunk.e = parser->data;
+
+ return parser;
+ }
+
+err:
+ template_close(parser);
+ return NULL;
+}
+
+struct template_parser * template_string(const char *str, uint32_t len)
+{
+ struct template_parser *parser;
+
+ if (!str) {
+ errno = EINVAL;
+ goto err;
+ }
+
+ if (!(parser = malloc(sizeof(*parser))))
+ goto err;
+
+ memset(parser, 0, sizeof(*parser));
+ parser->fd = -1;
+
+ parser->size = len;
+ parser->data = (char*)str;
+
+ parser->off = parser->data;
+ parser->cur_chunk.type = T_TYPE_INIT;
+ parser->cur_chunk.s = parser->data;
+ parser->cur_chunk.e = parser->data;
+
+ return parser;
+
+err:
+ template_close(parser);
+ return NULL;
+}
+
+void template_close(struct template_parser *parser)
+{
+ if (!parser)
+ return;
+
+ if (parser->gc != NULL)
+ free(parser->gc);
+
+ /* if file is not set, we were parsing a string */
+ if (parser->file) {
+ if ((parser->data != NULL) && (parser->data != MAP_FAILED))
+ munmap(parser->data, parser->size);
+
+ if (parser->fd >= 0)
+ close(parser->fd);
+ }
+
+ free(parser);
+}
+
+void template_text(struct template_parser *parser, const char *e)
+{
+ const char *s = parser->off;
+
+ if (s < (parser->data + parser->size))
+ {
+ if (parser->strip_after)
+ {
+ while ((s <= e) && isspace(*s))
+ s++;
+ }
+
+ parser->cur_chunk.type = T_TYPE_TEXT;
+ }
+ else
+ {
+ parser->cur_chunk.type = T_TYPE_EOF;
+ }
+
+ parser->cur_chunk.line = parser->line;
+ parser->cur_chunk.s = s;
+ parser->cur_chunk.e = e;
+}
+
+void template_code(struct template_parser *parser, const char *e)
+{
+ const char *s = parser->off;
+
+ parser->strip_before = 0;
+ parser->strip_after = 0;
+
+ if (*s == '-')
+ {
+ parser->strip_before = 1;
+ for (s++; (s <= e) && (*s == ' ' || *s == '\t'); s++);
+ }
+
+ if (*(e-1) == '-')
+ {
+ parser->strip_after = 1;
+ for (e--; (e >= s) && (*e == ' ' || *e == '\t'); e--);
+ }
+
+ switch (*s)
+ {
+ /* comment */
+ case '#':
+ s++;
+ parser->cur_chunk.type = T_TYPE_COMMENT;
+ break;
+
+ /* include */
+ case '+':
+ s++;
+ parser->cur_chunk.type = T_TYPE_INCLUDE;
+ break;
+
+ /* translate */
+ case ':':
+ s++;
+ parser->cur_chunk.type = T_TYPE_I18N;
+ break;
+
+ /* translate raw */
+ case '_':
+ s++;
+ parser->cur_chunk.type = T_TYPE_I18N_RAW;
+ break;
+
+ /* expr */
+ case '=':
+ s++;
+ parser->cur_chunk.type = T_TYPE_EXPR;
+ break;
+
+ /* code */
+ default:
+ parser->cur_chunk.type = T_TYPE_CODE;
+ break;
+ }
+
+ parser->cur_chunk.line = parser->line;
+ parser->cur_chunk.s = s;
+ parser->cur_chunk.e = e;
+}
+
+static const char *
+template_format_chunk(struct template_parser *parser, size_t *sz)
+{
+ const char *s, *p;
+ const char *head, *tail;
+ struct template_chunk *c = &parser->prv_chunk;
+ struct template_buffer *buf;
+
+ *sz = 0;
+ s = parser->gc = NULL;
+
+ if (parser->strip_before && c->type == T_TYPE_TEXT)
+ {
+ while ((c->e > c->s) && isspace(*(c->e - 1)))
+ c->e--;
+ }
+
+ /* empty chunk */
+ if (c->s == c->e)
+ {
+ if (c->type == T_TYPE_EOF)
+ {
+ *sz = 0;
+ s = NULL;
+ }
+ else
+ {
+ *sz = 1;
+ s = " ";
+ }
+ }
+
+ /* format chunk */
+ else if ((buf = buf_init(c->e - c->s)) != NULL)
+ {
+ if ((head = gen_code[c->type][0]) != NULL)
+ buf_append(buf, head, strlen(head));
+
+ switch (c->type)
+ {
+ case T_TYPE_TEXT:
+ luastr_escape(buf, c->s, c->e - c->s, 0);
+ break;
+
+ case T_TYPE_EXPR:
+ buf_append(buf, c->s, c->e - c->s);
+ for (p = c->s; p < c->e; p++)
+ parser->line += (*p == '\n');
+ break;
+
+ case T_TYPE_INCLUDE:
+ luastr_escape(buf, c->s, c->e - c->s, 0);
+ break;
+
+ case T_TYPE_I18N:
+ luastr_translate(buf, c->s, c->e - c->s, 1);
+ break;
+
+ case T_TYPE_I18N_RAW:
+ luastr_translate(buf, c->s, c->e - c->s, 0);
+ break;
+
+ case T_TYPE_CODE:
+ buf_append(buf, c->s, c->e - c->s);
+ for (p = c->s; p < c->e; p++)
+ parser->line += (*p == '\n');
+ break;
+ }
+
+ if ((tail = gen_code[c->type][1]) != NULL)
+ buf_append(buf, tail, strlen(tail));
+
+ *sz = buf_length(buf);
+ s = parser->gc = buf_destroy(buf);
+
+ if (!*sz)
+ {
+ *sz = 1;
+ s = " ";
+ }
+ }
+
+ return s;
+}
+
+const char *template_reader(lua_State *L, void *ud, size_t *sz)
+{
+ struct template_parser *parser = ud;
+ int rem = parser->size - (parser->off - parser->data);
+ char *tag;
+
+ parser->prv_chunk = parser->cur_chunk;
+
+ /* free previous string */
+ if (parser->gc)
+ {
+ free(parser->gc);
+ parser->gc = NULL;
+ }
+
+ /* before tag */
+ if (!parser->in_expr)
+ {
+ if ((tag = strfind(parser->off, rem, "<%", 2)) != NULL)
+ {
+ template_text(parser, tag);
+ parser->off = tag + 2;
+ parser->in_expr = 1;
+ }
+ else
+ {
+ template_text(parser, parser->data + parser->size);
+ parser->off = parser->data + parser->size;
+ }
+ }
+
+ /* inside tag */
+ else
+ {
+ if ((tag = strfind(parser->off, rem, "%>", 2)) != NULL)
+ {
+ template_code(parser, tag);
+ parser->off = tag + 2;
+ parser->in_expr = 0;
+ }
+ else
+ {
+ /* unexpected EOF */
+ template_code(parser, parser->data + parser->size);
+
+ *sz = 1;
+ return "\033";
+ }
+ }
+
+ return template_format_chunk(parser, sz);
+}
+
+int template_error(lua_State *L, struct template_parser *parser)
+{
+ const char *err = luaL_checkstring(L, -1);
+ const char *off = parser->prv_chunk.s;
+ const char *ptr;
+ char msg[1024];
+ int line = 0;
+ int chunkline = 0;
+
+ if ((ptr = strfind((char *)err, strlen(err), "]:", 2)) != NULL)
+ {
+ chunkline = atoi(ptr + 2) - parser->prv_chunk.line;
+
+ while (*ptr)
+ {
+ if (*ptr++ == ' ')
+ {
+ err = ptr;
+ break;
+ }
+ }
+ }
+
+ if (strfind((char *)err, strlen(err), "'char(27)'", 10) != NULL)
+ {
+ off = parser->data + parser->size;
+ err = "'%>' expected before end of file";
+ chunkline = 0;
+ }
+
+ for (ptr = parser->data; ptr < off; ptr++)
+ if (*ptr == '\n')
+ line++;
+
+ snprintf(msg, sizeof(msg), "Syntax error in %s:%d: %s",
+ parser->file ? parser->file : "[string]", line + chunkline, err ? err : "(unknown error)");
+
+ lua_pushnil(L);
+ lua_pushinteger(L, line + chunkline);
+ lua_pushstring(L, msg);
+
+ return 3;
+}
--- /dev/null
+/*
+ * LuCI Template - Parser header
+ *
+ * Copyright (C) 2009 Jo-Philipp Wich <jow@openwrt.org>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _TEMPLATE_PARSER_H_
+#define _TEMPLATE_PARSER_H_
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <stdint.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <sys/mman.h>
+#include <string.h>
+#include <ctype.h>
+#include <errno.h>
+
+#include <lua.h>
+#include <lualib.h>
+#include <lauxlib.h>
+
+
+/* code types */
+#define T_TYPE_INIT 0
+#define T_TYPE_TEXT 1
+#define T_TYPE_COMMENT 2
+#define T_TYPE_EXPR 3
+#define T_TYPE_INCLUDE 4
+#define T_TYPE_I18N 5
+#define T_TYPE_I18N_RAW 6
+#define T_TYPE_CODE 7
+#define T_TYPE_EOF 8
+
+
+struct template_chunk {
+ const char *s;
+ const char *e;
+ int type;
+ int line;
+};
+
+/* parser state */
+struct template_parser {
+ int fd;
+ uint32_t size;
+ char *data;
+ char *off;
+ char *gc;
+ int line;
+ int in_expr;
+ int strip_before;
+ int strip_after;
+ struct template_chunk prv_chunk;
+ struct template_chunk cur_chunk;
+ const char *file;
+};
+
+struct template_parser * template_open(const char *file);
+struct template_parser * template_string(const char *str, uint32_t len);
+void template_close(struct template_parser *parser);
+
+const char *template_reader(lua_State *L, void *ud, size_t *sz);
+int template_error(lua_State *L, struct template_parser *parser);
+
+#endif
--- /dev/null
+/*
+ * LuCI Template - Utility functions
+ *
+ * Copyright (C) 2010 Jo-Philipp Wich <jow@openwrt.org>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "template_utils.h"
+#include "template_lmo.h"
+
+/* initialize a buffer object */
+struct template_buffer * buf_init(int size)
+{
+ struct template_buffer *buf;
+
+ if (size <= 0)
+ size = 1024;
+
+ buf = (struct template_buffer *)malloc(sizeof(struct template_buffer));
+
+ if (buf != NULL)
+ {
+ buf->fill = 0;
+ buf->size = size;
+ buf->data = malloc(buf->size);
+
+ if (buf->data != NULL)
+ {
+ buf->dptr = buf->data;
+ buf->data[0] = 0;
+
+ return buf;
+ }
+
+ free(buf);
+ }
+
+ return NULL;
+}
+
+/* grow buffer */
+int buf_grow(struct template_buffer *buf, int size)
+{
+ unsigned int off = (buf->dptr - buf->data);
+ char *data;
+
+ if (size <= 0)
+ size = 1024;
+
+ data = realloc(buf->data, buf->size + size);
+
+ if (data != NULL)
+ {
+ buf->data = data;
+ buf->dptr = data + off;
+ buf->size += size;
+
+ return buf->size;
+ }
+
+ return 0;
+}
+
+/* put one char into buffer object */
+int buf_putchar(struct template_buffer *buf, char c)
+{
+ if( ((buf->fill + 1) >= buf->size) && !buf_grow(buf, 0) )
+ return 0;
+
+ *(buf->dptr++) = c;
+ *(buf->dptr) = 0;
+
+ buf->fill++;
+ return 1;
+}
+
+/* append data to buffer */
+int buf_append(struct template_buffer *buf, const char *s, int len)
+{
+ if ((buf->fill + len + 1) >= buf->size)
+ {
+ if (!buf_grow(buf, len + 1))
+ return 0;
+ }
+
+ memcpy(buf->dptr, s, len);
+ buf->fill += len;
+ buf->dptr += len;
+
+ *(buf->dptr) = 0;
+
+ return len;
+}
+
+/* read buffer length */
+int buf_length(struct template_buffer *buf)
+{
+ return buf->fill;
+}
+
+/* destroy buffer object and return pointer to data */
+char * buf_destroy(struct template_buffer *buf)
+{
+ char *data = buf->data;
+
+ free(buf);
+ return data;
+}
+
+
+/* calculate the number of expected continuation chars */
+static inline int mb_num_chars(unsigned char c)
+{
+ if ((c & 0xE0) == 0xC0)
+ return 2;
+ else if ((c & 0xF0) == 0xE0)
+ return 3;
+ else if ((c & 0xF8) == 0xF0)
+ return 4;
+ else if ((c & 0xFC) == 0xF8)
+ return 5;
+ else if ((c & 0xFE) == 0xFC)
+ return 6;
+
+ return 1;
+}
+
+/* test whether the given byte is a valid continuation char */
+static inline int mb_is_cont(unsigned char c)
+{
+ return ((c >= 0x80) && (c <= 0xBF));
+}
+
+/* test whether the byte sequence at the given pointer with the given
+ * length is the shortest possible representation of the code point */
+static inline int mb_is_shortest(unsigned char *s, int n)
+{
+ switch (n)
+ {
+ case 2:
+ /* 1100000x (10xxxxxx) */
+ return !(((*s >> 1) == 0x60) &&
+ ((*(s+1) >> 6) == 0x02));
+
+ case 3:
+ /* 11100000 100xxxxx (10xxxxxx) */
+ return !((*s == 0xE0) &&
+ ((*(s+1) >> 5) == 0x04) &&
+ ((*(s+2) >> 6) == 0x02));
+
+ case 4:
+ /* 11110000 1000xxxx (10xxxxxx 10xxxxxx) */
+ return !((*s == 0xF0) &&
+ ((*(s+1) >> 4) == 0x08) &&
+ ((*(s+2) >> 6) == 0x02) &&
+ ((*(s+3) >> 6) == 0x02));
+
+ case 5:
+ /* 11111000 10000xxx (10xxxxxx 10xxxxxx 10xxxxxx) */
+ return !((*s == 0xF8) &&
+ ((*(s+1) >> 3) == 0x10) &&
+ ((*(s+2) >> 6) == 0x02) &&
+ ((*(s+3) >> 6) == 0x02) &&
+ ((*(s+4) >> 6) == 0x02));
+
+ case 6:
+ /* 11111100 100000xx (10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx) */
+ return !((*s == 0xF8) &&
+ ((*(s+1) >> 2) == 0x20) &&
+ ((*(s+2) >> 6) == 0x02) &&
+ ((*(s+3) >> 6) == 0x02) &&
+ ((*(s+4) >> 6) == 0x02) &&
+ ((*(s+5) >> 6) == 0x02));
+ }
+
+ return 1;
+}
+
+/* test whether the byte sequence at the given pointer with the given
+ * length is an UTF-16 surrogate */
+static inline int mb_is_surrogate(unsigned char *s, int n)
+{
+ return ((n == 3) && (*s == 0xED) && (*(s+1) >= 0xA0) && (*(s+1) <= 0xBF));
+}
+
+/* test whether the byte sequence at the given pointer with the given
+ * length is an illegal UTF-8 code point */
+static inline int mb_is_illegal(unsigned char *s, int n)
+{
+ return ((n == 3) && (*s == 0xEF) && (*(s+1) == 0xBF) &&
+ (*(s+2) >= 0xBE) && (*(s+2) <= 0xBF));
+}
+
+
+/* scan given source string, validate UTF-8 sequence and store result
+ * in given buffer object */
+static int _validate_utf8(unsigned char **s, int l, struct template_buffer *buf)
+{
+ unsigned char *ptr = *s;
+ unsigned int o = 0, v, n;
+
+ /* ascii byte without null */
+ if ((*(ptr+0) >= 0x01) && (*(ptr+0) <= 0x7F))
+ {
+ if (!buf_putchar(buf, *ptr++))
+ return 0;
+
+ o = 1;
+ }
+
+ /* multi byte sequence */
+ else if ((n = mb_num_chars(*ptr)) > 1)
+ {
+ /* count valid chars */
+ for (v = 1; (v <= n) && ((o+v) < l) && mb_is_cont(*(ptr+v)); v++);
+
+ switch (n)
+ {
+ case 6:
+ case 5:
+ /* five and six byte sequences are always invalid */
+ if (!buf_putchar(buf, '?'))
+ return 0;
+
+ break;
+
+ default:
+ /* if the number of valid continuation bytes matches the
+ * expected number and if the sequence is legal, copy
+ * the bytes to the destination buffer */
+ if ((v == n) && mb_is_shortest(ptr, n) &&
+ !mb_is_surrogate(ptr, n) && !mb_is_illegal(ptr, n))
+ {
+ /* copy sequence */
+ if (!buf_append(buf, (char *)ptr, n))
+ return 0;
+ }
+
+ /* the found sequence is illegal, skip it */
+ else
+ {
+ /* invalid sequence */
+ if (!buf_putchar(buf, '?'))
+ return 0;
+ }
+
+ break;
+ }
+
+ /* advance beyond the last found valid continuation char */
+ o = v;
+ ptr += v;
+ }
+
+ /* invalid byte (0x00) */
+ else
+ {
+ if (!buf_putchar(buf, '?')) /* or 0xEF, 0xBF, 0xBD */
+ return 0;
+
+ o = 1;
+ ptr++;
+ }
+
+ *s = ptr;
+ return o;
+}
+
+/* sanitize given string and replace all invalid UTF-8 sequences with "?" */
+char * utf8(const char *s, unsigned int l)
+{
+ struct template_buffer *buf = buf_init(l);
+ unsigned char *ptr = (unsigned char *)s;
+ unsigned int v, o;
+
+ if (!buf)
+ return NULL;
+
+ for (o = 0; o < l; o++)
+ {
+ /* ascii char */
+ if ((*ptr >= 0x01) && (*ptr <= 0x7F))
+ {
+ if (!buf_putchar(buf, (char)*ptr++))
+ break;
+ }
+
+ /* invalid byte or multi byte sequence */
+ else
+ {
+ if (!(v = _validate_utf8(&ptr, l - o, buf)))
+ break;
+
+ o += (v - 1);
+ }
+ }
+
+ return buf_destroy(buf);
+}
+
+/* Sanitize given string and strip all invalid XML bytes
+ * Validate UTF-8 sequences
+ * Escape XML control chars */
+char * pcdata(const char *s, unsigned int l)
+{
+ struct template_buffer *buf = buf_init(l);
+ unsigned char *ptr = (unsigned char *)s;
+ unsigned int o, v;
+ char esq[8];
+ int esl;
+
+ if (!buf)
+ return NULL;
+
+ for (o = 0; o < l; o++)
+ {
+ /* Invalid XML bytes */
+ if (((*ptr >= 0x00) && (*ptr <= 0x08)) ||
+ ((*ptr >= 0x0B) && (*ptr <= 0x0C)) ||
+ ((*ptr >= 0x0E) && (*ptr <= 0x1F)) ||
+ (*ptr == 0x7F))
+ {
+ ptr++;
+ }
+
+ /* Escapes */
+ else if ((*ptr == 0x26) ||
+ (*ptr == 0x27) ||
+ (*ptr == 0x22) ||
+ (*ptr == 0x3C) ||
+ (*ptr == 0x3E))
+ {
+ esl = snprintf(esq, sizeof(esq), "&#%i;", *ptr);
+
+ if (!buf_append(buf, esq, esl))
+ break;
+
+ ptr++;
+ }
+
+ /* ascii char */
+ else if (*ptr <= 0x7F)
+ {
+ buf_putchar(buf, (char)*ptr++);
+ }
+
+ /* multi byte sequence */
+ else
+ {
+ if (!(v = _validate_utf8(&ptr, l - o, buf)))
+ break;
+
+ o += (v - 1);
+ }
+ }
+
+ return buf_destroy(buf);
+}
+
+char * striptags(const char *s, unsigned int l)
+{
+ struct template_buffer *buf = buf_init(l);
+ unsigned char *ptr = (unsigned char *)s;
+ unsigned char *end = ptr + l;
+ unsigned char *tag;
+ unsigned char prev;
+ char esq[8];
+ int esl;
+
+ for (prev = ' '; ptr < end; ptr++)
+ {
+ if ((*ptr == '<') && ((ptr + 2) < end) &&
+ ((*(ptr + 1) == '/') || isalpha(*(ptr + 1))))
+ {
+ for (tag = ptr; tag < end; tag++)
+ {
+ if (*tag == '>')
+ {
+ if (!isspace(prev))
+ buf_putchar(buf, ' ');
+
+ ptr = tag;
+ prev = ' ';
+ break;
+ }
+ }
+ }
+ else if (isspace(*ptr))
+ {
+ if (!isspace(prev))
+ buf_putchar(buf, *ptr);
+
+ prev = *ptr;
+ }
+ else
+ {
+ switch(*ptr)
+ {
+ case '"':
+ case '\'':
+ case '<':
+ case '>':
+ case '&':
+ esl = snprintf(esq, sizeof(esq), "&#%i;", *ptr);
+ buf_append(buf, esq, esl);
+ break;
+
+ default:
+ buf_putchar(buf, *ptr);
+ break;
+ }
+
+ prev = *ptr;
+ }
+ }
+
+ return buf_destroy(buf);
+}
+
+void luastr_escape(struct template_buffer *out, const char *s, unsigned int l,
+ int escape_xml)
+{
+ int esl;
+ char esq[8];
+ char *ptr;
+
+ for (ptr = (char *)s; ptr < (s + l); ptr++)
+ {
+ switch (*ptr)
+ {
+ case '\\':
+ buf_append(out, "\\\\", 2);
+ break;
+
+ case '"':
+ if (escape_xml)
+ buf_append(out, """, 5);
+ else
+ buf_append(out, "\\\"", 2);
+ break;
+
+ case '\n':
+ buf_append(out, "\\n", 2);
+ break;
+
+ case '\'':
+ case '&':
+ case '<':
+ case '>':
+ if (escape_xml)
+ {
+ esl = snprintf(esq, sizeof(esq), "&#%i;", *ptr);
+ buf_append(out, esq, esl);
+ break;
+ }
+
+ default:
+ buf_putchar(out, *ptr);
+ }
+ }
+}
+
+void luastr_translate(struct template_buffer *out, const char *s, unsigned int l,
+ int escape_xml)
+{
+ int trlen, idlen = l, ctxtlen = 0, esc = 0;
+ const char *p, *msgid = s, *msgctxt = NULL;
+ char *tr;
+
+ for (p = s; p < s + l; p++) {
+ if (esc) {
+ esc = 0;
+ }
+ else if (*p == '\\') {
+ esc = 1;
+ }
+ else if (*p == '|') {
+ idlen = p - s;
+ msgctxt = p + 1;
+ ctxtlen = s + l - msgctxt;
+ break;
+ }
+ }
+
+ if (!lmo_translate_ctxt(msgid, idlen, msgctxt, ctxtlen, &tr, &trlen))
+ luastr_escape(out, tr, trlen, escape_xml);
+ else
+ luastr_escape(out, s, l, escape_xml);
+}
--- /dev/null
+/*
+ * LuCI Template - Utility header
+ *
+ * Copyright (C) 2010-2012 Jo-Philipp Wich <jow@openwrt.org>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _TEMPLATE_UTILS_H_
+#define _TEMPLATE_UTILS_H_
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+
+/* buffer object */
+struct template_buffer {
+ char *data;
+ char *dptr;
+ unsigned int size;
+ unsigned int fill;
+};
+
+struct template_buffer * buf_init(int size);
+int buf_grow(struct template_buffer *buf, int size);
+int buf_putchar(struct template_buffer *buf, char c);
+int buf_append(struct template_buffer *buf, const char *s, int len);
+int buf_length(struct template_buffer *buf);
+char * buf_destroy(struct template_buffer *buf);
+
+char * utf8(const char *s, unsigned int l);
+char * pcdata(const char *s, unsigned int l);
+char * striptags(const char *s, unsigned int l);
+
+void luastr_escape(struct template_buffer *out, const char *s, unsigned int l, int escape_xml);
+void luastr_translate(struct template_buffer *out, const char *s, unsigned int l, int escape_xml);
+
+#endif
include $(TOPDIR)/rules.mk
LUCI_TITLE:=LuCI Network Administration
-LUCI_DEPENDS:=+luci-base +libiwinfo-lua +rpcd-mod-iwinfo
+LUCI_DEPENDS:=+luci-base +rpcd-mod-iwinfo
PKG_LICENSE:=Apache-2.0
s.tab('advanced', _('Advanced Settings'));
s.tab('leases', _('Static Leases'));
s.tab('hosts', _('Hostnames'));
+ s.tab('srvhosts', _('SRV'));
+ s.tab('mxhosts', _('MX'));
s.tab('ipsets', _('IP Sets'));
s.taboption('general', form.Flag, 'domainneeded',
o = s.taboption('general', form.DynamicList, 'address',
_('Addresses'),
- _('List of domains to force to an IP address.'));
+ _('Resolve specified FQDNs to an IP.') + '<br />' +
+ _('Syntax: <code>/fqdn[/fqdn…]/[ipaddr]</code>.') + '<br />' +
+ _('<code>/#/</code> matches any domain. <code>/example.com/</code> returns NXDOMAIN.') + '<br />' +
+ _('<code>/example.com/#</code> returns NULL addresses (<code>0.0.0.0</code> and <code>::</code>) for example.com and its subdomains.'));
o.optional = true;
- o.placeholder = '/router.local/192.168.0.1';
+ o.placeholder = '/router.local/router.lan/192.168.0.1';
o = s.taboption('general', form.DynamicList, 'ipset',
_('IP sets'),
so.value(index, '%s (Domain: %s, Local: %s)'.format(index, val.domain || '?', val.local || '?'));
});
+ o = s.taboption('srvhosts', form.SectionValue, '__srvhosts__', form.TableSection, 'srvhost', null,
+ _('Bind service records to a domain name: specify the location of services. See <a href="%s">RFC2782</a>.').format('https://datatracker.ietf.org/doc/html/rfc2782')
+ + '<br />' + _('_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Note: while _http is possible, no browsers support SRV records.)')
+ + '<br />' + _('_proto: _tcp, _udp, _sctp, _quic, … .')
+ + '<br />' + _('You may add multiple records for the same Target.')
+ + '<br />' + _('Larger weights (of the same prio) are given a proportionately higher probability of being selected.'));
+
+ ss = o.subsection;
+
+ ss.addremove = true;
+ ss.anonymous = true;
+ ss.sortable = true;
+ ss.rowcolors = true;
+
+ so = ss.option(form.Value, 'srv', _('SRV'), _('Syntax: <code>_service._proto.example.com</code>.'));
+ so.rmempty = false;
+ so.datatype = 'hostname';
+ so.placeholder = '_sip._tcp.example.com';
+
+ so = ss.option(form.Value, 'target', _('Target'), _('CNAME or fqdn'));
+ so.rmempty = false;
+ so.datatype = 'hostname';
+ so.placeholder = 'sip.example.com';
+
+ so = ss.option(form.Value, 'port', _('Port'));
+ so.rmempty = false;
+ so.datatype = 'port';
+ so.placeholder = '5060';
+
+ so = ss.option(form.Value, 'class', _('Priority'), _('Ordinal: lower comes first.'));
+ so.rmempty = true;
+ so.datatype = 'range(0,65535)';
+ so.placeholder = '10';
+
+ so = ss.option(form.Value, 'weight', _('Weight'));
+ so.rmempty = true;
+ so.datatype = 'range(0,65535)';
+ so.placeholder = '50';
+
+ o = s.taboption('mxhosts', form.SectionValue, '__mxhosts__', form.TableSection, 'mxhost', null,
+ _('Bind service records to a domain name: specify the location of services.')
+ + '<br />' + _('You may add multiple records for the same domain.'));
+
+ ss = o.subsection;
+
+ ss.addremove = true;
+ ss.anonymous = true;
+ ss.sortable = true;
+ ss.rowcolors = true;
+ ss.nodescriptions = true;
+
+ so = ss.option(form.Value, 'domain', _('Domain'));
+ so.rmempty = false;
+ so.datatype = 'hostname';
+ so.placeholder = 'example.com';
+
+ so = ss.option(form.Value, 'relay', _('Relay'));
+ so.rmempty = false;
+ so.datatype = 'hostname';
+ so.placeholder = 'relay.example.com';
+
+ so = ss.option(form.Value, 'pref', _('Priority'), _('Ordinal: lower comes first.'));
+ so.rmempty = true;
+ so.datatype = 'range(0,65535)';
+ so.placeholder = '0';
+
o = s.taboption('hosts', form.SectionValue, '__hosts__', form.GridSection, 'domain', null,
_('Hostnames are used to bind a domain name to an IP address. This setting is redundant for hostnames already configured with static leases, but it can be useful to rebind an FQDN.'));
};
s.modaltitle = function(section_id) {
- return _('Interfaces') + ' » ' + section_id.toUpperCase();
+ return _('Interfaces') + ' » ' + section_id;
};
s.renderRowActions = function(section_id) {
'class': 'ifacebox-head',
'style': firewall.getZoneColorStyle(zone),
'title': zone ? _('Part of zone %q').format(zone.getName()) : _('No zone assigned')
- }, E('strong', net.getName().toUpperCase())),
+ }, E('strong', net.getName())),
E('div', {
'class': 'ifacebox-body',
'id': '%s-ifc-devices'.format(section_id),
this.toggleWifiBand(elem);
bwdt.value = htval;
- chan.value = chval || chan.options[0].value;
+ chan.value = chval || (chan.options[0] ? chan.options[0].value : 'auto');
return elem;
},
include $(TOPDIR)/rules.mk
LUCI_TITLE:=LuCI Status Pages
-LUCI_DEPENDS:=+luci-base +libiwinfo +libiwinfo-lua
+LUCI_DEPENDS:=+luci-base +libiwinfo +rpcd-mod-iwinfo
PKG_BUILD_DEPENDS:=iwinfo
PKG_LICENSE:=Apache-2.0
'use strict';
'require baseclass';
+'require network';
'require rpc';
var callDSLMetrics = rpc.declare({
title: _('DSL'),
load: function() {
- if (!L.hasSystemFeature('dsl'))
- return Promise.reject();
+ return network.getDSLModemType().then(function(type) {
+ if (!type)
+ return Promise.reject();
- return L.resolveDefault(callDSLMetrics(), {});
+ return L.resolveDefault(callDSLMetrics(), {});
+ });
},
render: function(dsl) {
+++ /dev/null
-<%#
- Copyright 2008 Steven Barth <steven@midlink.org>
- Copyright 2008-2018 Jo-Philipp Wich <jo@mein.io>
- Licensed to the public under the Apache License 2.0.
--%>
-
-<%+header%>
-
-<h2 name="content"><%:Status%></h2>
-
-<div id="view">
- <div class="spinning"><%:Loading view…%></div>
-</div>
-
-<script type="text/javascript">//<![CDATA[
-function progressbar(query, value, max, byte)
-{
- var pg = document.querySelector(query),
- vn = parseInt(value) || 0,
- mn = parseInt(max) || 100,
- fv = byte ? String.format('%1024.2mB', value) : value,
- fm = byte ? String.format('%1024.2mB', max) : max,
- pc = Math.floor((100 / mn) * vn);
-
- if (pg) {
- pg.firstElementChild.style.width = pc + '%';
- pg.setAttribute('title', '%s / %s (%d%%)'.format(fv, fm, pc));
- }
-}
-
-function renderBox(title, active, childs) {
- childs = childs || [];
- childs.unshift(L.itemlist(E('span'), [].slice.call(arguments, 3)));
-
- return E('div', { class: 'ifacebox' }, [
- E('div', { class: 'ifacebox-head center ' + (active ? 'active' : '') },
- E('strong', title)),
- E('div', { class: 'ifacebox-body left' }, childs)
- ]);
-}
-
-function renderBadge(icon, title) {
- return E('span', { class: 'ifacebadge' }, [
- E('img', { src: icon, title: title || '' }),
- L.itemlist(E('span'), [].slice.call(arguments, 2))
- ]);
-}
-
-//]]></script>
-
-<div class="includes" style="display:none">
-<%-
- local util = require "luci.util"
- local fs = require "nixio.fs"
-
- local incdir = util.libpath() .. "/view/admin_status/index/"
- if fs.access(incdir) then
- local _, inc
- local includes = {}
- for inc in fs.dir(incdir) do
- if inc:match("%.htm$") then
- includes[#includes + 1] = inc:gsub("%.htm$", "")
- end
- end
- for _, inc in luci.util.vspairs(includes) do
- include("admin_status/index/" .. inc)
- end
- end
--%>
-</div>
-
-<script type="text/javascript">
- L.require('ui').then(function(ui) {
- ui.instantiateView('status/index');
- });
-</script>
-
-<%+footer%>
--- /dev/null
+{#
+ Copyright 2008 Steven Barth <steven@midlink.org>
+ Copyright 2008-2022 Jo-Philipp Wich <jo@mein.io>
+ Licensed to the public under the Apache License 2.0.
+-#}
+
+{% include('header') %}
+
+<h2 name="content">{{ _('Status') }}</h2>
+
+<div id="view">
+ <div class="spinning">{{ _('Loading view…') }}</div>
+</div>
+
+<script type="text/javascript">//<![CDATA[
+function progressbar(query, value, max, byte)
+{
+ var pg = document.querySelector(query),
+ vn = parseInt(value) || 0,
+ mn = parseInt(max) || 100,
+ fv = byte ? String.format('%1024.2mB', value) : value,
+ fm = byte ? String.format('%1024.2mB', max) : max,
+ pc = Math.floor((100 / mn) * vn);
+
+ if (pg) {
+ pg.firstElementChild.style.width = pc + '%';
+ pg.setAttribute('title', '%s / %s (%d%%)'.format(fv, fm, pc));
+ }
+}
+
+function renderBox(title, active, childs) {
+ childs = childs || [];
+ childs.unshift(L.itemlist(E('span'), [].slice.call(arguments, 3)));
+
+ return E('div', { class: 'ifacebox' }, [
+ E('div', { class: 'ifacebox-head center ' + (active ? 'active' : '') },
+ E('strong', title)),
+ E('div', { class: 'ifacebox-body left' }, childs)
+ ]);
+}
+
+function renderBadge(icon, title) {
+ return E('span', { class: 'ifacebadge' }, [
+ E('img', { src: icon, title: title || '' }),
+ L.itemlist(E('span'), [].slice.call(arguments, 2))
+ ]);
+}
+
+//]]></script>
+
+<div class="includes" style="display:none">
+{%
+ let lua_available = true;
+
+ try { require('lua'); }
+ catch(err) { lua_available = false; }
+
+ if (lua_available)
+ include('admin_status/luaindex');
+%}
+</div>
+
+<script type="text/javascript">
+ L.require('ui').then(function(ui) {
+ ui.instantiateView('status/index');
+ });
+</script>
+
+{% include('footer') %}
+++ /dev/null
--- Copyright 2008 Steven Barth <steven@midlink.org>
--- Copyright 2011 Jo-Philipp Wich <jow@openwrt.org>
--- Licensed to the public under the Apache License 2.0.
-
-if luci.http.formvalue("cbid.luci.1._list") then
- luci.http.redirect(luci.dispatcher.build_url("admin/system/flashops/backupfiles") .. "?display=list")
-elseif luci.http.formvalue("cbid.luci.1._edit") then
- luci.http.redirect(luci.dispatcher.build_url("admin/system/flashops/backupfiles") .. "?display=edit")
- return
-end
-
-m = SimpleForm("luci", translate("Backup file list"))
-m:append(Template("admin_system/backupfiles"))
-
-if luci.http.formvalue("display") ~= "list" then
- f = m:section(SimpleSection, nil, translate("This is a list of shell glob patterns for matching files and directories to include during sysupgrade. Modified files in /etc/config/ and certain other configurations are automatically preserved."))
-
- l = f:option(Button, "_list", translate("Show current backup file list"))
- l.inputtitle = translate("Open list...")
- l.inputstyle = "apply"
-
- c = f:option(TextValue, "_custom")
- c.forcewrite = true
- c.rmempty = true
- c.cols = 70
- c.rows = 30
-
- c.cfgvalue = function(self, section)
- return nixio.fs.readfile("/etc/sysupgrade.conf")
- end
-
- m.handle = function(self, state, data)
- if state == FORM_VALID then
- if data._custom then
- nixio.fs.writefile("/etc/sysupgrade.conf", data._custom:gsub("\r\n", "\n"))
- else
- nixio.fs.writefile("/etc/sysupgrade.conf", "")
- end
- end
- return true
- end
-else
- m.submit = false
- m.reset = false
-
- f = m:section(SimpleSection, nil, translate("Below is the determined list of files to backup. It consists of changed configuration files marked by opkg, essential base files and the user defined backup patterns."))
-
- l = f:option(Button, "_edit", translate("Back to configuration"))
- l.inputtitle = translate("Close list...")
- l.inputstyle = "link"
-
-
- d = f:option(DummyValue, "_detected")
- d.rawhtml = true
- d.cfgvalue = function(s)
- local list = io.popen(
- "( find $(sed -ne '/^[[:space:]]*$/d; /^#/d; p' /etc/sysupgrade.conf " ..
- "/lib/upgrade/keep.d/* 2>/dev/null) -type f 2>/dev/null; " ..
- "opkg list-changed-conffiles ) | sort -u"
- )
-
- if list then
- local files = { "<ul>" }
-
- while true do
- local ln = list:read("*l")
- if not ln then
- break
- else
- files[#files+1] = "<li>"
- files[#files+1] = luci.xml.pcdata(ln)
- files[#files+1] = "</li>"
- end
- end
-
- list:close()
- files[#files+1] = "</ul>"
-
- return table.concat(files, "")
- end
-
- return "<em>" .. translate("No files found") .. "</em>"
- end
-
-end
-
-return m
include $(TOPDIR)/rules.mk
LUCI_TITLE:=Support for OpenConnect VPN
-LUCI_DEPENDS:=+openconnect
+LUCI_DEPENDS:=+openconnect +luci-lua-runtime
include ../../luci.mk
include $(TOPDIR)/rules.mk
LUCI_TITLE:=Support for OpenFortivpn
-LUCI_DEPENDS:=+openfortivpn
+LUCI_DEPENDS:=+openfortivpn +luci-lua-runtime
include ../../luci.mk
include $(TOPDIR)/rules.mk
LUCI_TITLE:=Support for WireGuard VPN
-LUCI_DEPENDS:=+wireguard-tools +libuci-lua
+LUCI_DEPENDS:=+wireguard-tools +ucode
LUCI_PKGARCH:=all
include ../../luci.mk
+++ /dev/null
-#!/usr/bin/env lua
-
-local json = require "luci.jsonc"
-local util = require "luci.util"
-local sys = require "luci.sys"
-local io = require "io"
-local uci = require "uci"
-local fs = require "nixio.fs"
-
-local methods = {
- generatePsk = {
- call = function()
- local psk = sys.exec("wg genpsk"):sub(1, -2)
-
- return {psk = psk}
- end
- },
- generateKeyPair = {
- call = function()
- local prv = sys.exec("wg genkey 2>/dev/null"):sub(1, -2)
- local pub = sys.exec("echo %s | wg pubkey 2>/dev/null" % util.shellquote(prv)):sub(1, -2)
-
- return {keys = {priv = prv, pub = pub}}
- end
- },
- getPublicAndPrivateKeyFromPrivate = {
- args = {privkey = "privkey"},
- call = function(args)
- local pubkey = sys.exec("echo %s | wg pubkey 2>/dev/null" % util.shellquote(args.privkey)):sub(1, -2)
-
- return {keys = {priv = args.privkey, pub = pubkey}}
- end
- },
- getWgInstances = {
- call = function()
- local data = {}
- local last_device = ""
- local qr_pubkey = {}
-
- local wg_dump = io.popen("wg show all dump 2>/dev/null")
- if wg_dump then
- local line
- for line in wg_dump:lines() do
- local line = string.split(line, "\t")
- if not (last_device == line[1]) then
- last_device = line[1]
- data[line[1]] = {
- name = line[1],
- public_key = line[3],
- listen_port = line[4],
- fwmark = line[5],
- peers = {}
- }
- if not line[3] or line[3] == "" or line[3] == "(none)" then
- qr_pubkey[line[1]] = ""
- else
- qr_pubkey[line[1]] = "PublicKey = " .. line[3]
- end
- else
- local peer_name
- local cur = uci.cursor()
-
- cur:foreach(
- "network",
- "wireguard_" .. line[1],
- function(s)
- if s.public_key == line[2] then
- peer_name = s.description
- end
- end
- )
-
- local peer = {
- name = peer_name,
- public_key = line[2],
- endpoint = line[4],
- allowed_ips = {},
- latest_handshake = line[6],
- transfer_rx = line[7],
- transfer_tx = line[8],
- persistent_keepalive = line[9]
- }
-
- if not (line[4] == "(none)") then
- local ipkey, ipvalue
- for ipkey, ipvalue in pairs(string.split(line[5], ",")) do
- if #ipvalue > 0 then
- table.insert(peer["allowed_ips"], ipvalue)
- end
- end
- end
-
- table.insert(data[line[1]].peers, peer)
- end
- end
- end
-
- return data
- end
- }
-}
-
-local function parseInput()
- local parse = json.new()
- local done, err
-
- while true do
- local chunk = io.read(4096)
- if not chunk then
- break
- elseif not done and not err then
- done, err = parse:parse(chunk)
- end
- end
-
- if not done then
- print(json.stringify({error = err or "Incomplete input"}))
- os.exit(1)
- end
-
- return parse:get()
-end
-
-local function validateArgs(func, uargs)
- local method = methods[func]
- if not method then
- print(json.stringify({error = "Method not found"}))
- os.exit(1)
- end
-
- if type(uargs) ~= "table" then
- print(json.stringify({error = "Invalid arguments"}))
- os.exit(1)
- end
-
- uargs.ubus_rpc_session = nil
-
- local k, v
- local margs = method.args or {}
- for k, v in pairs(uargs) do
- if margs[k] == nil or (v ~= nil and type(v) ~= type(margs[k])) then
- print(json.stringify({error = "Invalid arguments"}))
- os.exit(1)
- end
- end
-
- return method
-end
-
-if arg[1] == "list" then
- local _, method, rv = nil, nil, {}
- for _, method in pairs(methods) do
- rv[_] = method.args or {}
- end
- print((json.stringify(rv):gsub(":%[%]", ":{}")))
-elseif arg[1] == "call" then
- local args = parseInput()
- local method = validateArgs(arg[2], args)
- local result, code = method.call(args)
- print((json.stringify(result):gsub("^%[%]$", "{}")))
- os.exit(code or 0)
-end
--- /dev/null
+// Copyright 2022 Jo-Philipp Wich <jo@mein.io>
+// Licensed to the public under the Apache License 2.0.
+
+'use strict';
+
+import { cursor } from 'uci';
+import { popen } from 'fs';
+
+
+function shellquote(s) {
+ return `'${replace(s ?? '', "'", "'\\''")}'`;
+}
+
+function command(cmd) {
+ return trim(popen(cmd)?.read?.('all'));
+}
+
+
+const methods = {
+ generatePsk: {
+ call: function() {
+ return { psk: command('wg genpsk 2>/dev/null') };
+ }
+ },
+
+ generateKeyPair: {
+ call: function() {
+ const priv = command('wg genkey 2>/dev/null');
+ const pub = command(`echo ${shellquote(priv)} | wg pubkey 2>/dev/null`);
+
+ return { keys: { priv, pub } };
+ }
+ },
+
+ getPublicAndPrivateKeyFromPrivate: {
+ args: { privkey: "privkey" },
+ call: function(req) {
+ const priv = req.args?.privkey;
+ const pub = command(`echo ${shellquote(priv)} | wg pubkey 2>/dev/null`);
+
+ return { keys: { priv, pub } };
+ }
+ },
+
+ getWgInstances: {
+ call: function() {
+ const data = {};
+ let last_device;
+ let qr_pubkey = {};
+
+ const uci = cursor();
+ const wg_dump = popen("wg show all dump 2>/dev/null");
+
+ if (wg_dump) {
+ for (let line = wg_dump.read('line'); length(line); line = wg_dump.read('line')) {
+ const record = split(rtrim(line, '\n'), '\t');
+
+ if (last_device != record[0]) {
+ last_device = record[0];
+ data[last_device] = {
+ name: last_device,
+ public_key: record[2],
+ listen_port: record[3],
+ fwmark: record[4],
+ peers: []
+ };
+
+ if (!length(record[2]) || record[2] == '(none)')
+ qr_pubkey[last_device] = '';
+ else
+ qr_pubkey[last_device] = `PublicKey = ${record[2]}`;
+ }
+ else {
+ let peer_name;
+
+ uci.foreach('network', `wireguard_${last_device}`, (s) => {
+ if (s.public_key == record[1])
+ peer_name = s.description;
+ });
+
+ const peer = {
+ name: peer_name,
+ public_key: record[1],
+ endpoint: record[3],
+ allowed_ips: [],
+ latest_handshake: record[5],
+ transfer_rx: record[6],
+ transfer_tx: record[7],
+ persistent_keepalive: record[8]
+ };
+
+ if (record[3] != '(none)' && length(record[4]))
+ push(peer.allowed_ips, ...split(record[4], ','));
+
+ push(data[last_device].peers, peer);
+ }
+ }
+ }
+
+ return data;
+ }
+ }
+};
+
+return { 'luci.wireguard': methods };
+++ /dev/null
-bootstrap
\ No newline at end of file
+++ /dev/null
-bootstrap
\ No newline at end of file
+++ /dev/null
-<%#
- Copyright 2008 Steven Barth <steven@midlink.org>
- Copyright 2008 Jo-Philipp Wich <jow@openwrt.org>
- Copyright 2012 David Menting <david@nut-bolt.nl>
- Licensed to the public under the Apache License 2.0.
--%>
-
- <% if not blank_page then %>
- <% local ver = require "luci.version" %>
- </div>
- <footer>
- <span>
- <a href="https://github.com/openwrt/luci">Powered by <%= ver.luciname %> (<%= ver.luciversion %>)</a> / <%= ver.distversion %>
- </span>
- <ul class="breadcrumb pull-right" id="modemenu" style="display:none"></ul>
- </footer>
- <script type="text/javascript">L.require('menu-bootstrap')</script>
- <% end %>
- </body>
-</html>
-
+++ /dev/null
-<%#
- Copyright 2008 Steven Barth <steven@midlink.org>
- Copyright 2008-2016 Jo-Philipp Wich <jow@openwrt.org>
- Copyright 2012 David Menting <david@nut-bolt.nl>
- Licensed to the public under the Apache License 2.0.
--%>
-
-<%
- local sys = require "luci.sys"
- local util = require "luci.util"
- local http = require "luci.http"
- local disp = require "luci.dispatcher"
-
- local boardinfo = util.ubus("system", "board")
-
- local node = disp.context.dispatched
-
- local darkpref
-
- if theme == "bootstrap-dark" then
- darkpref = "true"
- elseif theme == "bootstrap-light" then
- darkpref = "false"
- end
-
- -- send as HTML5
- http.prepare_content("text/html")
--%>
-<!DOCTYPE html>
-<html lang="<%=luci.i18n.context.lang%>"<%= ifattr(darkpref ~= nil, "data-darkmode", darkpref) %>>
- <head>
- <meta charset="utf-8">
- <title><%=striptags( (boardinfo.hostname or "?") .. ( (node and node.title) and ' - ' .. translate(node.title) or '')) %> - LuCI</title>
- <% if darkpref == nil then %>
- <script type="text/javascript">
- var mediaQuery = window.matchMedia('(prefers-color-scheme: dark)'),
- rootElement = document.querySelector(':root'),
- setDarkMode = function(match) { rootElement.setAttribute('data-darkmode', match.matches) };
-
- mediaQuery.addEventListener('change', setDarkMode);
- setDarkMode(mediaQuery);
- </script>
- <% end %>
- <meta name="viewport" content="initial-scale=1.0">
- <link rel="stylesheet" href="<%=media%>/cascade.css">
- <link rel="stylesheet" media="only screen and (max-device-width: 854px)" href="<%=media%>/mobile.css" type="text/css" />
- <link rel="shortcut icon" href="<%=media%>/favicon.png">
- <% if node and node.css then %>
- <link rel="stylesheet" href="<%=resource%>/<%=node.css%>">
- <% end -%>
- <% if css then %>
- <style title="text/css"><%= css %></style>
- <% end -%>
- <script src="<%=url('admin/translations', luci.i18n.context.lang)%><%# ?v=PKG_VERSION %>"></script>
- <script src="<%=resource%>/cbi.js"></script>
- </head>
-
- <body class="lang_<%=luci.i18n.context.lang%> <% if node then %><%= striptags( node.title ) %><%- end %>" data-page="<%= pcdata(table.concat(disp.context.requestpath, "-")) %>">
- <% if not blank_page then %>
- <header>
- <a class="brand" href="/"><%=striptags(boardinfo.hostname or "?")%></a>
- <ul class="nav" id="topmenu" style="display:none"></ul>
- <div id="indicators" class="pull-right"></div>
- </header>
-
- <div id="maincontent" class="container">
- <%- if luci.sys.process.info("uid") == 0 and luci.sys.user.getuser("root") and not luci.sys.user.getpasswd("root") then -%>
- <div class="alert-message warning">
- <h4><%:No password set!%></h4>
- <p><%:There is no password set on this router. Please configure a root password to protect the web interface.%></p>
- <% if disp.lookup("admin/system/admin") then %>
- <div class="right"><a class="btn" href="<%=url("admin/system/admin")%>"><%:Go to password configuration...%></a></div>
- <% end %>
- </div>
- <%- end -%>
-
- <%- if boardinfo.rootfs_type == "initramfs" then -%>
- <div class="alert-message warning">
- <h4><%:System running in recovery (initramfs) mode.%></h4>
- <p><%:No changes to settings will be stored and are lost after rebooting. This mode should only be used to install a firmware upgrade%></p>
- <% if disp.lookup("admin/system/flash") then %>
- <div class="right"><a class="btn" href="<%=url("admin/system/flash")%>"><%:Go to firmware upgrade...%></a></div>
- <% end %>
- </div>
- <%- end -%>
-
- <noscript>
- <div class="alert-message warning">
- <h4><%:JavaScript required!%></h4>
- <p><%:You must enable JavaScript in your browser or LuCI will not work properly.%></p>
- </div>
- </noscript>
-
- <div id="tabmenu" style="display:none"></div>
- <% end %>
+++ /dev/null
-<%#
- Copyright 2021 Jo-Philipp Wich <jo@mein.io>
- Licensed to the public under the Apache License 2.0.
--%>
-
-<%
- -- tell bootstrap's templates to not render header and footer
- blank_page = true
-%>
-
-<%+header%>
-
-<section hidden>
- <form method="post" class="cbi-map">
- <div class="cbi-section">
- <div class="cbi-section-node">
- <div class="cbi-value">
- <label class="cbi-value-title" for="luci_username"><%:Username%></label>
- <div class="cbi-value-field">
- <input name="luci_username" id="luci_username" type="text" autocomplete="username" <%=attr("value", duser)%>>
- </div>
- </div>
- <div class="cbi-value">
- <label class="cbi-value-title" for="luci_password"><%:Password%></label>
- <div class="cbi-value-field">
- <input name="luci_password" id="luci_password" type="password" autocomplete="current-password">
- </div>
- </div>
- </div>
- </div>
- </form>
-
- <hr>
-
- <% if fuser then %>
- <div class="alert-message error">
- <%:Invalid username and/or password! Please try again.%>
- </div>
- <% end %>
-
- <button class="btn cbi-button-positive important"><%:Login%></button>
-</section>
-
-<div id="view">
- <div class="spinning"><%:Loading view…%></div>
- <script type="text/javascript">
- L.require('ui').then(function(ui) {
- ui.instantiateView('bootstrap.sysauth');
- });
- </script>
-</div>
-
-<%+footer%>
--- /dev/null
+bootstrap
\ No newline at end of file
--- /dev/null
+bootstrap
\ No newline at end of file
--- /dev/null
+ {% if (!blank_page): %}
+ </div>
+ <footer>
+ <span>
+ Powered by
+ <a href="https://github.com/openwrt/luci">
+ {{ version.luciname }} ({{ version.luciversion }})</a>
+ /
+ <a href="{{ entityencode(version.disturl ?? '#', true) }}">
+ {{ version.distname }} {{ version.distversion }} ({{ version.distrevision }})</a>
+ {% if (lua_active): %}
+ / {{ _('Lua compatibility mode active') }}
+ {% endif %}
+ </span>
+ <ul class="breadcrumb pull-right" id="modemenu" style="display:none"></ul>
+ </footer>
+ <script type="text/javascript">L.require('menu-bootstrap')</script>
+ {% endif %}
+ </body>
+</html>
--- /dev/null
+{#
+ Copyright 2008 Steven Barth <steven@midlink.org>
+ Copyright 2012 David Menting <david@nut-bolt.nl>
+ Copyright 2008-2022 Jo-Philipp Wich <jo@mein.io>
+ Licensed to the public under the Apache License 2.0.
+-#}
+
+{%
+ import { getuid, getspnam } from 'luci.core';
+
+ const boardinfo = ubus.call('system', 'board');
+ const darkpref = (theme == 'bootstrap-dark' ? 'true' : (theme == 'bootstrap-light' ? 'false' : null));
+
+ http.prepare_content('text/html; charset=UTF-8');
+-%}
+
+<!DOCTYPE html>
+<html lang="{{ dispatcher.lang }}" {{ darkpref ? `data-darkmode="${darkpref}"` : '' }}>
+ <head>
+ <meta charset="utf-8">
+ <title>{{ striptags(`${boardinfo.hostname ?? '?'}${node ? ` - ${node.title}` : ''}`) }} - LuCI</title>
+ {% if (!darkpref): %}
+ <script type="text/javascript">
+ var mediaQuery = window.matchMedia('(prefers-color-scheme: dark)'),
+ rootElement = document.querySelector(':root'),
+ setDarkMode = function(match) { rootElement.setAttribute('data-darkmode', match.matches) };
+
+ mediaQuery.addEventListener('change', setDarkMode);
+ setDarkMode(mediaQuery);
+ </script>
+ {% endif %}
+ <meta name="viewport" content="initial-scale=1.0">
+ <link rel="stylesheet" href="{{ media }}/cascade.css">
+ <link rel="stylesheet" media="only screen and (max-device-width: 854px)" href="{{ media }}/mobile.css" type="text/css" />
+ <link rel="shortcut icon" href="{{ media }}/favicon.png">
+ {% if (node?.css): %}
+ <link rel="stylesheet" href="{{ resource }}/{{ node.css }}">
+ {% endif %}
+ {% if (css): %}
+ <style title="text/css">{{ css }}</style>
+ {% endif %}
+ <script src="{{ dispatcher.build_url('admin/translations', dispatcher.lang) }}"></script>
+ <script src="{{ resource }}/cbi.js"></script>
+ </head>
+
+ <body class="lang_{{ dispatcher.lang }} {{ entityencode(striptags(node?.title ?? ''), true) }}" data-page="{{ entityencode(join('-', ctx.request_path), true) }}">
+ {% if (!blank_page): %}
+ <header>
+ <a class="brand" href="/">{{ striptags(boardinfo.hostname ?? '?') }}</a>
+ <ul class="nav" id="topmenu" style="display:none"></ul>
+ <div id="indicators" class="pull-right"></div>
+ </header>
+
+ <div id="maincontent" class="container">
+ {% if (getuid() == 0 && getspnam('root')?.pwdp === ''): %}
+ <div class="alert-message warning">
+ <h4>{{ _('No password set!') }}</h4>
+ <p>{{ _('There is no password set on this router. Please configure a root password to protect the web interface.') }}</p>
+ {% if (dispatcher.lookup("admin/system/admin")): %}
+ <div class="right"><a class="btn" href="{{ dispatcher.build_url("admin/system/admin") }}">{{ _('Go to password configuration...') }}</a></div>
+ {% endif %}
+ </div>
+ {% endif %}
+
+ {% if (boardinfo.rootfs_type == "initramfs"): %}
+ <div class="alert-message warning">
+ <h4>{{ _('System running in recovery (initramfs) mode.') }}</h4>
+ <p>{{ _('No changes to settings will be stored and are lost after rebooting. This mode should only be used to install a firmware upgrade') }}</p>
+ {% if (dispatcher.lookup("admin/system/flash")): %}
+ <div class="right"><a class="btn" href="{{ dispatcher.build_url("admin/system/flash") }}">{{ _('Go to firmware upgrade...') }}</a></div>
+ {% endif %}
+ </div>
+ {% endif %}
+
+ <noscript>
+ <div class="alert-message warning">
+ <h4>{{ _('JavaScript required!') }}</h4>
+ <p>{{ _('You must enable JavaScript in your browser or LuCI will not work properly.') }}</p>
+ </div>
+ </noscript>
+
+ <div id="tabmenu" style="display:none"></div>
+ {% endif %}
--- /dev/null
+{#
+ Copyright 2022 Jo-Philipp Wich <jo@mein.io>
+ Licensed to the public under the Apache License 2.0.
+-#}
+
+{% include('header', { blank_page: true }) %}
+
+<section hidden>
+ <form method="post" class="cbi-map">
+ <div class="cbi-section">
+ <div class="cbi-section-node">
+ <div class="cbi-value">
+ <label class="cbi-value-title" for="luci_username">{{ _('Username') }}</label>
+ <div class="cbi-value-field">
+ <input name="luci_username" id="luci_username" type="text" autocomplete="username" value="{{ entityencode(duser, true) }}">
+ </div>
+ </div>
+ <div class="cbi-value">
+ <label class="cbi-value-title" for="luci_password">{{ _('Password') }}</label>
+ <div class="cbi-value-field">
+ <input name="luci_password" id="luci_password" type="password" autocomplete="current-password">
+ </div>
+ </div>
+ </div>
+ </div>
+ </form>
+
+ <hr>
+
+ {% if (fuser): %}
+ <div class="alert-message error">
+ {{ _('Invalid username and/or password! Please try again.') }}
+ </div>
+ {% endif %}
+
+ <button class="btn cbi-button-positive important">{{ _('Login') }}</button>
+</section>
+
+<div id="view">
+ <div class="spinning">{{ _('Loading view…') }}</div>
+ <script type="text/javascript">
+ L.require('ui').then(function(ui) {
+ ui.instantiateView('bootstrap.sysauth');
+ });
+ </script>
+</div>
+
+{% include('footer', { blank_page: true }) %}
+++ /dev/null
-<%#
- Material is a clean HTML5 theme for LuCI. It is based on luci-theme-bootstrap and MUI
-
- luci-theme-material
- Copyright 2015 Lutty Yang <lutty@wcan.in>
-
- Have a bug? Please create an issue here on GitHub!
- https://github.com/LuttyYang/luci-theme-material/issues
-
- luci-theme-bootstrap:
- Copyright 2008 Steven Barth <steven@midlink.org>
- Copyright 2008 Jo-Philipp Wich <jow@openwrt.org>
- Copyright 2012 David Menting <david@nut-bolt.nl>
-
- MUI:
- https://github.com/muicss/mui
-
- Licensed to the public under the Apache License 2.0
--%>
-
-<% local ver = require "luci.version" %>
- </div>
- <footer class="mobile-hide">
- <a href="https://github.com/openwrt/luci">Powered by <%= ver.luciname %> (<%= ver.luciversion %>)</a> / <%= ver.distversion %>
- </footer>
- </div>
-</div>
-
-<script type="text/javascript">L.require('menu-material')</script>
-
-</body>
-</html>
+++ /dev/null
-<%#
- Material is a clean HTML5 theme for LuCI. It is based on luci-theme-bootstrap and MUI
-
- luci-theme-material
- Copyright 2015-2017 Lutty Yang <lutty@wcan.in>
-
- Have a bug? Please create an issue here on GitHub!
- https://github.com/LuttyYang/luci-theme-material/issues
-
- luci-theme-bootstrap:
- Copyright 2008 Steven Barth <steven@midlink.org>
- Copyright 2008-2016 Jo-Philipp Wich <jow@openwrt.org>
- Copyright 2012 David Menting <david@nut-bolt.nl>
-
- MUI:
- https://github.com/muicss/mui
-
- Licensed to the public under the Apache License 2.0
--%>
-
-<%
- local sys = require "luci.sys"
- local util = require "luci.util"
- local http = require "luci.http"
- local disp = require "luci.dispatcher"
- local ver = require "luci.version"
-
- local boardinfo = util.ubus("system", "board") or { }
-
- local node = disp.context.dispatched
- local path = table.concat(disp.context.path, "-")
-
- http.prepare_content("text/html; charset=UTF-8")
--%>
-<!DOCTYPE html>
-<html lang="<%=luci.i18n.context.lang%>">
-<head>
-<meta charset="utf-8">
-<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport"/>
-<meta name="apple-mobile-web-app-capable" content="yes">
-<meta name="mobile-web-app-capable" content="yes">
-<meta name="theme-color" content="#09c">
-<meta name="msapplication-tap-highlight" content="no">
-<meta name="msapplication-TileColor" content="#09c">
-<meta name="application-name" content="<%=striptags( (boardinfo.hostname or "?") ) %> - LuCI">
-<meta name="apple-mobile-web-app-title" content="<%=striptags( (boardinfo.hostname or "?") ) %> - LuCI">
-<link rel="stylesheet" href="<%=media%>/cascade.css">
-<link rel="shortcut icon" href="<%=media%>/favicon.ico">
-<% if node and node.css then %>
-<link rel="stylesheet" href="<%=resource%>/<%=node.css%>">
-<% end -%>
-<script src="<%=url('admin/translations', luci.i18n.context.lang)%><%# ?v=PKG_VERSION %>"></script>
-<script src="<%=resource%>/cbi.js"></script>
-<title><%=striptags( (boardinfo.hostname or "?") .. ( (node and node.title) and ' - ' .. translate(node.title) or '')) %> - LuCI</title>
-<% if css then %><style title="text/css">
-<%= css %>
-</style>
-<% end -%>
-</head>
-<body class="lang_<%=luci.i18n.context.lang%> <% if luci.dispatcher.context.authsession then %>logged-in<% end %> <% if not (path == "") then %>node-<%= path %><% else %>node-main-login<% end %>" data-page="<%= pcdata(path) %>">
-<header>
- <div class="fill">
- <div class="container">
- <span class="showSide"></span>
- <a id="logo" href="<% if luci.dispatcher.context.authsession then %><%=url('admin/status/overview')%><% else %>#<% end %>"><img src="<%=media%>/brand.png" alt="OpenWrt"></a>
- <a class="brand" href="#"><%=striptags(boardinfo.hostname or "?")%></a>
- <span class="status" id="indicators"></span>
- </div>
- </div>
-</header>
-<div class="main">
- <div style="" class="loading"><span><div class="loading-img"></div><%:Collecting data...%></span></div>
- <div class="main-left" id="mainmenu" style="display:none"></div>
- <div class="main-right">
- <div class="modemenu-buttons" style="display:none">
- <ul id="modemenu"></ul>
- </div>
- <div class="darkMask"></div>
- <div id="maincontent">
- <div class="container">
- <%- if luci.sys.process.info("uid") == 0 and luci.sys.user.getuser("root") and not luci.sys.user.getpasswd("root") and path ~= "admin-system-admin-password" then -%>
- <%- end -%>
-
- <%- if boardinfo.rootfs_type == "initramfs" then -%>
- <div class="alert-message warning">
- <h4><%:System running in recovery (initramfs) mode.%></h4>
- <p><%:No changes to settings will be stored and are lost after rebooting. This mode should only be used to install a firmware upgrade%></p>
- <% if disp.lookup("admin/system/flash") then %>
- <div class="right"><a class="btn" href="<%=url("admin/system/flash")%>"><%:Go to firmware upgrade...%></a></div>
- <% end %>
- </div>
- <%- end -%>
-
- <noscript>
- <div class="alert-message warning">
- <h4><%:JavaScript required!%></h4>
- <p><%:You must enable JavaScript in your browser or LuCI will not work properly.%></p>
- </div>
- </noscript>
-
- <div id="tabmenu" style="display:none"></div>
--- /dev/null
+{#
+ Material is a clean HTML5 theme for LuCI. It is based on luci-theme-bootstrap and MUI
+
+ luci-theme-material
+ Copyright 2015 Lutty Yang <lutty@wcan.in>
+
+ Have a bug? Please create an issue here on GitHub!
+ https://github.com/LuttyYang/luci-theme-material/issues
+
+ luci-theme-bootstrap:
+ Copyright 2008 Steven Barth <steven@midlink.org>
+ Copyright 2008 Jo-Philipp Wich <jow@openwrt.org>
+ Copyright 2012 David Menting <david@nut-bolt.nl>
+
+ MUI:
+ https://github.com/muicss/mui
+
+ Licensed to the public under the Apache License 2.0
+-#}
+
+ </div>
+ <footer class="mobile-hide">
+ <a href="https://github.com/openwrt/luci">Powered by {{ version.luciname }} ({{ version.luciversion }})</a> /
+ {{ version.distname }} {{ version.distversion }} ({{ version.distrevision }})
+ </footer>
+ </div>
+ </div>
+
+ <script type="text/javascript">L.require('menu-material')</script>
+
+</body>
+</html>
--- /dev/null
+{#
+ Material is a clean HTML5 theme for LuCI. It is based on luci-theme-bootstrap and MUI
+
+ luci-theme-material
+ Copyright 2015-2017 Lutty Yang <lutty@wcan.in>
+
+ Have a bug? Please create an issue here on GitHub!
+ https://github.com/LuttyYang/luci-theme-material/issues
+
+ luci-theme-bootstrap:
+ Copyright 2008 Steven Barth <steven@midlink.org>
+ Copyright 2008-2016 Jo-Philipp Wich <jow@openwrt.org>
+ Copyright 2012 David Menting <david@nut-bolt.nl>
+
+ MUI:
+ https://github.com/muicss/mui
+
+ Licensed to the public under the Apache License 2.0
+-#}
+
+{%
+ import { getuid, getspnam } from 'luci.core';
+
+ const boardinfo = ubus.call('system', 'board');
+ const hostname = striptags(boardinfo?.hostname ?? '?');
+
+ http.prepare_content('text/html; charset=UTF-8');
+-%}
+
+<!DOCTYPE html>
+<html lang="{{ dispatcher.lang }}">
+<head>
+<meta charset="utf-8">
+<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport"/>
+<meta name="apple-mobile-web-app-capable" content="yes">
+<meta name="mobile-web-app-capable" content="yes">
+<meta name="theme-color" content="#09c">
+<meta name="msapplication-tap-highlight" content="no">
+<meta name="msapplication-TileColor" content="#09c">
+<meta name="application-name" content="{{ hostname }} - LuCI">
+<meta name="apple-mobile-web-app-title" content="{{ hostname }} - LuCI">
+<link rel="stylesheet" href="{{ media }}/cascade.css">
+<link rel="shortcut icon" href="{{ media }}/favicon.ico">
+{% if (node?.css): %}
+<link rel="stylesheet" href="{{ resource }}/{{ node.css }}">
+{% endif %}
+<script src="{{ dispatcher.build_url('admin/translations', dispatcher.lang) }}"></script>
+<script src="{{ resource }}/cbi.js"></script>
+<title>{{ hostname }}{{ node?.title ? ` - ${striptags(node.title)}` : '' }} - LuCI</title>
+{% if (css): %}
+<style title="text/css">{{ css }}</style>
+{% endif %}
+</head>
+<body class="lang_{{ dispatcher.lang }} {{ ctx.authsession ? 'logged-in' : '' }} {{ length(ctx.path) ? `node-${join('-', ctx.path)}` : 'node-main-login' }}" data-page="{{ entityencode(join('-', ctx.path), true) }}">
+<header>
+ <div class="fill">
+ <div class="container">
+ <span class="showSide"></span>
+ <a id="logo" href="{{ ctx.authsession ? dispatcher.build_url('admin/status/overview') : '#' }}"><img src="{{ media }}/brand.png" alt="OpenWrt"></a>
+ <a class="brand" href="#">{{ hostname }}</a>
+ <span class="status" id="indicators"></span>
+ </div>
+ </div>
+</header>
+<div class="main">
+ <div style="" class="loading"><span><div class="loading-img"></div>{{ _('Collecting data...') }}</span></div>
+ <div class="main-left" id="mainmenu" style="display:none"></div>
+ <div class="main-right">
+ <div class="modemenu-buttons" style="display:none">
+ <ul id="modemenu"></ul>
+ </div>
+ <div class="darkMask"></div>
+ <div id="maincontent">
+ <div class="container">
+ {% if (getuid() == 0 && getspnam('root')?.pwdp === ''): %}
+ <!-- no password set -->
+ {% endif %}
+
+ {% if (boardinfo?.rootfs_type == "initramfs"): %}
+ <div class="alert-message warning">
+ <h4>{{ _('System running in recovery (initramfs) mode.') }}</h4>
+ <p>{{ _('No changes to settings will be stored and are lost after rebooting. This mode should only be used to install a firmware upgrade') }}</p>
+ {% if (dispatcher.lookup("admin/system/flash")): %}
+ <div class="right"><a class="btn" href="{{ dispatcher.build_url("admin/system/flash") }}">{{ _('Go to firmware upgrade...') }}</a></div>
+ {% endif %}
+ </div>
+ {% endif %}
+
+ <noscript>
+ <div class="alert-message warning">
+ <h4>{{ _('JavaScript required!') }}</h4>
+ <p>{{ _('You must enable JavaScript in your browser or LuCI will not work properly.') }}</p>
+ </div>
+ </noscript>
+
+ <div id="tabmenu" style="display:none"></div>
+++ /dev/null
-<%#
- Copyright 2020 Jo-Philipp Wich <jo@mein.io>
- Licensed to the public under the Apache License 2.0.
--%>
-
-</div>
-</div>
-
-<p class="luci">
- <% local ver = require "luci.version" -%>
- Powered by <%= ver.luciname %> (<%= ver.luciversion %>)
-</p>
-
-<script type="text/javascript">L.require('menu-openwrt2020')</script>
-
-</body>
-</html>
+++ /dev/null
-<%#
- Copyright 2020 Jo-Philipp Wich <jo@mein.io>
- Licensed to the public under the Apache License 2.0.
--%>
-
-<%
- local sys = require "luci.sys"
- local util = require "luci.util"
- local http = require "luci.http"
- local disp = require "luci.dispatcher"
- local ver = require "luci.version"
-
- local boardinfo = util.ubus("system", "board") or { }
-
- local node = disp.context.dispatched
- local path = table.concat(disp.context.path, "-")
-
- http.prepare_content("text/html; charset=UTF-8")
--%>
-<!DOCTYPE html>
-<html lang="<%=luci.i18n.context.lang%>">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<meta name="viewport" content="width=device-width, initial-scale=1" />
-<meta name="apple-mobile-web-app-capable" content="yes" />
-<link rel="stylesheet" type="text/css" media="screen" href="<%=media%>/cascade.css" />
-<link rel="icon" href="<%=media%>/logo.svg" type="image/svg+xml" />
-<link rel="apple-touch-icon" href="<%=media%>/logo.png" />
-<script type="text/javascript" src="<%=url('admin/translations', luci.i18n.context.lang)%><%# ?v=PKG_VERSION %>"></script>
-<script type="text/javascript" src="<%=resource%>/cbi.js"></script>
-<title><%=striptags( (boardinfo.hostname or "?") .. ( (node and node.title) and ' - ' .. translate(node.title) or '')) %> - LuCI</title>
-<% if css then %><style title="text/css">
-<%= css %>
-</style>
-<% end -%>
-</head>
-<body class="lang_<%=luci.i18n.context.lang%>" data-page="<%= pcdata(path) %>">
-
-<p class="skiplink">
-<span id="skiplink1"><a href="#navigation"><%:Skip to navigation%></a></span>
-<span id="skiplink2"><a href="#content"><%:Skip to content%></a></span>
-</p>
-
-<div id="menubar">
- <h2 class="navigation"><a id="navigation" name="navigation"><%:Navigation%></a></h2>
-
- <span class="hostname"><a href="/"><%=striptags(boardinfo.hostname or "?")%></a></span>
- <span class="distversion"><%=ver.distversion%></span>
- <span id="indicators"></span>
-</div>
-
-<div id="modemenu" style="display:none"></div>
-
-<div id="maincontainer">
- <div id="mainmenu"></div>
-
- <div id="maincontent">
- <%- if luci.sys.process.info("uid") == 0 and luci.sys.user.getuser("root") and not luci.sys.user.getpasswd("root") and path ~= "admin-system-admin-password" then -%>
- <div class="alert-message warning">
- <h4><%:No password set!%></h4>
- <p><%:There is no password set on this router. Please configure a root password to protect the web interface.%></p>
- <% if disp.lookup("admin/system/admin") then %>
- <div class="right"><a class="btn" href="<%=url("admin/system/admin")%>"><%:Go to password configuration...%></a></div>
- <% end %>
- </div>
- <%- end -%>
-
- <%- if boardinfo.rootfs_type == "initramfs" then -%>
- <div class="alert-message warning">
- <h4><%:System running in recovery (initramfs) mode.%></h4>
- <p><%:No changes to settings will be stored and are lost after rebooting. This mode should only be used to install a firmware upgrade%></p>
- <% if disp.lookup("admin/system/flash") then %>
- <div class="right"><a class="btn" href="<%=url("admin/system/flash")%>"><%:Go to firmware upgrade...%></a></div>
- <% end %>
- </div>
- <%- end -%>
-
- <div id="tabmenu" style="display:none"></div>
--- /dev/null
+{#
+ Copyright 2020 Jo-Philipp Wich <jo@mein.io>
+ Licensed to the public under the Apache License 2.0.
+-#}
+
+</div>
+</div>
+
+<p class="luci">
+ Powered by {{ version.luciname }} ({{ version.luciversion }})
+</p>
+
+<script type="text/javascript">L.require('menu-openwrt2020')</script>
+
+</body>
+</html>
--- /dev/null
+{#
+ Copyright 2020 Jo-Philipp Wich <jo@mein.io>
+ Licensed to the public under the Apache License 2.0.
+-#}
+
+{%
+ import { getuid, getspnam } from 'luci.core';
+
+ const boardinfo = ubus.call('system', 'board');
+
+ http.prepare_content('text/html; charset=UTF-8');
+-%}
+
+<!DOCTYPE html>
+<html lang="{{ dispatcher.lang }}">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta http-equiv="Content-Script-Type" content="text/javascript" />
+<meta name="viewport" content="width=device-width, initial-scale=1" />
+<meta name="apple-mobile-web-app-capable" content="yes" />
+<link rel="stylesheet" type="text/css" media="screen" href="{{ media }}/cascade.css" />
+<link rel="icon" href="{{ media }}/logo.svg" type="image/svg+xml" />
+<link rel="apple-touch-icon" href="{{ media }}/logo.png" />
+<script type="text/javascript" src="{{ dispatcher.build_url('admin/translations', dispatcher.lang) }}"></script>
+<script type="text/javascript" src="{{ resource }}/cbi.js"></script>
+<title>{{ striptags(`${boardinfo.hostname ?? '?'}${node ? ` - ${node.title}` : ''}`) }} - LuCI</title>
+{% if (css): %}
+<style title="text/css">{{ css }}</style>
+{% endif %}
+</head>
+<body class="lang_{{ dispatcher.lang }}" data-page="{{ entityencode(join('-', ctx.request_path), true) }}">
+
+<p class="skiplink">
+<span id="skiplink1"><a href="#navigation">{{ _('Skip to navigation') }}</a></span>
+<span id="skiplink2"><a href="#content">{{ _('Skip to content') }}</a></span>
+</p>
+
+<div id="menubar">
+ <h2 class="navigation"><a id="navigation" name="navigation">{{ _('Navigation') }}</a></h2>
+
+ <span class="hostname"><a href="/">{{ striptags(boardinfo.hostname ?? '?') }}</a></span>
+ <span class="distversion">{{ version.distversion }} {{ version.distrevision }}</span>
+ <span id="indicators"></span>
+</div>
+
+<div id="modemenu" style="display:none"></div>
+
+<div id="maincontainer">
+ <div id="mainmenu"></div>
+
+ <div id="maincontent">
+ {% if (getuid() == 0 && getspnam('root')?.pwdp === '' && join('-', ctx.request_path) != 'admin-system-admin'): %}
+ <div class="alert-message warning">
+ <h4>{{ _('No password set!') }}</h4>
+ <p>{{ _('There is no password set on this router. Please configure a root password to protect the web interface.') }}</p>
+ {% if (dispatcher.lookup("admin/system/admin")): %}
+ <div class="right"><a class="btn" href="{{ dispatcher.build_url("admin/system/admin") }}">{{ _('Go to password configuration...') }}</a></div>
+ {% endif %}
+ </div>
+ {% endif %}
+
+ {% if (boardinfo.rootfs_type == "initramfs"): %}
+ <div class="alert-message warning">
+ <h4>{{ _('System running in recovery (initramfs) mode.') }}</h4>
+ <p>{{ _('No changes to settings will be stored and are lost after rebooting. This mode should only be used to install a firmware upgrade') }}</p>
+ {% if (dispatcher.lookup("admin/system/flash")): %}
+ <div class="right"><a class="btn" href="{{ dispatcher.build_url("admin/system/flash") }}">{{ _('Go to firmware upgrade...') }}</a></div>
+ {% endif %}
+ </div>
+ {% endif %}
+
+ <div id="tabmenu" style="display:none"></div>