From 37bc9415583df17223410d35a88afc8812887dde Mon Sep 17 00:00:00 2001
From: Matthias Schiffer <mschiffer@universe-factory.net>
Date: Wed, 7 May 2025 18:48:15 +0200
Subject: [PATCH] gluon-core, gluon-web-admin: move translations for gluon-info
 strings to gluon-core

The Lua code was moved, but the translations were not - so regenerating
POT files using i18n-scan.pl would have broken them on the next msgmerge.

Generate new POT files for both gluon-core and gluon-web-admin, msgmerge
the existing translations for both, and adjust gluon.info to request
i18n data from gluon-core.
---
 package/gluon-core/i18n/de.po                 | 41 +++++++++++++++++++
 package/gluon-core/i18n/fr.po                 | 41 +++++++++++++++++++
 package/gluon-core/i18n/gluon-core.pot        | 32 +++++++++++++++
 package/gluon-core/luasrc/usr/bin/gluon-info  |  2 +-
 .../luasrc/usr/lib/lua/gluon/info.lua         | 14 ++++++-
 .../gluon/config-mode/view/admin/info.html    |  2 +-
 package/gluon-web-admin/i18n/de.po            | 30 --------------
 package/gluon-web-admin/i18n/fr.po            | 30 ++------------
 .../gluon-web-admin/i18n/gluon-web-admin.pot  | 30 --------------
 9 files changed, 132 insertions(+), 90 deletions(-)
 create mode 100644 package/gluon-core/i18n/de.po
 create mode 100644 package/gluon-core/i18n/fr.po
 create mode 100644 package/gluon-core/i18n/gluon-core.pot

diff --git a/package/gluon-core/i18n/de.po b/package/gluon-core/i18n/de.po
new file mode 100644
index 000000000..879e24985
--- /dev/null
+++ b/package/gluon-core/i18n/de.po
@@ -0,0 +1,41 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"PO-Revision-Date: 2015-05-04 00:34+0200\n"
+"Last-Translator:  <mschiffer@universe-factory.net>\n"
+"Language-Team: German\n"
+"Language: de\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"
+
+msgid "Domain"
+msgstr "Domäne"
+
+msgid "Firmware release"
+msgstr "Firmware-Release"
+
+msgid "Gluon version"
+msgstr "Gluon-Version"
+
+msgid "Hardware model"
+msgstr "Hardware-Modell"
+
+msgid "Hostname"
+msgstr "Hostname"
+
+msgid "MAC address"
+msgstr "MAC-Adresse"
+
+msgid "Public VPN key"
+msgstr "Öffentlicher VPN-Schlüssel"
+
+msgid "Site"
+msgstr "Site"
+
+msgid "Site version"
+msgstr "Site-Version"
+
+msgid "Switch type"
+msgstr "Switch Typ"
diff --git a/package/gluon-core/i18n/fr.po b/package/gluon-core/i18n/fr.po
new file mode 100644
index 000000000..78b1252c1
--- /dev/null
+++ b/package/gluon-core/i18n/fr.po
@@ -0,0 +1,41 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"PO-Revision-Date: 2015-08-19 20:20+0100\n"
+"Last-Translator: Bernot Tobias <tqbs@airmail.cc>\n"
+"Language-Team: French\n"
+"Language: fr\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"
+
+msgid "Domain"
+msgstr ""
+
+msgid "Firmware release"
+msgstr "Version de la firmware"
+
+msgid "Gluon version"
+msgstr "Version de Gluon"
+
+msgid "Hardware model"
+msgstr "Modèle du Matériel"
+
+msgid "Hostname"
+msgstr "Nom d'hôte"
+
+msgid "MAC address"
+msgstr "Adresse MAC"
+
+msgid "Public VPN key"
+msgstr "Clé VPN publique"
+
+msgid "Site"
+msgstr "Site"
+
+msgid "Site version"
+msgstr "Version de Site"
+
+msgid "Switch type"
+msgstr ""
diff --git a/package/gluon-core/i18n/gluon-core.pot b/package/gluon-core/i18n/gluon-core.pot
new file mode 100644
index 000000000..5bc37d1cc
--- /dev/null
+++ b/package/gluon-core/i18n/gluon-core.pot
@@ -0,0 +1,32 @@
+msgid ""
+msgstr "Content-Type: text/plain; charset=UTF-8"
+
+msgid "Domain"
+msgstr ""
+
+msgid "Firmware release"
+msgstr ""
+
+msgid "Gluon version"
+msgstr ""
+
+msgid "Hardware model"
+msgstr ""
+
+msgid "Hostname"
+msgstr ""
+
+msgid "MAC address"
+msgstr ""
+
+msgid "Public VPN key"
+msgstr ""
+
+msgid "Site"
+msgstr ""
+
+msgid "Site version"
+msgstr ""
+
+msgid "Switch type"
+msgstr ""
diff --git a/package/gluon-core/luasrc/usr/bin/gluon-info b/package/gluon-core/luasrc/usr/bin/gluon-info
index 916c0643c..844b2e63e 100755
--- a/package/gluon-core/luasrc/usr/bin/gluon-info
+++ b/package/gluon-core/luasrc/usr/bin/gluon-info
@@ -2,7 +2,7 @@
 
 local info = require 'gluon.info'
 
