diff --git a/src/fontra/client/core/localization.js b/src/fontra/client/core/localization.js index 0a6989536..f6c1657c8 100644 --- a/src/fontra/client/core/localization.js +++ b/src/fontra/client/core/localization.js @@ -5,6 +5,7 @@ export const languages = [ { code: "en", langEn: "English", langLang: "English", status: "done" }, { code: "zh-CN", langEn: "Simplified Chinese", langLang: "简体中文", status: "beta" }, { code: "fr", langEn: "French", langLang: "Français", status: "beta" }, + { code: "de", langEn: "German", langLang: "Deutsch", status: "wip" }, { code: "nl", langEn: "Dutch", langLang: "Nederlands", status: "beta" }, ]; diff --git a/src/fontra/client/lang/de.js b/src/fontra/client/lang/de.js new file mode 100644 index 000000000..485bbc6ee --- /dev/null +++ b/src/fontra/client/lang/de.js @@ -0,0 +1,255 @@ +// Don't edit this file: it is generated by scripts/rebuild_languages.py +// The strings are maintained here: https://docs.google.com/spreadsheets/d/1woTU8dZCHJh7yvdk-N1kgQBUj4Sn3SdRsbKgn6ltJQs/ +export const strings = { + "action-topics.designspace-navigation": "Designspace Navigation", + "action-topics.export-as": "Exportieren als", + "action-topics.glyph-editor-appearance": "Glyph Editor Ansicht", + "action-topics.menu.edit": "Bearbeiten", + "action-topics.menu.view": "Ansicht", + "action-topics.selection-transformations": "Selektion transformieren", + "action-topics.sidebars": "Seitenleisten", + "action-topics.tools": "Werkzeuge", + "action.add-anchor": "Anker hinzufügen", + "action.add-component": "Komponente hinzufügen", + "action.add-guideline": "Hilfslinie hinzufügen", + "action.break-contour": "Kontur öffnen", + "action.close-contour": "%0 Kontur schließen", + "action.close-contour.plural": "%0 Konturen schließen", + "action.copy": "Kopieren", + "action.cut": "Ausschneiden", + "action.decompose-component": "%0 Komponente auflösen", + "action.decompose-component.plural": "%0 Komponenten auflösen", + "action.delete": "Enfernen", + "action.delete-glyph": "Glyph entfernen", + "action.delete-selection": "Auswahl entfernen", + "action.export-as.designspace": "Designspace + UFO (*.designspace)", + "action.export-as.fontra": "Fontra (*.fontra)", + "action.export-as.otf": "OpenType (*.otf)", + "action.export-as.rcjk": "RCJK (*.rcjk)", + "action.export-as.ttf": "TrueType (*.ttf)", + "action.export-as.ufo": "UFO (*.ufo)", + "action.join-contours": "Konturen verbinden", + "action.lock-guidelines": "Hilfslinen sperren", + "action.paste": "Einfügen", + "action.redo": "Wiederholen", + "action.reverse-contour": "Kontur-Richtung umkehren", + "action.select-all": "Alle auswählen", + "action.select-none": "Auswahl aufheben", + "action.set-contour-start": "Startpunkt setzen", + "action.undo": "Widerrufen", + "application-settings.clipboard.title": "Zwischenablage", + "application-settings.display-language.status.beta": "Beta", + "application-settings.display-language.status.wip": "In Arbeit", + "application-settings.display-language.title": "Anzeigesprache", + "application-settings.editor-behavior.title": "Editor-Verhalten", + "application-settings.plugins-manager.title": "Plugin Manager", + "application-settings.server-info.title": "Server Info", + "application-settings.shortcuts.title": "Tastaturkurzbefehle", + "application-settings.theme-settings.title": "Design Einstellungen", + "axes.add": "Neue Achse hinzufügen", + "axes.axis-values": "Achsen Werte", + "axes.create": "Neue Achse", + "axes.delete-axis": "Achse entfernen", + "axes.mapping-graph": "Mapping-Grafik", + "axes.mapping-list": "Mapping-Liste", + "axes.mapping.source": "Source", + "axes.mapping.user": "Benutzer", + "axes.mapping.values.elidable": "Übersehbar", + "axes.mapping.values.linked": "Verknüpft", + "axes.mapping.values.max": "Max", + "axes.mapping.values.min": "Min", + "axes.mapping.values.name": "Name", + "axes.mapping.values.value": "Wert", + "axes.names": "Namen", + "axes.names.name": "Name", + "axes.names.ot-tag": "OT-Tag", + "axes.names.ui-name": "UI Name", + "axes.new": "Neue Achse...", + "axes.preset": "Achsen Voreinstellungen", + "axes.preset.italic": "Kursiv", + "axes.preset.optical-size": "Optische Größe", + "axes.preset.slant": "Slant", + "axes.preset.weight": "Gewicht", + "axes.preset.width": "Weite", + "axes.range": "Bereich", + "axes.range.axis-type": "Achsen Art", + "axes.range.axis-type.continuous": "Fortlaufend", + "axes.range.axis-type.discrete": "Unterbrochen", + "axes.range.default": "Default", + "axes.range.maxium": "Maximum", + "axes.range.minumum": "Minimum", + "axes.range.values": "Werte", + "axes.title": "Achsen", + "canvas.clean-view-and-hand-tool": "Ungehinderte Sicht und Hand Werkzeug", + "cross-axis-mapping.new": "Neues achsübergreifendes Mapping erstellen", + "cross-axis-mapping.title": "Achsübergreifendes Mapping", + "designspace-navigation.edit-all-compatible-sources": + "Bearbeite alle kompatiblen Sourcen", + "development-status-definitions.title": "Status Definitionen", + "dialog.add": "Hinzufügen", + "dialog.cancel": "Abbrechen", + "dialog.create": "Erstellen", + "dialog.create-new-glyph.body": + 'Klicke "Erstellen" um einen neuen Glyphen hinzuzufügen mit dem Namen "%0"%1.', + "dialog.create-new-glyph.body.2": ' für das Zeichen "%0" (%1)', + "dialog.create-new-glyph.title": 'Einen neuen Glyphen "%0" erstellen?', + "dialog.glyphs.search": "Glyphen suchen", + "dialog.replace": "Ersetzen", + "editor.hand-tool": "Hand Werkzeug", + "editor.knife-tool": "Messer Werkzeug", + "editor.pen-tool": "Stift Werkzeug", + "editor.pen-tool-cubic": "Stift Werkzeug (kubisch)", + "editor.pen-tool-quad": "Stift Werkzeug (quadratisch)", + "editor.pointer-tool": "Pointer Werkzeug", + "editor.pointer-tool-scale": "Pointer Werkzeug (skalierendes Editierverhalten)", + "editor.power-ruler-tool": "Power Ruler Werkzeug", + "editor.shape-tool": "Form Werkzeug", + "editor.shape-tool-ellipse": "Ellipsen Werkzeug", + "editor.shape-tool-rectangle": "Rechteck Werkzeug", + "font-info.copyright": "Copyright", + "font-info.description": "Beschreibung", + "font-info.designer": "Designer", + "font-info.designer.url": "Designer URL", + "font-info.familyname": "Familienname", + "font-info.licensedescription": "Lizenz-Beschreibung", + "font-info.licenseinfo.url": "Lizenz-Info URL", + "font-info.manufacturer": "Hersteller", + "font-info.manufacturer.url": "Hersteller URL", + "font-info.sampletext": "Beispiel-Text", + "font-info.title": "Font Info", + "font-info.trademark": "Trademark", + "font-info.vendorid": "Hersteller ID", + "font-info.version.major": "Hauptversionsnummer", + "font-info.version.minor": "Nebenversionsnummer", + "language.en": "Englisch", + "language.zh-cn": "Chinesisch (vereinfacht)", + "menubar.edit": "Bearbeiten", + "menubar.extensions": "Erweiterungen", + "menubar.file": "Datei", + "menubar.file.export-as": "Exportieren als", + "menubar.file.new": "Neu...", + "menubar.file.open": "Öffnen...", + "menubar.font": "Font", + "menubar.fontra.application-settings": "Programm-Einstellungen", + "menubar.glyph": "Glyph", + "menubar.glyph.add": "Source hinzufügen...", + "menubar.glyph.delete": "Source entfernen...", + "menubar.glyph.edit-axes": "Glyph-Achse bearbeiten...", + "menubar.help": "Hilfe", + "menubar.help.documentation": "Dokumentation", + "menubar.help.homepage": "Internetseite", + "menubar.view": "Ansicht", + "menubar.view.add-glyph-after-selected-glyph": "Glyphen hinzufügen (nach Auswahl) ", + "menubar.view.add-glyph-before-selected-glyph": "Glyphen hinzufügen (vor Auswahl) ", + "menubar.view.find-glyphs-that-use": "Finde Glyphen die '%0' benutzen", + "menubar.view.remove-selected-glyph-from-canvas": + "Entferne ausgewählten Glyphen von der Zeichenfläche", + "menubar.view.replace-selected-glyph-on-canvas": + "Ersetze ausgewählten Glyphen auf der Zeichenfläche", + "menubar.view.select-next-source": "Nächste Source", + "menubar.view.select-previous-source": "Vorherige Source", + "selection.none": "(Keine Auswahl)", + "sidebar.designspace-navigation": "Designspace Navigation", + "sidebar.designspace-navigation.font-axes": "Font-Achsen", + "sidebar.designspace-navigation.font-axes.edit": "Font-Achsen bearbeiten ", + "sidebar.designspace-navigation.font-axes.reset": "Font-Achsen zurücksetzen", + "sidebar.designspace-navigation.glyph-axes": "Glyph-Achsen", + "sidebar.designspace-navigation.glyph-axes.edit": "Glyph-Achsen bearbeiten", + "sidebar.designspace-navigation.glyph-axes.reset": "Glyph-Achsen zurücksetzen", + "sidebar.designspace-navigation.glyph-sources": "Glyph-Sourcen", + "sidebar.designspace-navigation.glyph-sources.name": "Source Name", + "sidebar.designspace-navigation.glyph-sources.status": "Status", + "sidebar.glyph-note": "Glyph-Notiz", + "sidebar.glyph-search": "Glyph-Suche", + "sidebar.glyphs.search": "Glyph-Suche", + "sidebar.reference-font": "Referenz-Font", + "sidebar.reference-font.custom-character": "Benutzerdefiniertes Zeichen", + "sidebar.reference-font.info": + "Füge eine oder mehrere .ttf-, .otf-, .woff- oder .woff2-Dateien in das unten stehende Feld ein", + "sidebar.reference-font.language": "Sprache", + "sidebar.related-glyphs": "Verwandte Glyphen & Zeichen", + "sidebar.related-glyphs.title": "Verwandte Glyphen & Zeichen für %0", + "sidebar.selection-info": "Auswahl-Info", + "sidebar.selection-info.advance-width": "Breite", + "sidebar.selection-info.component": "Komponente #%0", + "sidebar.selection-info.component.base-glyph": "Basis-Glyph", + "sidebar.selection-info.component.center": "Zentrum", + "sidebar.selection-info.component.rotation": "Rotation", + "sidebar.selection-info.component.scale": "Skalieren", + "sidebar.selection-info.component.skew": "Neigung", + "sidebar.selection-info.component.transformation": "Transformation", + "sidebar.selection-info.component.translate": "Verschiebung", + "sidebar.selection-info.dimensions": "Dimensionen", + "sidebar.selection-info.glyph-name": "Glyph-Name", + "sidebar.selection-info.multi-source": "Multi-Source-Werteänderungen sind absolut", + "sidebar.selection-info.sidebearings": "Glyph-Rand", + "sidebar.selection-info.title": "Glyph-Info", + "sidebar.selection-transformation": "Auswahl-Transformation", + "sidebar.selection-transformation.align": "Objekte ausrichten", + "sidebar.selection-transformation.align.bottom": "Unten ausrichten", + "sidebar.selection-transformation.align.center": "Zentriert ausrichten", + "sidebar.selection-transformation.align.left": "Links ausrichten", + "sidebar.selection-transformation.align.middle": "Mittig ausrichten", + "sidebar.selection-transformation.align.right": "Rechts ausrichten", + "sidebar.selection-transformation.align.top": "Oben ausrichten", + "sidebar.selection-transformation.distribute": "Objekte verteilen", + "sidebar.selection-transformation.distribute.horizontally": "Horizontal verteilen", + "sidebar.selection-transformation.distribute.vertically": "Vertikal verteilen", + "sidebar.selection-transformation.flip": "Spiegeln", + "sidebar.selection-transformation.flip.horizontally": "Horizontal spiegeln", + "sidebar.selection-transformation.flip.vertically": "Vertikal spiegeln", + "sidebar.selection-transformation.move": "Bewegen", + "sidebar.selection-transformation.origin": "Ursprung", + "sidebar.selection-transformation.origin.bottom.center": "Ursprung unten zentriert", + "sidebar.selection-transformation.origin.bottom.left": "Ursprung unten links", + "sidebar.selection-transformation.origin.bottom.right": "Ursprung unten rechts", + "sidebar.selection-transformation.origin.middle.center": "Ursprung mittig zentriert", + "sidebar.selection-transformation.origin.middle.left": "Ursprung mittig links", + "sidebar.selection-transformation.origin.middle.right": "Ursprung mittig rechts", + "sidebar.selection-transformation.origin.top.center": "Ursprung oben zentriert", + "sidebar.selection-transformation.origin.top.left": "Ursprung oben links", + "sidebar.selection-transformation.origin.top.right": "Ursprung oben rechts", + "sidebar.selection-transformation.path-operations": "Pfad Anwendungen", + "sidebar.selection-transformation.path-operations.exclude": "Konturen ausschließen", + "sidebar.selection-transformation.path-operations.intersect": "Konturen schneiden", + "sidebar.selection-transformation.path-operations.subtract": "Konturen subtrahieren", + "sidebar.selection-transformation.path-operations.union": "Überlappungen entfernen", + "sidebar.selection-transformation.rotate": "Drehen", + "sidebar.selection-transformation.scale": "Skalieren", + "sidebar.selection-transformation.skew": "Neigen", + "sidebar.selection-transformation.title": "Transformation", + "sidebar.text-entry": "Text-Eingabe", + "sidebar.user-settings": "Benutzer-Einstellungen", + "sidebar.user-settings.clipboard": "Export-Format für die Zwischenablage", + "sidebar.user-settings.component.nodes": "Komponenten Punkte und Griffe", + "sidebar.user-settings.experimental": "Experimentelle Funktionen", + "sidebar.user-settings.glyph": "Glyph-Editor Ansicht", + "sidebar.user-settings.glyph.anchornames": "Anker Namen", + "sidebar.user-settings.glyph.baseline": "Grundlinie", + "sidebar.user-settings.glyph.cjkframe": "CJK Design Rahmen", + "sidebar.user-settings.glyph.component": "Komponenten-Namen und -Indexe", + "sidebar.user-settings.glyph.contour": "Kontur-Indexe", + "sidebar.user-settings.glyph.coordinates": "Koordinaten", + "sidebar.user-settings.glyph.dragcrosshair": "Fadenkreuz-Bewegung", + "sidebar.user-settings.glyph.dragghostpath": '"Gespänster"-Pfad-Bewegung', + "sidebar.user-settings.glyph.lockicon": + "Glyph-Schloss-Symbol für nicht editierende Glyphen", + "sidebar.user-settings.glyph.point.index": "Punkt-Indexe", + "sidebar.user-settings.glyph.powerruler": "Power Ruler", + "sidebar.user-settings.glyph.referencefont": "Referenz-Font", + "sidebar.user-settings.glyph.sidebearings": + "Glyph-Rand für nicht editierende Glyphen", + "sidebar.user-settings.glyph.statuscolor": "Entwicklungsstatus Farbe", + "sidebar.user-settings.glyph.upmgrid": "UPM-Raster (Units-per-em)", + "sidebar.user-settings.language": "Anzeigesprache", + "sidebar.user-settings.server": "Server Info", + "sidebar.user-settings.theme": "Design-Einstellungen", + "sidebar.user-settings.theme.auto": "Automatisch (benutzt OS Einstellungen)", + "sidebar.user-settings.theme.dark": "Dunkel", + "sidebar.user-settings.theme.light": "Hell", + "sources.title": "Sourcen", + "toggle-fullscreen": "Vollbild einschalten", + "zoom-fit-selection": "Zoom an Auswahl anpassen", + "zoom-in": "Einzoomen", + "zoom-out": "Auszoomen", +}; diff --git a/src/fontra/client/lang/en.js b/src/fontra/client/lang/en.js index dd2d91c04..24638333b 100644 --- a/src/fontra/client/lang/en.js +++ b/src/fontra/client/lang/en.js @@ -84,6 +84,7 @@ export const strings = { "cross-axis-mapping.new": "New cross-axis mapping", "cross-axis-mapping.title": "Cross-axis mapping", "designspace-navigation.edit-all-compatible-sources": "Edit all compatible sources", + "development-status-definitions.title": "Status definitions", "dialog.add": "Add", "dialog.cancel": "Cancel", "dialog.create": "Create", diff --git a/src/fontra/client/lang/fr.js b/src/fontra/client/lang/fr.js index 5eda86d35..983068668 100644 --- a/src/fontra/client/lang/fr.js +++ b/src/fontra/client/lang/fr.js @@ -85,6 +85,7 @@ export const strings = { "cross-axis-mapping.title": "Cross-axis mapping", "designspace-navigation.edit-all-compatible-sources": "Éditer toutes les sources compatibles", + "development-status-definitions.title": "Status definitions", "dialog.add": "Ajouter", "dialog.cancel": "Annuler", "dialog.create": "Créer", diff --git a/src/fontra/client/lang/nl.js b/src/fontra/client/lang/nl.js index 50b5e77a3..a74a831c8 100644 --- a/src/fontra/client/lang/nl.js +++ b/src/fontra/client/lang/nl.js @@ -45,7 +45,7 @@ export const strings = { "application-settings.plugins-manager.title": "Plugin Manager", "application-settings.server-info.title": "Server info", "application-settings.shortcuts.title": "Snelkoppelingen", - "application-settings.theme-settings.title": "Thema instellingen", + "application-settings.theme-settings.title": "Thema-instellingen", "axes.add": "Voeg nieuwe as toe", "axes.axis-values": "As waarden", "axes.create": "Nieuwe as", @@ -85,6 +85,7 @@ export const strings = { "cross-axis-mapping.title": "Cross-axis mapping", "designspace-navigation.edit-all-compatible-sources": "Wijzig alle compatibele sources", + "development-status-definitions.title": "Status definitions", "dialog.add": "Voeg toe", "dialog.cancel": "Annuleren", "dialog.create": "Creëer", diff --git a/src/fontra/client/lang/zh-CN.js b/src/fontra/client/lang/zh-CN.js index 03ce65ef5..0d86c3053 100644 --- a/src/fontra/client/lang/zh-CN.js +++ b/src/fontra/client/lang/zh-CN.js @@ -84,6 +84,7 @@ export const strings = { "cross-axis-mapping.new": "New cross-axis mapping", "cross-axis-mapping.title": "Cross-axis mapping", "designspace-navigation.edit-all-compatible-sources": "编辑所有匹配的图层", + "development-status-definitions.title": "Status definitions", "dialog.add": "添加", "dialog.cancel": "取消", "dialog.create": "创建", diff --git a/src/fontra/views/editor/editor.js b/src/fontra/views/editor/editor.js index dce76400c..27cd7743b 100644 --- a/src/fontra/views/editor/editor.js +++ b/src/fontra/views/editor/editor.js @@ -774,10 +774,14 @@ export class EditorController { enabled: () => true, getItems: () => { const menuItems = [ - ["Font Info", "#font-info-panel", true], - ["Axes", "#axes-panel", true], - ["Sources", "#sources-panel", true], - ["Status definitions", "#development-status-definitions-panel", true], + [translate("font-info.title"), "#font-info-panel", true], + [translate("axes.title"), "#axes-panel", true], + [translate("sources.title"), "#sources-panel", true], + [ + translate("development-status-definitions.title"), + "#development-status-definitions-panel", + true, + ], ]; return menuItems.map(([title, panelID, enabled]) => ({ title, diff --git a/src/fontra/views/fontinfo/panel-development-status-definitions.js b/src/fontra/views/fontinfo/panel-development-status-definitions.js index c88f232e1..40344ac1a 100644 --- a/src/fontra/views/fontinfo/panel-development-status-definitions.js +++ b/src/fontra/views/fontinfo/panel-development-status-definitions.js @@ -45,7 +45,7 @@ addStyleSheet(` `); export class DevelopmentStatusDefinitionsPanel extends BaseInfoPanel { - static title = "Status definitions"; + static title = "development-status-definitions.title"; static id = "development-status-definitions-panel"; static fontAttributes = ["customData"];