Globale Übersetzungen
In den Globalen Übersetzungen werden alle sprachabhängigen Texte (Übersetzungen) hinterlegt, die in XML-Konfigurationen verknüpft werden können.
Verweise
Die Übersetzungen befinden sich in Datensätzen (Data-Tag), die sich wiederum in Gruppen (Group-Tag) befinden. Der Inhalt in einem Datensatz wird in einer Konfiguration nach folgendem Muster verknüpft:
{D/U[GroupName.DataName]}
Die Sprache kann abhängig sein von:
- Dokumentsprache → "D" →
{D[GroupName.DataName]} - UI-Sprache → "U" →
{U[GroupName.DataName]}
Beispiel
Der global abgelegte Eintrag "Texts.Enclosures" beinhaltet je nach Sprache verschiedene Werte:
Bild

Dahinterliegendes XML
<TranslationMap>
<group name="Texts">
<data name="Enclosures">
<value lcid="07">Anlagen</value>
<value lcid="2055">Beilagen</value>
<value lcid="12">Annexes</value>
<value lcid="09">Enclosures</value>
<value lcid="16">Allegato</value>
</data>
[...]
</group>
[...]
</TranslationMap>
Das Attribut lcid enthält den Sprachcode als Windows-LCID in Dezimalschreibweise: Kurzformen wie 07 stehen für den Sprach-Primärcode (im Beispiel: 07 = Deutsch, 09 = Englisch, 12 = Französisch, 16 = Italienisch), Langformen wie 2055 für eine konkrete Sprachvariante (2055 = Deutsch, Schweiz).
Verwendung in Vorlagen
Übersetzte Texte können nicht direkt in Vorlagen eingefügt werden. Damit die Texte in der Vorlage verwendet werden können, müssen die Verweise immer in ein Field (webfähige Vorlagen) bzw. ein Skript (classic-Vorlagen) eingefügt werden. Weitere Informationen zu den Vorlagentypen sind hier zu finden.
Webfähige Vorlagen
Um auf Übersetzungen zuzugreifen, kann in der jeweiligen Dokumentfunktion der Präfix translate- genutzt werden. So zum Beispiel in der Dokumentfunktion Felder (Fields):
<FieldsConfiguration>
<Fields>
<Text Name="Page" translate-Value="Texts.Enclosures" />
</Fields>
</FieldsConfiguration>
In Code-Elementen stehen die Übersetzungen zusätzlich über die translations-API zur Verfügung, z. B. $.translations.getText("Texts.Enclosures").
classic-Vorlagen
Der übersetzte Datensatz "Texts.Enclosures" kann in allen XML-Konfigurationen der Dokumentfunktionen nach dem Muster {D[...]} bzw. {U[...]} verknüpft werden (siehe Verweise). So zum Beispiel in einem Beilagenskript in der Dokumentfunktion Skripte:
<CustomDataNode id="Enclosures">
<Line>
<Text>{D[Texts.Enclosures]}:</Text>
</Line>
<Line>
<Element id="DocParam.Enclosures" linePrefix="–	" />
</Line>
</CustomDataNode>
{D[Texts.Enclosures]} wird nun jeweils abhängig von der Dokumentsprache mit "Anlagen", "Beilagen", "Enclosures", "Annexes" oder "Allegato" ersetzt.
FormattedText-Übersetzungen
Ein Übersetzungseintrag muss kein reiner Text sein. Er kann auch HTML enthalten — dann ist es eine Übersetzung vom Typ FormattedText. Damit lassen sich Absätze, Zeichenformatierung, Listen und Word-Formatvorlagen direkt in der Übersetzung hinterlegen, statt dafür ein Snippet anzulegen.
Abgerufen wird eine solche Übersetzung im Code über getFormattedText statt getText:
$.translations.getFormattedText("Texts.Remark")
Platzhalter im HTML
Das HTML einer FormattedText-Übersetzung darf Handlebars-Platzhalter enthalten, die beim Abruf mit benannten Parametern befüllt werden:
{{#if content}}
<p data-word-style-id="Quote">{{content}}</p>
{{/if}}
$.translations.getFormattedText("Texts.Remark", { content: $("Forms.Remarks") })
Die Bedingung {{#if content}} sorgt dafür, dass bei leerem Feld kein leerer Absatz entsteht; primedocs behandelt einen leeren Wert wie «nicht gesetzt», und der ganze Block entfällt.
Die vollständige Syntax — Platzhalter, Bedingungen, Schleifen und die Einschränkungen bei Attributen — steht unter Platzhalter, Schleifen und Bedingungen.
Typisches Muster: Feld in einem Snippet ausgeben
Ein Snippet enthält technisch nur Platzhalter, nie Felder. Ein Feldwert gelangt deshalb über den Umweg einer FormattedText-Übersetzung in ein Snippet:
- Im Snippet einen Snippet-Blockplatzhalter setzen.
- In den Globalen Übersetzungen eine FormattedText-Übersetzung mit
{{content}}anlegen — mit der gewünschten Word-Formatvorlage und, falls der Wert optional ist, in{{#if content}}gekapselt. - Beim Einfügen des Snippets die Übersetzung als Wert des Platzhalters übergeben und dabei das Feld einsetzen:
$.snippets.getWordContent("Anschreiben", {
"Bemerkung": $.translations.getFormattedText("Texts.Remark", { content: $("Forms.Remarks") })
})
So bleibt die Formatierung sprachabhängig und zentral gepflegt, während der Inhalt aus dem Feld kommt.
Automatische Übersetzungen mit KI
Voraussetzungen
- Ein AI Endpunkt muss in
primedocs.configkonfiguriert sein. - Der primedocs Client muss aktiv verbunden und online sein
Unter diesen Voraussetzungen erscheinen oben rechts im Menu "Globale Übersetzungen" zusätzliche Buttons mit den KI-Funktionen.

Funktionen
- Fehlende übersetzen: Schickt die bestehenden Einträge in der aktuellen Übersetzung an die KI mit der Anweisung, die leeren Einträge zu vervollständigen. Ausschlaggebend ist dabei der erste Eintrag in der Liste. Alle sichtbaren, leeren Felder werden ausgefüllt. Bereits gefüllte Felder werden ignoriert.
- Übersetzungen prüfen: Schickt alle Einträge an die KI mit der Anweisung, diese auf Korrektheit zu prüfen, um das manuelle Prüfen von Übersetzungen in ungewohnten Sprachen etwas zu erleichtern.

Unten rechts wird der Status der KI-Operationen angezeigt. Die angepasste globale Übersetzung muss nach Prüfung gespeichert werden.