-local values = info.get_info_pretty(function(str) return str end)
+local values = info.get_info_pretty()
 
 local padTo = 24
 
diff --git a/package/gluon-core/luasrc/usr/lib/lua/gluon/info.lua b/package/gluon-core/luasrc/usr/lib/lua/gluon/info.lua
index 60df0f474..e66a706d2 100644
--- a/package/gluon-core/luasrc/usr/lib/lua/gluon/info.lua
+++ b/package/gluon-core/luasrc/usr/lib/lua/gluon/info.lua
@@ -34,7 +34,19 @@ function M.get_info()
 	}
 end
 
-function M.get_info_pretty(_)
+function M.get_info_pretty(i18n)
+	local _
+	if i18n then
+		local pkg_i18n = i18n 'gluon-core'
+		_ = function(s)
+			return pkg_i18n.translate(s)
+		end
+	else
+		_ = function(s)
+			return s
+		end
+	end
+
 	local data = M.get_info()
 
 	return {
diff --git a/package/gluon-web-admin/files/lib/gluon/config-mode/view/admin/info.html b/package/gluon-web-admin/files/lib/gluon/config-mode/view/admin/info.html
index 36eabb64d..5825894de 100644
--- a/package/gluon-web-admin/files/lib/gluon/config-mode/view/admin/info.html
+++ b/package/gluon-web-admin/files/lib/gluon/config-mode/view/admin/info.html
@@ -1,7 +1,7 @@
 <%-
 	local info = require 'gluon.info'
 
-	local values = info.get_info_pretty(translate)
+	local values = info.get_info_pretty(i18n)
 -%>
 <h2><%:Information%></h2>
 <% for _, v in ipairs(values) do %>
diff --git a/package/gluon-web-admin/i18n/de.po b/package/gluon-web-admin/i18n/de.po
index 537593eef..3732c13a5 100644
--- a/package/gluon-web-admin/i18n/de.po
+++ b/package/gluon-web-admin/i18n/de.po
@@ -44,27 +44,12 @@ msgstr "Unterbrich auf keinen Fall die Stromversorgung!"
 msgid "Firmware image"
 msgstr "Firmware-Datei"
 
-msgid "Firmware release"
-msgstr "Firmware-Release"
-
-msgid "Gluon version"
-msgstr "Gluon-Version"
-
-msgid "Hardware model"
-msgstr "Hardware-Modell"
-
-msgid "Hostname"
-msgstr "Hostname"
-
 msgid "Information"
 msgstr "Info"
 
 msgid "Keep settings"
 msgstr "Konfiguration behalten"
 
-msgid "MAC address"
-msgstr "MAC-Adresse"
-
 msgid "Password"
 msgstr "Passwort"
 
@@ -74,27 +59,12 @@ msgstr "Passwort geändert."
 msgid "Password removed."
 msgstr "Passwort gelöscht."
 
-msgid "Public VPN key"
-msgstr "Öffentlicher VPN-Schlüssel"
-
-msgid "Domain"
-msgstr "Domäne"
-
-msgid "Switch type"
-msgstr "Switch Typ"
-
 msgid "Remote access"
 msgstr "Remotezugriff"
 
 msgid "SSH keys"
 msgstr "SSH-Schlüssel"
 
-msgid "Site"
-msgstr "Site"
-
-msgid "Site version"
-msgstr "Site-Version"
-
 msgid "Size"
 msgstr "Größe"
 
diff --git a/package/gluon-web-admin/i18n/fr.po b/package/gluon-web-admin/i18n/fr.po
index dcae406e4..113d2a855 100644
--- a/package/gluon-web-admin/i18n/fr.po
+++ b/package/gluon-web-admin/i18n/fr.po
@@ -26,9 +26,9 @@ msgid ""
 msgstr ""
 "Alternativement, vous pouvez mettre un mot de passe pour accéder à votre "
 "nœud, Penseiz à choisir un mot de passe sûr, que vous n'utilisez nulle part "
-"ailleurs. <br><br> Si vous n'entrez pas de mot de passe, la connexion "
-"par mot de passe sera désactivée. La connexion par mot de passe est "
-"désactivée par défaut."
+"ailleurs. <br><br> Si vous n'entrez pas de mot de passe, la connexion par "
+"mot de passe sera désactivée. La connexion par mot de passe est désactivée "
+"par défaut."
 
 msgid "Cancel"
 msgstr "Annuler"
@@ -45,27 +45,12 @@ msgstr "N'interrompez en aucun cas l'alimentation!"
 msgid "Firmware image"
 msgstr "Fichier image"
 
-msgid "Firmware release"
-msgstr "Version de la firmware"
-
-msgid "Gluon version"
-msgstr "Version de Gluon"
-
-msgid "Hardware model"
-msgstr "Modèle du Matériel"
-
-msgid "Hostname"
-msgstr "Nom d'hôte"
-
 msgid "Information"
 msgstr "Informations"
 
 msgid "Keep settings"
 msgstr "Garder le paramètrage"
 
-msgid "MAC address"
-msgstr "Adresse MAC"
-
 msgid "Password"
 msgstr "Mot de passe"
 
@@ -75,21 +60,12 @@ msgstr "Mot de passe changé."
 msgid "Password removed."
 msgstr "Mot de passe effacé."
 
-msgid "Public VPN key"
-msgstr "Clé VPN publique"
-
 msgid "Remote access"
 msgstr "Accès à distance"
 
 msgid "SSH keys"
 msgstr "Clé SSH"
 
-msgid "Site"
-msgstr "Site"
-
-msgid "Site version"
-msgstr "Version de Site"
-
 msgid "Size"
 msgstr "Taille"
 
diff --git a/package/gluon-web-admin/i18n/gluon-web-admin.pot b/package/gluon-web-admin/i18n/gluon-web-admin.pot
index 2511fc89b..ff3e1ad11 100644
--- a/package/gluon-web-admin/i18n/gluon-web-admin.pot
+++ b/package/gluon-web-admin/i18n/gluon-web-admin.pot
@@ -31,27 +31,12 @@ msgstr ""
 msgid "Firmware image"
 msgstr ""
 
-msgid "Firmware release"
-msgstr ""
-
-msgid "Gluon version"
-msgstr ""
-
-msgid "Hardware model"
-msgstr ""
-
-msgid "Hostname"
-msgstr ""
-
 msgid "Information"
 msgstr ""
 
 msgid "Keep settings"
 msgstr ""
 
-msgid "MAC address"
-msgstr ""
-
 msgid "Password"
 msgstr ""
 
@@ -61,27 +46,12 @@ msgstr ""
 msgid "Password removed."
 msgstr ""
 
-msgid "Public VPN key"
-msgstr ""
-
-msgid "Domain"
-msgstr ""
-
-msgid "Switch type"
-msgstr ""
-
 msgid "Remote access"
 msgstr ""
 
 msgid "SSH keys"
 msgstr ""
 
-msgid "Site"
-msgstr ""
-
-msgid "Site version"
-msgstr ""
-
 msgid "Size"
 msgstr ""
 
-- 
GitLab