1
0
mirror of https://github.com/MultiMote/niimblue synced 2026-01-19 19:37:11 +03:00

Convert locales to JSON for easier integration with translation services

This commit is contained in:
MultiMote
2024-11-25 18:55:21 +03:00
parent 6b82d59cc6
commit 6bacd1fac9
12 changed files with 630 additions and 687 deletions

View File

@@ -1,127 +0,0 @@
import type { TranslationKey } from ".";
/** German */
export const translation_de: Partial<Record<TranslationKey, string>> = {
"browser_warning.lines.first": "Oh nein, Dein Browser unterstützt kein Bluetooth und keine serielle Schnittstelle",
"browser_warning.lines.second": "Du kannst trotzdem Etiketten erstellen.",
"connector.bluetooth": "Bluetooth",
"connector.serial": "Seriell (USB)",
"connector.disconnect.heartbeat": "Getrennt (Drucker reagiert nicht)",
"editor.clone": "Klonen",
"editor.undo": "Rückgängig machen",
"editor.redo": "Wiederholen",
"editor.default_text": "Text",
"editor.delete": "Löschen",
"editor.import.zpl": "ZPL Importieren",
"editor.iconpicker.search": "Suchen",
"editor.iconpicker.title": "Icon hinzufügen",
"editor.iconpicker.mdi_link_title": "Siehe detaillierte Liste hier",
"editor.objectpicker.barcode": "Barcode",
"editor.objectpicker.circle": "Kreis",
"editor.objectpicker.image": "Grafik",
"editor.objectpicker.line": "Linie",
"editor.objectpicker.qrcode": "QR-Code",
"editor.objectpicker.rectangle": "Rechteck",
"editor.objectpicker.text": "Text",
"editor.objectpicker.title": "Objekt hinzufügen",
"editor.preview": "Vorschau",
"editor.print": "Drucken",
"editor.warning.load": "Zeichenfläche wird durch gespeicherte Daten ersetzt",
"editor.warning.save": "Gespeicherte Daten werden überschrieben. Speichern?",
"main.built": "erstellt am",
"main.code": "Quellcode",
"params.barcode.content": "Inhalt",
"params.barcode.enable_caption": "Beschriftung aktivieren",
"params.barcode.encoding": "Kodierung",
"params.barcode.font_size": "Schriftgröße",
"params.barcode.scale": "Skalierungsfaktor",
"params.csv.enabled": "Aktiviert",
"params.csv.placeholders": "Variablen:",
"params.csv.rowsfound": "Gefundene Zeilen:",
"params.csv.tip": "Die erste Zeile ist eine Kopfzeile. Sie wird als Variablenname verwendet. Kommas werden als Trennzeichen verwendet.",
"params.csv.title": "Dynamische Etikettendaten (CSV)",
"params.generic.center.horizontal": "Horizontal zentrieren",
"params.generic.center.vertical": "Vertikal zentrieren",
"params.label.apply": "Anwenden",
"params.label.current": "Aktuelle Parameter:",
"params.label.menu_title": "Label Eigenschaften",
"params.label.direction.left": "Links",
"params.label.direction.top": "Oben",
"params.label.direction": "Drucken von",
"params.label.dpmm": "dpmm",
"params.label.head_density.help": "Kalkulation: DPI / 25.4",
"params.label.head_density": "Pixeldichte",
"params.label.label_title": "Benutzerdefinierter Titel",
"params.label.mm": "mm",
"params.label.px": "px",
"params.label.save_template": "Als Vorlage speichern",
"params.label.size": "Größe",
"params.label.warning.direction": "Empfohlene Druckrichtung:",
"params.label.warning.width": "Die Etikettenbreite ist zu groß für den Drucker:",
"params.label.warning.import": "Alle gespeicherten Vorlagen werden überschrieben",
"params.label.export": "Export",
"params.label.import": "Import",
"params.label.shape": "Etikettenform",
"params.label.split": "Geteiltes Etikett",
"params.label.tail.length": "Länge der Teilung",
"params.label.tail.position": "Position der Teilung",
"params.qrcode.ecl": "Fehlerkorrekturstufe",
"params.text.align.center": "Text ausrichten: Zentriert",
"params.text.align.left": "Text ausrichten: Links",
"params.text.align.right": "Text ausrichten: Rechts",
"params.text.bold": "Fett",
"params.text.fetch_fonts": "Schriftarten laden",
"params.text.font_family": "Schriftart",
"params.text.font_size.down": "Schriftgröße verringern",
"params.text.font_size.up": "Schriftgröße erhöhen",
"params.text.font_size": "Schriftgröße",
"params.text.invert_colors": "Farben umkehren",
"params.text.line_height": "Linienhöhe",
"params.text.vorigin.bottom": "Unten",
"params.text.vorigin.center": "Zentriert",
"params.text.vorigin.top": "Oben",
"params.text.vorigin": "Vertikaler Ursprung",
"params.text.edit": "Im Popup bearbeiten",
"params.text.edit.title": "Text bearbeiten",
"params.variables.insert.date": "Datum",
"params.variables.insert.datetime": "Datum/Zeit",
"params.variables.insert.time": "Zeit",
"params.variables.insert": "Variable einfügen",
"params.saved_labels.menu_title": "Speichern/Laden (Browserspeicher)",
"params.saved_labels.kb_used": "kB benutzt",
"params.saved_labels.save.json": "Export",
"params.saved_labels.make_default": "Standard machen",
"params.saved_labels.save.browser": "Speichern",
"params.saved_labels.save.browser.replace": "Speichern (Ersetzen)",
"params.saved_labels.load.json": "Import",
"params.saved_labels.load.browser": "Laden",
"params.saved_labels.label_title": "Titel",
"params.saved_labels.label_title.placeholder": "(optional)",
"preview.close": "Schließen",
"preview.copies": "Kopien",
"preview.density": "Dichte",
"preview.label_type.Black": "Schwarz",
"preview.label_type.BlackMarkGap": "Schwarze Markierungslücke",
"preview.label_type.Continuous": "Fortführend",
"preview.label_type.HeatShrinkTube": "Schrumpfschlauch",
"preview.label_type.Invalid": "Ungültig",
"preview.label_type.Perforated": "Perforiert",
"preview.label_type.PvcTag": "PVC Tag",
"preview.label_type.Transparent": "Transparent",
"preview.label_type.WithGaps": "WithGaps",
"preview.label_type": "Etikettenpapier",
"preview.not_connected": "Drucker ist nicht verbunden",
"preview.not_implemented": "NICHT IMPLEMENTIERT",
"preview.postprocess.atkinson": "Dither (Atkinson)",
"preview.postprocess.threshold": "Schwellenwert",
"preview.postprocess": "Nachbearbeitung",
"preview.print_task": "Drucker",
"preview.print": "Drucken",
"preview.threshold": "Schwellenwert",
"preview.title": "Druckvorschau",
"preview.print.cancel": "Druck abbrechen",
"preview.offset": "Versatz",
"preview.offset.inner": "Innen",
"preview.offset.outer": "Außen",
};

123
src/locale/dicts/de.json Normal file
View File

