wir möchten gerne in site/i18n/de.po Informationen über die gewählte Community (technisch: „Domain“) anzeigen. Vermutlich geht das über 0900-msg-reboot.lua …
Übersetzungfiles (.pot und .po) sind sehr simple Werkzeuge; sie erlauben dir in dem Kontext in dem du sie aufrust, Strings abhängig von der gleichzeitig gewählten Sprache auszugeben oder auf einen default-String zurückzufallen, falls es für die gewählte Sprache und den gewählten String keine Übersetzung gibt. Wichtig ist: die Übersetzungsfiles haben kein Verständnis vom Kontext in dem du sie aufrufst.
Es hindert dich aber nichts daran, da Lua-Code drin zu haben, den du nicht anständig escapest:
Zum Vergleich noch die Strings, wie wir sie in Aachen haben
pubkey entspricht quasi „vpn aktiviert“ und ist das Gegenteil von novpn
Eins von beidem steht also am Anfang der Schlussseite nach dem Speichern im Config mode.
reboot wird immer angezeigt und kommt nach dem VPN String
welcome und contact-help sind auf der ersten Seite des Config Modes und erklären sich vermutlich von selbst
Ja, danke; da wir eine FW für verschiedene Communities bauen, brauchte ich noch ein paar Zusatzinfos, das habe ich u. a. in 0900-msg-reboot.lua (und entsprechend in site/domains/*.json) gelöst:
[…]
local communityname = string.gsub(util.exec(string.format("/lib/gluon/ffgt-geolocate/get_domain_name.sh %s", core_domain)),"\n", "") or "n/a"
local communitycontact = site.community_contact('info@4830.org')
[…]
renderer.render_string(msg, {
hostname = hostname,
site = site,
sysconfig = sysconfig,
contact = contact,
ssid = ssid,
domain = core_domain,
community = communityname,
communitycontact= communitycontact,
})
[…]
Den Namen der Community (domains_names[gluon.core.domain]) bekommt man bestimmt eleganter aus dem site-Datensatz raus, aber erstmal: Works for me