gluon-status-page: JS translations (#1044)
Add translation support to gluon-status-page, including English, German and Russian translations.
This commit is contained in:
parent
134ddd411c
commit
26a0cbd1cc
@ -132,7 +132,7 @@ function (Helper, SignalGraph, Signal) {
|
||||
table.classList.add("datatable")
|
||||
|
||||
var th = document.createElement("th")
|
||||
th.textContent = "Knoten"
|
||||
th.textContent = Helper._("Node")
|
||||
tr.appendChild(th)
|
||||
|
||||
th = document.createElement("th")
|
||||
@ -144,11 +144,11 @@ function (Helper, SignalGraph, Signal) {
|
||||
tr.appendChild(th)
|
||||
|
||||
th = document.createElement("th")
|
||||
th.textContent = "Entfernung"
|
||||
th.textContent = Helper._("Distance")
|
||||
tr.appendChild(th)
|
||||
|
||||
th = document.createElement("th")
|
||||
th.textContent = "Inaktiv"
|
||||
th.textContent = Helper._("Inactive")
|
||||
tr.appendChild(th)
|
||||
|
||||
el.appendChild(table)
|
||||
@ -266,7 +266,7 @@ function (Helper, SignalGraph, Signal) {
|
||||
}
|
||||
}
|
||||
|
||||
return { title: document.createTextNode("Nachbarknoten")
|
||||
return { title: document.createTextNode(Helper._("Neighbors"))
|
||||
, render: render
|
||||
, destroy: destroy
|
||||
}
|
||||
|
@ -33,20 +33,20 @@ define(["lib/helper"], function (Helper) {
|
||||
function update(nodeInfo) {
|
||||
var list = document.createElement("dl")
|
||||
|
||||
dlEntry(list, nodeInfo, "hostname", "Knotenname")
|
||||
dlEntry(list, nodeInfo, "owner.contact", "Kontakt")
|
||||
dlEntry(list, nodeInfo, "hardware.model", "Modell")
|
||||
dlEntry(list, nodeInfo, "network.mac", "Primäre MAC")
|
||||
dlEntry(list, nodeInfo, "network.addresses", "IP-Adresse")
|
||||
dlEntry(list, nodeInfo, "software.firmware.release", "Firmware")
|
||||
dlEntry(list, nodeInfo, "hostname", Helper._("Node name"))
|
||||
dlEntry(list, nodeInfo, "owner.contact", Helper._("Contact"))
|
||||
dlEntry(list, nodeInfo, "hardware.model", Helper._("Model"))
|
||||
dlEntry(list, nodeInfo, "network.mac", Helper._("Primary MAC"))
|
||||
dlEntry(list, nodeInfo, "network.addresses", Helper._("IP Address"))
|
||||
dlEntry(list, nodeInfo, "software.firmware.release", Helper._("Firmware"))
|
||||
dlEntry(list, nodeInfo, "software.fastd.enabled", "Mesh-VPN")
|
||||
dlEntry(list, nodeInfo, "software.autoupdater.enabled", "Automatische Updates")
|
||||
dlEntry(list, nodeInfo, "software.autoupdater.branch", "Branch")
|
||||
dlEntry(list, nodeInfo, "software.autoupdater.enabled", Helper._("Automatic updates"))
|
||||
dlEntry(list, nodeInfo, "software.autoupdater.branch", Helper._("Branch"))
|
||||
|
||||
el.appendChild(list)
|
||||
}
|
||||
|
||||
return { title: document.createTextNode("Übersicht")
|
||||
return { title: document.createTextNode(Helper._("Overview"))
|
||||
, render: function (d) { d.appendChild(el) }
|
||||
, destroy: function () {}
|
||||
}
|
||||
|
@ -171,14 +171,14 @@ define(["lib/helper"], function (Helper) {
|
||||
|
||||
function prettyPeer(d) {
|
||||
if (d === null)
|
||||
return "nicht verbunden"
|
||||
return Helper._("not connected")
|
||||
else
|
||||
return "verbunden (" + prettyUptime(d.established) + ")"
|
||||
return Helper._("connected") + " (" + prettyUptime(d.established) + ")"
|
||||
}
|
||||
|
||||
function prettyPackets(d) {
|
||||
var v = Helper.formatNumberFixed(d, 0)
|
||||
return v + " Pakete/s"
|
||||
return v + " "+ Helper._("Packets/s")
|
||||
}
|
||||
|
||||
function prettyPrefix(prefixes, step, d) {
|
||||
@ -215,9 +215,9 @@ define(["lib/helper"], function (Helper) {
|
||||
var out = ""
|
||||
|
||||
if (days === 1)
|
||||
out += "1 Tag, "
|
||||
out += "1 " + Helper._("Day") + ", "
|
||||
else if (days > 1)
|
||||
out += days + " Tage, "
|
||||
out += days + " " + Helper._("Days") + ", "
|
||||
|
||||
out += hours + ":"
|
||||
|
||||
@ -230,7 +230,7 @@ define(["lib/helper"], function (Helper) {
|
||||
}
|
||||
|
||||
function prettyNVRAM(usage) {
|
||||
return Helper.formatNumber(usage * 100, 3) + "% belegt"
|
||||
return Helper.formatNumber(usage * 100, 3) + "% " + Helper._("used")
|
||||
}
|
||||
|
||||
function prettyLoad(load) {
|
||||
@ -247,24 +247,24 @@ define(["lib/helper"], function (Helper) {
|
||||
var el = document.createElement("div")
|
||||
var table = document.createElement("table")
|
||||
|
||||
children.push(mkRow(table, "Laufzeit", stream.map(".uptime").map(prettyUptime)))
|
||||
children.push(mkRow(table, "Systemlast", stream.map(".loadavg").map(prettyLoad)))
|
||||
children.push(mkRow(table, Helper._("Uptime"), stream.map(".uptime").map(prettyUptime)))
|
||||
children.push(mkRow(table, Helper._("Load average"), stream.map(".loadavg").map(prettyLoad)))
|
||||
children.push(mkRow(table, "RAM", stream.map(".memory").map(prettyRAM)))
|
||||
children.push(mkRow(table, "NVRAM", stream.map(".rootfs_usage").map(prettyNVRAM)))
|
||||
children.push(mkRow(table, "Gateway", stream.map(".gateway")))
|
||||
children.push(mkRow(table, "Clients", stream.map(".clients.total")))
|
||||
children.push(mkRow(table, Helper._("Gateway"), stream.map(".gateway")))
|
||||
children.push(mkRow(table, Helper._("Clients"), stream.map(".clients.total")))
|
||||
|
||||
el.appendChild(table)
|
||||
|
||||
var h = document.createElement("h3")
|
||||
h.textContent = "Traffic"
|
||||
h.textContent = Helper._("Traffic")
|
||||
el.appendChild(h)
|
||||
|
||||
table = document.createElement("table")
|
||||
|
||||
mkTrafficRow(table, children, "Gesendet", stream, ".traffic.tx")
|
||||
mkTrafficRow(table, children, "Empfangen", stream, ".traffic.rx")
|
||||
mkTrafficRow(table, children, "Weitergeleitet", stream, ".traffic.forward")
|
||||
mkTrafficRow(table, children, Helper._("Transmitted"), stream, ".traffic.tx")
|
||||
mkTrafficRow(table, children, Helper._("Received"), stream, ".traffic.rx")
|
||||
mkTrafficRow(table, children, Helper._("Forwarded"), stream, ".traffic.forward")
|
||||
|
||||
el.appendChild(table)
|
||||
|
||||
@ -274,7 +274,7 @@ define(["lib/helper"], function (Helper) {
|
||||
children.forEach(function (d) {d.destroy()})
|
||||
}
|
||||
|
||||
return { title: document.createTextNode("Statistik")
|
||||
return { title: document.createTextNode(Helper._("Statistic"))
|
||||
, render: function (d) { d.appendChild(el) }
|
||||
, destroy: destroy
|
||||
}
|
||||
|
@ -81,6 +81,78 @@ define([ "bacon" ], function (Bacon) {
|
||||
return R * c
|
||||
}
|
||||
|
||||
function _(s) {
|
||||
var i, lang, langs, dict = {
|
||||
"de": {
|
||||
"Node": "Knoten",
|
||||
"Distance": "Entfernung",
|
||||
"Inactive": "Inaktiv",
|
||||
"Node name": "Knotenname",
|
||||
"Contact": "Kontakt",
|
||||
"Model": "Modell",
|
||||
"Primary MAC": "Primäre MAC",
|
||||
"IP Address": "IP-Adresse",
|
||||
"Automatic updates": "Automatische Updates",
|
||||
"Overview": "Übersicht",
|
||||
"used": "belegt",
|
||||
"Uptime": "Laufzeit",
|
||||
"Load average": "Systemlast",
|
||||
"Transmitted": "Gesendet",
|
||||
"Received": "Empfangen",
|
||||
"Forwarded": "Weitergeleitet",
|
||||
"Day": "Tag",
|
||||
"Days": "Tage",
|
||||
"connected": "verbunden",
|
||||
"not connected": "nicht verbunden",
|
||||
"Packets/s": "Pakete/s",
|
||||
"Statistic": "Statistik",
|
||||
"Neighbors": "Nachbarknoten"
|
||||
},
|
||||
"ru": {
|
||||
"Node": "Узел",
|
||||
"Distance": "Дальность",
|
||||
"Inactive": "Не активен",
|
||||
"Node name": "Имя узла",
|
||||
"Contact": "Контакт",
|
||||
"Model": "Модель",
|
||||
"Primary MAC": "Основной MAC",
|
||||
"IP Address": "IP Адрес",
|
||||
"Automatic updates": "Автоматические обновления",
|
||||
"Overview": "Обзор",
|
||||
"used": "используется",
|
||||
"Uptime": "Время работы",
|
||||
"Load average": "Загрузка системы",
|
||||
"Gateway": "Шлюз",
|
||||
"Clients": "Клиенты",
|
||||
"Transmitted": "Передано",
|
||||
"Received": "Получено",
|
||||
"Forwarded": "Переправленно",
|
||||
"Day": "День",
|
||||
"Days": "Дней",
|
||||
"connected": "подключено",
|
||||
"not connected": "не подключено",
|
||||
"Packets/s": "Пакетов/c",
|
||||
"Statistic": "Статистика",
|
||||
"Traffic": "Трафик",
|
||||
"Neighbors": "Соседи",
|
||||
"Firmware": "Прошивка",
|
||||
"Branch": "Ветка"
|
||||
}
|
||||
}
|
||||
if (navigator.userLanguage)
|
||||
langs = [ navigator.userLanguage ]
|
||||
else
|
||||
langs = navigator.languages
|
||||
for (i=0; i<langs.length; i++) {
|
||||
lang = langs[i].split('-')[0]
|
||||
if (lang == "en")
|
||||
return s
|
||||
else if (lang in dict && s in dict[lang])
|
||||
return dict[lang][s]
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
return { buildUrl: buildUrl
|
||||
, request: request
|
||||
, getJSON: getJSON
|
||||
@ -88,5 +160,6 @@ define([ "bacon" ], function (Bacon) {
|
||||
, formatNumber: formatNumber
|
||||
, formatNumberFixed: formatNumberFixed
|
||||
, haversine: haversine
|
||||
, _: _
|
||||
}
|
||||
})
|
||||
|
Loading…
Reference in New Issue
Block a user