@@ -0,0 +1,123 @@
{
"browser_warning.lines.first": "Oh nein, Dein Browser unterstützt kein Bluetooth und keine serielle Schnittstelle",
"browser_warning.lines.second": "Du kannst trotzdem Etiketten erstellen.",
"connector.bluetooth": "Bluetooth",
"connector.disconnect.heartbeat": "Getrennt (Drucker reagiert nicht)",
"connector.serial": "Seriell (USB)",
"editor.clone": "Klonen",
"editor.default_text": "Text",
"editor.delete": "Löschen",
"editor.iconpicker.mdi_link_title": "Siehe detaillierte Liste hier",
"editor.iconpicker.search": "Suchen",
"editor.iconpicker.title": "Icon hinzufügen",
"editor.import.zpl": "ZPL Importieren",
"editor.objectpicker.barcode": "Barcode",
"editor.objectpicker.circle": "Kreis",
"editor.objectpicker.image": "Grafik",
"editor.objectpicker.line": "Linie",
"editor.objectpicker.qrcode": "QR-Code",
"editor.objectpicker.rectangle": "Rechteck",
"editor.objectpicker.text": "Text",
"editor.objectpicker.title": "Objekt hinzufügen",
"editor.preview": "Vorschau",
"editor.print": "Drucken",
"editor.redo": "Wiederholen",
"editor.undo": "Rückgängig machen",
"editor.warning.load": "Zeichenfläche wird durch gespeicherte Daten ersetzt",
"editor.warning.save": "Gespeicherte Daten werden überschrieben. Speichern?",
"main.built": "erstellt am",
"main.code": "Quellcode",
"params.barcode.content": "Inhalt",
"params.barcode.enable_caption": "Beschriftung aktivieren",
"params.barcode.encoding": "Kodierung",
"params.barcode.font_size": "Schriftgröße",
"params.barcode.scale": "Skalierungsfaktor",
"params.csv.enabled": "Aktiviert",
"params.csv.placeholders": "Variablen:",
"params.csv.rowsfound": "Gefundene Zeilen:",
"params.csv.tip": "Die erste Zeile ist eine Kopfzeile. Sie wird als Variablenname verwendet. Kommas werden als Trennzeichen verwendet.",
"params.csv.title": "Dynamische Etikettendaten (CSV)",
"params.generic.center.horizontal": "Horizontal zentrieren",
"params.generic.center.vertical": "Vertikal zentrieren",
"params.label.apply": "Anwenden",
"params.label.current": "Aktuelle Parameter:",
"params.label.direction.left": "Links",
"params.label.direction.top": "Oben",
"params.label.direction": "Drucken von",
"params.label.dpmm": "dpmm",
"params.label.export": "Export",
"params.label.head_density.help": "Kalkulation: DPI / 25.4",
"params.label.head_density": "Pixeldichte",
"params.label.import": "Import",
"params.label.label_title": "Benutzerdefinierter Titel",
"params.label.menu_title": "Label Eigenschaften",
"params.label.mm": "mm",
"params.label.px": "px",
"params.label.save_template": "Als Vorlage speichern",
"params.label.shape": "Etikettenform",
"params.label.size": "Größe",
"params.label.split": "Geteiltes Etikett",
"params.label.tail.length": "Länge der Teilung",
"params.label.tail.position": "Position der Teilung",
"params.label.warning.direction": "Empfohlene Druckrichtung:",
"params.label.warning.import": "Alle gespeicherten Vorlagen werden überschrieben",
"params.label.warning.width": "Die Etikettenbreite ist zu groß für den Drucker:",
"params.qrcode.ecl": "Fehlerkorrekturstufe",
"params.saved_labels.kb_used": "kB benutzt",
"params.saved_labels.label_title.placeholder": "(optional)",
"params.saved_labels.label_title": "Titel",
"params.saved_labels.load.browser": "Laden",
"params.saved_labels.load.json": "Import",
"params.saved_labels.make_default": "Standard machen",
"params.saved_labels.menu_title": "Speichern/Laden (Browserspeicher)",
"params.saved_labels.save.browser.replace": "Speichern (Ersetzen)",
"params.saved_labels.save.browser": "Speichern",
"params.saved_labels.save.json": "Export",
"params.text.align.center": "Text ausrichten: Zentriert",
"params.text.align.left": "Text ausrichten: Links",
"params.text.align.right": "Text ausrichten: Rechts",
"params.text.bold": "Fett",
"params.text.edit.title": "Text bearbeiten",
"params.text.edit": "Im Popup bearbeiten",
"params.text.fetch_fonts": "Schriftarten laden",
"params.text.font_family": "Schriftart",
"params.text.font_size.down": "Schriftgröße verringern",
"params.text.font_size.up": "Schriftgröße erhöhen",
"params.text.font_size": "Schriftgröße",
"params.text.invert_colors": "Farben umkehren",
"params.text.line_height": "Linienhöhe",
"params.text.vorigin.bottom": "Unten",
"params.text.vorigin.center": "Zentriert",
"params.text.vorigin.top": "Oben",
"params.text.vorigin": "Vertikaler Ursprung",
"params.variables.insert.date": "Datum",
"params.variables.insert.datetime": "Datum/Zeit",
"params.variables.insert.time": "Zeit",
"params.variables.insert": "Variable einfügen",
"preview.close": "Schließen",
"preview.copies": "Kopien",
"preview.density": "Dichte",
"preview.label_type.Black": "Schwarz",
"preview.label_type.BlackMarkGap": "Schwarze Markierungslücke",
"preview.label_type.Continuous": "Fortführend",
"preview.label_type.HeatShrinkTube": "Schrumpfschlauch",
"preview.label_type.Invalid": "Ungültig",
"preview.label_type.Perforated": "Perforiert",
"preview.label_type.PvcTag": "PVC Tag",
"preview.label_type.Transparent": "Transparent",
"preview.label_type.WithGaps": "WithGaps",
"preview.label_type": "Etikettenpapier",
"preview.not_connected": "Drucker ist nicht verbunden",
"preview.not_implemented": "NICHT IMPLEMENTIERT",
"preview.offset.inner": "Innen",
"preview.offset.outer": "Außen",
"preview.offset": "Versatz",
"preview.postprocess.atkinson": "Dither (Atkinson)",
"preview.postprocess.threshold": "Schwellenwert",
"preview.postprocess": "Nachbearbeitung",
"preview.print_task": "Drucker",
"preview.print.cancel": "Druck abbrechen",
"preview.print": "Drucken",
"preview.threshold": "Schwellenwert",
"preview.title": "Druckvorschau"
}

123
src/locale/dicts/en.json Normal file
View File

