summaryrefslogtreecommitdiffhomepage
path: root/modules/luci-mod-dsl
diff options
context:
space:
mode:
Diffstat (limited to 'modules/luci-mod-dsl')
-rw-r--r--modules/luci-mod-dsl/Makefile16
-rw-r--r--modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js400
-rw-r--r--modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js63
-rw-r--r--modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js188
-rw-r--r--modules/luci-mod-dsl/po/cs/dsl.po287
-rw-r--r--modules/luci-mod-dsl/po/da/dsl.po290
-rw-r--r--modules/luci-mod-dsl/po/de/dsl.po294
-rw-r--r--modules/luci-mod-dsl/po/es/dsl.po304
-rw-r--r--modules/luci-mod-dsl/po/fr/dsl.po279
-rw-r--r--modules/luci-mod-dsl/po/it/dsl.po291
-rw-r--r--modules/luci-mod-dsl/po/lt/dsl.po289
-rw-r--r--modules/luci-mod-dsl/po/nb_NO/dsl.po297
-rw-r--r--modules/luci-mod-dsl/po/pl/dsl.po294
-rw-r--r--modules/luci-mod-dsl/po/pt/dsl.po294
-rw-r--r--modules/luci-mod-dsl/po/pt_BR/dsl.po294
-rw-r--r--modules/luci-mod-dsl/po/ro/dsl.po295
-rw-r--r--modules/luci-mod-dsl/po/ru/dsl.po294
-rw-r--r--modules/luci-mod-dsl/po/sv/dsl.po292
-rw-r--r--modules/luci-mod-dsl/po/templates/dsl.pot276
-rw-r--r--modules/luci-mod-dsl/po/tr/dsl.po287
-rw-r--r--modules/luci-mod-dsl/po/uk/dsl.po286
-rw-r--r--modules/luci-mod-dsl/po/vi/dsl.po291
-rw-r--r--modules/luci-mod-dsl/po/zh_Hans/dsl.po285
-rw-r--r--modules/luci-mod-dsl/po/zh_Hant/dsl.po289
-rw-r--r--modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json30
-rw-r--r--modules/luci-mod-dsl/root/usr/share/rpcd/acl.d/luci-mod-dsl.json10
26 files changed, 6515 insertions, 0 deletions
diff --git a/modules/luci-mod-dsl/Makefile b/modules/luci-mod-dsl/Makefile
new file mode 100644
index 0000000000..8c8db41ed6
--- /dev/null
+++ b/modules/luci-mod-dsl/Makefile
@@ -0,0 +1,16 @@
+#
+# Copyright (C) 2022 Roland Barenbrug <roland@treslong.com>
+#
+# This is free software, licensed under the Apache License, Version 2.0
+#
+
+include $(TOPDIR)/rules.mk
+
+LUCI_TITLE:=LUCI DSL spectrum graph
+LUCI_DEPENDS:=+luci-base
+
+PKG_LICENSE:=Apache-2.0
+
+include ../../luci.mk
+
+# call BuildPackage - OpenWrt buildroot signature
diff --git a/modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js b/modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js
new file mode 100644
index 0000000000..218b67938a
--- /dev/null
+++ b/modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js
@@ -0,0 +1,400 @@
+//
+// Rendering of DSL spectrum graphs showing
+// US/DS SNR and US/DS bits/tone
+//
+// This version does depend on an ubus version that support DSL line stattiscis but
+// does not depend on chart.js or any other package
+
+class DataSet {
+ constructor (input, extractFunction) {
+ this.groupSize = input.groupsize;
+ this.numData = input.groups;
+ // needs to be validated with various input
+ this.maxX = this.numData * this.groupSize;
+ this.data = input.data.map(extractFunction,
+ {groupSize: this.groupSize}
+ );
+ }
+}
+
+function myBitsFunction(value, index, array) {
+ return({x: index, y: value, error: false});
+}
+
+function mySnrFunction(value, index, array) {
+ let result;
+
+ if (value == null) {
+ result = {
+ x: index * this.groupSize,
+ y: -40 ,
+ error: true
+ }
+ } else {
+ result = {
+ x: index * this.groupSize,
+ y: value,
+ error: false
+ }
+ }
+
+ return(result);
+}
+
+function myQLNFunction(value, index, array) {
+ let result;
+
+ if (value == null) {
+ result = {
+ x: index * this.groupSize,
+ y: - 150,
+ error: true
+ }
+ } else {
+ result = {
+ x: index * this.groupSize,
+ y: value,
+ error: false
+ }
+ }
+
+ return(result);
+}
+
+function myHLOGFunction(value, index, array) {
+ let result;
+
+ if (value == null) {
+ result = {
+ x: index * this.groupSize,
+ y: -100,
+ error: true
+ }
+ } else {
+ result = {
+ x: index * this.groupSize,
+ y: value,
+ error: false
+ }
+ }
+
+ return(result);
+}
+
+const usSnrData = new DataSet(window.json['snr']['upstream'], mySnrFunction);
+const dsSnrData = new DataSet(window.json['snr']['downstream'], mySnrFunction);
+const usBitsData = new DataSet(window.json['bits']['upstream'], myBitsFunction);
+const dsBitsData = new DataSet(window.json['bits']['downstream'], myBitsFunction);
+const usQLNData = new DataSet(window.json['qln']['upstream'], myQLNFunction);
+const dsQLNData = new DataSet(window.json['qln']['downstream'], myQLNFunction);
+const usHLOGData = new DataSet(window.json['hlog']['upstream'], myHLOGFunction);
+const dsHLOGData = new DataSet(window.json['hlog']['downstream'], myHLOGFunction);
+const pilotTonesData = window.json['pilot_tones'] || [];
+
+const marginX = 50;
+const marginY = 80;
+let darkMode = document.getElementsByTagName("body")[0].parentNode.dataset.darkmode;
+
+let bitsChart = {
+ "config": {
+ "canvas": document.getElementById("bitsChart"),
+ "ctx" : document.getElementById("bitsChart").getContext("2d"),
+ "minX" : 0,
+ "maxX" : Math.max(dsBitsData.maxX, usBitsData.maxX),
+ "stepX": Math.max(dsBitsData.maxX, usBitsData.maxX) / 16,
+ "graphWidth" : document.getElementById("bitsChart").width - 2 * marginX,
+ "lineWidth" : 1,
+ "titleX" : _("Sub-carrier"),
+ "minY" : 0,
+ "maxY" : 16,
+ "stepY": 2,
+ "graphHeight" : document.getElementById("bitsChart").height - 2 * marginY,
+ "titleY" : _("bits")
+ },
+ "dataSet" : [
+ {
+ "data" :usBitsData.data,
+ "color":"YellowGreen",
+ "title": ("Upstream bits allocation")
+ },
+ {
+ "data" : dsBitsData.data,
+ "color": "navy",
+ "title": _("Downstream bits allocation")
+ },
+ {
+ "lines": true,
+ "data": pilotTonesData,
+ "color": "red",
+ "title": _("Pilot tones")
+ }
+ ]
+};
+
+let dBChart = {
+ "config": {
+ "canvas": document.getElementById("dbChart"),
+ "ctx" : document.getElementById("dbChart").getContext("2d"),
+ "minX" : 0,
+ "maxX" : Math.max(dsSnrData.maxX, usSnrData.maxX),
+ "stepX": Math.max(dsSnrData.maxX, usSnrData.maxX) / 16,
+ "graphWidth" : document.getElementById("dbChart").width - 2 * marginX,
+ "lineWidth": 4,
+ "titleX" : _("Sub-carrier"),
+ "minY" : -40,
+ "maxY" : 100,
+ "stepY": 10,
+ "graphHeight" : document.getElementById("dbChart").height - 2 * marginY,
+ "titleY" : _("dB")
+ },
+ "dataSet" : [
+ {
+ "data" :usSnrData.data,
+ "color":"Turquoise",
+ "title": _("Upstream SNR")
+ },
+ {
+ "data" : dsSnrData.data,
+ "color": "Coral",
+ "title" : _("Downstream SNR")
+ }
+ ]
+};
+
+let qLNChart = {
+ "config": {
+ "canvas": document.getElementById("qlnChart"),
+ "ctx" : document.getElementById("qlnChart").getContext("2d"),
+ "minX" : 0,
+ "maxX" : Math.max(dsQLNData.maxX, usQLNData.maxX),
+ "stepX": Math.max(dsQLNData.maxX, usQLNData.maxX) / 16,
+ "graphWidth" : document.getElementById("qlnChart").width - 2 * marginX,
+ "lineWidth": 4,
+ "titleX" : _("Sub-carrier"),
+ "minY" : -150,
+ "maxY" : -20,
+ "stepY": 10,
+ "graphHeight" : document.getElementById("qlnChart").height - 2 * marginY,
+ "titleY" : _("dBm/Hz")
+ },
+ "dataSet" : [
+ {
+ "data" :usQLNData.data,
+ "color":"brown",
+ "title": _("Upstream QLN")
+ },
+ {
+ "data" : dsQLNData.data,
+ "color": "teal",
+ "title" : _("Downstream QLN")
+ }
+ ]
+};
+
+let hLogChart = {
+ "config": {
+ "canvas": document.getElementById("hlogChart"),
+ "ctx" : document.getElementById("hlogChart").getContext("2d"),
+ "minX" : 0,
+ "maxX" : Math.max(dsHLOGData.maxX, usHLOGData.maxX),
+ "stepX": Math.max(dsHLOGData.maxX, usHLOGData.maxX) / 16,
+ "graphWidth" : document.getElementById("hlogChart").width - 2 * marginX,
+ "lineWidth": 4,
+ "titleX" : _("Sub-carrier"),
+ "minY" : -100,
+ "maxY" : 14,
+ "stepY": 10,
+ "graphHeight" : document.getElementById("hlogChart").height - 2 * marginY,
+ "titleY" : _("dB")
+ },
+ "dataSet" : [
+ {
+ "data" :usHLOGData.data,
+ "color":"#E8E800",
+ "title": _("Upstream HLOG")
+ },
+ {
+ "data" : dsHLOGData.data,
+ "color": "darkmagenta",
+ "title" : _("Downstream HLOG")
+ }
+ ]
+};
+
+function drawChart (info) {
+ drawAxisX(info.config, info.config.minX, info.config.maxX, info.config.stepX, info.config.titleX);
+ drawAxisY(info.config, info.config.minY, info.config.maxY, info.config.stepY, info.config.titleY);
+
+ drawLegend(info.config, info.dataSet);
+
+ for (let item of info.dataSet) {
+ if (item.lines === true) {
+ drawLines(info.config, item.data, item.color);
+ } else {
+ drawData(info.config, item.data, item.color);
+ }
+ }
+}
+
+function drawBlocks(config, dataPoints, color, borders) {
+ borders.map(drawBlock, {config, dataPoints, color, borders});
+}
+
+function drawLines(config, dataPoints, color) {
+ let ctx = config.ctx;
+ let len = dataPoints.length;
+ let minX = config.minX;
+ let maxX = config.maxX;
+ let minY = config.minY;
+ let maxY = config.maxY;
+
+ ctx.strokeStyle = color;
+ ctx.beginPath();
+
+ for (let item of dataPoints) {
+ let relX = (item - minX) / (maxX - minX);
+ ctx.moveTo(relX * config.graphWidth + marginX, marginY);
+ ctx.lineTo(relX * config.graphWidth + marginX, marginY + config.graphHeight);
+ }
+
+ ctx.stroke();
+}
+
+function drawData(config, dataPoints, color) {
+ let ctx = config.ctx;
+ let len = dataPoints.length;
+ let minX =config.minX;
+ let maxX = config.maxX;
+ let minY = config.minY;
+ let maxY = config.maxY;
+ let startX = (dataPoints[0].x - config.minX) / (config.maxX - config.minX)
+ let startY = (config.minY - config.minY) / (config.maxY - config.minY)
+
+ ctx.fillStyle = color;
+ ctx.beginPath();
+ ctx.moveTo(startX * config.graphWidth + marginX, marginY + config.graphHeight - startY * config.graphHeight);
+
+ for (let i = 1 ; i < len ; i++) {
+ let relX = (dataPoints[i].x - minX) / (maxX - minX);
+ let relY = (dataPoints[i].y - minY) / (maxY - minY);
+ ctx.lineTo(relX * config.graphWidth + marginX, marginY + config.graphHeight - relY * config.graphHeight);
+ }
+
+ let endX = (dataPoints[len-1].x - minX) / (maxX - minX)
+ let endY = (config.minY - minY) / (maxY - minY)
+
+ ctx.lineTo(endX * config.graphWidth + marginX, marginY + config.graphHeight - endY * config.graphHeight);
+ ctx.lineTo(startX * config.graphWidth + marginX, marginY + config.graphHeight - startY * config.graphHeight);
+ ctx.closePath();
+ ctx.fill();
+}
+
+function drawLegend(config, dataSet){
+ let ctx = config.ctx;
+ let graphWidth = config.graphWidth;
+ let graphHeight = config.graphHeight;
+
+ ctx.font = "12px Arial";
+
+ let legendWidth = -10;
+ for (let item of dataSet) {
+ legendWidth += 50 + ctx.measureText(item.title).width;
+ }
+
+ var x = 0.5 * (graphWidth - legendWidth) + marginX;
+ var y = config.canvas.height - marginY*1/4;
+
+ for (let item of dataSet) {
+ ctx.fillStyle = item.color;
+ ctx.fillRect(x, y - 8, 30, 10);
+ ctx.strokeStyle = "#C0C0C0";
+ ctx.strokeRect(x, y - 8, 30, 10);
+
+ if (darkMode == "true") {
+ ctx.fillStyle = "#A0A0A0";
+ } else {
+ ctx.fillStyle = "#303030";
+ }
+
+ x += 40;
+
+ ctx.textAlign = "left"
+ ctx.fillText(item.title, x, y);
+
+ x += ctx.measureText(item.title).width;
+ x += 10;
+ }
+}
+
+function drawAxisX(config, minValue, maxValue, step, title) {
+ let ctx = config.ctx;
+ let graphWidth = config.graphWidth;
+ let graphHeight = config.graphHeight;
+
+ ctx.font = "12px Arial";
+ ctx.textAlign = "center";
+
+ if (darkMode == "true") {
+ ctx.strokeStyle = "#505050";
+ ctx.fillStyle = "#A0A0A0";
+ } else {
+ ctx.strokeStyle = "#E0E0E0";
+ ctx.fillStyle = "#303030";
+ }
+
+ for (let x = minValue ; x <= maxValue ; x=x+step) {
+ let relX = (x - config.minX) / (config.maxX - config.minX);
+
+ ctx.fillText(x , relX * graphWidth + marginX, config.canvas.height - marginY*3/4);
+
+ ctx.beginPath();
+ ctx.moveTo(relX * graphWidth + marginX, marginY);
+ ctx.lineTo(relX * graphWidth + marginX, config.canvas.height - marginY);
+ ctx.stroke();
+ }
+
+ ctx.font = "12px Arial";
+ ctx.textAlign = "center";
+ ctx.fillText(title, config.canvas.width/2, config.canvas.height - marginY*2/4);
+}
+
+function drawAxisY(config, minValue, maxValue, step, title) {
+ let ctx = config.ctx
+ let graphWidth = config.graphWidth;
+ let graphHeight = config.graphHeight;
+
+ ctx.font = "12px Arial";
+ ctx.textAlign = "center";
+
+ if (darkMode == "true") {
+ ctx.strokeStyle = "#505050";
+ ctx.fillStyle = "#A0A0A0";
+ } else {
+ ctx.strokeStyle = "#E0E0E0";
+ ctx.fillStyle = "#303030";
+ }
+
+ for (let y = minValue ; y <= maxValue ; y=y+step) {
+ let relY = (y - config.minY) / (config.maxY - config.minY);
+
+ ctx.fillText(y , marginX *2 / 3, marginY + graphHeight - relY * graphHeight + 4);
+
+ ctx.beginPath();
+ ctx.moveTo(marginX, marginY + graphHeight - relY * graphHeight );
+ ctx.lineTo(config.canvas.width - marginX, marginY + graphHeight - relY * graphHeight);
+ ctx.stroke();
+ }
+
+ ctx.font = "12px Arial";
+ ctx.textAlign = "center";
+ ctx.translate(marginX/3, marginY + graphHeight / 2);
+ ctx.rotate(-3.14 /2);
+ ctx.fillText(title, 0, 0);
+ ctx.rotate(3.14 /2)
+ ctx.translate(-marginX/3,-(marginY + graphHeight / 2));
+}
+
+drawChart(dBChart);
+drawChart(bitsChart);
+drawChart(qLNChart);
+drawChart(hLogChart);
diff --git a/modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js b/modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js
new file mode 100644
index 0000000000..83884daa84
--- /dev/null
+++ b/modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js
@@ -0,0 +1,63 @@
+'use strict';
+'require view';
+'require fs';
+'require ui';
+'require rpc';
+
+var callDSLStatistics = rpc.declare({
+ object: 'dsl',
+ method: 'statistics',
+ expect: { '': {} }
+});
+
+return view.extend({
+ load: function() {
+ return Promise.all([
+ callDSLStatistics()
+ ]);
+ },
+
+ render: function(data) {
+ window.json = data[0];
+
+ var v = E([], [
+ E('h2', {'style': "height: 40px"}, [ _('DSL line spectrum') ]),
+ E('p', {}, _('Graphs below show Signal-to-noise ratio, Bit allocation, Quiet line noise and Channel characteristics function (HLOG) per sub-carrier.')),
+ E('div', {'style': "height: 360px; width: 1024px"},
+ E('canvas', {
+ 'id': 'dbChart',
+ 'height': 360,
+ 'width': 1024},
+ ["chart"])
+ ),
+ E('div', {'style': "height: 360px; width:1024px"},
+ E('canvas', {
+ 'id': 'bitsChart',
+ 'height': 360,
+ 'width': 1024},
+ ["chart2"])
+ ),
+ E('div', {'style': "height: 360px; width:1024px"},
+ E('canvas', {
+ 'id': 'qlnChart',
+ 'height': 360,
+ 'width': 1024},
+ ["chart2"])
+ ),
+ E('div', {'style': "height: 360px; width:1024px"},
+ E('canvas', {
+ 'id': 'hlogChart',
+ 'height': 360,
+ 'width': 1024},
+ ["chart2"])
+ ),
+ E('script', {'src':'/luci-static/resources/view/status/dsl/graph.js'}, {})
+ ]);
+
+ return v;
+ },
+
+ handleSaveApply: null,
+ handleSave: null,
+ handleReset: null
+});
diff --git a/modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js b/modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js
new file mode 100644
index 0000000000..5dcdebfd5d
--- /dev/null
+++ b/modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js
@@ -0,0 +1,188 @@
+'use strict';
+'require view';
+'require dom';
+'require poll';
+'require rpc';
+
+var callDSLMetrics = rpc.declare({
+ object: 'dsl',
+ method: 'metrics',
+ expect: { '': {} }
+});
+
+function format_on_off(val) {
+ return val ? _('on') : _('off');
+}
+
+function format_latency(val) {
+ return '%.2f ms'.format(val / 1000);
+}
+
+return view.extend({
+ load: function() {
+ return L.resolveDefault(callDSLMetrics(), {});
+ },
+
+ pollData: function(container) {
+ poll.add(L.bind(function() {
+ return L.resolveDefault(callDSLMetrics(), {}).then(L.bind(function(data) {
+ dom.content(container, this.renderContent(data));
+ }, this));
+ }, this));
+ },
+
+ formatHelper: function(format, val) {
+ if (val != null) {
+ if (format instanceof Function) {
+ return format(val);
+ } else if (typeof format === 'string') {
+ return format.format(val);
+ } else {
+ return val;
+ }
+ }
+ return '-';
+ },
+
+ renderSimpleTable: function(data) {
+ var table = E('table', { 'class': 'table' });
+
+ for (var [i, item] of data.entries()) {
+ var label = item[0];
+ var val = item[1];
+
+ var rowstyle = (i % 2 == 0) ? 'cbi-rowstyle-1' : 'cbi-rowstyle-2';
+
+ table.appendChild(E('tr', { 'class': 'tr ' + rowstyle }, [
+ E('td', { 'class': 'td left', 'width': '33%' }, [ label ]),
+ E('td', { 'class': 'td left' }, [ this.formatHelper(null, val) ])
+ ]));
+ }
+
+ return table;
+ },
+
+ renderTable: function(data) {
+ var table = E('table', { 'class': 'table' });
+
+ for (var [i, item] of data.entries()) {
+ var label = item[0];
+ var format = item[1];
+ var val1 = item[2];
+ var val2 = item[3];
+
+ var rowstyle = (i % 2 == 0) ? 'cbi-rowstyle-1' : 'cbi-rowstyle-2';
+
+ table.appendChild(E('tr', { 'class': 'tr ' + rowstyle }, [
+ E('td', { 'class': 'td left', 'width': '33%' }, [ label ]),
+ E('td', { 'class': 'td right', 'width': '33%' }, [ this.formatHelper(format, val1) ]),
+ E('td', { 'class': 'td right', 'width': '33%' }, [ this.formatHelper(format, val2) ])
+ ]));
+ }
+
+ return table;
+ },
+
+ renderContent: function(data) {
+ return E([], [
+
+ E('h3', {}, [ _('Connection State') ]),
+
+ this.renderSimpleTable([
+ [ _('Line State'), data.state ],
+ [ _('Line Mode'), data.mode ],
+ [ _('Line Uptime'), '%t'.format(data.uptime) ],
+ [ _('Annex'), data.annex ],
+ [ _('Power Management Mode'), data.power_state ]
+ ]),
+
+ E('h3', {}, [ _('Inventory') ]),
+
+ this.renderSimpleTable([
+ [ _('Modem Chipset'), data.chipset ],
+ [ _('Modem Firmware'), data.firmware_version ],
+ [ _('xTU-C Vendor ID'), data.atu_c.vendor || data.atu_c.vendor_id ]
+ ]),
+
+ E('h3', {}, [ _('Line Details') ]),
+
+ E('h4', {}, [ _('Data Rates') ]),
+ this.renderTable([
+ [ _('Actual Data Rate'), '%1000.3mb/s', data.downstream.data_rate, data.upstream.data_rate ],
+ [ _('Attainable Data Rate (ATTNDR)'), '%1000.3mb/s', data.downstream.attndr, data.upstream.attndr ],
+ [ _('Minimum Error-Free Throughput (MINEFTR)'), '%1000.3mb/s', data.downstream.mineftr, data.upstream.mineftr ]
+ ]),
+
+ E('h4', {}, [ _('On-line Reconfiguration') ]),
+ this.renderTable([
+ [ _('Bitswap'), format_on_off, data.downstream.bitswap, data.upstream.bitswap ],
+ [ _('Rate Adaptation Mode'), '%s', data.downstream.ra_mode, data.upstream.ra_mode ]
+ ]),
+
+ E('h4', {}, [ _('Noise Protection') ]),
+ this.renderTable([
+ [ _('Latency'), format_latency, data.downstream.interleave_delay, data.upstream.interleave_delay ],
+ [ _('Impulse Noise Protection (INP)'), '%.1f symbols', data.downstream.inp, data.upstream.inp ],
+ [ _('Retransmission (G.INP)'), format_on_off, data.downstream.retx, data.upstream.retx ]
+ ]),
+
+ E('h4', {}, [ _('Line Parameters') ]),
+ this.renderTable([
+ [ _('Line Attenuation (LATN)'), '%.1f dB', data.downstream.latn, data.upstream.latn ],
+ [ _('Signal Attenuation (SATN)'), '%.1f dB', data.downstream.satn, data.upstream.satn ],
+ [ _('Noise Margin (SNRM)'), '%.1f dB', data.downstream.snr, data.upstream.snr ],
+ [ _('Aggregate Transmit Power (ACTATP)'), '%.1f dB', data.downstream.actatp, data.upstream.actatp ]
+ ]),
+
+ E('h3', {}, [ _('Error Counters') ]),
+
+ E('h4', {}, [ _('Error Seconds') ]),
+ this.renderTable([
+ [ _('Forward Error Correction Seconds (FECS)'), '%d', data.errors.near.fecs, data.errors.far.fecs ],
+ [ _('Errored Seconds (ES)'), '%d', data.errors.near.es, data.errors.far.es ],
+ [ _('Severely Errored Seconds (SES)'), '%d', data.errors.near.ses, data.errors.far.ses ],
+ [ _('Loss of Signal Seconds (LOSS)'), '%d', data.errors.near.loss, data.errors.far.loss ],
+ [ _('Unavailable Seconds (UAS)'), '%d', data.errors.near.uas, data.errors.far.uas ],
+ [ _('Seconds with Low Error-Free Throughput (LEFTRS)'), '%d', data.errors.near.leftrs, data.errors.far.leftrs ]
+ ]),
+
+ E('h4', {}, [ _('Channel Counters') ]),
+ this.renderTable([
+ [ _('CRC Errors (CV-C)'), '%d', data.errors.near.cv_c, data.errors.far.cv_c ],
+ [ _('Corrected by FEC (FEC-C)'), '%d', data.errors.near.fec_c, data.errors.far.fec_c ]
+ ]),
+
+ E('h4', {}, [ _('Data Path Counters') ]),
+ this.renderTable([
+ [ _('ATM Header Error Code Errors (HEC-P)'), '%d', data.errors.near.hec, data.errors.far.hec ],
+ [ _('PTM Non Pre-emptive CRC Errors (CRC-P)'), '%d', data.errors.near.crc_p, data.errors.far.crc_p ],
+ [ _('PTM Pre-emptive CRC Errors (CRCP-P)'), '%d', data.errors.near.crcp_p, data.errors.far.crcp_p ]
+ ]),
+
+ E('h4', {}, [ _('Retransmission Counters') ]),
+ this.renderTable([
+ [ _('Retransmitted DTUs (rtx-tx)'), '%d', data.errors.far.tx_retransmitted, data.errors.near.tx_retransmitted ],
+ [ _('Corrected DTUs (rtx-c)'), '%d', data.errors.near.rx_corrected, data.errors.far.rx_corrected ],
+ [ _('Uncorrected DTUs (rtx-uc)'), '%d', data.errors.near.rx_uncorrected_protected, data.errors.far.rx_uncorrected_protected ]
+ ])
+
+ ]);
+ },
+
+ render: function(data) {
+ var v = E([], [
+ E('h2', {}, [ _('DSL stats') ]),
+ E('div')
+ ]);
+
+ var container = v.lastElementChild;
+ dom.content(container, this.renderContent(data));
+ this.pollData(container);
+
+ return v;
+ },
+
+ handleSaveApply: null,
+ handleSave: null,
+ handleReset: null
+});
diff --git a/modules/luci-mod-dsl/po/cs/dsl.po b/modules/luci-mod-dsl/po/cs/dsl.po
new file mode 100644
index 0000000000..4da0b53519
--- /dev/null
+++ b/modules/luci-mod-dsl/po/cs/dsl.po
@@ -0,0 +1,287 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2023-09-30 22:00+0000\n"
+"Last-Translator: David Rapaň <david@rapan.cz>\n"
+"Language-Team: Czech <https://hosted.weblate.org/projects/openwrt/"
+"luci_modules_luci-mod-dsl/cs/>\n"
+"Language: cs\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+"X-Generator: Weblate 5.1-dev\n"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:157
+msgid "ATM Header Error Code Errors (HEC-P)"
+msgstr "ATM Header Error Code Errors (HEC-P)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:111
+msgid "Actual Data Rate"
+msgstr "Aktuální datová rychlost"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:134
+msgid "Aggregate Transmit Power (ACTATP)"
+msgstr "Agregovaný vysílací výkon (ACTATP)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:95
+msgid "Annex"
+msgstr "Annex"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:112
+msgid "Attainable Data Rate (ATTNDR)"
+msgstr "Dosažitelná datová rychlost (ATTNDR)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:118
+msgid "Bitswap"
+msgstr "Bitswap"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:151
+msgid "CRC Errors (CV-C)"
+msgstr "CRC chyby (CV-C)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:149
+msgid "Channel Counters"
+msgstr "Počítadla kanálu"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:89
+msgid "Connection State"
+msgstr "Stav připojení"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:165
+msgid "Corrected DTUs (rtx-c)"
+msgstr "Opravené DTUs (rtx-c)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:152
+msgid "Corrected by FEC (FEC-C)"
+msgstr "Opraveno FEC (FEC-C)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js:24
+msgid "DSL line spectrum"
+msgstr "Spektrum DSL linky"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:174
+msgid "DSL stats"
+msgstr "DSL hodnoty"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:155
+msgid "Data Path Counters"
+msgstr "Data Path počítadla"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:109
+msgid "Data Rates"
+msgstr "Rychlost dat"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:219
+msgid "Downstream HLOG"
+msgstr "Downstream HLOG"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:189
+msgid "Downstream QLN"
+msgstr "Downstream QLN"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:159
+msgid "Downstream SNR"
+msgstr "Downstream SNR"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:123
+msgid "Downstream bits allocation"
+msgstr "Přidělených bitů pro downstream"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:137
+msgid "Error Counters"
+msgstr "Počítadlo chyb"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:139
+msgid "Error Seconds"
+msgstr "Chybových sekund"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:142
+msgid "Errored Seconds (ES)"
+msgstr "Errored Seconds (ES)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:141
+msgid "Forward Error Correction Seconds (FECS)"
+msgstr "Forward Error Correction Seconds (FECS)"
+
+#: modules/luci-mod-dsl/root/usr/share/rpcd/acl.d/luci-mod-dsl.json:3
+msgid "Grant access to luci-mod-dsl"
+msgstr "Udělit oprávnění pro luci-mod-dsl"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js:25
+msgid ""
+"Graphs below show Signal-to-noise ratio, Bit allocation, Quiet line noise "
+"and Channel characteristics function (HLOG) per sub-carrier."
+msgstr ""
+"Grafy níže zobrazují poměr signálu k šumu, alokaci bitů, tichý šum na lince "
+"a funkci charakteristiky kanálu (HLOG) pro každý podnosič."
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:125
+msgid "Impulse Noise Protection (INP)"
+msgstr "Impulse Noise Protection (INP)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:99
+msgid "Inventory"
+msgstr "Inventář"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:124
+msgid "Latency"
+msgstr "Zpoždění"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:131
+msgid "Line Attenuation (LATN)"
+msgstr "Line Attenuation (LATN)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:107
+msgid "Line Details"
+msgstr "Detaily linky"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:93
+msgid "Line Mode"
+msgstr "Mód linky"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:129
+msgid "Line Parameters"
+msgstr "Parametry linky"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:92
+msgid "Line State"
+msgstr "Stav linky"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:94
+msgid "Line Uptime"
+msgstr "Uptime linky"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:144
+msgid "Loss of Signal Seconds (LOSS)"
+msgstr "Loss of Signal Seconds (LOSS)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:113
+msgid "Minimum Error-Free Throughput (MINEFTR)"
+msgstr "Minimum Error-Free Throughput (MINEFTR)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:102
+msgid "Modem Chipset"
+msgstr "Čipset modemu"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:103
+msgid "Modem Firmware"
+msgstr "Firmware modemu"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:133
+msgid "Noise Margin (SNRM)"
+msgstr "Noise Margin (SNRM)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:122
+msgid "Noise Protection"
+msgstr "Ochrana proti rušení"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:116
+msgid "On-line Reconfiguration"
+msgstr "On-line rekonfigurace"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:158
+msgid "PTM Non Pre-emptive CRC Errors (CRC-P)"
+msgstr "PTM Non Pre-emptive CRC Errors (CRC-P)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:159
+msgid "PTM Pre-emptive CRC Errors (CRCP-P)"
+msgstr "PTM Pre-emptive CRC Errors (CRCP-P)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:129
+msgid "Pilot tones"
+msgstr "Pilot tones"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:96
+msgid "Power Management Mode"
+msgstr "Režim řízení napájení"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:119
+msgid "Rate Adaptation Mode"
+msgstr "Režim adaptace rychlosti"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:126
+msgid "Retransmission (G.INP)"
+msgstr "Retransmission (G.INP)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:162
+msgid "Retransmission Counters"
+msgstr "Počítadla retransmisí"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:164
+msgid "Retransmitted DTUs (rtx-tx)"
+msgstr "Retransmitted DTUs (rtx-tx)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:146
+msgid "Seconds with Low Error-Free Throughput (LEFTRS)"
+msgstr "Seconds with Low Error-Free Throughput (LEFTRS)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:143
+msgid "Severely Errored Seconds (SES)"
+msgstr "Severely Errored Seconds (SES)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:132
+msgid "Signal Attenuation (SATN)"
+msgstr "Signal Attenuation (SATN)"
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:23
+msgid "Spectrum"
+msgstr "Spektrum"
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:14
+msgid "Stats"
+msgstr "Hodnoty"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:107
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:143
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:173
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:203
+msgid "Sub-carrier"
+msgstr "Podnosič"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:145
+msgid "Unavailable Seconds (UAS)"
+msgstr "Unavailable Seconds (UAS)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:166
+msgid "Uncorrected DTUs (rtx-uc)"
+msgstr "Uncorrected DTUs (rtx-uc)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:214
+msgid "Upstream HLOG"
+msgstr "Upstream HLOG"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:184
+msgid "Upstream QLN"
+msgstr "Upstream QLN"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:154
+msgid "Upstream SNR"
+msgstr "Upstream SNR"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:112
+msgid "bits"
+msgstr "bitů"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:148
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:208
+msgid "dB"
+msgstr "dB"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:178
+msgid "dBm/Hz"
+msgstr "dBm/Hz"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:14
+msgid "off"
+msgstr "off"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:14
+msgid "on"
+msgstr "on"
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:3
+msgid "xDSL"
+msgstr "xDSL"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:104
+msgid "xTU-C Vendor ID"
+msgstr "xTU-C ID vendora"
diff --git a/modules/luci-mod-dsl/po/da/dsl.po b/modules/luci-mod-dsl/po/da/dsl.po
new file mode 100644
index 0000000000..cf12d3f2e4
--- /dev/null
+++ b/modules/luci-mod-dsl/po/da/dsl.po
@@ -0,0 +1,290 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2023-07-17 15:06+0000\n"
+"Last-Translator: drax red <drax@outlook.dk>\n"
+"Language-Team: Danish <https://hosted.weblate.org/projects/openwrt/"
+"luci_modules_luci-mod-dsl/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 5.0-dev\n"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:157
+msgid "ATM Header Error Code Errors (HEC-P)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:111
+msgid "Actual Data Rate"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:134
+msgid "Aggregate Transmit Power (ACTATP)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:95
+msgid "Annex"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:112
+msgid "Attainable Data Rate (ATTNDR)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:118
+msgid "Bitswap"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:151
+msgid "CRC Errors (CV-C)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:149
+msgid "Channel Counters"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:89
+msgid "Connection State"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:165
+msgid "Corrected DTUs (rtx-c)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:152
+msgid "Corrected by FEC (FEC-C)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js:24
+msgid "DSL line spectrum"
+msgstr "DSL linje spektrum"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:174
+msgid "DSL stats"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:155
+msgid "Data Path Counters"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:109
+msgid "Data Rates"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:219
+msgid "Downstream HLOG"
+msgstr "Downstream HLOG"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:189
+msgid "Downstream QLN"
+msgstr "Downstream QLN"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:159
+msgid "Downstream SNR"
+msgstr "Downstream SNR"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:123
+msgid "Downstream bits allocation"
+msgstr "Downstream bittildeling"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:137
+msgid "Error Counters"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:139
+msgid "Error Seconds"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:142
+msgid "Errored Seconds (ES)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:141
+msgid "Forward Error Correction Seconds (FECS)"
+msgstr ""
+
+#: modules/luci-mod-dsl/root/usr/share/rpcd/acl.d/luci-mod-dsl.json:3
+msgid "Grant access to luci-mod-dsl"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js:25
+msgid ""
+"Graphs below show Signal-to-noise ratio, Bit allocation, Quiet line noise "
+"and Channel characteristics function (HLOG) per sub-carrier."
+msgstr ""
+"Nedenstående grafer viser signal-til-støj-forhold, bitallokering, stille "
+"linjestøj og kanalkarakteristikfunktion (HLOG) pr. sub-carrier."
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:125
+msgid "Impulse Noise Protection (INP)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:99
+msgid "Inventory"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:124
+msgid "Latency"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:131
+msgid "Line Attenuation (LATN)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:107
+msgid "Line Details"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:93
+msgid "Line Mode"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:129
+msgid "Line Parameters"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:92
+msgid "Line State"
+msgstr "Linjetilstand"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:94
+msgid "Line Uptime"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:144
+msgid "Loss of Signal Seconds (LOSS)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:113
+msgid "Minimum Error-Free Throughput (MINEFTR)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:102
+msgid "Modem Chipset"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:103
+msgid "Modem Firmware"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:133
+msgid "Noise Margin (SNRM)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:122
+msgid "Noise Protection"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:116
+msgid "On-line Reconfiguration"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:158
+msgid "PTM Non Pre-emptive CRC Errors (CRC-P)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:159
+msgid "PTM Pre-emptive CRC Errors (CRCP-P)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:129
+msgid "Pilot tones"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:96
+msgid "Power Management Mode"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:119
+msgid "Rate Adaptation Mode"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:126
+msgid "Retransmission (G.INP)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:162
+msgid "Retransmission Counters"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:164
+msgid "Retransmitted DTUs (rtx-tx)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:146
+msgid "Seconds with Low Error-Free Throughput (LEFTRS)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:143
+msgid "Severely Errored Seconds (SES)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:132
+msgid "Signal Attenuation (SATN)"
+msgstr ""
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:23
+msgid "Spectrum"
+msgstr ""
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:14
+msgid "Stats"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:107
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:143
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:173
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:203
+msgid "Sub-carrier"
+msgstr "Sub-carrier"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:145
+msgid "Unavailable Seconds (UAS)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:166
+msgid "Uncorrected DTUs (rtx-uc)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:214
+msgid "Upstream HLOG"
+msgstr "Upstream HLOG"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:184
+msgid "Upstream QLN"
+msgstr "Upstream QLN"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:154
+msgid "Upstream SNR"
+msgstr "Upstream SNR"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:112
+msgid "bits"
+msgstr "bits"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:148
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:208
+msgid "dB"
+msgstr "dB"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:178
+msgid "dBm/Hz"
+msgstr "dBm/Hz"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:14
+msgid "off"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:14
+msgid "on"
+msgstr ""
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:3
+msgid "xDSL"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:104
+msgid "xTU-C Vendor ID"
+msgstr ""
+
+#~ msgid "Grant access to luci-mod-dsl spectrum"
+#~ msgstr "Giv adgang til luci-mod-dsl-spektrum"
diff --git a/modules/luci-mod-dsl/po/de/dsl.po b/modules/luci-mod-dsl/po/de/dsl.po
new file mode 100644
index 0000000000..4891922c43
--- /dev/null
+++ b/modules/luci-mod-dsl/po/de/dsl.po
@@ -0,0 +1,294 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2023-07-05 10:12+0000\n"
+"Last-Translator: ssantos <ssantos@web.de>\n"
+"Language-Team: German <https://hosted.weblate.org/projects/openwrt/"
+"luci_modules_luci-mod-dsl/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 5.0-dev\n"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:157
+msgid "ATM Header Error Code Errors (HEC-P)"
+msgstr "ATM-Header-Fehlercode-Fehler (HEC-P)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:111
+msgid "Actual Data Rate"
+msgstr "Tatsächliche Datenrate"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:134
+msgid "Aggregate Transmit Power (ACTATP)"
+msgstr "Aggregierte Sendeleistung (ACTATP)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:95
+msgid "Annex"
+msgstr "Anhang"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:112
+msgid "Attainable Data Rate (ATTNDR)"
+msgstr "Erreichbare Datenrate (ATTNDR)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:118
+msgid "Bitswap"
+msgstr "Bitswap"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:151
+msgid "CRC Errors (CV-C)"
+msgstr "CRC-Fehler (CV-C)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:149
+msgid "Channel Counters"
+msgstr "Kanalzähler"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:89
+msgid "Connection State"
+msgstr "Verbindungsstatus"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:165
+msgid "Corrected DTUs (rtx-c)"
+msgstr "Korrigierte DTUs (rtx-c)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:152
+msgid "Corrected by FEC (FEC-C)"
+msgstr "Korrigiert durch FEC (FEC-C)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js:24
+msgid "DSL line spectrum"
+msgstr "DSL-Leitungsspektrum"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:174
+msgid "DSL stats"
+msgstr "DSL-Statistiken"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:155
+msgid "Data Path Counters"
+msgstr "Datenpfadzähler"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:109
+msgid "Data Rates"
+msgstr "Datenraten"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:219
+msgid "Downstream HLOG"
+msgstr "Downstream-HLOG"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:189
+msgid "Downstream QLN"
+msgstr "Downstream-QLN"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:159
+msgid "Downstream SNR"
+msgstr "Downstream-SNR"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:123
+msgid "Downstream bits allocation"
+msgstr "Downstream-Bitzuweisung"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:137
+msgid "Error Counters"
+msgstr "Fehlerzähler"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:139
+msgid "Error Seconds"
+msgstr "Fehlersekunden"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:142
+msgid "Errored Seconds (ES)"
+msgstr "Sekunden mit Fehlern (ES)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:141
+msgid "Forward Error Correction Seconds (FECS)"
+msgstr "Sekunden der Vorwärtsfehlerkorrektur (FECS)"
+
+#: modules/luci-mod-dsl/root/usr/share/rpcd/acl.d/luci-mod-dsl.json:3
+msgid "Grant access to luci-mod-dsl"
+msgstr "Zugriff auf luci-mod-dsl gewähren"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js:25
+msgid ""
+"Graphs below show Signal-to-noise ratio, Bit allocation, Quiet line noise "
+"and Channel characteristics function (HLOG) per sub-carrier."
+msgstr ""
+"Die nachstehenden Diagramme zeigen das Signal-Rausch-Verhältnis, die Bit-"
+"Zuweisung, das ruhige Leitungsrauschen und die Kanalcharakteristikfunktion "
+"(HLOG) pro Unterträger."
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:125
+msgid "Impulse Noise Protection (INP)"
+msgstr "Impulslärmschutz (INP)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:99
+msgid "Inventory"
+msgstr "Inventar"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:124
+msgid "Latency"
+msgstr "Latenz"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:131
+msgid "Line Attenuation (LATN)"
+msgstr "Leitungsdämpfung (LATN)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:107
+msgid "Line Details"
+msgstr "Leitungsdetails"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:93
+msgid "Line Mode"
+msgstr "Leitungsmodus"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:129
+msgid "Line Parameters"
+msgstr "Leitungsparameter"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:92
+msgid "Line State"
+msgstr "Leitungszustand"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:94
+msgid "Line Uptime"
+msgstr "Verbindungsdauer"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:144
+msgid "Loss of Signal Seconds (LOSS)"
+msgstr "Signalverlust in Sekunden (LOSS)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:113
+msgid "Minimum Error-Free Throughput (MINEFTR)"
+msgstr "Minimaler fehlerfreier Durchsatz (MINEFTR)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:102
+msgid "Modem Chipset"
+msgstr "Modem-Chipsatz"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:103
+msgid "Modem Firmware"
+msgstr "Modem-Firmware"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:133
+msgid "Noise Margin (SNRM)"
+msgstr "Rauschabstand (SNRM)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:122
+msgid "Noise Protection"
+msgstr "Lärmschutz"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:116
+msgid "On-line Reconfiguration"
+msgstr "Online-Rekonfiguration"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:158
+msgid "PTM Non Pre-emptive CRC Errors (CRC-P)"
+msgstr "PTM Nicht-präemptive CRC-Fehler (CRC-P)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:159
+msgid "PTM Pre-emptive CRC Errors (CRCP-P)"
+msgstr "PTM Präemptive CRC-Fehler (CRC-P)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:129
+msgid "Pilot tones"
+msgstr "Pilottöne"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:96
+msgid "Power Management Mode"
+msgstr "Energieverwaltungsmodus"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:119
+msgid "Rate Adaptation Mode"
+msgstr "Ratenanpassungsmodus"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:126
+msgid "Retransmission (G.INP)"
+msgstr "Neuübermittlung (G.INP)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:162
+msgid "Retransmission Counters"
+msgstr "Neuübermittlungszähler"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:164
+msgid "Retransmitted DTUs (rtx-tx)"
+msgstr "Neuübermittelte DTUs (rtx-tx)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:146
+msgid "Seconds with Low Error-Free Throughput (LEFTRS)"
+msgstr "Sekunden mit niedrigem fehlerfreiem Durchsatz (LEFTRS)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:143
+msgid "Severely Errored Seconds (SES)"
+msgstr "Sekunden mit schwerwiegenden Fehlern (SES)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:132
+msgid "Signal Attenuation (SATN)"
+msgstr "Signaldämpfung (SATN)"
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:23
+msgid "Spectrum"
+msgstr "Spektrum"
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:14
+msgid "Stats"
+msgstr "Statistiken"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:107
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:143
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:173
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:203
+msgid "Sub-carrier"
+msgstr "Unterträger"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:145
+msgid "Unavailable Seconds (UAS)"
+msgstr "Sekunden der Nichtverfügbarkeit (UAS)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:166
+msgid "Uncorrected DTUs (rtx-uc)"
+msgstr "Unkorrigierte DTUs (rtx-uc)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:214
+msgid "Upstream HLOG"
+msgstr "Upstream-HLOG"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:184
+msgid "Upstream QLN"
+msgstr "Upstream-QLN"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:154
+msgid "Upstream SNR"
+msgstr "Upstream-SNR"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:112
+msgid "bits"
+msgstr "Bits"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:148
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:208
+msgid "dB"
+msgstr "dB"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:178
+msgid "dBm/Hz"
+msgstr "dBm/Hz"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:14
+msgid "off"
+msgstr "aus"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:14
+msgid "on"
+msgstr "an"
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:3
+msgid "xDSL"
+msgstr "xDSL"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:104
+msgid "xTU-C Vendor ID"
+msgstr "xTU-C Hersteller-ID"
+
+#~ msgid "DSL Status"
+#~ msgstr "DSL-Status"
+
+#~ msgid "Grant access to luci-mod-dsl spectrum"
+#~ msgstr "Zugriff auf luci-mod-dsl spectrum gewähren"
diff --git a/modules/luci-mod-dsl/po/es/dsl.po b/modules/luci-mod-dsl/po/es/dsl.po
new file mode 100644
index 0000000000..e7bb159b55
--- /dev/null
+++ b/modules/luci-mod-dsl/po/es/dsl.po
@@ -0,0 +1,304 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-11-04 20:04+0000\n"
+"PO-Revision-Date: 2023-08-05 15:50+0000\n"
+"Last-Translator: Franco Castillo <castillofrancodamian@gmail.com>\n"
+"Language-Team: Spanish <https://hosted.weblate.org/projects/openwrt/"
+"luci_modules_luci-mod-dsl/es/>\n"
+"Language: es\n"
+"MIME-Version: 1.0\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 5.0-dev\n"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:157
+msgid "ATM Header Error Code Errors (HEC-P)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:111
+msgid "Actual Data Rate"
+msgstr "Tasa de datos real"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:134
+msgid "Aggregate Transmit Power (ACTATP)"
+msgstr "Potencia de transmisión agregada (ACTATP)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:95
+msgid "Annex"
+msgstr "Anexo"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:112
+msgid "Attainable Data Rate (ATTNDR)"
+msgstr "Velocidad de datos alcanzable (ATTNDR)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:118
+msgid "Bitswap"
+msgstr "Intercambio de bits"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:151
+msgid "CRC Errors (CV-C)"
+msgstr "Errores CRC (CV-C)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:149
+msgid "Channel Counters"
+msgstr "Contadores de canales"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:89
+msgid "Connection State"
+msgstr "Estado de conexión"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:165
+msgid "Corrected DTUs (rtx-c)"
+msgstr "DTU corregidas (rtx-c)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:152
+msgid "Corrected by FEC (FEC-C)"
+msgstr "Corregido por FEC (FEC-C)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js:24
+#, fuzzy
+msgid "DSL line spectrum"
+msgstr "Espectro de línea DSL"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:174
+msgid "DSL stats"
+msgstr "Estadísticas de DSL"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:155
+msgid "Data Path Counters"
+msgstr "Contadores de rutas de datos"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:109
+#, fuzzy
+msgid "Data Rates"
+msgstr "Tasas de transferencia de datos"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:219
+msgid "Downstream HLOG"
+msgstr "HLOG descendente"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:189
+msgid "Downstream QLN"
+msgstr "QLN descendente"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:159
+msgid "Downstream SNR"
+msgstr "SNR descendente"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:123
+#, fuzzy
+msgid "Downstream bits allocation"
+msgstr "Asignación de bits descendente"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:137
+msgid "Error Counters"
+msgstr "Contadores de errores"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:139
+#, fuzzy
+msgid "Error Seconds"
+msgstr "Segundos de error"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:142
+#, fuzzy
+msgid "Errored Seconds (ES)"
+msgstr "Segundos erróneos (ES)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:141
+msgid "Forward Error Correction Seconds (FECS)"
+msgstr "Segundos de corrección de errores de reenvío (FECS)"
+
+#: modules/luci-mod-dsl/root/usr/share/rpcd/acl.d/luci-mod-dsl.json:3
+msgid "Grant access to luci-mod-dsl"
+msgstr "Otorgar acceso a luci-mod-dsl"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js:25
+msgid ""
+"Graphs below show Signal-to-noise ratio, Bit allocation, Quiet line noise "
+"and Channel characteristics function (HLOG) per sub-carrier."
+msgstr ""
+"Los siguientes gráficos muestran la relación señal/ruido, la asignación de "
+"bits, el ruido de línea silenciosa y la función de características del canal "
+"(HLOG) por subportadora."
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:125
+msgid "Impulse Noise Protection (INP)"
+msgstr "Protección contra ruido de impulso (INP)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:99
+msgid "Inventory"
+msgstr "Inventario"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:124
+msgid "Latency"
+msgstr "Latencia"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:131
+msgid "Line Attenuation (LATN)"
+msgstr "Atenuación de línea (LATN)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:107
+msgid "Line Details"
+msgstr "Detalles de línea"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:93
+msgid "Line Mode"
+msgstr "Modo de línea"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:129
+msgid "Line Parameters"
+msgstr "Parámetros de línea"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:92
+msgid "Line State"
+msgstr "Estado de línea"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:94
+#, fuzzy
+msgid "Line Uptime"
+msgstr "Tiempo de actividad de la línea"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:144
+msgid "Loss of Signal Seconds (LOSS)"
+msgstr "Pérdida de segundos de señal (LOSS)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:113
+msgid "Minimum Error-Free Throughput (MINEFTR)"
+msgstr "Rendimiento mínimo sin errores (MINEFTR)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:102
+msgid "Modem Chipset"
+msgstr "Chipset del módem"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:103
+msgid "Modem Firmware"
+msgstr "Firmware del módem"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:133
+msgid "Noise Margin (SNRM)"
+msgstr "Margen de ruido (SNRM)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:122
+#, fuzzy
+msgid "Noise Protection"
+msgstr "Protección contra el ruido"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:116
+msgid "On-line Reconfiguration"
+msgstr "Reconfiguración en línea"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:158
+msgid "PTM Non Pre-emptive CRC Errors (CRC-P)"
+msgstr "Errores CRC no preventivos de PTM (CRC-P)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:159
+msgid "PTM Pre-emptive CRC Errors (CRCP-P)"
+msgstr "Errores CRC preventivos de PTM (CRCP-P)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:129
+msgid "Pilot tones"
+msgstr "Tonos piloto"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:96
+msgid "Power Management Mode"
+msgstr "Modo de administración de energía"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:119
+msgid "Rate Adaptation Mode"
+msgstr "Modo de adaptación de tasa"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:126
+msgid "Retransmission (G.INP)"
+msgstr "Retransmisión (G.INP)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:162
+msgid "Retransmission Counters"
+msgstr "Contadores de retransmisión"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:164
+#, fuzzy
+msgid "Retransmitted DTUs (rtx-tx)"
+msgstr "DTU retransmitidas (rtx-tx)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:146
+#, fuzzy
+msgid "Seconds with Low Error-Free Throughput (LEFTRS)"
+msgstr "Segundos con bajo rendimiento sin errores (LEFTRS)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:143
+msgid "Severely Errored Seconds (SES)"
+msgstr "Segundos con muchos errores (SES)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:132
+msgid "Signal Attenuation (SATN)"
+msgstr "Atenuación de señal (SATN)"
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:23
+msgid "Spectrum"
+msgstr "Espectro"
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:14
+msgid "Stats"
+msgstr "Estadísticas"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:107
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:143
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:173
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:203
+msgid "Sub-carrier"
+msgstr "Subportadora"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:145
+msgid "Unavailable Seconds (UAS)"
+msgstr "Segundos no disponibles (UAS)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:166
+msgid "Uncorrected DTUs (rtx-uc)"
+msgstr "DTU no corregidas (rtx-uc)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:214
+msgid "Upstream HLOG"
+msgstr "HLOG ascendente"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:184
+msgid "Upstream QLN"
+msgstr "QLN ascendente"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:154
+msgid "Upstream SNR"
+msgstr "SNR ascendente"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:112
+msgid "bits"
+msgstr "bits"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:148
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:208
+msgid "dB"
+msgstr "dB"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:178
+msgid "dBm/Hz"
+msgstr "dBm/Hz"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:14
+msgid "off"
+msgstr "apagado"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:14
+msgid "on"
+msgstr "encendido"
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:3
+msgid "xDSL"
+msgstr "xDSL"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:104
+msgid "xTU-C Vendor ID"
+msgstr "ID de proveedor de xTU-C"
+
+#~ msgid "Grant access to luci-mod-dsl spectrum"
+#~ msgstr "Otorgar acceso al espectro luci-mod-dsl"
diff --git a/modules/luci-mod-dsl/po/fr/dsl.po b/modules/luci-mod-dsl/po/fr/dsl.po
new file mode 100644
index 0000000000..44a8534f12
--- /dev/null
+++ b/modules/luci-mod-dsl/po/fr/dsl.po
@@ -0,0 +1,279 @@
+msgid ""
+msgstr ""
+"Language: fr\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:157
+msgid "ATM Header Error Code Errors (HEC-P)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:111
+msgid "Actual Data Rate"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:134
+msgid "Aggregate Transmit Power (ACTATP)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:95
+msgid "Annex"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:112
+msgid "Attainable Data Rate (ATTNDR)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:118
+msgid "Bitswap"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:151
+msgid "CRC Errors (CV-C)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:149
+msgid "Channel Counters"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:89
+msgid "Connection State"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:165
+msgid "Corrected DTUs (rtx-c)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:152
+msgid "Corrected by FEC (FEC-C)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js:24
+msgid "DSL line spectrum"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:174
+msgid "DSL stats"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:155
+msgid "Data Path Counters"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:109
+msgid "Data Rates"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:219
+msgid "Downstream HLOG"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:189
+msgid "Downstream QLN"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:159
+msgid "Downstream SNR"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:123
+msgid "Downstream bits allocation"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:137
+msgid "Error Counters"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:139
+msgid "Error Seconds"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:142
+msgid "Errored Seconds (ES)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:141
+msgid "Forward Error Correction Seconds (FECS)"
+msgstr ""
+
+#: modules/luci-mod-dsl/root/usr/share/rpcd/acl.d/luci-mod-dsl.json:3
+msgid "Grant access to luci-mod-dsl"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js:25
+msgid ""
+"Graphs below show Signal-to-noise ratio, Bit allocation, Quiet line noise "
+"and Channel characteristics function (HLOG) per sub-carrier."
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:125
+msgid "Impulse Noise Protection (INP)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:99
+msgid "Inventory"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:124
+msgid "Latency"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:131
+msgid "Line Attenuation (LATN)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:107
+msgid "Line Details"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:93
+msgid "Line Mode"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:129
+msgid "Line Parameters"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:92
+msgid "Line State"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:94
+msgid "Line Uptime"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:144
+msgid "Loss of Signal Seconds (LOSS)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:113
+msgid "Minimum Error-Free Throughput (MINEFTR)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:102
+msgid "Modem Chipset"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:103
+msgid "Modem Firmware"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:133
+msgid "Noise Margin (SNRM)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:122
+msgid "Noise Protection"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:116
+msgid "On-line Reconfiguration"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:158
+msgid "PTM Non Pre-emptive CRC Errors (CRC-P)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:159
+msgid "PTM Pre-emptive CRC Errors (CRCP-P)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:129
+msgid "Pilot tones"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:96
+msgid "Power Management Mode"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:119
+msgid "Rate Adaptation Mode"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:126
+msgid "Retransmission (G.INP)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:162
+msgid "Retransmission Counters"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:164
+msgid "Retransmitted DTUs (rtx-tx)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:146
+msgid "Seconds with Low Error-Free Throughput (LEFTRS)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:143
+msgid "Severely Errored Seconds (SES)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:132
+msgid "Signal Attenuation (SATN)"
+msgstr ""
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:23
+msgid "Spectrum"
+msgstr ""
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:14
+msgid "Stats"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:107
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:143
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:173
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:203
+msgid "Sub-carrier"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:145
+msgid "Unavailable Seconds (UAS)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:166
+msgid "Uncorrected DTUs (rtx-uc)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:214
+msgid "Upstream HLOG"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:184
+msgid "Upstream QLN"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:154
+msgid "Upstream SNR"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:112
+msgid "bits"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:148
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:208
+msgid "dB"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:178
+msgid "dBm/Hz"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:14
+msgid "off"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:14
+msgid "on"
+msgstr ""
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:3
+msgid "xDSL"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:104
+msgid "xTU-C Vendor ID"
+msgstr ""
diff --git a/modules/luci-mod-dsl/po/it/dsl.po b/modules/luci-mod-dsl/po/it/dsl.po
new file mode 100644
index 0000000000..5cb75cea5a
--- /dev/null
+++ b/modules/luci-mod-dsl/po/it/dsl.po
@@ -0,0 +1,291 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2023-10-16 16:56+0000\n"
+"Last-Translator: Frankie McEyes <mceyes@protonmail.com>\n"
+"Language-Team: Italian <https://hosted.weblate.org/projects/openwrt/"
+"luci_modules_luci-mod-dsl/it/>\n"
+"Language: it\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 5.1\n"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:157
+msgid "ATM Header Error Code Errors (HEC-P)"
+msgstr "Codice di errore nell'intestazione ATM (HEC-P)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:111
+msgid "Actual Data Rate"
+msgstr "Velocità dei dati effettiva"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:134
+msgid "Aggregate Transmit Power (ACTATP)"
+msgstr "Potenza di trasmissione aggregata (ACTATP)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:95
+msgid "Annex"
+msgstr "Annex"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:112
+msgid "Attainable Data Rate (ATTNDR)"
+msgstr "Velocità dati raggiungibile (ATTNDR)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:118
+msgid "Bitswap"
+msgstr "Bitswap"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:151
+msgid "CRC Errors (CV-C)"
+msgstr "Errori CRC (CV-C)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:149
+msgid "Channel Counters"
+msgstr "Contatori di canale"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:89
+msgid "Connection State"
+msgstr "Stato della connessione"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:165
+msgid "Corrected DTUs (rtx-c)"
+msgstr "DTU corretti (rtx-c)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:152
+msgid "Corrected by FEC (FEC-C)"
+msgstr "Corretto da FEC (FEC-C)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js:24
+msgid "DSL line spectrum"
+msgstr "Spettro della linea DSL"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:174
+msgid "DSL stats"
+msgstr "Statistiche DSL"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:155
+msgid "Data Path Counters"
+msgstr "Contatori del percorso dati"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:109
+msgid "Data Rates"
+msgstr "Velocità dati"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:219
+msgid "Downstream HLOG"
+msgstr "HLOG in ricezione"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:189
+msgid "Downstream QLN"
+msgstr "QLN in ricezione"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:159
+msgid "Downstream SNR"
+msgstr "SNR in ricezione"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:123
+msgid "Downstream bits allocation"
+msgstr "Allocazione bit in ricezione"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:137
+msgid "Error Counters"
+msgstr "Contatori di errore"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:139
+msgid "Error Seconds"
+msgstr "Secondi di errore"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:142
+msgid "Errored Seconds (ES)"
+msgstr "Secondi errati (ES)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:141
+msgid "Forward Error Correction Seconds (FECS)"
+msgstr "Secondi di correzione degli errori inoltrati (FECS)"
+
+#: modules/luci-mod-dsl/root/usr/share/rpcd/acl.d/luci-mod-dsl.json:3
+msgid "Grant access to luci-mod-dsl"
+msgstr "Concedi l'accesso a luci-mod-dsl"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js:25
+msgid ""
+"Graphs below show Signal-to-noise ratio, Bit allocation, Quiet line noise "
+"and Channel characteristics function (HLOG) per sub-carrier."
+msgstr ""
+"I grafici sottostanti mostrano il rapporto segnale-rumore, l'allocazione "
+"bit, il rumore di fondo e la funzione caratteristiche del canale (HLOG) per "
+"sottoportante."
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:125
+msgid "Impulse Noise Protection (INP)"
+msgstr "Protezione dai disturbi da impulsi (INP)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:99
+msgid "Inventory"
+msgstr "Inventario"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:124
+msgid "Latency"
+msgstr "Latenza"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:131
+msgid "Line Attenuation (LATN)"
+msgstr "Attenuazione di linea (LATN)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:107
+msgid "Line Details"
+msgstr "Dettagli linea"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:93
+msgid "Line Mode"
+msgstr "Modalità della linea"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:129
+msgid "Line Parameters"
+msgstr "Parametri della linea"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:92
+msgid "Line State"
+msgstr "Stato della linea"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:94
+msgid "Line Uptime"
+msgstr "Tempo di attività della linea"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:144
+msgid "Loss of Signal Seconds (LOSS)"
+msgstr "Secondi di perdita di segnale (LOSS)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:113
+msgid "Minimum Error-Free Throughput (MINEFTR)"
+msgstr "Capacità effettiva minima senza errori (MINEFTR)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:102
+msgid "Modem Chipset"
+msgstr "Chipset del modem"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:103
+msgid "Modem Firmware"
+msgstr "Firmware del modem"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:133
+msgid "Noise Margin (SNRM)"
+msgstr "Margine di rumore (SNRM)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:122
+msgid "Noise Protection"
+msgstr "Protezione dal rumore"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:116
+msgid "On-line Reconfiguration"
+msgstr "Riconfigurazione in linea"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:158
+msgid "PTM Non Pre-emptive CRC Errors (CRC-P)"
+msgstr "Errori CRC non preventivi PTM (CRC-P)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:159
+msgid "PTM Pre-emptive CRC Errors (CRCP-P)"
+msgstr "Errori CRC preventivi PTM (CRCP-P)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:129
+msgid "Pilot tones"
+msgstr "Toni pilota"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:96
+msgid "Power Management Mode"
+msgstr "Modalità di gestione dell'alimentazione"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:119
+msgid "Rate Adaptation Mode"
+msgstr "Modalità di adattamento della velocità"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:126
+msgid "Retransmission (G.INP)"
+msgstr "Ritrasmissione (G.INP)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:162
+msgid "Retransmission Counters"
+msgstr "Contatori di ritrasmissione"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:164
+msgid "Retransmitted DTUs (rtx-tx)"
+msgstr "DTU ritrasmessi (rtx-tx)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:146
+msgid "Seconds with Low Error-Free Throughput (LEFTRS)"
+msgstr "Secondi con bassa capacità effettiva senza errori (LEFTRS)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:143
+msgid "Severely Errored Seconds (SES)"
+msgstr "Secondi con errori gravi (SES)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:132
+msgid "Signal Attenuation (SATN)"
+msgstr "Attenuazione del segnale (SATN)"
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:23
+msgid "Spectrum"
+msgstr "Spettro"
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:14
+msgid "Stats"
+msgstr "Statistiche"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:107
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:143
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:173
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:203
+msgid "Sub-carrier"
+msgstr "Sottoportante"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:145
+msgid "Unavailable Seconds (UAS)"
+msgstr "Secondi non disponibili (UAS)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:166
+msgid "Uncorrected DTUs (rtx-uc)"
+msgstr "DTU non corretti (rtx-uc)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:214
+msgid "Upstream HLOG"
+msgstr "HLOG in invio"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:184
+msgid "Upstream QLN"
+msgstr "QLN in invio"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:154
+msgid "Upstream SNR"
+msgstr "SNR in invio"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:112
+msgid "bits"
+msgstr "bit"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:148
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:208
+msgid "dB"
+msgstr "dB"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:178
+msgid "dBm/Hz"
+msgstr "dBm/Hz"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:14
+msgid "off"
+msgstr "spento"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:14
+msgid "on"
+msgstr "on"
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:3
+msgid "xDSL"
+msgstr "xDSL"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:104
+msgid "xTU-C Vendor ID"
+msgstr "Vendor ID xTU-C"
+
+#~ msgid "Grant access to luci-mod-dsl spectrum"
+#~ msgstr "Permetti l'accesso allo spettro luci-mod-dsl"
diff --git a/modules/luci-mod-dsl/po/lt/dsl.po b/modules/luci-mod-dsl/po/lt/dsl.po
new file mode 100644
index 0000000000..58e9f3b3a9
--- /dev/null
+++ b/modules/luci-mod-dsl/po/lt/dsl.po
@@ -0,0 +1,289 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"PO-Revision-Date: 2023-11-29 22:09+0000\n"
+"Last-Translator: Džiugas J <dziugas1959@hotmail.com>\n"
+"Language-Team: Lithuanian <https://hosted.weblate.org/projects/openwrt/"
+"luci_modules_luci-mod-dsl/lt/>\n"
+"Language: lt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n % 10 == 1 && (n % 100 < 11 || n % 100 > "
+"19)) ? 0 : ((n % 10 >= 2 && n % 10 <= 9 && (n % 100 < 11 || n % 100 > 19)) ? "
+"1 : 2);\n"
+"X-Generator: Weblate 5.3-dev\n"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:157
+msgid "ATM Header Error Code Errors (HEC-P)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:111
+msgid "Actual Data Rate"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:134
+msgid "Aggregate Transmit Power (ACTATP)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:95
+msgid "Annex"
+msgstr "Aneksija"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:112
+msgid "Attainable Data Rate (ATTNDR)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:118
+msgid "Bitswap"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:151
+msgid "CRC Errors (CV-C)"
+msgstr "„CRC“ klaidos („CV-C“)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:149
+msgid "Channel Counters"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:89
+msgid "Connection State"
+msgstr "Prisijungimo būsena"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:165
+msgid "Corrected DTUs (rtx-c)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:152
+msgid "Corrected by FEC (FEC-C)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js:24
+msgid "DSL line spectrum"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:174
+msgid "DSL stats"
+msgstr "„DSL“ statistika"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:155
+msgid "Data Path Counters"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:109
+msgid "Data Rates"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:219
+msgid "Downstream HLOG"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:189
+msgid "Downstream QLN"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:159
+msgid "Downstream SNR"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:123
+msgid "Downstream bits allocation"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:137
+msgid "Error Counters"
+msgstr "Klaidų skaičiuoklė/-s"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:139
+msgid "Error Seconds"
+msgstr "Klaidų *trukmė sekundėmis"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:142
+msgid "Errored Seconds (ES)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:141
+msgid "Forward Error Correction Seconds (FECS)"
+msgstr ""
+
+#: modules/luci-mod-dsl/root/usr/share/rpcd/acl.d/luci-mod-dsl.json:3
+msgid "Grant access to luci-mod-dsl"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js:25
+msgid ""
+"Graphs below show Signal-to-noise ratio, Bit allocation, Quiet line noise "
+"and Channel characteristics function (HLOG) per sub-carrier."
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:125
+msgid "Impulse Noise Protection (INP)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:99
+msgid "Inventory"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:124
+msgid "Latency"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:131
+msgid "Line Attenuation (LATN)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:107
+msgid "Line Details"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:93
+msgid "Line Mode"
+msgstr "Linijos režimas"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:129
+msgid "Line Parameters"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:92
+msgid "Line State"
+msgstr "Linijos būsena"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:94
+msgid "Line Uptime"
+msgstr "Linijos aktyvumo laikas"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:144
+msgid "Loss of Signal Seconds (LOSS)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:113
+msgid "Minimum Error-Free Throughput (MINEFTR)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:102
+msgid "Modem Chipset"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:103
+msgid "Modem Firmware"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:133
+msgid "Noise Margin (SNRM)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:122
+msgid "Noise Protection"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:116
+msgid "On-line Reconfiguration"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:158
+msgid "PTM Non Pre-emptive CRC Errors (CRC-P)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:159
+msgid "PTM Pre-emptive CRC Errors (CRCP-P)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:129
+msgid "Pilot tones"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:96
+msgid "Power Management Mode"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:119
+msgid "Rate Adaptation Mode"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:126
+msgid "Retransmission (G.INP)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:162
+msgid "Retransmission Counters"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:164
+msgid "Retransmitted DTUs (rtx-tx)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:146
+msgid "Seconds with Low Error-Free Throughput (LEFTRS)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:143
+msgid "Severely Errored Seconds (SES)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:132
+msgid "Signal Attenuation (SATN)"
+msgstr ""
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:23
+msgid "Spectrum"
+msgstr ""
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:14
+msgid "Stats"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:107
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:143
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:173
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:203
+msgid "Sub-carrier"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:145
+msgid "Unavailable Seconds (UAS)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:166
+msgid "Uncorrected DTUs (rtx-uc)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:214
+msgid "Upstream HLOG"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:184
+msgid "Upstream QLN"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:154
+msgid "Upstream SNR"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:112
+msgid "bits"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:148
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:208
+msgid "dB"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:178
+msgid "dBm/Hz"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:14
+msgid "off"
+msgstr "išjungta"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:14
+msgid "on"
+msgstr ""
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:3
+msgid "xDSL"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:104
+msgid "xTU-C Vendor ID"
+msgstr ""
diff --git a/modules/luci-mod-dsl/po/nb_NO/dsl.po b/modules/luci-mod-dsl/po/nb_NO/dsl.po
new file mode 100644
index 0000000000..d3dcd4e271
--- /dev/null
+++ b/modules/luci-mod-dsl/po/nb_NO/dsl.po
@@ -0,0 +1,297 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2022-11-07 09:03+0000\n"
+"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n"
+"Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/openwrt/"
+"luci_modules_luci-mod-dsl/nb_NO/>\n"
+"Language: nb_NO\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.2\n"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:157
+msgid "ATM Header Error Code Errors (HEC-P)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:111
+msgid "Actual Data Rate"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:134
+msgid "Aggregate Transmit Power (ACTATP)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:95
+msgid "Annex"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:112
+msgid "Attainable Data Rate (ATTNDR)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:118
+msgid "Bitswap"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:151
+msgid "CRC Errors (CV-C)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:149
+msgid "Channel Counters"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:89
+msgid "Connection State"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:165
+msgid "Corrected DTUs (rtx-c)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:152
+msgid "Corrected by FEC (FEC-C)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js:24
+msgid "DSL line spectrum"
+msgstr "DSL-linje-spektrum"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:174
+msgid "DSL stats"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:155
+msgid "Data Path Counters"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:109
+msgid "Data Rates"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:219
+#, fuzzy
+msgid "Downstream HLOG"
+msgstr "Nedstrøms-HLOG"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:189
+#, fuzzy
+msgid "Downstream QLN"
+msgstr "Nedstrøms-QLN"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:159
+#, fuzzy
+msgid "Downstream SNR"
+msgstr "Nedstrøms-SNR"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:123
+#, fuzzy
+msgid "Downstream bits allocation"
+msgstr "Nedstrøms-bit-tildeldning"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:137
+msgid "Error Counters"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:139
+msgid "Error Seconds"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:142
+msgid "Errored Seconds (ES)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:141
+msgid "Forward Error Correction Seconds (FECS)"
+msgstr ""
+
+#: modules/luci-mod-dsl/root/usr/share/rpcd/acl.d/luci-mod-dsl.json:3
+msgid "Grant access to luci-mod-dsl"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js:25
+#, fuzzy
+msgid ""
+"Graphs below show Signal-to-noise ratio, Bit allocation, Quiet line noise "
+"and Channel characteristics function (HLOG) per sub-carrier."
+msgstr ""
+"Diagrammene nedenfor viser signal-til-støy-forhold, bit-tildeldning, ledig-"
+"linje-støy, og kanalkarakteristikkfunksjoner (HLOG) per underoperatør."
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:125
+msgid "Impulse Noise Protection (INP)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:99
+msgid "Inventory"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:124
+msgid "Latency"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:131
+msgid "Line Attenuation (LATN)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:107
+msgid "Line Details"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:93
+msgid "Line Mode"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:129
+msgid "Line Parameters"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:92
+msgid "Line State"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:94
+msgid "Line Uptime"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:144
+msgid "Loss of Signal Seconds (LOSS)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:113
+msgid "Minimum Error-Free Throughput (MINEFTR)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:102
+msgid "Modem Chipset"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:103
+msgid "Modem Firmware"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:133
+msgid "Noise Margin (SNRM)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:122
+msgid "Noise Protection"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:116
+msgid "On-line Reconfiguration"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:158
+msgid "PTM Non Pre-emptive CRC Errors (CRC-P)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:159
+msgid "PTM Pre-emptive CRC Errors (CRCP-P)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:129
+msgid "Pilot tones"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:96
+msgid "Power Management Mode"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:119
+msgid "Rate Adaptation Mode"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:126
+msgid "Retransmission (G.INP)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:162
+msgid "Retransmission Counters"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:164
+msgid "Retransmitted DTUs (rtx-tx)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:146
+msgid "Seconds with Low Error-Free Throughput (LEFTRS)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:143
+msgid "Severely Errored Seconds (SES)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:132
+msgid "Signal Attenuation (SATN)"
+msgstr ""
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:23
+msgid "Spectrum"
+msgstr ""
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:14
+msgid "Stats"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:107
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:143
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:173
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:203
+#, fuzzy
+msgid "Sub-carrier"
+msgstr "Underoperatør"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:145
+msgid "Unavailable Seconds (UAS)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:166
+msgid "Uncorrected DTUs (rtx-uc)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:214
+msgid "Upstream HLOG"
+msgstr "Oppstrøms-HLOG"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:184
+msgid "Upstream QLN"
+msgstr "Oppstrøms-QLN"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:154
+msgid "Upstream SNR"
+msgstr "Oppstrøms-SNR"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:112
+#, fuzzy
+msgid "bits"
+msgstr "bit"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:148
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:208
+msgid "dB"
+msgstr "dB"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:178
+msgid "dBm/Hz"
+msgstr "dBm/Hz"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:14
+msgid "off"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:14
+msgid "on"
+msgstr ""
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:3
+msgid "xDSL"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:104
+msgid "xTU-C Vendor ID"
+msgstr ""
+
+#~ msgid "Grant access to luci-mod-dsl spectrum"
+#~ msgstr "Innvilg tilgang til luci-mod-dsl -spektrum"
diff --git a/modules/luci-mod-dsl/po/pl/dsl.po b/modules/luci-mod-dsl/po/pl/dsl.po
new file mode 100644
index 0000000000..455f28d641
--- /dev/null
+++ b/modules/luci-mod-dsl/po/pl/dsl.po
@@ -0,0 +1,294 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2023-06-29 14:15+0000\n"
+"Last-Translator: Matthaiks <kitynska@gmail.com>\n"
+"Language-Team: Polish <https://hosted.weblate.org/projects/openwrt/"
+"luci_modules_luci-mod-dsl/pl/>\n"
+"Language: pl\n"
+"Content-Type: text/plain; charset=UTF-8\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.18.1\n"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:157
+msgid "ATM Header Error Code Errors (HEC-P)"
+msgstr "Błędy kodu błędu nagłówka ATM (HEC-P)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:111
+msgid "Actual Data Rate"
+msgstr "Rzeczywista szybkość transmisji danych"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:134
+msgid "Aggregate Transmit Power (ACTATP)"
+msgstr "Agregacja siły transmisji (ACTATP)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:95
+msgid "Annex"
+msgstr "Annex"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:112
+msgid "Attainable Data Rate (ATTNDR)"
+msgstr "Osiągalna szybkość transmisji danych (ATTNDR)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:118
+msgid "Bitswap"
+msgstr "Wymiana bitów"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:151
+msgid "CRC Errors (CV-C)"
+msgstr "Błędy CRC (CV-C)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:149
+msgid "Channel Counters"
+msgstr "Liczniki kanałów"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:89
+msgid "Connection State"
+msgstr "Stan połączenia"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:165
+msgid "Corrected DTUs (rtx-c)"
+msgstr "Skorygowane jednostki DTU (rtx-c)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:152
+msgid "Corrected by FEC (FEC-C)"
+msgstr "Skorygowane przez FEC (FEC-C)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js:24
+msgid "DSL line spectrum"
+msgstr "Widmo linii DSL"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:174
+msgid "DSL stats"
+msgstr "Statystyki DSL"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:155
+msgid "Data Path Counters"
+msgstr "Liczniki ścieżek danych"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:109
+msgid "Data Rates"
+msgstr "Szybkości przesyłania danych"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:219
+msgid "Downstream HLOG"
+msgstr "HLOG przepustowości do abonamenta"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:189
+msgid "Downstream QLN"
+msgstr "QLN przepustowości do abonamenta"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:159
+msgid "Downstream SNR"
+msgstr "SNR przepustowości do abonamenta"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:123
+msgid "Downstream bits allocation"
+msgstr "Alokacja bitów przepustowości do abonamenta"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:137
+msgid "Error Counters"
+msgstr "Liczniki błędów"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:139
+msgid "Error Seconds"
+msgstr "Sekundy błędów"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:142
+msgid "Errored Seconds (ES)"
+msgstr "Błędne sekundy (ES)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:141
+msgid "Forward Error Correction Seconds (FECS)"
+msgstr "Sekundy przekazywania korekty błędów (FECS)"
+
+#: modules/luci-mod-dsl/root/usr/share/rpcd/acl.d/luci-mod-dsl.json:3
+msgid "Grant access to luci-mod-dsl"
+msgstr "Przyznaj dostęp do luci-mod-dsl"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js:25
+msgid ""
+"Graphs below show Signal-to-noise ratio, Bit allocation, Quiet line noise "
+"and Channel characteristics function (HLOG) per sub-carrier."
+msgstr ""
+"Wykresy poniżej pokazują stosunek sygnału do szumu, przydział bitów, szum "
+"cichej linii i funkcję charakterystyki kanału (HLOG) dla każdej podnośnej."
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:125
+msgid "Impulse Noise Protection (INP)"
+msgstr "Ochrona przed hałasem impulsowym (INP)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:99
+msgid "Inventory"
+msgstr "Spis"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:124
+msgid "Latency"
+msgstr "Opoźnienie"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:131
+msgid "Line Attenuation (LATN)"
+msgstr "Tłumienie linii (LATN)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:107
+msgid "Line Details"
+msgstr "Szczegóły linii"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:93
+msgid "Line Mode"
+msgstr "Tryb linii"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:129
+msgid "Line Parameters"
+msgstr "Parametry linii"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:92
+msgid "Line State"
+msgstr "Stan linii"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:94
+msgid "Line Uptime"
+msgstr "Czas działania linii"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:144
+msgid "Loss of Signal Seconds (LOSS)"
+msgstr "Utrata sygnału w sekundach (LOSS)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:113
+msgid "Minimum Error-Free Throughput (MINEFTR)"
+msgstr "Minimalna bezbłędna przepustowość (MINEFTR)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:102
+msgid "Modem Chipset"
+msgstr "Chipset modemu"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:103
+msgid "Modem Firmware"
+msgstr "Oprogramowanie układowe modemu"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:133
+msgid "Noise Margin (SNRM)"
+msgstr "Margines szumów (SNRM)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:122
+msgid "Noise Protection"
+msgstr "Ochrona przed hałasem"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:116
+msgid "On-line Reconfiguration"
+msgstr "Rekonfiguracja on-line"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:158
+msgid "PTM Non Pre-emptive CRC Errors (CRC-P)"
+msgstr "Błędy CRC bez wywłaszczania PTM (CRC-P)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:159
+msgid "PTM Pre-emptive CRC Errors (CRCP-P)"
+msgstr "Błędy CRC z wywłaszczaniem PTM (CRCP-P)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:129
+msgid "Pilot tones"
+msgstr "Tony przewodnika"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:96
+msgid "Power Management Mode"
+msgstr "Tryb zarządzania energią"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:119
+msgid "Rate Adaptation Mode"
+msgstr "Tryb adaptacji prędkości"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:126
+msgid "Retransmission (G.INP)"
+msgstr "Retransmisja (G.INP)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:162
+msgid "Retransmission Counters"
+msgstr "Liczniki retransmisji"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:164
+msgid "Retransmitted DTUs (rtx-tx)"
+msgstr "Retransmitowane jednostki DTU (rtx-tx)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:146
+msgid "Seconds with Low Error-Free Throughput (LEFTRS)"
+msgstr "Sekundy z niską bezbłędną przepustowością (LEFTRS)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:143
+msgid "Severely Errored Seconds (SES)"
+msgstr "Poważnie błędne sekundy (SES)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:132
+msgid "Signal Attenuation (SATN)"
+msgstr "Tłumienie sygnału (SATN)"
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:23
+msgid "Spectrum"
+msgstr "Widmo"
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:14
+msgid "Stats"
+msgstr "Statystyki"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:107
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:143
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:173
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:203
+msgid "Sub-carrier"
+msgstr "Podnośna"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:145
+msgid "Unavailable Seconds (UAS)"
+msgstr "Niedostępne sekundy (UAS)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:166
+msgid "Uncorrected DTUs (rtx-uc)"
+msgstr "Nieskorygowane jednostki DTU (rtx-uc)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:214
+msgid "Upstream HLOG"
+msgstr "HLOG przepustowości od abonamenta"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:184
+msgid "Upstream QLN"
+msgstr "QLN przepustowości od abonamenta"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:154
+msgid "Upstream SNR"
+msgstr "SNR przepustowości od abonamenta"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:112
+msgid "bits"
+msgstr "bity"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:148
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:208
+msgid "dB"
+msgstr "dB"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:178
+msgid "dBm/Hz"
+msgstr "dBm/Hz"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:14
+msgid "off"
+msgstr "wyłączone"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:14
+msgid "on"
+msgstr "włączone"
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:3
+msgid "xDSL"
+msgstr "xDSL"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:104
+msgid "xTU-C Vendor ID"
+msgstr "Identyfikator dostawcy xTU-C"
+
+#~ msgid "DSL Status"
+#~ msgstr "Status DSL"
+
+#~ msgid "Grant access to luci-mod-dsl spectrum"
+#~ msgstr "Przyznaj dostęp do widma luci-mod-dsl"
diff --git a/modules/luci-mod-dsl/po/pt/dsl.po b/modules/luci-mod-dsl/po/pt/dsl.po
new file mode 100644
index 0000000000..c76880cfb2
--- /dev/null
+++ b/modules/luci-mod-dsl/po/pt/dsl.po
@@ -0,0 +1,294 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2023-07-01 19:50+0000\n"
+"Last-Translator: ssantos <ssantos@web.de>\n"
+"Language-Team: Portuguese <https://hosted.weblate.org/projects/openwrt/"
+"luci_modules_luci-mod-dsl/pt/>\n"
+"Language: 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 5.0-dev\n"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:157
+msgid "ATM Header Error Code Errors (HEC-P)"
+msgstr "Erros do código de erro do cabeçalho ATM (HEC-P)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:111
+msgid "Actual Data Rate"
+msgstr "Taxa de dados atual"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:134
+msgid "Aggregate Transmit Power (ACTATP)"
+msgstr "Potência de transmissão agregada (ACTATP)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:95
+msgid "Annex"
+msgstr "Anexo"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:112
+msgid "Attainable Data Rate (ATTNDR)"
+msgstr "Taxa atingível de dados (ATTNDR)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:118
+msgid "Bitswap"
+msgstr "Troca de bits"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:151
+msgid "CRC Errors (CV-C)"
+msgstr "Erros de CRC (CV-C)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:149
+msgid "Channel Counters"
+msgstr "Contadores de canais"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:89
+msgid "Connection State"
+msgstr "Estado da conexão"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:165
+msgid "Corrected DTUs (rtx-c)"
+msgstr "DTUs corrigidas (rtx-c)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:152
+msgid "Corrected by FEC (FEC-C)"
+msgstr "Corrigido pela FEC (FEC-C)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js:24
+msgid "DSL line spectrum"
+msgstr "Espectro de linha DSL"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:174
+msgid "DSL stats"
+msgstr "Estatísticas da DSL"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:155
+msgid "Data Path Counters"
+msgstr "Contadores do caminho de dados"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:109
+msgid "Data Rates"
+msgstr "Taxas de dados"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:219
+msgid "Downstream HLOG"
+msgstr "HLOG a jusante"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:189
+msgid "Downstream QLN"
+msgstr "QLN a jusante"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:159
+msgid "Downstream SNR"
+msgstr "SNR a jusante"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:123
+msgid "Downstream bits allocation"
+msgstr "Alocação de bits a jusante"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:137
+msgid "Error Counters"
+msgstr "Contadores de erros"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:139
+msgid "Error Seconds"
+msgstr "Erros por segundo"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:142
+msgid "Errored Seconds (ES)"
+msgstr "Segundos com erros (ES)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:141
+msgid "Forward Error Correction Seconds (FECS)"
+msgstr "Segundos de correção de erro antecipada (FECS)"
+
+#: modules/luci-mod-dsl/root/usr/share/rpcd/acl.d/luci-mod-dsl.json:3
+msgid "Grant access to luci-mod-dsl"
+msgstr "Conceder acesso ao luci-mod-dsl"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js:25
+msgid ""
+"Graphs below show Signal-to-noise ratio, Bit allocation, Quiet line noise "
+"and Channel characteristics function (HLOG) per sub-carrier."
+msgstr ""
+"Gráficos abaixo mostram relação sinal-ruído, alocação de bits, ruído de "
+"linha silenciosa e função de características do canal (HLOG) por sub-"
+"portadora."
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:125
+msgid "Impulse Noise Protection (INP)"
+msgstr "Proteção contra ruído de impulso (INP)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:99
+msgid "Inventory"
+msgstr "Inventário"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:124
+msgid "Latency"
+msgstr "Latência"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:131
+msgid "Line Attenuation (LATN)"
+msgstr "Atenuação de Linha (LATN)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:107
+msgid "Line Details"
+msgstr "Detalhes da linha"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:93
+msgid "Line Mode"
+msgstr "Modo da linha"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:129
+msgid "Line Parameters"
+msgstr "Parâmetros da linha"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:92
+msgid "Line State"
+msgstr "Estado da linha"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:94
+msgid "Line Uptime"
+msgstr "Tempo de atividade da linha"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:144
+msgid "Loss of Signal Seconds (LOSS)"
+msgstr "Segundos de perda de sinal (LOSS)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:113
+msgid "Minimum Error-Free Throughput (MINEFTR)"
+msgstr "Taxa de transferência mínima sem erros (MINEFTR)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:102
+msgid "Modem Chipset"
+msgstr "Chipset do modem"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:103
+msgid "Modem Firmware"
+msgstr "Firmware do modem"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:133
+msgid "Noise Margin (SNRM)"
+msgstr "Margem de ruído (SNRM)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:122
+msgid "Noise Protection"
+msgstr "Proteção contra ruído"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:116
+msgid "On-line Reconfiguration"
+msgstr "Reconfiguração on-line"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:158
+msgid "PTM Non Pre-emptive CRC Errors (CRC-P)"
+msgstr "Erros CRC não preventivos do PTM (CRC-P)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:159
+msgid "PTM Pre-emptive CRC Errors (CRCP-P)"
+msgstr "Erros CRC preventivo PTM (CRCP-P)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:129
+msgid "Pilot tones"
+msgstr "Tons piloto"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:96
+msgid "Power Management Mode"
+msgstr "Modo de gestão de energia"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:119
+msgid "Rate Adaptation Mode"
+msgstr "Modo de adaptação da taxa"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:126
+msgid "Retransmission (G.INP)"
+msgstr "Retransmissão (G.INP)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:162
+msgid "Retransmission Counters"
+msgstr "Contadores de retransmissão"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:164
+msgid "Retransmitted DTUs (rtx-tx)"
+msgstr "DTUs retransmitidos (rtx-tx)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:146
+msgid "Seconds with Low Error-Free Throughput (LEFTRS)"
+msgstr "Segundos com baixa taxa de transferência livre de erros (LEFTRS)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:143
+msgid "Severely Errored Seconds (SES)"
+msgstr "Segundos com erros severos (SES)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:132
+msgid "Signal Attenuation (SATN)"
+msgstr "Atenuação do sinal (SATN)"
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:23
+msgid "Spectrum"
+msgstr "Espectro"
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:14
+msgid "Stats"
+msgstr "Condição geral"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:107
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:143
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:173
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:203
+msgid "Sub-carrier"
+msgstr "Subportadora"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:145
+msgid "Unavailable Seconds (UAS)"
+msgstr "Segundos de indisponibilidade (UAS)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:166
+msgid "Uncorrected DTUs (rtx-uc)"
+msgstr "DTUs não corrigidos (rtx-uc)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:214
+msgid "Upstream HLOG"
+msgstr "HLOG a montante"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:184
+msgid "Upstream QLN"
+msgstr "QLN a montante"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:154
+msgid "Upstream SNR"
+msgstr "SNR a montante"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:112
+msgid "bits"
+msgstr "bits"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:148
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:208
+msgid "dB"
+msgstr "dB"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:178
+msgid "dBm/Hz"
+msgstr "dBm/Hz"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:14
+msgid "off"
+msgstr "desligado"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:14
+msgid "on"
+msgstr "ligado"
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:3
+msgid "xDSL"
+msgstr "xDSL"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:104
+msgid "xTU-C Vendor ID"
+msgstr "ID do fornecedor xTU-C"
+
+#~ msgid "DSL Status"
+#~ msgstr "Estado da DSL"
+
+#~ msgid "Grant access to luci-mod-dsl spectrum"
+#~ msgstr "Conceder acesso ao espectro luci-mod-dsl"
diff --git a/modules/luci-mod-dsl/po/pt_BR/dsl.po b/modules/luci-mod-dsl/po/pt_BR/dsl.po
new file mode 100644
index 0000000000..ee70f20244
--- /dev/null
+++ b/modules/luci-mod-dsl/po/pt_BR/dsl.po
@@ -0,0 +1,294 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2023-06-29 14:15+0000\n"
+"Last-Translator: Wellington Terumi Uemura <wellingtonuemura@gmail.com>\n"
+"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
+"openwrt/luci_modules_luci-mod-dsl/pt_BR/>\n"
+"Language: 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.18.1\n"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:157
+msgid "ATM Header Error Code Errors (HEC-P)"
+msgstr "Erros do código de erro do cabeçalho ATM (HEC-P)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:111
+msgid "Actual Data Rate"
+msgstr "Taxa de dados atual"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:134
+msgid "Aggregate Transmit Power (ACTATP)"
+msgstr "Potência de transmissão agregada (ACTATP)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:95
+msgid "Annex"
+msgstr "Anexo"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:112
+msgid "Attainable Data Rate (ATTNDR)"
+msgstr "Taxa de dados atingível (ATTNDR)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:118
+msgid "Bitswap"
+msgstr "Troca de bits"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:151
+msgid "CRC Errors (CV-C)"
+msgstr "Erros CRC (CV-C)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:149
+msgid "Channel Counters"
+msgstr "Contadores de canal"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:89
+msgid "Connection State"
+msgstr "Estado da conexão"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:165
+msgid "Corrected DTUs (rtx-c)"
+msgstr "DTUs corrigidas (rtx-c)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:152
+msgid "Corrected by FEC (FEC-C)"
+msgstr "Corrigido pela FEC (FEC-C)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js:24
+msgid "DSL line spectrum"
+msgstr "Espectro da linha DSL"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:174
+msgid "DSL stats"
+msgstr "Estatísticas DSL"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:155
+msgid "Data Path Counters"
+msgstr "Contadores do caminho de dados"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:109
+msgid "Data Rates"
+msgstr "Taxas de dados"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:219
+msgid "Downstream HLOG"
+msgstr "HLOG do downstream"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:189
+msgid "Downstream QLN"
+msgstr "Downstream QLN"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:159
+msgid "Downstream SNR"
+msgstr "Downstream SNR"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:123
+msgid "Downstream bits allocation"
+msgstr "Alocação de bits do downstream"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:137
+msgid "Error Counters"
+msgstr "Contadores de erros"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:139
+msgid "Error Seconds"
+msgstr "Erros por segundo"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:142
+msgid "Errored Seconds (ES)"
+msgstr "Segundos com erro (ES)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:141
+msgid "Forward Error Correction Seconds (FECS)"
+msgstr "Segundos a frente da correção de erros (FECS)"
+
+#: modules/luci-mod-dsl/root/usr/share/rpcd/acl.d/luci-mod-dsl.json:3
+msgid "Grant access to luci-mod-dsl"
+msgstr "Conceda acesso ao luci-mod-dsl"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js:25
+msgid ""
+"Graphs below show Signal-to-noise ratio, Bit allocation, Quiet line noise "
+"and Channel characteristics function (HLOG) per sub-carrier."
+msgstr ""
+"Os gráficos abaixo mostram a relação sinal-ruído, alocação dos bits, ruído "
+"da linha silenciosa e a função das características de canal (HLOG) por "
+"subportadora."
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:125
+msgid "Impulse Noise Protection (INP)"
+msgstr "Proteção contra ruído de impulso (INP)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:99
+msgid "Inventory"
+msgstr "Inventário"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:124
+msgid "Latency"
+msgstr "Latência"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:131
+msgid "Line Attenuation (LATN)"
+msgstr "Atenuação da linha (LATN)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:107
+msgid "Line Details"
+msgstr "Detalhes da linha"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:93
+msgid "Line Mode"
+msgstr "Modo da linha"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:129
+msgid "Line Parameters"
+msgstr "Parâmetros da linha"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:92
+msgid "Line State"
+msgstr "Estado da linha"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:94
+msgid "Line Uptime"
+msgstr "Tempo de atividade da linha"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:144
+msgid "Loss of Signal Seconds (LOSS)"
+msgstr "Perda de sinal em segundos (LOSS)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:113
+msgid "Minimum Error-Free Throughput (MINEFTR)"
+msgstr "Taxa de transferência mínima livre de erros (MINEFTR)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:102
+msgid "Modem Chipset"
+msgstr "Chipset do modem"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:103
+msgid "Modem Firmware"
+msgstr "Firmware do modem"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:133
+msgid "Noise Margin (SNRM)"
+msgstr "Margem de ruído (SNRM)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:122
+msgid "Noise Protection"
+msgstr "Proteção contra ruído"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:116
+msgid "On-line Reconfiguration"
+msgstr "Reconfiguração on-line"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:158
+msgid "PTM Non Pre-emptive CRC Errors (CRC-P)"
+msgstr "Erros CRC não preventivos do PTM (CRC-P)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:159
+msgid "PTM Pre-emptive CRC Errors (CRCP-P)"
+msgstr "Erros CRC preventivo PTM (CRCP-P)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:129
+msgid "Pilot tones"
+msgstr "Tons piloto"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:96
+msgid "Power Management Mode"
+msgstr "Modo de gerenciamento de energia"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:119
+msgid "Rate Adaptation Mode"
+msgstr "Modo de adaptação da taxa"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:126
+msgid "Retransmission (G.INP)"
+msgstr "Retransmissão (G.INP)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:162
+msgid "Retransmission Counters"
+msgstr "Contadores de retransmissão"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:164
+msgid "Retransmitted DTUs (rtx-tx)"
+msgstr "DTUs retransmitidos (rtx-tx)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:146
+msgid "Seconds with Low Error-Free Throughput (LEFTRS)"
+msgstr "Segundos com baixa taxa de transferência livre de erros (LEFTRS)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:143
+msgid "Severely Errored Seconds (SES)"
+msgstr "Segundos com erros severos (SES)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:132
+msgid "Signal Attenuation (SATN)"
+msgstr "Atenuação do sinal (SATN)"
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:23
+msgid "Spectrum"
+msgstr "Espectro"
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:14
+msgid "Stats"
+msgstr "Condição geral"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:107
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:143
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:173
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:203
+msgid "Sub-carrier"
+msgstr "Subportadora"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:145
+msgid "Unavailable Seconds (UAS)"
+msgstr "Segundos de indisponibilidade (UAS)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:166
+msgid "Uncorrected DTUs (rtx-uc)"
+msgstr "DTUs não corrigidos (rtx-uc)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:214
+msgid "Upstream HLOG"
+msgstr "Upstream HLOG"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:184
+msgid "Upstream QLN"
+msgstr "Upstream QLN"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:154
+msgid "Upstream SNR"
+msgstr "Upstream SNR"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:112
+msgid "bits"
+msgstr "bits"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:148
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:208
+msgid "dB"
+msgstr "dB"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:178
+msgid "dBm/Hz"
+msgstr "dBm/Hz"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:14
+msgid "off"
+msgstr "desligado"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:14
+msgid "on"
+msgstr "ligado"
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:3
+msgid "xDSL"
+msgstr "xDSL"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:104
+msgid "xTU-C Vendor ID"
+msgstr "ID do fornecedor xTU-C"
+
+#~ msgid "DSL Status"
+#~ msgstr "Estado da DSL"
+
+#~ msgid "Grant access to luci-mod-dsl spectrum"
+#~ msgstr "Conceda acesso ao espectro luci-mod-dsl"
diff --git a/modules/luci-mod-dsl/po/ro/dsl.po b/modules/luci-mod-dsl/po/ro/dsl.po
new file mode 100644
index 0000000000..05cb10d7c8
--- /dev/null
+++ b/modules/luci-mod-dsl/po/ro/dsl.po
@@ -0,0 +1,295 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2023-06-29 20:41+0000\n"
+"Last-Translator: Simona Iacob <s@zp1.net>\n"
+"Language-Team: Romanian <https://hosted.weblate.org/projects/openwrt/"
+"luci_modules_luci-mod-dsl/ro/>\n"
+"Language: ro\n"
+"Content-Type: text/plain; charset=UTF-8\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.18.1\n"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:157
+msgid "ATM Header Error Code Errors (HEC-P)"
+msgstr "Erori de cod de eroare de antet ATM (HEC-P)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:111
+msgid "Actual Data Rate"
+msgstr "Current Data Rate"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:134
+msgid "Aggregate Transmit Power (ACTATP)"
+msgstr "Puterea de transmisie agregată (ACTATP)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:95
+msgid "Annex"
+msgstr "Anexă"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:112
+msgid "Attainable Data Rate (ATTNDR)"
+msgstr "Rata de date realizabilă (ATTNDR)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:118
+msgid "Bitswap"
+msgstr "Bitswap"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:151
+msgid "CRC Errors (CV-C)"
+msgstr "Erori CRC (CV-C)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:149
+msgid "Channel Counters"
+msgstr "Contoare de canal"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:89
+msgid "Connection State"
+msgstr "Starea conexiunii"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:165
+msgid "Corrected DTUs (rtx-c)"
+msgstr "DTU corectate (rtx-c)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:152
+msgid "Corrected by FEC (FEC-C)"
+msgstr "Corectate de FEC (FEC-C)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js:24
+msgid "DSL line spectrum"
+msgstr "Spectrul liniei DSL"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:174
+msgid "DSL stats"
+msgstr "Statistici DSL"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:155
+msgid "Data Path Counters"
+msgstr "Contoare de traseu de date"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:109
+msgid "Data Rates"
+msgstr "Ratele de date"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:219
+msgid "Downstream HLOG"
+msgstr "HLOG în aval"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:189
+msgid "Downstream QLN"
+msgstr "QLN în aval"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:159
+msgid "Downstream SNR"
+msgstr "SNR în aval"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:123
+msgid "Downstream bits allocation"
+msgstr "Alocarea de biți în aval"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:137
+msgid "Error Counters"
+msgstr "Contoare de erori"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:139
+msgid "Error Seconds"
+msgstr "Secunde de eroare"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:142
+msgid "Errored Seconds (ES)"
+msgstr "Secunde de eroare (ES)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:141
+msgid "Forward Error Correction Seconds (FECS)"
+msgstr "Secunde de corecție a erorilor înainte (FECS)"
+
+#: modules/luci-mod-dsl/root/usr/share/rpcd/acl.d/luci-mod-dsl.json:3
+msgid "Grant access to luci-mod-dsl"
+msgstr "Acordă acces la luci-mod-dsl"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js:25
+msgid ""
+"Graphs below show Signal-to-noise ratio, Bit allocation, Quiet line noise "
+"and Channel characteristics function (HLOG) per sub-carrier."
+msgstr ""
+"Graficele de mai jos arată Raportul semnal-zgomot, Alocarea de biți, "
+"Zgomotul de linie liniștită și Funcția caracteristică a canalului (HLOG) "
+"pentru fiecare subpurtătoare."
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:125
+msgid "Impulse Noise Protection (INP)"
+msgstr "Protecția împotriva zgomotului la impulsuri (INP)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:99
+msgid "Inventory"
+msgstr "Inventar"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:124
+msgid "Latency"
+msgstr "Latență"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:131
+msgid "Line Attenuation (LATN)"
+msgstr "Atenuarea liniei (LATN)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:107
+msgid "Line Details"
+msgstr "Detalii despre linie"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:93
+msgid "Line Mode"
+msgstr "Modul linie"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:129
+msgid "Line Parameters"
+msgstr "Parametrii de linie"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:92
+msgid "Line State"
+msgstr "Starea liniei"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:94
+msgid "Line Uptime"
+msgstr "Timp de funcționare a liniei"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:144
+msgid "Loss of Signal Seconds (LOSS)"
+msgstr "Secunde de pierdere a semnalului (LOSS)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:113
+msgid "Minimum Error-Free Throughput (MINEFTR)"
+msgstr "Randament minim fără erori (MINEFTR)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:102
+msgid "Modem Chipset"
+msgstr "Chipset de modem"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:103
+msgid "Modem Firmware"
+msgstr "Firmware pentru modem"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:133
+msgid "Noise Margin (SNRM)"
+msgstr "Marja de zgomot (SNRM)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:122
+msgid "Noise Protection"
+msgstr "Protecția împotriva zgomotului"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:116
+msgid "On-line Reconfiguration"
+msgstr "Reconfigurare on-line"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:158
+msgid "PTM Non Pre-emptive CRC Errors (CRC-P)"
+msgstr "PTM Erori CRC non-preemptive (CRC-P)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:159
+msgid "PTM Pre-emptive CRC Errors (CRCP-P)"
+msgstr "PTM Erori CRC preemptive (CRCP-P)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:129
+msgid "Pilot tones"
+msgstr "Tonuri pilot"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:96
+msgid "Power Management Mode"
+msgstr "Modul de gestionare a energiei"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:119
+msgid "Rate Adaptation Mode"
+msgstr "Modul de adaptare a ratei"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:126
+msgid "Retransmission (G.INP)"
+msgstr "Retransmisie (G.INP)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:162
+msgid "Retransmission Counters"
+msgstr "Contoare de retransmisie"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:164
+msgid "Retransmitted DTUs (rtx-tx)"
+msgstr "DTU retransmise (rtx-tx)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:146
+msgid "Seconds with Low Error-Free Throughput (LEFTRS)"
+msgstr "Secunde cu randament scăzut fără erori (LEFTRS)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:143
+msgid "Severely Errored Seconds (SES)"
+msgstr "Secunde cu erori grave (SES)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:132
+msgid "Signal Attenuation (SATN)"
+msgstr "Atenuarea semnalului (SATN)"
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:23
+msgid "Spectrum"
+msgstr "Spectru"
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:14
+msgid "Stats"
+msgstr "Statistici"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:107
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:143
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:173
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:203
+msgid "Sub-carrier"
+msgstr "Subpurtătoare"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:145
+msgid "Unavailable Seconds (UAS)"
+msgstr "Secunde indisponibile (UAS)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:166
+msgid "Uncorrected DTUs (rtx-uc)"
+msgstr "DTU necorectate (rtx-uc)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:214
+msgid "Upstream HLOG"
+msgstr "HLOG în amonte"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:184
+msgid "Upstream QLN"
+msgstr "QLN în amonte"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:154
+msgid "Upstream SNR"
+msgstr "SNR în amonte"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:112
+msgid "bits"
+msgstr "biți"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:148
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:208
+msgid "dB"
+msgstr "dB"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:178
+msgid "dBm/Hz"
+msgstr "dBm/Hz"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:14
+msgid "off"
+msgstr "oprit"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:14
+msgid "on"
+msgstr "deschis"
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:3
+msgid "xDSL"
+msgstr "xDSL"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:104
+msgid "xTU-C Vendor ID"
+msgstr "Vendor ID xTU-C"
+
+#~ msgid "DSL Status"
+#~ msgstr "Starea DSL"
+
+#~ msgid "Grant access to luci-mod-dsl spectrum"
+#~ msgstr "Acordă acces la spectrul luci-mod-dsl"
diff --git a/modules/luci-mod-dsl/po/ru/dsl.po b/modules/luci-mod-dsl/po/ru/dsl.po
new file mode 100644
index 0000000000..77664baaf4
--- /dev/null
+++ b/modules/luci-mod-dsl/po/ru/dsl.po
@@ -0,0 +1,294 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2023-06-29 14:15+0000\n"
+"Last-Translator: sergio <sergio+it@outerface.net>\n"
+"Language-Team: Russian <https://hosted.weblate.org/projects/openwrt/"
+"luci_modules_luci-mod-dsl/ru/>\n"
+"Language: ru\n"
+"Content-Type: text/plain; charset=UTF-8\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.18.1\n"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:157
+msgid "ATM Header Error Code Errors (HEC-P)"
+msgstr "Ошибки кода заголовка ATM (HEC-P)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:111
+msgid "Actual Data Rate"
+msgstr "Фактическая скорость передачи данных"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:134
+msgid "Aggregate Transmit Power (ACTATP)"
+msgstr "Агрегация мощности передачи (ACTATP)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:95
+msgid "Annex"
+msgstr "Annex"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:112
+msgid "Attainable Data Rate (ATTNDR)"
+msgstr "Достижимая скорость передачи данных (ATTNDR)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:118
+msgid "Bitswap"
+msgstr "Bitswap"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:151
+msgid "CRC Errors (CV-C)"
+msgstr "Ошибки CRC (CV-C)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:149
+msgid "Channel Counters"
+msgstr "Счетчики канала"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:89
+msgid "Connection State"
+msgstr "Состояние соединения"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:165
+msgid "Corrected DTUs (rtx-c)"
+msgstr "Исправленные DTU (rtx-c)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:152
+msgid "Corrected by FEC (FEC-C)"
+msgstr "Исправлено FEC (FEC-C)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js:24
+msgid "DSL line spectrum"
+msgstr "Спектр линии DSL"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:174
+msgid "DSL stats"
+msgstr "Статистика DSL"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:155
+msgid "Data Path Counters"
+msgstr "Счетчики пути передачи данных"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:109
+msgid "Data Rates"
+msgstr "Скорость передачи данных"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:219
+msgid "Downstream HLOG"
+msgstr "Нисходящий HLOG"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:189
+msgid "Downstream QLN"
+msgstr "Нисходящий QLN"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:159
+msgid "Downstream SNR"
+msgstr "Нисходящий SNR"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:123
+msgid "Downstream bits allocation"
+msgstr "Назначение входящих битов"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:137
+msgid "Error Counters"
+msgstr "Счетчики ошибок"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:139
+msgid "Error Seconds"
+msgstr "Продолжительность ошибок в секундах"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:142
+msgid "Errored Seconds (ES)"
+msgstr "Продолжительность ошибок в секундах (ES)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:141
+msgid "Forward Error Correction Seconds (FECS)"
+msgstr "Потрачено на помехоустойчивое кодирование в секундах (FECS)"
+
+#: modules/luci-mod-dsl/root/usr/share/rpcd/acl.d/luci-mod-dsl.json:3
+msgid "Grant access to luci-mod-dsl"
+msgstr "Предоставить доступ к luci-mod-dsl"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js:25
+msgid ""
+"Graphs below show Signal-to-noise ratio, Bit allocation, Quiet line noise "
+"and Channel characteristics function (HLOG) per sub-carrier."
+msgstr ""
+"Графики ниже показывают соотношение сигнал/шум, распределение битов, шум "
+"тихой линии и функцию характеристик канала (HLOG) для каждой поднесущей."
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:125
+msgid "Impulse Noise Protection (INP)"
+msgstr "Защита от импульсных помех (INP)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:99
+msgid "Inventory"
+msgstr "Инвентарь"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:124
+msgid "Latency"
+msgstr "Задержка"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:131
+msgid "Line Attenuation (LATN)"
+msgstr "Затухание линии (LATN)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:107
+msgid "Line Details"
+msgstr "Детали линии"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:93
+msgid "Line Mode"
+msgstr "Режим линии"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:129
+msgid "Line Parameters"
+msgstr "Параметры линии"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:92
+msgid "Line State"
+msgstr "Состояние линии"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:94
+msgid "Line Uptime"
+msgstr "Время подключения к линии"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:144
+msgid "Loss of Signal Seconds (LOSS)"
+msgstr "Потеря сигнала в секундах (LOSS)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:113
+msgid "Minimum Error-Free Throughput (MINEFTR)"
+msgstr "Минимальная пропускная способность без ошибок (MINEFTR)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:102
+msgid "Modem Chipset"
+msgstr "Микросхема модема"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:103
+msgid "Modem Firmware"
+msgstr "Версия прошивки модема"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:133
+msgid "Noise Margin (SNRM)"
+msgstr "Запас шума (SNRM)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:122
+msgid "Noise Protection"
+msgstr "Защита от шума"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:116
+msgid "On-line Reconfiguration"
+msgstr "Применение настроек без разрыва соединения"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:158
+msgid "PTM Non Pre-emptive CRC Errors (CRC-P)"
+msgstr "Неупреждающие ошибки CRC PTM (CRC-P)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:159
+msgid "PTM Pre-emptive CRC Errors (CRCP-P)"
+msgstr "Упреждающие ошибки CRC PTM (CRCP-P)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:129
+msgid "Pilot tones"
+msgstr "Пилот-сигнал"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:96
+msgid "Power Management Mode"
+msgstr "Режим управления питанием"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:119
+msgid "Rate Adaptation Mode"
+msgstr "Режим адаптации скорости"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:126
+msgid "Retransmission (G.INP)"
+msgstr "Повторная передача (G.INP)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:162
+msgid "Retransmission Counters"
+msgstr "Счетчики повторной передачи"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:164
+msgid "Retransmitted DTUs (rtx-tx)"
+msgstr "Переотправленные DTU (rtx-tx)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:146
+msgid "Seconds with Low Error-Free Throughput (LEFTRS)"
+msgstr "Низкая пропускная способность без ошибок в секундах (LEFTRS)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:143
+msgid "Severely Errored Seconds (SES)"
+msgstr "Длительность серьезных ошибок в секундах (SES)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:132
+msgid "Signal Attenuation (SATN)"
+msgstr "Затухание сигнала (SATN)"
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:23
+msgid "Spectrum"
+msgstr "Спектр"
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:14
+msgid "Stats"
+msgstr "Статистика"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:107
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:143
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:173
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:203
+msgid "Sub-carrier"
+msgstr "Поднесущая"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:145
+msgid "Unavailable Seconds (UAS)"
+msgstr "Время недоступности в секундах (UAS)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:166
+msgid "Uncorrected DTUs (rtx-uc)"
+msgstr "Неисправленные DTU (rtx-uc)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:214
+msgid "Upstream HLOG"
+msgstr "Входящий HLOG"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:184
+msgid "Upstream QLN"
+msgstr "Восходящий QLN"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:154
+msgid "Upstream SNR"
+msgstr "Восходящий SNR"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:112
+msgid "bits"
+msgstr "бит"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:148
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:208
+msgid "dB"
+msgstr "дБ"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:178
+msgid "dBm/Hz"
+msgstr "дБм/Гц"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:14
+msgid "off"
+msgstr "выкл"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:14
+msgid "on"
+msgstr "вкл"
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:3
+msgid "xDSL"
+msgstr "xDSL"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:104
+msgid "xTU-C Vendor ID"
+msgstr "Идентификатор поставщика xTU-C"
+
+#~ msgid "DSL Status"
+#~ msgstr "Состояние DSL"
+
+#~ msgid "Grant access to luci-mod-dsl spectrum"
+#~ msgstr "Предоставить доступ к спектру luci-mod-dsl"
diff --git a/modules/luci-mod-dsl/po/sv/dsl.po b/modules/luci-mod-dsl/po/sv/dsl.po
new file mode 100644
index 0000000000..f44b0be48a
--- /dev/null
+++ b/modules/luci-mod-dsl/po/sv/dsl.po
@@ -0,0 +1,292 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2023-10-02 17:46+0000\n"
+"Last-Translator: Kristoffer Grundström <swedishsailfishosuser@tutanota.com>\n"
+"Language-Team: Swedish <https://hosted.weblate.org/projects/openwrt/"
+"luci_modules_luci-mod-dsl/sv/>\n"
+"Language: sv\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 5.1-dev\n"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:157
+msgid "ATM Header Error Code Errors (HEC-P)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:111
+msgid "Actual Data Rate"
+msgstr "Faktisk datahastighet"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:134
+msgid "Aggregate Transmit Power (ACTATP)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:95
+msgid "Annex"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:112
+msgid "Attainable Data Rate (ATTNDR)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:118
+msgid "Bitswap"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:151
+msgid "CRC Errors (CV-C)"
+msgstr "CRC-fel (CV-C)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:149
+msgid "Channel Counters"
+msgstr "Kanal-räknare"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:89
+msgid "Connection State"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:165
+msgid "Corrected DTUs (rtx-c)"
+msgstr "Korrigerade DTU:er (rtx-c)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:152
+msgid "Corrected by FEC (FEC-C)"
+msgstr "Korrigerad av FEC (FEC-C)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js:24
+msgid "DSL line spectrum"
+msgstr "Spektrum för DSL-lina"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:174
+msgid "DSL stats"
+msgstr "Status för DSL"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:155
+msgid "Data Path Counters"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:109
+msgid "Data Rates"
+msgstr "Datahastigheter"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:219
+msgid "Downstream HLOG"
+msgstr "Nedströms-HLOG"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:189
+msgid "Downstream QLN"
+msgstr "Nedströms-QLN"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:159
+msgid "Downstream SNR"
+msgstr "Nedströms-SNR"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:123
+msgid "Downstream bits allocation"
+msgstr "Bit-tilldelning nedströms"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:137
+msgid "Error Counters"
+msgstr "Felräknare"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:139
+msgid "Error Seconds"
+msgstr "Sekundfel"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:142
+msgid "Errored Seconds (ES)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:141
+msgid "Forward Error Correction Seconds (FECS)"
+msgstr ""
+
+#: modules/luci-mod-dsl/root/usr/share/rpcd/acl.d/luci-mod-dsl.json:3
+msgid "Grant access to luci-mod-dsl"
+msgstr "Godkänn åtkomst för luci-mod-dsl"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js:25
+#, fuzzy
+msgid ""
+"Graphs below show Signal-to-noise ratio, Bit allocation, Quiet line noise "
+"and Channel characteristics function (HLOG) per sub-carrier."
+msgstr ""
+"Diagrammerna nedan visar signal-till-brusförhållande, Bit-tilldelning, Tyst "
+"linjebrus och kanalens karaktäristiska funktion (HLOG) per under-leverantör."
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:125
+msgid "Impulse Noise Protection (INP)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:99
+msgid "Inventory"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:124
+msgid "Latency"
+msgstr "Latens"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:131
+msgid "Line Attenuation (LATN)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:107
+msgid "Line Details"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:93
+msgid "Line Mode"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:129
+msgid "Line Parameters"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:92
+msgid "Line State"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:94
+msgid "Line Uptime"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:144
+msgid "Loss of Signal Seconds (LOSS)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:113
+msgid "Minimum Error-Free Throughput (MINEFTR)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:102
+msgid "Modem Chipset"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:103
+msgid "Modem Firmware"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:133
+msgid "Noise Margin (SNRM)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:122
+msgid "Noise Protection"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:116
+msgid "On-line Reconfiguration"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:158
+msgid "PTM Non Pre-emptive CRC Errors (CRC-P)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:159
+msgid "PTM Pre-emptive CRC Errors (CRCP-P)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:129
+msgid "Pilot tones"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:96
+msgid "Power Management Mode"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:119
+msgid "Rate Adaptation Mode"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:126
+msgid "Retransmission (G.INP)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:162
+msgid "Retransmission Counters"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:164
+msgid "Retransmitted DTUs (rtx-tx)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:146
+msgid "Seconds with Low Error-Free Throughput (LEFTRS)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:143
+msgid "Severely Errored Seconds (SES)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:132
+msgid "Signal Attenuation (SATN)"
+msgstr ""
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:23
+msgid "Spectrum"
+msgstr ""
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:14
+msgid "Stats"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:107
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:143
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:173
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:203
+msgid "Sub-carrier"
+msgstr "Underoperatör"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:145
+msgid "Unavailable Seconds (UAS)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:166
+msgid "Uncorrected DTUs (rtx-uc)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:214
+msgid "Upstream HLOG"
+msgstr "Uppströms-HLOG"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:184
+msgid "Upstream QLN"
+msgstr "Uppströms QLN"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:154
+msgid "Upstream SNR"
+msgstr "Uppströms SNR"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:112
+msgid "bits"
+msgstr "bitar"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:148
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:208
+msgid "dB"
+msgstr "dB"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:178
+msgid "dBm/Hz"
+msgstr "dBm/Hz"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:14
+msgid "off"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:14
+msgid "on"
+msgstr ""
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:3
+msgid "xDSL"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:104
+msgid "xTU-C Vendor ID"
+msgstr ""
+
+#, fuzzy
+#~ msgid "Grant access to luci-mod-dsl spectrum"
+#~ msgstr "Ge åtkomst till spektrumet för luci-mod-dsl"
diff --git a/modules/luci-mod-dsl/po/templates/dsl.pot b/modules/luci-mod-dsl/po/templates/dsl.pot
new file mode 100644
index 0000000000..924a0ff756
--- /dev/null
+++ b/modules/luci-mod-dsl/po/templates/dsl.pot
@@ -0,0 +1,276 @@
+msgid ""
+msgstr "Content-Type: text/plain; charset=UTF-8"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:157
+msgid "ATM Header Error Code Errors (HEC-P)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:111
+msgid "Actual Data Rate"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:134
+msgid "Aggregate Transmit Power (ACTATP)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:95
+msgid "Annex"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:112
+msgid "Attainable Data Rate (ATTNDR)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:118
+msgid "Bitswap"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:151
+msgid "CRC Errors (CV-C)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:149
+msgid "Channel Counters"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:89
+msgid "Connection State"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:165
+msgid "Corrected DTUs (rtx-c)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:152
+msgid "Corrected by FEC (FEC-C)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js:24
+msgid "DSL line spectrum"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:174
+msgid "DSL stats"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:155
+msgid "Data Path Counters"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:109
+msgid "Data Rates"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:219
+msgid "Downstream HLOG"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:189
+msgid "Downstream QLN"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:159
+msgid "Downstream SNR"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:123
+msgid "Downstream bits allocation"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:137
+msgid "Error Counters"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:139
+msgid "Error Seconds"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:142
+msgid "Errored Seconds (ES)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:141
+msgid "Forward Error Correction Seconds (FECS)"
+msgstr ""
+
+#: modules/luci-mod-dsl/root/usr/share/rpcd/acl.d/luci-mod-dsl.json:3
+msgid "Grant access to luci-mod-dsl"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js:25
+msgid ""
+"Graphs below show Signal-to-noise ratio, Bit allocation, Quiet line noise "
+"and Channel characteristics function (HLOG) per sub-carrier."
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:125
+msgid "Impulse Noise Protection (INP)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:99
+msgid "Inventory"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:124
+msgid "Latency"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:131
+msgid "Line Attenuation (LATN)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:107
+msgid "Line Details"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:93
+msgid "Line Mode"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:129
+msgid "Line Parameters"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:92
+msgid "Line State"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:94
+msgid "Line Uptime"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:144
+msgid "Loss of Signal Seconds (LOSS)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:113
+msgid "Minimum Error-Free Throughput (MINEFTR)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:102
+msgid "Modem Chipset"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:103
+msgid "Modem Firmware"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:133
+msgid "Noise Margin (SNRM)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:122
+msgid "Noise Protection"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:116
+msgid "On-line Reconfiguration"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:158
+msgid "PTM Non Pre-emptive CRC Errors (CRC-P)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:159
+msgid "PTM Pre-emptive CRC Errors (CRCP-P)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:129
+msgid "Pilot tones"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:96
+msgid "Power Management Mode"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:119
+msgid "Rate Adaptation Mode"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:126
+msgid "Retransmission (G.INP)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:162
+msgid "Retransmission Counters"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:164
+msgid "Retransmitted DTUs (rtx-tx)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:146
+msgid "Seconds with Low Error-Free Throughput (LEFTRS)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:143
+msgid "Severely Errored Seconds (SES)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:132
+msgid "Signal Attenuation (SATN)"
+msgstr ""
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:23
+msgid "Spectrum"
+msgstr ""
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:14
+msgid "Stats"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:107
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:143
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:173
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:203
+msgid "Sub-carrier"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:145
+msgid "Unavailable Seconds (UAS)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:166
+msgid "Uncorrected DTUs (rtx-uc)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:214
+msgid "Upstream HLOG"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:184
+msgid "Upstream QLN"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:154
+msgid "Upstream SNR"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:112
+msgid "bits"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:148
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:208
+msgid "dB"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:178
+msgid "dBm/Hz"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:14
+msgid "off"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:14
+msgid "on"
+msgstr ""
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:3
+msgid "xDSL"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:104
+msgid "xTU-C Vendor ID"
+msgstr ""
diff --git a/modules/luci-mod-dsl/po/tr/dsl.po b/modules/luci-mod-dsl/po/tr/dsl.po
new file mode 100644
index 0000000000..ba71abdad8
--- /dev/null
+++ b/modules/luci-mod-dsl/po/tr/dsl.po
@@ -0,0 +1,287 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2023-10-29 19:41+0000\n"
+"Last-Translator: semih <semiht@gmail.com>\n"
+"Language-Team: Turkish <https://hosted.weblate.org/projects/openwrt/"
+"luci_modules_luci-mod-dsl/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 5.2-dev\n"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:157
+msgid "ATM Header Error Code Errors (HEC-P)"
+msgstr "ATM Başlığı Hata Kodu Hataları (HEC-P)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:111
+msgid "Actual Data Rate"
+msgstr "Gerçek Veri Hızı"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:134
+msgid "Aggregate Transmit Power (ACTATP)"
+msgstr "Toplam İletim Gücü (ACTATP)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:95
+msgid "Annex"
+msgstr "Annex"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:112
+msgid "Attainable Data Rate (ATTNDR)"
+msgstr "Ulaşılabilir Veri Hızı (ATTNDR)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:118
+msgid "Bitswap"
+msgstr "Bit değişimi"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:151
+msgid "CRC Errors (CV-C)"
+msgstr "CRC Hataları (CV-C)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:149
+msgid "Channel Counters"
+msgstr "Kanal Sayacı"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:89
+msgid "Connection State"
+msgstr "Bağlantı Durumu"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:165
+msgid "Corrected DTUs (rtx-c)"
+msgstr "Düzeltilmiş DTU'lar (rtx-c)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:152
+msgid "Corrected by FEC (FEC-C)"
+msgstr "FEC (FEC-C) tarafından düzeltildi"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js:24
+msgid "DSL line spectrum"
+msgstr "DSL hat spektrumu"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:174
+msgid "DSL stats"
+msgstr "DSL istatistikleri"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:155
+msgid "Data Path Counters"
+msgstr "Veri Yolu Sayaçları"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:109
+msgid "Data Rates"
+msgstr "Veri Hızları"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:219
+msgid "Downstream HLOG"
+msgstr "Aşağı akış HLOG"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:189
+msgid "Downstream QLN"
+msgstr "Aşağı yön QLN"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:159
+msgid "Downstream SNR"
+msgstr "Aşağı akış SNR"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:123
+msgid "Downstream bits allocation"
+msgstr "Aşağı akış bit tahsisi"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:137
+msgid "Error Counters"
+msgstr "Hata Sayacı"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:139
+msgid "Error Seconds"
+msgstr "Hata Saniyeleri"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:142
+msgid "Errored Seconds (ES)"
+msgstr "Hata meydana gelmiş olan saniyeler (ES)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:141
+msgid "Forward Error Correction Seconds (FECS)"
+msgstr "İleri Yön Hata Düzeltme Saniyesi (FECS)"
+
+#: modules/luci-mod-dsl/root/usr/share/rpcd/acl.d/luci-mod-dsl.json:3
+msgid "Grant access to luci-mod-dsl"
+msgstr "luci-mod-dsl'ye erişim izni ver"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js:25
+msgid ""
+"Graphs below show Signal-to-noise ratio, Bit allocation, Quiet line noise "
+"and Channel characteristics function (HLOG) per sub-carrier."
+msgstr ""
+"Aşağıdaki grafiklerde alt taşıyıcı başına Sinyal-gürültü oranı, Bit tahsisi, "
+"Sessiz hat gürültüsü ve Kanal özellikleri işlevi (HLOG) gösterilmektedir."
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:125
+msgid "Impulse Noise Protection (INP)"
+msgstr "Darbe Gürültü Koruması (INP)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:99
+msgid "Inventory"
+msgstr "Envanter"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:124
+msgid "Latency"
+msgstr "Gecikme"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:131
+msgid "Line Attenuation (LATN)"
+msgstr "Hat Zayıflaması (LATN)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:107
+msgid "Line Details"
+msgstr "Hat Detayları"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:93
+msgid "Line Mode"
+msgstr "Hat Modu"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:129
+msgid "Line Parameters"
+msgstr "Hat Parametreleri"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:92
+msgid "Line State"
+msgstr "Hat Durumu"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:94
+msgid "Line Uptime"
+msgstr "Hattın Çalışma Süresi"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:144
+msgid "Loss of Signal Seconds (LOSS)"
+msgstr "Sinyal Kaybı süresi, saniye (KAYIP)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:113
+msgid "Minimum Error-Free Throughput (MINEFTR)"
+msgstr "Minimum Hatasız Akış (MINEFTR)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:102
+msgid "Modem Chipset"
+msgstr "Modem Yonga Seti"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:103
+msgid "Modem Firmware"
+msgstr "Modem Aygıt Yazılımı"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:133
+msgid "Noise Margin (SNRM)"
+msgstr "Gürültü Marjı (SNRM)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:122
+msgid "Noise Protection"
+msgstr "Gürültü Koruması"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:116
+msgid "On-line Reconfiguration"
+msgstr "Çevrim Yeniden Yapılandırma"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:158
+msgid "PTM Non Pre-emptive CRC Errors (CRC-P)"
+msgstr "PTM Önleyici Olmayan CRC Hataları (CRC-P)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:159
+msgid "PTM Pre-emptive CRC Errors (CRCP-P)"
+msgstr "PTM Önleyici CRC Hataları (CRCP-P)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:129
+msgid "Pilot tones"
+msgstr "Pilot tonları"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:96
+msgid "Power Management Mode"
+msgstr "Güç Yönetimi Modu"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:119
+msgid "Rate Adaptation Mode"
+msgstr "Hız Uyarlama Modu"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:126
+msgid "Retransmission (G.INP)"
+msgstr "Yeniden İletim (G.INP)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:162
+msgid "Retransmission Counters"
+msgstr "Yeniden İletim Sayacı"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:164
+msgid "Retransmitted DTUs (rtx-tx)"
+msgstr "Yeniden iletilen DTU'lar (rtx-tx)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:146
+msgid "Seconds with Low Error-Free Throughput (LEFTRS)"
+msgstr "Düşük Hatasız Akış Sağlanan süre, saniye(LEFTRS)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:143
+msgid "Severely Errored Seconds (SES)"
+msgstr "Ciddi Hatalı Saniyeler (SES)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:132
+msgid "Signal Attenuation (SATN)"
+msgstr "Sinyal Zayıflaması (SATN)"
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:23
+msgid "Spectrum"
+msgstr "Spektrum"
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:14
+msgid "Stats"
+msgstr "İstatistikler"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:107
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:143
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:173
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:203
+msgid "Sub-carrier"
+msgstr "Alt taşıyıcı"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:145
+msgid "Unavailable Seconds (UAS)"
+msgstr "Kullanılamaz durumda geçen saniyeler (UAS)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:166
+msgid "Uncorrected DTUs (rtx-uc)"
+msgstr "Düzeltilmemiş DTU'lar (rtx-uc)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:214
+msgid "Upstream HLOG"
+msgstr "Yukarı akış HLOG"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:184
+msgid "Upstream QLN"
+msgstr "Yukarı akış QLN"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:154
+msgid "Upstream SNR"
+msgstr "Yukarı akış SNR"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:112
+msgid "bits"
+msgstr "bitler"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:148
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:208
+msgid "dB"
+msgstr "dB"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:178
+msgid "dBm/Hz"
+msgstr "dBm/Hz"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:14
+msgid "off"
+msgstr "kapalı"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:14
+msgid "on"
+msgstr "açık"
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:3
+msgid "xDSL"
+msgstr "xDSL"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:104
+msgid "xTU-C Vendor ID"
+msgstr "xTU-C Tedarikçi Kimliği"
diff --git a/modules/luci-mod-dsl/po/uk/dsl.po b/modules/luci-mod-dsl/po/uk/dsl.po
new file mode 100644
index 0000000000..ca8a5c7b6f
--- /dev/null
+++ b/modules/luci-mod-dsl/po/uk/dsl.po
@@ -0,0 +1,286 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2023-10-19 13:30+0000\n"
+"Last-Translator: Oleksandr Shvets <oleksandr.shvets@icloud.com>\n"
+"Language-Team: Ukrainian <https://hosted.weblate.org/projects/openwrt/"
+"luci_modules_luci-mod-dsl/uk/>\n"
+"Language: uk\n"
+"Content-Type: text/plain; charset=UTF-8\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 5.1\n"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:157
+msgid "ATM Header Error Code Errors (HEC-P)"
+msgstr "Код помилки (HEC-P) ATM заголовка"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:111
+msgid "Actual Data Rate"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:134
+msgid "Aggregate Transmit Power (ACTATP)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:95
+msgid "Annex"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:112
+msgid "Attainable Data Rate (ATTNDR)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:118
+msgid "Bitswap"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:151
+msgid "CRC Errors (CV-C)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:149
+msgid "Channel Counters"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:89
+msgid "Connection State"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:165
+msgid "Corrected DTUs (rtx-c)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:152
+msgid "Corrected by FEC (FEC-C)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js:24
+msgid "DSL line spectrum"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:174
+msgid "DSL stats"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:155
+msgid "Data Path Counters"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:109
+msgid "Data Rates"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:219
+msgid "Downstream HLOG"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:189
+msgid "Downstream QLN"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:159
+msgid "Downstream SNR"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:123
+msgid "Downstream bits allocation"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:137
+msgid "Error Counters"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:139
+msgid "Error Seconds"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:142
+msgid "Errored Seconds (ES)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:141
+msgid "Forward Error Correction Seconds (FECS)"
+msgstr ""
+
+#: modules/luci-mod-dsl/root/usr/share/rpcd/acl.d/luci-mod-dsl.json:3
+msgid "Grant access to luci-mod-dsl"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js:25
+msgid ""
+"Graphs below show Signal-to-noise ratio, Bit allocation, Quiet line noise "
+"and Channel characteristics function (HLOG) per sub-carrier."
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:125
+msgid "Impulse Noise Protection (INP)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:99
+msgid "Inventory"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:124
+msgid "Latency"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:131
+msgid "Line Attenuation (LATN)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:107
+msgid "Line Details"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:93
+msgid "Line Mode"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:129
+msgid "Line Parameters"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:92
+msgid "Line State"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:94
+msgid "Line Uptime"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:144
+msgid "Loss of Signal Seconds (LOSS)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:113
+msgid "Minimum Error-Free Throughput (MINEFTR)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:102
+msgid "Modem Chipset"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:103
+msgid "Modem Firmware"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:133
+msgid "Noise Margin (SNRM)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:122
+msgid "Noise Protection"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:116
+msgid "On-line Reconfiguration"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:158
+msgid "PTM Non Pre-emptive CRC Errors (CRC-P)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:159
+msgid "PTM Pre-emptive CRC Errors (CRCP-P)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:129
+msgid "Pilot tones"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:96
+msgid "Power Management Mode"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:119
+msgid "Rate Adaptation Mode"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:126
+msgid "Retransmission (G.INP)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:162
+msgid "Retransmission Counters"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:164
+msgid "Retransmitted DTUs (rtx-tx)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:146
+msgid "Seconds with Low Error-Free Throughput (LEFTRS)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:143
+msgid "Severely Errored Seconds (SES)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:132
+msgid "Signal Attenuation (SATN)"
+msgstr ""
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:23
+msgid "Spectrum"
+msgstr ""
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:14
+msgid "Stats"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:107
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:143
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:173
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:203
+msgid "Sub-carrier"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:145
+msgid "Unavailable Seconds (UAS)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:166
+msgid "Uncorrected DTUs (rtx-uc)"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:214
+msgid "Upstream HLOG"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:184
+msgid "Upstream QLN"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:154
+msgid "Upstream SNR"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:112
+msgid "bits"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:148
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:208
+msgid "dB"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:178
+msgid "dBm/Hz"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:14
+msgid "off"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:14
+msgid "on"
+msgstr ""
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:3
+msgid "xDSL"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:104
+msgid "xTU-C Vendor ID"
+msgstr ""
diff --git a/modules/luci-mod-dsl/po/vi/dsl.po b/modules/luci-mod-dsl/po/vi/dsl.po
new file mode 100644
index 0000000000..f6ed687179
--- /dev/null
+++ b/modules/luci-mod-dsl/po/vi/dsl.po
@@ -0,0 +1,291 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2023-06-29 20:41+0000\n"
+"Last-Translator: Chu Văn Vương <chuvuong2k.ts@gmail.com>\n"
+"Language-Team: Vietnamese <https://hosted.weblate.org/projects/openwrt/"
+"luci_modules_luci-mod-dsl/vi/>\n"
+"Language: vi\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.18.1\n"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:157
+msgid "ATM Header Error Code Errors (HEC-P)"
+msgstr "Lỗi mã lỗi tiêu đề ATM (HEC-P)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:111
+msgid "Actual Data Rate"
+msgstr "Tốc độ dữ liệu thực tế"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:134
+msgid "Aggregate Transmit Power (ACTATP)"
+msgstr "Năng lượng truyền tổng hợp(ACTATP)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:95
+msgid "Annex"
+msgstr "Annex"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:112
+msgid "Attainable Data Rate (ATTNDR)"
+msgstr "Tốc độ dữ liệu có thể đạt được (ATTNDR)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:118
+msgid "Bitswap"
+msgstr "Bitswap"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:151
+msgid "CRC Errors (CV-C)"
+msgstr "Lỗi CRC (CV-C)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:149
+msgid "Channel Counters"
+msgstr "Bộ đếm kênh"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:89
+msgid "Connection State"
+msgstr "Trạng thái kết nối"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:165
+msgid "Corrected DTUs (rtx-c)"
+msgstr "Corrected DTUs (rtx-c)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:152
+msgid "Corrected by FEC (FEC-C)"
+msgstr "Xác nhận bởi FEC (FEC-C)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js:24
+msgid "DSL line spectrum"
+msgstr "DSL line spectrum"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:174
+msgid "DSL stats"
+msgstr "Số liệu thống kê DSL"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:155
+msgid "Data Path Counters"
+msgstr "Bộ đếm đường dẫn dữ liệu"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:109
+msgid "Data Rates"
+msgstr "Data Rates"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:219
+msgid "Downstream HLOG"
+msgstr "Downstream HLOG"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:189
+msgid "Downstream QLN"
+msgstr "Downstream QLN"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:159
+msgid "Downstream SNR"
+msgstr "Downstream SNR"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:123
+msgid "Downstream bits allocation"
+msgstr "Phân bổ Downstream bits"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:137
+msgid "Error Counters"
+msgstr "Lỗi Bộ đếm"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:139
+msgid "Error Seconds"
+msgstr "Lỗi giây"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:142
+msgid "Errored Seconds (ES)"
+msgstr "Giây bị lỗi (Errored Seconds)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:141
+msgid "Forward Error Correction Seconds (FECS)"
+msgstr "Chuyển tiếp giây sửa lỗi (Forward Error Correction Seconds)"
+
+#: modules/luci-mod-dsl/root/usr/share/rpcd/acl.d/luci-mod-dsl.json:3
+msgid "Grant access to luci-mod-dsl"
+msgstr "Cấp quyền truy cập vào luci-mod-dsl"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js:25
+msgid ""
+"Graphs below show Signal-to-noise ratio, Bit allocation, Quiet line noise "
+"and Channel characteristics function (HLOG) per sub-carrier."
+msgstr ""
+"Các biểu đồ bên dưới hiển thị Tỷ lệ tín hiệu trên nhiễu, Phân bổ bit, Độ "
+"nhiễu đường truyền tĩnh và Chức năng đặc tính kênh (HLOG) trên mỗi sóng mang "
+"phụ."
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:125
+msgid "Impulse Noise Protection (INP)"
+msgstr "Chống ồn xung (Impulse Noise Protection)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:99
+msgid "Inventory"
+msgstr "Inventory"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:124
+msgid "Latency"
+msgstr "Độ trễ"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:131
+msgid "Line Attenuation (LATN)"
+msgstr "Suy giảm dòng (Line Attenuation)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:107
+msgid "Line Details"
+msgstr "Chi tiết Line"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:93
+msgid "Line Mode"
+msgstr "Chế độ Line"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:129
+msgid "Line Parameters"
+msgstr "Line Parameters"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:92
+msgid "Line State"
+msgstr "Trạng thái Line"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:94
+msgid "Line Uptime"
+msgstr "Thời gian hoạt động của Line"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:144
+msgid "Loss of Signal Seconds (LOSS)"
+msgstr "Mất giây tín hiệu (Loss of Signal Seconds)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:113
+msgid "Minimum Error-Free Throughput (MINEFTR)"
+msgstr "Thông lượng không có lỗi tối thiểu (Minimum Error-Free Throughput)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:102
+msgid "Modem Chipset"
+msgstr "Modem Chipset"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:103
+msgid "Modem Firmware"
+msgstr "Modem Firmware"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:133
+msgid "Noise Margin (SNRM)"
+msgstr "Biên độ nhiễu (Noise Margin)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:122
+msgid "Noise Protection"
+msgstr "Noise Protection"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:116
+msgid "On-line Reconfiguration"
+msgstr "On-line Reconfiguration"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:158
+msgid "PTM Non Pre-emptive CRC Errors (CRC-P)"
+msgstr "Lỗi CRC không ưu tiên PTM (PTM Non Pre-emptive CRC Errors)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:159
+msgid "PTM Pre-emptive CRC Errors (CRCP-P)"
+msgstr "Lỗi CRC ưu tiên PTM (PTM Pre-emptive CRC Errors)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:129
+msgid "Pilot tones"
+msgstr "Pilot tones"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:96
+msgid "Power Management Mode"
+msgstr "Chế độ quản lý nguồn điện"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:119
+msgid "Rate Adaptation Mode"
+msgstr "Rate Adaptation Mode"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:126
+msgid "Retransmission (G.INP)"
+msgstr "Retransmission (G.INP)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:162
+msgid "Retransmission Counters"
+msgstr "Bộ đếm retransmission"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:164
+msgid "Retransmitted DTUs (rtx-tx)"
+msgstr "Retransmitted DTUs (rtx-tx)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:146
+msgid "Seconds with Low Error-Free Throughput (LEFTRS)"
+msgstr "Seconds with Low Error-Free Throughput (LEFTRS)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:143
+msgid "Severely Errored Seconds (SES)"
+msgstr "Giây bị lỗi nghiêm trọng (Severely Errored Seconds)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:132
+msgid "Signal Attenuation (SATN)"
+msgstr "Suy giảm tín hiệu (Signal Attenuation)"
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:23
+msgid "Spectrum"
+msgstr "Spectrum"
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:14
+msgid "Stats"
+msgstr "Thống kê"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:107
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:143
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:173
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:203
+msgid "Sub-carrier"
+msgstr "Sub-carrier"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:145
+msgid "Unavailable Seconds (UAS)"
+msgstr "Giây không khả dụng (Unavailable Seconds)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:166
+msgid "Uncorrected DTUs (rtx-uc)"
+msgstr "DTU chưa sửa lỗi (Uncorrected DTUs)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:214
+msgid "Upstream HLOG"
+msgstr "Upstream HLOG"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:184
+msgid "Upstream QLN"
+msgstr "Upstream QLN"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:154
+msgid "Upstream SNR"
+msgstr "Upstream SNR"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:112
+msgid "bits"
+msgstr "bits"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:148
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:208
+msgid "dB"
+msgstr "dB"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:178
+msgid "dBm/Hz"
+msgstr "dBm/Hz"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:14
+msgid "off"
+msgstr "tắt"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:14
+msgid "on"
+msgstr "bật"
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:3
+msgid "xDSL"
+msgstr "xDSL"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:104
+msgid "xTU-C Vendor ID"
+msgstr "xTU-C Vendor ID"
+
+#~ msgid "DSL Status"
+#~ msgstr "Trạng thái DSL"
diff --git a/modules/luci-mod-dsl/po/zh_Hans/dsl.po b/modules/luci-mod-dsl/po/zh_Hans/dsl.po
new file mode 100644
index 0000000000..0a8e4214f4
--- /dev/null
+++ b/modules/luci-mod-dsl/po/zh_Hans/dsl.po
@@ -0,0 +1,285 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2023-07-27 06:17+0000\n"
+"Last-Translator: Eric <hamburger2048@users.noreply.hosted.weblate.org>\n"
+"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
+"openwrt/luci_modules_luci-mod-dsl/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 5.0-dev\n"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:157
+msgid "ATM Header Error Code Errors (HEC-P)"
+msgstr "ATM 标头错误码错误(HEC-P)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:111
+msgid "Actual Data Rate"
+msgstr "实际数据率"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:134
+msgid "Aggregate Transmit Power (ACTATP)"
+msgstr "总传输功率(ACTATP)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:95
+msgid "Annex"
+msgstr "Annex"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:112
+msgid "Attainable Data Rate (ATTNDR)"
+msgstr "可达到的净数据率 (ATTNDR)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:118
+msgid "Bitswap"
+msgstr "Bitswap"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:151
+msgid "CRC Errors (CV-C)"
+msgstr "CRC 错误(CV-C)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:149
+msgid "Channel Counters"
+msgstr "信道数"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:89
+msgid "Connection State"
+msgstr "连接状态"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:165
+msgid "Corrected DTUs (rtx-c)"
+msgstr "更正的数据传输单元(rtx-c)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:152
+msgid "Corrected by FEC (FEC-C)"
+msgstr "由 FEC (FEC-C)更正"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js:24
+msgid "DSL line spectrum"
+msgstr "DSL 线频段"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:174
+msgid "DSL stats"
+msgstr "DSL 统计数据"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:155
+msgid "Data Path Counters"
+msgstr "数据路径计数器"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:109
+msgid "Data Rates"
+msgstr "数据率"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:219
+msgid "Downstream HLOG"
+msgstr "下行 HLOG"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:189
+msgid "Downstream QLN"
+msgstr "下行 QLN"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:159
+msgid "Downstream SNR"
+msgstr "下行 SNR"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:123
+msgid "Downstream bits allocation"
+msgstr "下行比特率分配"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:137
+msgid "Error Counters"
+msgstr "错误计数器"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:139
+msgid "Error Seconds"
+msgstr "错误秒"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:142
+msgid "Errored Seconds (ES)"
+msgstr "差错秒(ES)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:141
+msgid "Forward Error Correction Seconds (FECS)"
+msgstr "前向纠错秒(FECS)"
+
+#: modules/luci-mod-dsl/root/usr/share/rpcd/acl.d/luci-mod-dsl.json:3
+msgid "Grant access to luci-mod-dsl"
+msgstr "将权限授予 luci-mod-dsl"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js:25
+msgid ""
+"Graphs below show Signal-to-noise ratio, Bit allocation, Quiet line noise "
+"and Channel characteristics function (HLOG) per sub-carrier."
+msgstr "下方图形显示每一 carrier 的信噪比、位分配,静线噪声和信道特性函数(HLOG)。"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:125
+msgid "Impulse Noise Protection (INP)"
+msgstr "脉冲信号保护(INP)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:99
+msgid "Inventory"
+msgstr "库存"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:124
+msgid "Latency"
+msgstr "延迟"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:131
+msgid "Line Attenuation (LATN)"
+msgstr "线路衰减(LATN)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:107
+msgid "Line Details"
+msgstr "线路详情"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:93
+msgid "Line Mode"
+msgstr "线路模式"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:129
+msgid "Line Parameters"
+msgstr "线路参数"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:92
+msgid "Line State"
+msgstr "线路状态"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:94
+msgid "Line Uptime"
+msgstr "线路运行时间"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:144
+msgid "Loss of Signal Seconds (LOSS)"
+msgstr "信号丢失秒数(LOSS)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:113
+msgid "Minimum Error-Free Throughput (MINEFTR)"
+msgstr "最小无错吞吐(MINEFTR)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:102
+msgid "Modem Chipset"
+msgstr "调制解调器芯片组"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:103
+msgid "Modem Firmware"
+msgstr "调制解调器固件"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:133
+msgid "Noise Margin (SNRM)"
+msgstr "噪声容限(SNRM)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:122
+msgid "Noise Protection"
+msgstr "噪声保护"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:116
+msgid "On-line Reconfiguration"
+msgstr "在线重新配置"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:158
+msgid "PTM Non Pre-emptive CRC Errors (CRC-P)"
+msgstr "PTM 非抢占式 CRC 错误(CRC-P)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:159
+msgid "PTM Pre-emptive CRC Errors (CRCP-P)"
+msgstr "PTM 抢占式 CRC 错误(CRCP-P)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:129
+msgid "Pilot tones"
+msgstr "导频信号"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:96
+msgid "Power Management Mode"
+msgstr "电源管理模式"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:119
+msgid "Rate Adaptation Mode"
+msgstr "速率适应模式"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:126
+msgid "Retransmission (G.INP)"
+msgstr "重传(G.INP)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:162
+msgid "Retransmission Counters"
+msgstr "重传计数器"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:164
+msgid "Retransmitted DTUs (rtx-tx)"
+msgstr "重传的 DTUs (rtx-tx)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:146
+msgid "Seconds with Low Error-Free Throughput (LEFTRS)"
+msgstr "低无错吞吐秒(LEFTRS)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:143
+msgid "Severely Errored Seconds (SES)"
+msgstr "严重差错秒(SES)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:132
+msgid "Signal Attenuation (SATN)"
+msgstr "信号衰减(SATN)"
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:23
+msgid "Spectrum"
+msgstr "频段"
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:14
+msgid "Stats"
+msgstr "统计数据"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:107
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:143
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:173
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:203
+msgid "Sub-carrier"
+msgstr "每 carrier"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:145
+msgid "Unavailable Seconds (UAS)"
+msgstr "不可用秒数(UAS)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:166
+msgid "Uncorrected DTUs (rtx-uc)"
+msgstr "不正确的 DTUs(rx-uc)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:214
+msgid "Upstream HLOG"
+msgstr "上行 HLOG"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:184
+msgid "Upstream QLN"
+msgstr "上行 QLN"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:154
+msgid "Upstream SNR"
+msgstr "上行 SNR"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:112
+msgid "bits"
+msgstr "比特"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:148
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:208
+msgid "dB"
+msgstr "dB"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:178
+msgid "dBm/Hz"
+msgstr "dBm/Hz"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:14
+msgid "off"
+msgstr "关"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:14
+msgid "on"
+msgstr "开"
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:3
+msgid "xDSL"
+msgstr "xDSL"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:104
+msgid "xTU-C Vendor ID"
+msgstr "xTU-C 厂商 ID"
diff --git a/modules/luci-mod-dsl/po/zh_Hant/dsl.po b/modules/luci-mod-dsl/po/zh_Hant/dsl.po
new file mode 100644
index 0000000000..1ca1d69f1e
--- /dev/null
+++ b/modules/luci-mod-dsl/po/zh_Hant/dsl.po
@@ -0,0 +1,289 @@
+msgid ""
+msgstr ""
+"PO-Revision-Date: 2023-02-16 13:38+0000\n"
+"Last-Translator: 王攀 <41330784@qq.com>\n"
+"Language-Team: Chinese (Traditional) <https://hosted.weblate.org/projects/"
+"openwrt/luci_modules_luci-mod-dsl/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.16-dev\n"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:157
+msgid "ATM Header Error Code Errors (HEC-P)"
+msgstr "ATM 接頭錯誤代碼錯誤 (HEC-P)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:111
+msgid "Actual Data Rate"
+msgstr "實際數據速率"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:134
+msgid "Aggregate Transmit Power (ACTATP)"
+msgstr "總發射功率(ACTATP)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:95
+msgid "Annex"
+msgstr "附件"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:112
+msgid "Attainable Data Rate (ATTNDR)"
+msgstr "可實現的資料速率 (ATTNDR)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:118
+msgid "Bitswap"
+msgstr "位交換"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:151
+msgid "CRC Errors (CV-C)"
+msgstr "CRC 錯誤 (CV-C)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:149
+msgid "Channel Counters"
+msgstr "通道計數器"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:89
+msgid "Connection State"
+msgstr "連接狀態"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:165
+msgid "Corrected DTUs (rtx-c)"
+msgstr "更正的 DTU (rtx-c)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:152
+msgid "Corrected by FEC (FEC-C)"
+msgstr "由 FEC (FEC-C) 更正"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js:24
+msgid "DSL line spectrum"
+msgstr "DSL線譜"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:174
+msgid "DSL stats"
+msgstr "DSL統計數據"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:155
+msgid "Data Path Counters"
+msgstr "數據路徑計數器"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:109
+msgid "Data Rates"
+msgstr "數據速率"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:219
+msgid "Downstream HLOG"
+msgstr "下游 HLOG"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:189
+msgid "Downstream QLN"
+msgstr "下游QLN"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:159
+msgid "Downstream SNR"
+msgstr "下游SNR"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:123
+msgid "Downstream bits allocation"
+msgstr "下游位分配"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:137
+msgid "Error Counters"
+msgstr "錯誤計數器"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:139
+msgid "Error Seconds"
+msgstr "錯誤秒數"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:142
+msgid "Errored Seconds (ES)"
+msgstr "錯誤秒數 (ES)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:141
+msgid "Forward Error Correction Seconds (FECS)"
+msgstr "前向糾錯秒數 (FECS)"
+
+#: modules/luci-mod-dsl/root/usr/share/rpcd/acl.d/luci-mod-dsl.json:3
+msgid "Grant access to luci-mod-dsl"
+msgstr "授予對 luci-mod-dsl 的訪問許可權"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/spectrum.js:25
+msgid ""
+"Graphs below show Signal-to-noise ratio, Bit allocation, Quiet line noise "
+"and Channel characteristics function (HLOG) per sub-carrier."
+msgstr ""
+"下圖顯示了每個子載波的信噪比、位分配、安靜線路雜訊和通道特性函數 (HLOG)。"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:125
+msgid "Impulse Noise Protection (INP)"
+msgstr "脈衝雜訊保護(INP)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:99
+msgid "Inventory"
+msgstr "庫存"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:124
+msgid "Latency"
+msgstr "延遲"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:131
+msgid "Line Attenuation (LATN)"
+msgstr "線路衰減 (LATN)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:107
+msgid "Line Details"
+msgstr "線路詳情"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:93
+msgid "Line Mode"
+msgstr "線路模式"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:129
+msgid "Line Parameters"
+msgstr "線路參數"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:92
+msgid "Line State"
+msgstr "線路狀態"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:94
+msgid "Line Uptime"
+msgstr "線路正常運行時間"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:144
+msgid "Loss of Signal Seconds (LOSS)"
+msgstr "信號秒數損失(損失)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:113
+msgid "Minimum Error-Free Throughput (MINEFTR)"
+msgstr "最小無差錯輸送量 (MINEFTR)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:102
+msgid "Modem Chipset"
+msgstr "數據機晶片組"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:103
+msgid "Modem Firmware"
+msgstr "數據機韌體"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:133
+msgid "Noise Margin (SNRM)"
+msgstr "雜訊容限 (信噪比)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:122
+msgid "Noise Protection"
+msgstr "噪音防護"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:116
+msgid "On-line Reconfiguration"
+msgstr "在線重新配置"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:158
+msgid "PTM Non Pre-emptive CRC Errors (CRC-P)"
+msgstr "PTM 非先發制人的 CRC 錯誤 (CRC-P)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:159
+msgid "PTM Pre-emptive CRC Errors (CRCP-P)"
+msgstr "PTM 搶佔式 CRC 錯誤 (CRCP-P)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:129
+msgid "Pilot tones"
+msgstr "引導音"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:96
+msgid "Power Management Mode"
+msgstr "電源管理模式"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:119
+msgid "Rate Adaptation Mode"
+msgstr "速率適應模式"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:126
+msgid "Retransmission (G.INP)"
+msgstr "轉播 (G.INP)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:162
+msgid "Retransmission Counters"
+msgstr "重傳計數器"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:164
+msgid "Retransmitted DTUs (rtx-tx)"
+msgstr "重新傳輸的 DTU (rtx-tx)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:146
+msgid "Seconds with Low Error-Free Throughput (LEFTRS)"
+msgstr "秒,無差錯輸送量 (LEFTRS)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:143
+msgid "Severely Errored Seconds (SES)"
+msgstr "嚴重錯誤秒 (SES)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:132
+msgid "Signal Attenuation (SATN)"
+msgstr "信號衰減(SATN)"
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:23
+msgid "Spectrum"
+msgstr "光譜"
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:14
+msgid "Stats"
+msgstr "統計"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:107
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:143
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:173
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:203
+msgid "Sub-carrier"
+msgstr "子載波"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:145
+msgid "Unavailable Seconds (UAS)"
+msgstr "無法用秒數 (UAS)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:166
+msgid "Uncorrected DTUs (rtx-uc)"
+msgstr "未更正的 DTU (rtx-uc)"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:214
+msgid "Upstream HLOG"
+msgstr "上游 HLOG"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:184
+msgid "Upstream QLN"
+msgstr "上游QLN"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:154
+msgid "Upstream SNR"
+msgstr "上游SNR"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:112
+msgid "bits"
+msgstr "位"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:148
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:208
+msgid "dB"
+msgstr "分貝"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/graph.js:178
+msgid "dBm/Hz"
+msgstr "分貝/赫茲"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:14
+msgid "off"
+msgstr "關閉"
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:14
+msgid "on"
+msgstr "開"
+
+#: modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json:3
+msgid "xDSL"
+msgstr ""
+
+#: modules/luci-mod-dsl/htdocs/luci-static/resources/view/status/dsl/stats.js:104
+msgid "xTU-C Vendor ID"
+msgstr "xTU-C 供應商編號"
+
+#~ msgid "DSL Status"
+#~ msgstr "DSL狀態"
diff --git a/modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json b/modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json
new file mode 100644
index 0000000000..498157f92d
--- /dev/null
+++ b/modules/luci-mod-dsl/root/usr/share/luci/menu.d/luci-mod-dsl.json
@@ -0,0 +1,30 @@
+{
+ "admin/status/dsl": {
+ "title": "xDSL",
+ "order": 7,
+ "action": {
+ "type": "firstchild"
+ },
+ "depends": {
+ "acl": [ "luci-mod-dsl" ]
+ }
+ },
+
+ "admin/status/dsl/stats": {
+ "title": "Stats",
+ "order": 1,
+ "action": {
+ "type": "view",
+ "path": "status/dsl/stats"
+ }
+ },
+
+ "admin/status/dsl/spectrum": {
+ "title": "Spectrum",
+ "order": 2,
+ "action": {
+ "type": "view",
+ "path": "status/dsl/spectrum"
+ }
+ }
+}
diff --git a/modules/luci-mod-dsl/root/usr/share/rpcd/acl.d/luci-mod-dsl.json b/modules/luci-mod-dsl/root/usr/share/rpcd/acl.d/luci-mod-dsl.json
new file mode 100644
index 0000000000..ee69882f4e
--- /dev/null
+++ b/modules/luci-mod-dsl/root/usr/share/rpcd/acl.d/luci-mod-dsl.json
@@ -0,0 +1,10 @@
+{
+ "luci-mod-dsl": {
+ "description": "Grant access to luci-mod-dsl",
+ "read": {
+ "ubus": {
+ "dsl": [ "metrics", "statistics" ]
+ }
+ }
+ }
+}