Übersetzungen erweitern (Tooltips / Title-Attribut)

Hallo Symcon-Team,

Kacheln , welche mittels HTML-SDK bereitgestellt werden bieten ja schon einen automatisierten Ansatz hinsichtlich Lokalisierung, d.h. (Text)Inhalte werden übersetzt.

Dies erfolgt über den globalen Aufruf von translateHTML(node)!

Dabei werden aber keine Attribute von Tag-Elementen übersetzt, sondern nur der reine Text innerhalb von Tags => <tag>TEXT</tag>.

Will man aber Tooltips bereitstellen über das title-Attribut, werden diese nicht mit übersetzt und der Entwickler muss geziehlt Javascript einsetzen oder den gleichen Mechanismus von translateHTML nachprogrammieren und auf vergebene Title-Attribute reagieren.

Das könnte man meiner Meinung nach alles in einem Abwasch von translateHTML machen!

Beispiel:

function translateHTML(node) {

  // 1) Element-Attribute übersetzen (immer zuerst prüfen)
  if (node.nodeType === 1) { // Element
    const oldTitle = node.getAttribute('title');
    if (oldTitle !== null) {
      node.setAttribute('title', translate(oldTitle));
    }
  }

  // 2) Text Nodes übersetzen
  if (node.nodeType === 3) { // Text node
    node.textContent = translate(node.textContent);
    return;
  }

  // 3) Kinder rekursiv verarbeiten
  if (node.hasChildNodes()) {
    for (const child of node.childNodes) {
      translateHTML(child);
    }
  }
}

Danke & Ciao
Heiko

1 „Gefällt mir“

Das klingt plausibel. Das kann ich gerne einbauen :+1:

Edit: Kommt zur 9.1

2 „Gefällt mir“