@@ -0,0 +1,123 @@
{
"browser_warning.lines.first": "Oh no, your browser does not support bluetooth and serial communications",
"browser_warning.lines.second": "Anyway, you still can draw labels.",
"connector.bluetooth": "Bluetooth",
"connector.disconnect.heartbeat": "Disconnected (printer does not respond)",
"connector.serial": "Serial (USB)",
"editor.clone": "Clone",
"editor.default_text": "Text",
"editor.delete": "Delete",
"editor.iconpicker.mdi_link_title": "See detailed list here",
"editor.iconpicker.search": "Search",
"editor.iconpicker.title": "Add icon",
"editor.import.zpl": "Import ZPL",
"editor.objectpicker.barcode": "Barcode",
"editor.objectpicker.circle": "Circle",
"editor.objectpicker.image": "Image",
"editor.objectpicker.line": "Line",
"editor.objectpicker.qrcode": "QR Code",
"editor.objectpicker.rectangle": "Rectangle",
"editor.objectpicker.text": "Text",
"editor.objectpicker.title": "Add object",
"editor.preview": "Preview",
"editor.print": "Print",
"editor.redo": "Redo",
"editor.undo": "Undo",
"editor.warning.load": "Canvas will be replaced with saved data",
"editor.warning.save": "Saved data will be overwritten. Save?",
"main.built": "built at",
"main.code": "Code",
"params.barcode.content": "Content",
"params.barcode.enable_caption": "Enable caption",
"params.barcode.encoding": "Encoding",
"params.barcode.font_size": "Font size",
"params.barcode.scale": "Scale factor",
"params.csv.enabled": "Enabled",
"params.csv.placeholders": "Variables:",
"params.csv.rowsfound": "Data rows found:",
"params.csv.tip": "First row is a header. It used as variable names. Commas are used as separators.",
"params.csv.title": "Dynamic label data (CSV)",
"params.generic.center.horizontal": "Center horizontally",
"params.generic.center.vertical": "Center vertically",
"params.label.apply": "Apply",
"params.label.current": "Current parameters:",
"params.label.direction.left": "Left",
"params.label.direction.top": "Top",
"params.label.direction": "Print direction",
"params.label.dpmm": "dpmm",
"params.label.export": "Export",
"params.label.head_density.help": "Calculation: DPI / 25.4",
"params.label.head_density": "Pixel density",
"params.label.import": "Import",
"params.label.label_title": "Custom title",
"params.label.menu_title": "Label properties",
"params.label.mm": "mm",
"params.label.px": "px",
"params.label.save_template": "Save as template",
"params.label.shape": "Label shape",
"params.label.size": "Size",
"params.label.split": "Label split",
"params.label.tail.length": "Tail length",
"params.label.tail.position": "Tail position",
"params.label.warning.direction": "Recommended direction for your printer:",
"params.label.warning.import": "All saved templates will be overwritten",
"params.label.warning.width": "Label width is too big for your printer:",
"params.qrcode.ecl": "Error Correction Level",
"params.saved_labels.kb_used": "kB used",
"params.saved_labels.label_title.placeholder": "(optional)",
"params.saved_labels.label_title": "Title",
"params.saved_labels.load.browser": "Load",
"params.saved_labels.load.json": "Import",
"params.saved_labels.make_default": "Make default",
"params.saved_labels.menu_title": "Save/load (browser storage)",
"params.saved_labels.save.browser.replace": "Save (replace)",
"params.saved_labels.save.browser": "Save",
"params.saved_labels.save.json": "Export",
"params.text.align.center": "Align text: Center",
"params.text.align.left": "Align text: Left",
"params.text.align.right": "Align text: Right",
"params.text.bold": "Bold",
"params.text.edit.title": "Editing text",
"params.text.edit": "Edit in popup",
"params.text.fetch_fonts": "Fetch fonts",
"params.text.font_family": "Font family",
"params.text.font_size.down": "Decrease font size",
"params.text.font_size.up": "Increase font size",
"params.text.font_size": "Font size",
"params.text.invert_colors": "Invert colors",
"params.text.line_height": "Line height",
"params.text.vorigin.bottom": "Bottom",
"params.text.vorigin.center": "Center",
"params.text.vorigin.top": "Top",
"params.text.vorigin": "Vertical Origin",
"params.variables.insert.date": "Date",
"params.variables.insert.datetime": "Datetime",
"params.variables.insert.time": "Time",
"params.variables.insert": "Insert variable",
"preview.close": "Close",
"preview.copies": "Copies",
"preview.density": "Density",
"preview.label_type.Black": "Black",
"preview.label_type.BlackMarkGap": "Black mark gap",
"preview.label_type.Continuous": "Continuous",
"preview.label_type.HeatShrinkTube": "Heat shrink tube",
"preview.label_type.Invalid": "Invalid",
"preview.label_type.Perforated": "Perforated",
"preview.label_type.PvcTag": "PVC Tag",
"preview.label_type.Transparent": "Transparent",
"preview.label_type.WithGaps": "WithGaps",
"preview.label_type": "Label type",
"preview.not_connected": "Printer is not connected",
"preview.not_implemented": "NOT IMPLEMENTED",
"preview.offset.inner": "Inner",
"preview.offset.outer": "Outer",
"preview.offset": "Offset",
"preview.postprocess.atkinson": "Dither (Atkinson)",
"preview.postprocess.threshold": "Threshold",
"preview.postprocess": "Post-process",
"preview.print_task": "Print task",
"preview.print.cancel": "Cancel print",
"preview.print": "Print",
"preview.threshold": "Threshold",
"preview.title": "Print preview"
}

123
src/locale/dicts/it.json Normal file
View File

@@ -0,0 +1,123 @@
{
"browser_warning.lines.first": "Oh no, il tuo browser non supporta le comunicazioni Bluetooth e seriali",
"browser_warning.lines.second": "Comunque, puoi disegnare etichette.",
"connector.bluetooth": "Bluetooth",
"connector.disconnect.heartbeat": "Disconnesso (la stampante non risponde)",
"connector.serial": "Seriale (USB)",
"editor.clone": "Clona",
"editor.default_text": "Testo",
"editor.delete": "Elimina",
"editor.iconpicker.mdi_link_title": "Vedi elenco dettagliato",
"editor.iconpicker.search": "Cerca",
"editor.iconpicker.title": "Aggiungi icona",
"editor.import.zpl": "Importa ZPL",
"editor.objectpicker.barcode": "Codice a barre",
"editor.objectpicker.circle": "Cerchio",
"editor.objectpicker.image": "Immagine",
"editor.objectpicker.line": "Linea",
"editor.objectpicker.qrcode": "Codice QR",
"editor.objectpicker.rectangle": "Rettangolo",
"editor.objectpicker.text": "Testo",
"editor.objectpicker.title": "Aggiungi oggetto",
"editor.preview": "Anteprima",
"editor.print": "Stampa",
"editor.redo": "Ripristina",
"editor.undo": "Annulla",
"editor.warning.load": "La tela verrà sostituita con i dati salvati",
"editor.warning.save": "I dati salvati verranno sovrascritti. Salvare?",
"main.built": "costruito in",
"main.code": "Versione",
"params.barcode.content": "Contenuto",
"params.barcode.enable_caption": "Abilita didascalia",
"params.barcode.encoding": "Codifica",
"params.barcode.font_size": "Dimensione carattere",
"params.barcode.scale": "Fattore di scala",
"params.csv.enabled": "Abilitato",
"params.csv.placeholders": "Variabili:",
"params.csv.rowsfound": "Righe di dati trovate:",
"params.csv.tip": "La prima riga è un'header. Le virgole sono utilizzate come separatori.",
"params.csv.title": "CSV",
"params.generic.center.horizontal": "Centra orizzontalmente",
"params.generic.center.vertical": "Centra verticalmente",
"params.label.apply": "Applica",
"params.label.current": "Parametri correnti:",
"params.label.direction.left": "Sinistra",
"params.label.direction.top": "In alto",
"params.label.direction": "Direzione stampa",
"params.label.dpmm": "dpmm",
"params.label.export": "Esporta",
"params.label.head_density.help": "Calcolo: DPI / 25,4",
"params.label.head_density": "Densità pixel",
"params.label.import": "Importa",
"params.label.label_title": "Titolo personalizzato",
"params.label.menu_title": "Proprietà etichetta",
"params.label.mm": "mm",
"params.label.px": "px",
"params.label.save_template": "Salva come modello",
"params.label.shape": "Forma dell'etichetta",
"params.label.size": "Dimensione",
"params.label.split": "Etichetta divisa",
"params.label.tail.length": "Lunghezza della divisone",
"params.label.tail.position": "Posizione della divisone",
"params.label.warning.direction": "Direzione consigliata per la stampante:",
"params.label.warning.import": "Tutti i modelli salvati verranno sovrascritti",
"params.label.warning.width": "La larghezza dell'etichetta è troppo grande per la stampante:",
"params.qrcode.ecl": "Livello di correzione degli errori",
"params.saved_labels.kb_used": "kB utilizzati",
"params.saved_labels.label_title.placeholder": "(facoltativo)",
"params.saved_labels.label_title": "Titolo",
"params.saved_labels.load.browser": "Carica",
"params.saved_labels.load.json": "Importa",
"params.saved_labels.make_default": "Rendere predefinito",
"params.saved_labels.menu_title": "Salva/carica (salva in browser)",
"params.saved_labels.save.browser.replace": "Salva (sostituisci)",
"params.saved_labels.save.browser": "Salva",
"params.saved_labels.save.json": "Esporta",
"params.text.align.center": "Allinea il testo: al centro",
"params.text.align.left": "Allinea il testo: a sinistra",
"params.text.align.right": "Allinea testo: a destra",
"params.text.bold": "Grassetto",
"params.text.edit.title": "Modifica testo",
"params.text.edit": "Modifica in popup",
"params.text.fetch_fonts": "Recupera font",
"params.text.font_family": "Famiglia di font",
"params.text.font_size.down": "Diminuisci dimensione font",
"params.text.font_size.up": "Aumenta dimensione font",
"params.text.font_size": "Dimensione font",
"params.text.invert_colors": "Inverti colori",
"params.text.line_height": "Altezza riga",
"params.text.vorigin.bottom": "Basso",
"params.text.vorigin.center": "Centro",
"params.text.vorigin.top": "Alto",
"params.text.vorigin": "Origine verticale",
"params.variables.insert.date": "Data",
"params.variables.insert.datetime": "Data e ora",
"params.variables.insert.time": "Ora",
"params.variables.insert": "Inserisci variabile",
"preview.close": "Chiudi",
"preview.copies": "Copie",
"preview.density": "Densità",
"preview.label_type.Black": "Nero",
"preview.label_type.BlackMarkGap": "Spazio segno nero",
"preview.label_type.Continuous": "Continuo",
"preview.label_type.HeatShrinkTube": "Tubo termoretraibile",
"preview.label_type.Invalid": "Non valido",
"preview.label_type.Perforated": "Perforato",
"preview.label_type.PvcTag": "Etichetta in PVC",
"preview.label_type.Transparent": "Trasparente",
"preview.label_type.WithGaps": "With Gaps",
"preview.label_type": "Tipo di etichetta",
"preview.not_connected": "La stampante non è connessa",
"preview.not_implemented": "NON IMPLEMENTATO",
"preview.offset.inner": "Interno",
"preview.offset.outer": "Esterno",
"preview.offset": "Offset",
"preview.postprocess.atkinson": "Dither (Atkinson)",
"preview.postprocess.threshold": "Soglia",
"preview.postprocess": "Post-processo",
"preview.print_task": "Stampante",
"preview.print.cancel": "Annulla stampa",
"preview.print": "Stampa",
"preview.threshold": "Soglia",
"preview.title": "Anteprima"
}

123
src/locale/dicts/ru.json Normal file
View File

@@ -0,0 +1,123 @@
{
"browser_warning.lines.first": "О нет, ваш браузер не поддерживает Bluetooth и последовательный порт...",
"browser_warning.lines.second": "В любом случае, вы можете рисовать этикетки.",
"connector.bluetooth": "Bluetooth 123",
"connector.disconnect.heartbeat": "Отключено (принтер не отвечает)",
"connector.serial": "Посл. порт (USB)",
"editor.clone": "Клонировать",
"editor.default_text": "Текст",
"editor.delete": "Удалить",
"editor.iconpicker.mdi_link_title": "Подробный список здесь",
"editor.iconpicker.search": "Поиск",
"editor.iconpicker.title": "Добавить иконку",
"editor.import.zpl": "Импорт ZPL",
"editor.objectpicker.barcode": "Штрих-код",
"editor.objectpicker.circle": "Круг",
"editor.objectpicker.image": "Картинка",
"editor.objectpicker.line": "Линия",
"editor.objectpicker.qrcode": "QR Код",
"editor.objectpicker.rectangle": "Прямоугольник",
"editor.objectpicker.text": "Текст",
"editor.objectpicker.title": "Добавить объект",
"editor.preview": "Предпросмотр",
"editor.print": "Печать",
"editor.redo": "Повторить",
"editor.undo": "Отменить",
"editor.warning.load": "Холст будет заменён на сохранённый",
"editor.warning.save": "Сохранённые данные будут перезаписаны. Сохранить?",
"main.built": "собрано",
"main.code": "Исходный код",
"params.barcode.content": "Содержимое",
"params.barcode.enable_caption": "Показывать надпись",
"params.barcode.encoding": "Тип",
"params.barcode.font_size": "Размер шрифта",
"params.barcode.scale": "Масштаб",
"params.csv.enabled": "Включить",
"params.csv.placeholders": "Переменные:",
"params.csv.rowsfound": "Найдено строк c данными:",
"params.csv.tip": "Первая строка - заголовок. Он используется для имён переменных. В качестве разделителей используются запятые.",
"params.csv.title": "Динамические данные (CSV)",
"params.generic.center.horizontal": "Выровнять горизонтально",
"params.generic.center.vertical": "Выровнять вертикально",
"params.label.apply": "Применить",
"params.label.current": "Текущие параметры:",
"params.label.direction.left": "Слева",
"params.label.direction.top": "Сверху",
"params.label.direction": "Направление печати",
"params.label.dpmm": "пикс/мм",
"params.label.export": "Экспорт",
"params.label.head_density.help": "Вычисление: DPI / 25.4",
"params.label.head_density": "Плотность пикселей",
"params.label.import": "Импорт",
"params.label.label_title": "Своё название",
"params.label.menu_title": "Настройки этикетки",
"params.label.mm": "мм",
"params.label.px": "пикс.",
"params.label.save_template": "Сохранить как шаблон",
"params.label.shape": "Форма этикетки",
"params.label.size": "Размер",
"params.label.split": "Разделение этикетки",
"params.label.tail.length": "Длина хвостовика",
"params.label.tail.position": "Положение хвостовика",
"params.label.warning.direction": "Рекомендуемое направление печати для вашего принтера:",
"params.label.warning.import": "Все сохранённые шаблоны будут перезаписаны",
"params.label.warning.width": "Ширина этикетки слишком велика для принтера:",
"params.qrcode.ecl": "Уровень коррекции ошибок",
"params.saved_labels.kb_used": "кБ использовано",
"params.saved_labels.label_title.placeholder": "(необязательно)",
"params.saved_labels.label_title": "Название",
"params.saved_labels.load.browser": "Открыть",
"params.saved_labels.load.json": "Импорт",
"params.saved_labels.make_default": "Сделать базовым",
"params.saved_labels.menu_title": "Сохранить/загрузить (хранилище браузера)",
"params.saved_labels.save.browser.replace": "Сохранить (заменить)",
"params.saved_labels.save.browser": "Сохранить",
"params.saved_labels.save.json": "Экспорт",
"params.text.align.center": "Выравнивание текста: По центру",
"params.text.align.left": "Выравнивание текста: Слева",
"params.text.align.right": "Выравнивание текста: Справа",
"params.text.bold": "Полужирный",
"params.text.edit.title": "Редактирование текста",
"params.text.edit": "Редактировать во всплывающем диалоге",
"params.text.fetch_fonts": "Получить список шрифтов",
"params.text.font_family": "Шрифт",
"params.text.font_size.down": "Уменьшить размер шрифта",
"params.text.font_size.up": "Увеличить размер шрифта",
"params.text.font_size": "Размер шрифта",
"params.text.invert_colors": "Инвертировать цвета",
"params.text.line_height": "Межстрочный интервал",
"params.text.vorigin.bottom": "Снизу",
"params.text.vorigin.center": "Снизу",
"params.text.vorigin.top": "Сверху",
"params.text.vorigin": "Вертикальная привязка",
"params.variables.insert.date": "Дата",
"params.variables.insert.datetime": "Дата и время",
"params.variables.insert.time": "Время",
"params.variables.insert": "Вставить переменную",
"preview.close": "Закрыть",
"preview.copies": "Копии",
"preview.density": "Плотность",
"preview.label_type.Black": "Чёрный",
"preview.label_type.BlackMarkGap": "С чёрными метками",
"preview.label_type.Continuous": "Неразрывный",
"preview.label_type.HeatShrinkTube": "Термоусадочная трубка",
"preview.label_type.Invalid": "Некорректный",
"preview.label_type.Perforated": "С отверстиями",
"preview.label_type.PvcTag": "ПВХ",
"preview.label_type.Transparent": "Прозрачный",
"preview.label_type.WithGaps": "С промежутками",
"preview.label_type": "Тип этикетки",
"preview.not_connected": "Принтер не подключен",
"preview.not_implemented": "НЕ РЕАЛИЗОВАНО",
"preview.offset.inner": "Внутри",
"preview.offset.outer": "Снаружи",
"preview.offset": "Смещение",
"preview.postprocess.atkinson": "Дизеринг (Аткинсон)",
"preview.postprocess.threshold": "Порог",
"preview.postprocess": "Постобработка",
"preview.print_task": "Задача печати",
"preview.print.cancel": "Отменить печать",
"preview.print": "Печать",
"preview.threshold": "Порог",
"preview.title": "Предпросмотр печати"
}

123
src/locale/dicts/zh_cn.json Normal file
View File

@@ -0,0 +1,123 @@
{
"browser_warning.lines.first": "哦豁,你的浏览器貌似不支持蓝牙和串口通讯",
"browser_warning.lines.second": "但是你依然可以使用标签编辑功能",
"connector.bluetooth": "蓝牙",
"connector.disconnect.heartbeat": "已断开(打印机无响应)",
"connector.serial": "串口USB",
"editor.clone": "复制",
"editor.default_text": "文本",
"editor.delete": "删除",
"editor.iconpicker.mdi_link_title": "在这里查看详细列表",
"editor.iconpicker.search": "搜索",
"editor.iconpicker.title": "添加图标",
"editor.import.zpl": "导入 ZPL 文件",
"editor.objectpicker.barcode": "条码",
"editor.objectpicker.circle": "圆形",
"editor.objectpicker.image": "图片",
"editor.objectpicker.line": "线条",
"editor.objectpicker.qrcode": "二维码",
"editor.objectpicker.rectangle": "矩形",
"editor.objectpicker.text": "文字",
"editor.objectpicker.title": "添加元素",
"editor.preview": "预览",
"editor.print": "打印",
"editor.redo": "重做",
"editor.undo": "撤消",
"editor.warning.load": "画布将被替换为保存的数据,需要继续吗?",
"editor.warning.save": "保存的数据将会被覆盖,需要继续吗?",
"main.built": "编译于",
"main.code": "查看源码",
"params.barcode.content": "内容",
"params.barcode.enable_caption": "打印文字",
"params.barcode.encoding": "类型",
"params.barcode.font_size": "字体大小",
"params.barcode.scale": "缩放比例",
"params.csv.enabled": "启用",
"params.csv.placeholders": "变量:",
"params.csv.rowsfound": "数据行数:",
"params.csv.tip": "第一行是表头,用作变量名。英文逗号用作分隔符。",
"params.csv.title": "动态标签数据CSV",
"params.generic.center.horizontal": "横向居中",
"params.generic.center.vertical": "竖向居中",
"params.label.apply": "应用",
"params.label.current": "当前设置:",
"params.label.direction.left": "向左",
"params.label.direction.top": "向上",
"params.label.direction": "出纸方向",
"params.label.dpmm": "点/毫米",
"params.label.export": "导出 JSON 文件",
"params.label.head_density.help": "计算方法:DPI / 25.4",
"params.label.head_density": "像素密度",
"params.label.import": "导入 JSON 文件",
"params.label.label_title": "自定义名称",
"params.label.menu_title": "标签规格",
"params.label.mm": "毫米",
"params.label.px": "像素",
"params.label.save_template": "保存模版",
"params.label.shape": "标签形状",
"params.label.size": "尺寸",
"params.label.split": "标签分割",
"params.label.tail.length": "尾巴长度",
"params.label.tail.position": "尾部位置",
"params.label.warning.direction": "根据你的打印机推荐使用:",
"params.label.warning.import": "所有已保存的标签规格将会被覆盖,是否继续?",
"params.label.warning.width": "标签宽度对于你的打印机来说可能太宽了:",
"params.qrcode.ecl": "误差校正级别",
"params.saved_labels.kb_used": "KB 已使用",
"params.saved_labels.label_title.placeholder": "(可选)",
"params.saved_labels.label_title": "名称",
"params.saved_labels.load.browser": "载入到画布",
"params.saved_labels.load.json": "导入 JSON 文件",
"params.saved_labels.make_default": "设置默认",
"params.saved_labels.menu_title": "已保存的标签",
"params.saved_labels.save.browser.replace": "保存/替换",
"params.saved_labels.save.browser": "另存为",
"params.saved_labels.save.json": "导出 JSON 文件",
"params.text.align.center": "居中",
"params.text.align.left": "左对齐",
"params.text.align.right": "右对齐",
"params.text.bold": "加粗",
"params.text.edit.title": "编辑文字",
"params.text.edit": "编辑",
"params.text.fetch_fonts": "获取系统字体",
"params.text.font_family": "字体",
"params.text.font_size.down": "缩小",
"params.text.font_size.up": "加大",
"params.text.font_size": "字体大小",
"params.text.invert_colors": "反转颜色",
"params.text.line_height": "行距",
"params.text.vorigin.bottom": "底部对齐",
"params.text.vorigin.center": "居中",
"params.text.vorigin.top": "顶部对齐",
"params.text.vorigin": "垂直对齐",
"params.variables.insert.date": "日期",
"params.variables.insert.datetime": "日期时间",
"params.variables.insert.time": "时间",
"params.variables.insert": "插入变量",
"preview.close": "关闭",
"preview.copies": "份数",
"preview.density": "浓度",
"preview.label_type.Black": "黑标纸",
"preview.label_type.BlackMarkGap": "黑标间隙纸",
"preview.label_type.Continuous": "连续纸",
"preview.label_type.HeatShrinkTube": "热缩管",
"preview.label_type.Invalid": "无效纸张",
"preview.label_type.Perforated": "定孔纸",
"preview.label_type.PvcTag": "PVC",
"preview.label_type.Transparent": "透明纸",
"preview.label_type.WithGaps": "间隙纸",
"preview.label_type": "标签类型",
"preview.not_connected": "打印机未连接",
"preview.not_implemented": "暂不支持",
"preview.offset.inner": "内偏移",
"preview.offset.outer": "外偏移",
"preview.offset": "偏移",
"preview.postprocess.atkinson": "抖动Atkinson",
"preview.postprocess.threshold": "阈值化",
"preview.postprocess": "前置处理器",
"preview.print_task": "打印接口",
"preview.print.cancel": "取消打印",
"preview.print": "打印",
"preview.threshold": "阈值",
"preview.title": "打印预览"
}

View File

@@ -1,138 +0,0 @@
/** English translation. Also used as fallback. */
export const translation_en = {
"browser_warning.lines.first": "Oh no, your browser does not support bluetooth and serial communications",
"browser_warning.lines.second": "Anyway, you still can draw labels.",
"connector.bluetooth": "Bluetooth",
"connector.serial": "Serial (USB)",
"connector.disconnect.heartbeat": "Disconnected (printer does not respond)",
"editor.clone": "Clone",
"editor.undo": "Undo",
"editor.redo": "Redo",
"editor.default_text": "Text",
"editor.delete": "Delete",
"editor.import.zpl": "Import ZPL",
"editor.iconpicker.search": "Search",
"editor.iconpicker.title": "Add icon",
"editor.iconpicker.mdi_link_title": "See detailed list here",
"editor.objectpicker.barcode": "Barcode",
"editor.objectpicker.circle": "Circle",
"editor.objectpicker.image": "Image",
"editor.objectpicker.line": "Line",
"editor.objectpicker.qrcode": "QR Code",
"editor.objectpicker.rectangle": "Rectangle",
"editor.objectpicker.text": "Text",
"editor.objectpicker.title": "Add object",
"editor.preview": "Preview",
"editor.print": "Print",
"editor.warning.load": "Canvas will be replaced with saved data",
"editor.warning.save": "Saved data will be overwritten. Save?",
"main.built": "built at",
"main.code": "Code",
"params.barcode.content": "Content",
"params.barcode.enable_caption": "Enable caption",
"params.barcode.encoding": "Encoding",
"params.barcode.font_size": "Font size",
"params.barcode.scale": "Scale factor",
"params.csv.enabled": "Enabled",
"params.csv.placeholders": "Variables:",
"params.csv.rowsfound": "Data rows found:",
"params.csv.tip": "First row is a header. It used as variable names. Commas are used as separators.",
"params.csv.title": "Dynamic label data (CSV)",
"params.generic.center.horizontal": "Center horizontally",
"params.generic.center.vertical": "Center vertically",
"params.label.apply": "Apply",
"params.label.current": "Current parameters:",
"params.label.menu_title": "Label properties",
"params.label.direction.left": "Left",
"params.label.direction.top": "Top",
"params.label.direction": "Print direction",
"params.label.dpmm": "dpmm",
"params.label.head_density.help": "Calculation: DPI / 25.4",
"params.label.head_density": "Pixel density",
"params.label.label_title": "Custom title",
"params.label.mm": "mm",
"params.label.px": "px",
"params.label.save_template": "Save as template",
"params.label.size": "Size",
"params.label.warning.direction": "Recommended direction for your printer:",
"params.label.warning.width": "Label width is too big for your printer:",
"params.label.warning.import": "All saved templates will be overwritten",
"params.label.export": "Export",
"params.label.import": "Import",
"params.label.shape": "Label shape",
"params.label.split": "Label split",
"params.label.tail.length": "Tail length",
"params.label.tail.position": "Tail position",
"params.qrcode.ecl": "Error Correction Level",
"params.text.align.center": "Align text: Center",
"params.text.align.left": "Align text: Left",
"params.text.align.right": "Align text: Right",
"params.text.bold": "Bold",
"params.text.fetch_fonts": "Fetch fonts",
"params.text.font_family": "Font family",
"params.text.font_size.down": "Decrease font size",
"params.text.font_size.up": "Increase font size",
"params.text.font_size": "Font size",
"params.text.invert_colors": "Invert colors",
"params.text.line_height": "Line height",
"params.text.vorigin.bottom": "Bottom",
"params.text.vorigin.center": "Center",
"params.text.vorigin.top": "Top",
"params.text.vorigin": "Vertical Origin",
"params.text.edit": "Edit in popup",
"params.text.edit.title": "Editing text",
"params.variables.insert.date": "Date",
"params.variables.insert.datetime": "Datetime",
"params.variables.insert.time": "Time",
"params.variables.insert": "Insert variable",
"params.saved_labels.menu_title": "Save/load (browser storage)",
"params.saved_labels.kb_used": "kB used",
"params.saved_labels.make_default": "Make default",
"params.saved_labels.save.json": "Export",
"params.saved_labels.save.browser": "Save",
"params.saved_labels.save.browser.replace": "Save (replace)",
"params.saved_labels.load.json": "Import",
"params.saved_labels.load.browser": "Load",
"params.saved_labels.label_title": "Title",
"params.saved_labels.label_title.placeholder": "(optional)",
"preview.close": "Close",
"preview.copies": "Copies",
"preview.density": "Density",
"preview.label_type.Black": "Black",
"preview.label_type.BlackMarkGap": "Black mark gap",
"preview.label_type.Continuous": "Continuous",
"preview.label_type.HeatShrinkTube": "Heat shrink tube",
"preview.label_type.Invalid": "Invalid",
"preview.label_type.Perforated": "Perforated",
"preview.label_type.PvcTag": "PVC Tag",
"preview.label_type.Transparent": "Transparent",
"preview.label_type.WithGaps": "WithGaps",
"preview.label_type": "Label type",
"preview.not_connected": "Printer is not connected",
"preview.not_implemented": "NOT IMPLEMENTED",
"preview.postprocess.atkinson": "Dither (Atkinson)",
"preview.postprocess.threshold": "Threshold",
"preview.postprocess": "Post-process",
"preview.print_task": "Print task",
"preview.print": "Print",
"preview.threshold": "Threshold",
"preview.title": "Print preview",
"preview.print.cancel": "Cancel print",
"preview.offset": "Offset",
"preview.offset.inner": "Inner",
"preview.offset.outer": "Outer",
} as const;

View File

@@ -1,23 +1,25 @@
import { translation_de } from "./de";
import { translation_en } from "./en";
import { translation_it } from "./it";
import { translation_ru } from "./ru";
import { translation_zh_cn } from "./zh_cn";
import lang_de from "./dicts/de.json";
import lang_en from "./dicts/en.json";
import lang_it from "./dicts/it.json";
import lang_ru from "./dicts/ru.json";
import lang_zh_cn from "./dicts/zh_cn.json";
export type TranslationKey = keyof typeof lang_en;
export type TranslationDict = Record<TranslationKey, string>;
export const langPack = {
/** German */
de: translation_de,
/** English (fallback) */
en: translation_en,
en: lang_en,
/** German */
de: lang_de as TranslationDict,
/** Italian */
it: translation_it,
it: lang_it as TranslationDict,
/** Russian */
ru: translation_ru,
ru: lang_ru as TranslationDict,
/** Simplified Chinese */
zh_cn: translation_zh_cn,
zh_cn: lang_zh_cn as TranslationDict,
} as const;
export type TranslationKey = keyof typeof translation_en;
export type SupportedLanguage = keyof typeof langPack;
export const languageNames: Record<SupportedLanguage, string> = {

View File

@@ -1,127 +0,0 @@
import type { TranslationKey } from ".";
/** Italian */
export const translation_it: Partial<Record<TranslationKey, string>> = {
"browser_warning.lines.first": "Oh no, il tuo browser non supporta le comunicazioni Bluetooth e seriali",
"browser_warning.lines.second": "Comunque, puoi disegnare etichette.",
"connector.bluetooth": "Bluetooth",
"connector.serial": "Seriale (USB)",
"connector.disconnect.heartbeat": "Disconnesso (la stampante non risponde)",
"editor.clone": "Clona",
"editor.undo": "Annulla",
"editor.redo": "Ripristina",
"editor.default_text": "Testo",
"editor.delete": "Elimina",
"editor.import.zpl": "Importa ZPL",
"editor.iconpicker.search": "Cerca",
"editor.iconpicker.title": "Aggiungi icona",
"editor.iconpicker.mdi_link_title": "Vedi elenco dettagliato",
"editor.objectpicker.barcode": "Codice a barre",
"editor.objectpicker.circle": "Cerchio",
"editor.objectpicker.image": "Immagine",
"editor.objectpicker.line": "Linea",
"editor.objectpicker.qrcode": "Codice QR",
"editor.objectpicker.rectangle": "Rettangolo",
"editor.objectpicker.text": "Testo",
"editor.objectpicker.title": "Aggiungi oggetto",
"editor.preview": "Anteprima",
"editor.print": "Stampa",
"editor.warning.load": "La tela verrà sostituita con i dati salvati",
"editor.warning.save": "I dati salvati verranno sovrascritti. Salvare?",
"main.built": "costruito in",
"main.code": "Versione",
"params.barcode.content": "Contenuto",
"params.barcode.enable_caption": "Abilita didascalia",
"params.barcode.encoding": "Codifica",
"params.barcode.font_size": "Dimensione carattere",
"params.barcode.scale": "Fattore di scala",
"params.csv.enabled": "Abilitato",
"params.csv.placeholders": "Variabili:",
"params.csv.rowsfound": "Righe di dati trovate:",
"params.csv.tip": "La prima riga è un'header. Le virgole sono utilizzate come separatori.",
"params.csv.title": "CSV",
"params.generic.center.horizontal": "Centra orizzontalmente",
"params.generic.center.vertical": "Centra verticalmente",
"params.label.apply": "Applica",
"params.label.current": "Parametri correnti:",
"params.label.menu_title": "Proprietà etichetta",
"params.label.direction.left": "Sinistra",
"params.label.direction.top": "In alto",
"params.label.direction": "Direzione stampa",
"params.label.dpmm": "dpmm",
"params.label.head_density.help": "Calcolo: DPI / 25,4",
"params.label.head_density": "Densità pixel",
"params.label.label_title": "Titolo personalizzato",
"params.label.mm": "mm",
"params.label.px": "px",
"params.label.save_template": "Salva come modello",
"params.label.size": "Dimensione",
"params.label.warning.direction": "Direzione consigliata per la stampante:",
"params.label.warning.width": "La larghezza dell'etichetta è troppo grande per la stampante:",
"params.label.warning.import": "Tutti i modelli salvati verranno sovrascritti",
"params.label.export": "Esporta",
"params.label.import": "Importa",
"params.label.shape": "Forma dell'etichetta",
"params.label.split": "Etichetta divisa",
"params.label.tail.length": "Lunghezza della divisone",
"params.label.tail.position": "Posizione della divisone",
"params.qrcode.ecl": "Livello di correzione degli errori",
"params.text.align.center": "Allinea il testo: al centro",
"params.text.align.left": "Allinea il testo: a sinistra",
"params.text.align.right": "Allinea testo: a destra",
"params.text.bold": "Grassetto",
"params.text.fetch_fonts": "Recupera font",
"params.text.font_family": "Famiglia di font",
"params.text.font_size.down": "Diminuisci dimensione font",
"params.text.font_size.up": "Aumenta dimensione font",
"params.text.font_size": "Dimensione font",
"params.text.invert_colors": "Inverti colori",
"params.text.line_height": "Altezza riga",
"params.text.vorigin.bottom": "Basso",
"params.text.vorigin.center": "Centro",
"params.text.vorigin.top": "Alto",
"params.text.vorigin": "Origine verticale",
"params.text.edit": "Modifica in popup",
"params.text.edit.title": "Modifica testo",
"params.variables.insert.date": "Data",
"params.variables.insert.datetime": "Data e ora",
"params.variables.insert.time": "Ora",
"params.variables.insert": "Inserisci variabile",
"params.saved_labels.menu_title": "Salva/carica (salva in browser)",
"params.saved_labels.kb_used": "kB utilizzati",
"params.saved_labels.save.json": "Esporta",
"params.saved_labels.make_default": "Rendere predefinito",
"params.saved_labels.save.browser": "Salva",
"params.saved_labels.save.browser.replace": "Salva (sostituisci)",
"params.saved_labels.load.json": "Importa",
"params.saved_labels.load.browser": "Carica",
"params.saved_labels.label_title": "Titolo",
"params.saved_labels.label_title.placeholder": "(facoltativo)",
"preview.close": "Chiudi",
"preview.copies": "Copie",
"preview.density": "Densità",
"preview.label_type.Black": "Nero",
"preview.label_type.BlackMarkGap": "Spazio segno nero",
"preview.label_type.Continuous": "Continuo",
"preview.label_type.HeatShrinkTube": "Tubo termoretraibile",
"preview.label_type.Invalid": "Non valido",
"preview.label_type.Perforated": "Perforato",
"preview.label_type.PvcTag": "Etichetta in PVC",
"preview.label_type.Transparent": "Trasparente",
"preview.label_type.WithGaps": "With Gaps",
"preview.label_type": "Tipo di etichetta",
"preview.not_connected": "La stampante non è connessa",
"preview.not_implemented": "NON IMPLEMENTATO",
"preview.postprocess.atkinson": "Dither (Atkinson)",
"preview.postprocess.threshold": "Soglia",
"preview.postprocess": "Post-processo",
"preview.print_task": "Stampante",
"preview.print": "Stampa",
"preview.threshold": "Soglia",
"preview.title": "Anteprima",
"preview.print.cancel": "Annulla stampa",
"preview.offset": "Offset",
"preview.offset.inner": "Interno",
"preview.offset.outer": "Esterno",
};

View File

@@ -1,142 +0,0 @@
import type { TranslationKey } from ".";
/** Russian */
export const translation_ru: Record<TranslationKey, string> = {
/* Main page */
"main.code": "Исходный код",
"main.built": "собрано",
/* BrowserWarning */
"browser_warning.lines.first": "О нет, ваш браузер не поддерживает Bluetooth и последовательный порт",
"browser_warning.lines.second": "В любом случае, вы можете рисовать этикетки.",
/* PrinterConnector */
"connector.bluetooth": "Bluetooth",
"connector.serial": "Посл. порт (USB)",
"connector.disconnect.heartbeat": "Отключено (принтер не отвечает)",
/* ImageEditor */
"editor.default_text": "Текст",
"editor.import.zpl": "Импорт ZPL",
"editor.preview": "Предпросмотр",
"editor.print": "Печать",
"editor.delete": "Удалить",
"editor.clone": "Клонировать",
"editor.undo": "Отменить",
"editor.redo": "Повторить",
"editor.warning.save": "Сохранённые данные будут перезаписаны. Сохранить?",
"editor.warning.load": "Холст будет заменён на сохранённый",
/* PrintPreview */
"preview.title": "Предпросмотр печати",
"preview.postprocess": "Постобработка",
"preview.postprocess.threshold": "Порог",
"preview.postprocess.atkinson": "Дизеринг (Аткинсон)",
"preview.threshold": "Порог",
"preview.copies": "Копии",
"preview.density": "Плотность",
"preview.print_task": "Задача печати",
"preview.not_implemented": "НЕ РЕАЛИЗОВАНО",
"preview.close": "Закрыть",
"preview.print": "Печать",
"preview.print.cancel": "Отменить печать",
"preview.not_connected": "Принтер не подключен",
"preview.label_type": "Тип этикетки",
"preview.label_type.Invalid": "Некорректный",
"preview.label_type.WithGaps": "С промежутками",
"preview.label_type.Black": "Чёрный",
"preview.label_type.Continuous": "Неразрывный",
"preview.label_type.Perforated": "С отверстиями",
"preview.label_type.Transparent": "Прозрачный",
"preview.label_type.PvcTag": "ПВХ",
"preview.label_type.BlackMarkGap": "С чёрными метками",
"preview.label_type.HeatShrinkTube": "Термоусадочная трубка",
"preview.offset": "Смещение",
"preview.offset.inner": "Внутри",
"preview.offset.outer": "Снаружи",
/* ObjectPicker */
"editor.objectpicker.title": "Добавить объект",
"editor.objectpicker.text": "Текст",
"editor.objectpicker.line": "Линия",
"editor.objectpicker.rectangle": "Прямоугольник",
"editor.objectpicker.circle": "Круг",
"editor.objectpicker.image": "Картинка",
"editor.objectpicker.qrcode": "QR Код",
"editor.objectpicker.barcode": "Штрих-код",
/* IconPicker */
"editor.iconpicker.title": "Добавить иконку",
"editor.iconpicker.search": "Поиск",
"editor.iconpicker.mdi_link_title": "Подробный список здесь",
/* LabelPropsEditor */
"params.csv.title": "Динамические данные (CSV)",
"params.csv.tip":
"Первая строка - заголовок. Он используется для имён переменных. В качестве разделителей используются запятые.",
"params.csv.rowsfound": "Найдено строк c данными:",
"params.csv.enabled": "Включить",
"params.csv.placeholders": "Переменные:",
/* LabelPropsEditor */
"params.label.menu_title": "Настройки этикетки",
"params.label.label_title": "Своё название",
"params.label.size": "Размер",
"params.label.mm": "мм",
"params.label.dpmm": "пикс/мм",
"params.label.px": "пикс.",
"params.label.direction": "Направление печати",
"params.label.direction.left": "Слева",
"params.label.direction.top": "Сверху",
"params.label.apply": "Применить",
"params.label.current": "Текущие параметры:",
"params.label.save_template": "Сохранить как шаблон",
"params.label.head_density": "Плотность пикселей",
"params.label.head_density.help": "Вычисление: DPI / 25.4",
"params.label.warning.width": "Ширина этикетки слишком велика для принтера:",
"params.label.warning.direction": "Рекомендуемое направление печати для вашего принтера:",
"params.label.warning.import": "Все сохранённые шаблоны будут перезаписаны",
"params.label.export": "Экспорт",
"params.label.import": "Импорт",
"params.label.shape": "Форма этикетки",
"params.label.split": "Разделение этикетки",
"params.label.tail.length": "Длина хвостовика",
"params.label.tail.position": "Положение хвостовика",
/* TextParamsControls */
"params.text.fetch_fonts": "Получить список шрифтов",
"params.text.align.left": "Выравнивание текста: Слева",
"params.text.align.center": "Выравнивание текста: По центру",
"params.text.align.right": "Выравнивание текста: Справа",
"params.text.vorigin": "Вертикальная привязка",
"params.text.vorigin.top": "Сверху",
"params.text.vorigin.center": "Снизу",
"params.text.vorigin.bottom": "Снизу",
"params.text.bold": "Полужирный",
"params.text.font_size": "Размер шрифта",
"params.text.font_size.up": "Увеличить размер шрифта",
"params.text.font_size.down": "Уменьшить размер шрифта",
"params.text.line_height": "Межстрочный интервал",
"params.text.font_family": "Шрифт",
"params.text.invert_colors": "Инвертировать цвета",
"params.text.edit": "Редактировать во всплывающем диалоге",
"params.text.edit.title": "Редактирование текста",
"params.variables.insert": "Вставить переменную",
"params.variables.insert.datetime": "Дата и время",
"params.variables.insert.date": "Дата",
"params.variables.insert.time": "Время",
/* GenericObjectParamsControls */
"params.generic.center.vertical": "Выровнять вертикально",
"params.generic.center.horizontal": "Выровнять горизонтально",
/* QRCodeParamsControls */
"params.qrcode.ecl": "Уровень коррекции ошибок",
/* BarcodeParamsControls */
"params.barcode.encoding": "Тип",
"params.barcode.content": "Содержимое",
"params.barcode.scale": "Масштаб",
"params.barcode.font_size": "Размер шрифта",
"params.barcode.enable_caption": "Показывать надпись",
/* SavedLabelsMenu */
"params.saved_labels.menu_title": "Сохранить/загрузить (хранилище браузера)",
"params.saved_labels.kb_used": "кБ использовано",
"params.saved_labels.make_default": "Сделать базовым",
"params.saved_labels.save.json": "Экспорт",
"params.saved_labels.save.browser": "Сохранить",
"params.saved_labels.save.browser.replace": "Сохранить (заменить)",
"params.saved_labels.load.json": "Импорт",
"params.saved_labels.load.browser": "Открыть",
"params.saved_labels.label_title": "Название",
"params.saved_labels.label_title.placeholder": "(необязательно)",
};

View File

@@ -1,140 +0,0 @@
import type { TranslationKey } from ".";
/** Simplified Chinese */
export const translation_zh_cn: Partial<Record<TranslationKey, string>> = {
/* BrowserWarning */
"browser_warning.lines.first": "哦豁,你的浏览器貌似不支持蓝牙和串口通讯",
"browser_warning.lines.second": "但是你依然可以使用标签编辑功能",
/* PrinterConnector */
"connector.bluetooth": "蓝牙",
"connector.disconnect.heartbeat": "已断开(打印机无响应)",
"connector.serial": "串口USB",
/* ImageEditor */
"editor.clone": "复制",
"editor.default_text": "文本",
"editor.delete": "删除",
"editor.iconpicker.mdi_link_title": "在这里查看详细列表",
"editor.iconpicker.search": "搜索",
"editor.iconpicker.title": "添加图标",
"editor.import.zpl": "导入 ZPL 文件",
"editor.objectpicker.barcode": "条码",
"editor.objectpicker.circle": "圆形",
"editor.objectpicker.image": "图片",
"editor.objectpicker.line": "线条",
"editor.objectpicker.qrcode": "二维码",
"editor.objectpicker.rectangle": "矩形",
"editor.objectpicker.text": "文字",
"editor.objectpicker.title": "添加元素",
"editor.preview": "预览",
"editor.print": "打印",
"editor.redo": "重做",
"editor.undo": "撤消",
"editor.warning.load": "画布将被替换为保存的数据,需要继续吗?",
"editor.warning.save": "保存的数据将会被覆盖,需要继续吗?",
/* Main page */
"main.built": "编译于",
"main.code": "查看源码",
/* BarcodeParamsControls */
"params.barcode.content": "内容",
"params.barcode.enable_caption": "打印文字",
"params.barcode.encoding": "类型",
"params.barcode.font_size": "字体大小",
"params.barcode.scale": "缩放比例",
/* CsvControl */
"params.csv.enabled": "启用",
"params.csv.placeholders": "变量:",
"params.csv.rowsfound": "数据行数:",
"params.csv.tip": "第一行是表头,用作变量名。英文逗号用作分隔符。",
"params.csv.title": "动态标签数据CSV",
/* GenericObjectParamsControls */
"params.generic.center.horizontal": "横向居中",
"params.generic.center.vertical": "竖向居中",
/* LabelPropsEditor */
"params.label.apply": "应用",
"params.label.current": "当前设置:",
"params.label.direction.left": "向左",
"params.label.direction.top": "向上",
"params.label.direction": "出纸方向",
"params.label.dpmm": "点/毫米",
"params.label.export": "导出 JSON 文件",
"params.label.head_density.help": "计算方法:DPI / 25.4",
"params.label.head_density": "像素密度",
"params.label.import": "导入 JSON 文件",
"params.label.label_title": "自定义名称",
"params.label.menu_title": "标签规格",
"params.label.mm": "毫米",
"params.label.px": "像素",
"params.label.save_template": "保存模版",
"params.label.size": "尺寸",
"params.label.warning.direction": "根据你的打印机推荐使用:",
"params.label.warning.import": "所有已保存的标签规格将会被覆盖,是否继续?",
"params.label.warning.width": "标签宽度对于你的打印机来说可能太宽了:",
"params.label.shape": "标签形状",
"params.label.split": "标签分割",
"params.label.tail.length": "尾巴长度",
"params.label.tail.position": "尾部位置",
/* QRCodeParamsControls */
"params.qrcode.ecl": "误差校正级别",
/* SavedLabelsMenu */
"params.saved_labels.kb_used": "KB 已使用",
"params.saved_labels.label_title.placeholder": "(可选)",
"params.saved_labels.label_title": "名称",
"params.saved_labels.load.browser": "载入到画布",
"params.saved_labels.load.json": "导入 JSON 文件",
"params.saved_labels.menu_title": "已保存的标签",
"params.saved_labels.make_default": "设置默认",
"params.saved_labels.save.browser.replace": "保存/替换",
"params.saved_labels.save.browser": "另存为",
"params.saved_labels.save.json": "导出 JSON 文件",
/* TextParamsControls */
"params.text.align.center": "居中",
"params.text.align.left": "左对齐",
"params.text.align.right": "右对齐",
"params.text.bold": "加粗",
"params.text.edit.title": "编辑文字",
"params.text.edit": "编辑",
"params.text.fetch_fonts": "获取系统字体",
"params.text.font_family": "字体",
"params.text.font_size.down": "缩小",
"params.text.font_size.up": "加大",
"params.text.font_size": "字体大小",
"params.text.invert_colors": "反转颜色",
"params.text.line_height": "行距",
"params.text.vorigin.bottom": "底部对齐",
"params.text.vorigin.center": "居中",
"params.text.vorigin.top": "顶部对齐",
"params.text.vorigin": "垂直对齐",
/* VariableInsertControl */
"params.variables.insert.date": "日期",
"params.variables.insert.datetime": "日期时间",
"params.variables.insert.time": "时间",
"params.variables.insert": "插入变量",
/* PrintPreview */
"preview.close": "关闭",
"preview.copies": "份数",
"preview.density": "浓度",
"preview.label_type.Black": "黑标纸",
"preview.label_type.BlackMarkGap": "黑标间隙纸",
"preview.label_type.Continuous": "连续纸",
"preview.label_type.HeatShrinkTube": "热缩管",
"preview.label_type.Invalid": "无效纸张",
"preview.label_type.Perforated": "定孔纸",
"preview.label_type.PvcTag": "PVC",
"preview.label_type.Transparent": "透明纸",
"preview.label_type.WithGaps": "间隙纸",
"preview.label_type": "标签类型",
"preview.not_connected": "打印机未连接",
"preview.not_implemented": "暂不支持",
"preview.offset.inner": "内偏移",
"preview.offset.outer": "外偏移",
"preview.offset": "偏移",
"preview.postprocess.atkinson": "抖动Atkinson",
"preview.postprocess.threshold": "阈值化",
"preview.postprocess": "前置处理器",
"preview.print_task": "打印接口",
"preview.print.cancel": "取消打印",
"preview.print": "打印",
"preview.threshold": "阈值",
"preview.title": "打印预览",
};

View File

@@ -37,7 +37,7 @@ locale.subscribe((value: SupportedLanguage) => localStorage.setItem("locale", va
export const tr = derived(locale, ($locale) => (key: TranslationKey) => {
const result = langPack[$locale] ? langPack[$locale][key] : undefined;
if (result === undefined) {
if (result === undefined || result === "") {
if ($locale !== "en") {
console.warn(`${key} of ${$locale} locale is not translated`);
}