-
Notifications
You must be signed in to change notification settings - Fork 51
feat(ui): Add multi-language support for kopia-ui #241
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from 12 commits
2664b8a
9c85f8c
4209eaa
70311c8
a26b0fd
3ddce73
012f009
71f8262
32a2f8f
bc26dda
16619fe
eab290d
07d2d11
de5d777
9c97dc9
4fcec02
6d7c8d9
0d1c8ca
9780625
24281d0
93298ef
4bb0e23
5550aac
81025f0
744bd40
dda4271
6a3b1c3
42b8184
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,106 @@ | ||
| { | ||
| "tab.preferences":"Einstellungen", | ||
| "tab.repository":"Repository", | ||
| "tab.tasks":"Aufgaben", | ||
| "tab.policies":"Richtlinien", | ||
| "tab.snapshots":"Snapshots", | ||
|
|
||
| "task.all":"Alle", | ||
| "task.running":"Running", | ||
| "task.failed":"Fehlgeschlagen", | ||
| "task.loading": "Loading...", | ||
| "task.header.time.start": "Startzeit", | ||
| "task.header.status": "Status", | ||
| "task.header.kind": "Art", | ||
| "task.header.description": "Beschreibung", | ||
| "task.feedback.search": "Suchen nach Einträgen per Beschreibung", | ||
| "task.feedback.entries": "Hier erscheint eine Liste von Aufgaben, sobald Snapshots, Wartungsaufgaben oder Wiederherstellungen durchgeführt werden.", | ||
|
|
||
| "task.status.succeed.after": "Task succeeded after", | ||
| "task.status.canceled": "Task canceled after", | ||
| "task.status.canceling": "Canceling", | ||
| "task.status.error": "Task error", | ||
| "task.status.running.for": "Task running for", | ||
|
|
||
| "task.status.started": "Gestartet", | ||
| "task.status.finished": "Abgeschlossen", | ||
| "task.logs": "Protokoll", | ||
|
|
||
| "task.event.stop": "Stop", | ||
| "task.header.counter": "Counter", | ||
| "task.header.value": "Value", | ||
|
|
||
| "snapshot.header.actions": "Aktionen", | ||
| "snapshot.header.status": "Status", | ||
| "snapshot.header.snapshot.next":"Nächster Snapshot", | ||
| "snapshot.header.snapshot.last":"Letzter Snapshot", | ||
| "snapshot.header.snapshot.size":"Größe", | ||
| "snapshot.header.snapshot.owner":"Eigentümer", | ||
| "snapshot.header.snapshot.path":"Pfad", | ||
|
|
||
| "snapshot.event.sychronize":"Synchronisieren", | ||
| "snapshot.event.snapshot.policy": "Richtlinie", | ||
| "snapshot.event.snapshot.now": "Snapshot erstellen", | ||
| "snapshot.event.snapshot.pending": "Wartend", | ||
| "snapshot.feedback.snapshot.start": "Der Snapshot startet, sobald der vorherige abgeschlossen ist", | ||
| "snapshot.event.snapshot.new": "Neuer Snapshot", | ||
|
|
||
| "repository.status.initializing": "Initializing repository...", | ||
| "repository.status.connected": "Mit Repository verbunden", | ||
| "repository.event.connection.cancel":"Cancel connection", | ||
| "repository.event.connection.disconnect": "Repository trennen", | ||
| "repository.event.description.update": "Update description", | ||
|
|
||
| "repository.feedback.description.required":"Repository description is required", | ||
| "repository.feedback.read.only": "Repository is read-only", | ||
| "repository.feedback.eco.disabled":"Disabled", | ||
| "repository.feedback.compression.internal.supported": "ja", | ||
| "repository.feedback.compression.internal.not.supported": "nein", | ||
|
|
||
| "repository.attribute.server.url": "Server URL", | ||
| "repository.attribute.config.file": "Konfigurationsdatei", | ||
| "repository.attribute.provider": "Anbieter", | ||
| "repository.attribute.algorithm.encryption": "Verschlüsselungsalgorithmus", | ||
| "repository.attribute.algorithm.hash": "Hash-Algorithmus", | ||
| "repository.attribute.algorithm.splitter": "Splitter algorithm", | ||
| "repository.attribute.algorithm.eco": "Error correction algorithm", | ||
|
|
||
| "repository.attribute.connected.as": "Verbunden als", | ||
| "repository.attribute.compression.internal": "Interne Kompression", | ||
| "repository.attribute.format": "Repository format", | ||
| "repository.attribute.eco": "Error correction overhead", | ||
|
|
||
| "log.event.hide": "Hide log", | ||
| "log.event.show": "Show log", | ||
|
|
||
| "user.interface": "Benuteroberfläche", | ||
| "user.interface.appearance":"Erscheinung", | ||
| "user.interface.appearance.hint":"Select font size", | ||
| "user.interface.appearance.help": "Specifies the appearance of the user interface", | ||
|
|
||
| "user.interface.appearance.small":"klein", | ||
| "user.interface.appearance.medium":"mittel", | ||
| "user.interface.appearance.large":"groß", | ||
|
|
||
| "user.interface.pagesize.description": "Anzahl an Einträgen", | ||
| "user.interface.pagesize.help": "Gibt die Anzahl der Einträge in Listen an", | ||
| "user.interface.pagesize.hint": "Anzahl Einträge", | ||
|
|
||
| "user.interface.byte.representation.description":"Select byte representation", | ||
| "user.interface.byte.representation.select":"Select byte representation", | ||
| "user.interface.byte.representation.help":"Specifies the representation of bytes", | ||
|
|
||
| "user.language":"Sprache", | ||
|
|
||
| "lang.help": "Sets the language for the user interface", | ||
| "lang.select": "Select language", | ||
| "lang.description": "Select the language", | ||
|
|
||
| "theme.description": "Design", | ||
| "theme.select": "Select theme", | ||
| "theme.help": "Das aktuell ausgewählte Design", | ||
| "theme.dark":"Dunkel", | ||
| "theme.light": "Hell", | ||
| "theme.pastel": "Pastel", | ||
| "theme.ocean":"Ozean" | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,107 @@ | ||
| { | ||
| "tab.preferences":"Preferences", | ||
| "tab.repository":"Repository", | ||
| "tab.tasks":"Tasks", | ||
| "tab.policies":"Policies", | ||
| "tab.snapshots":"Snapshots", | ||
|
|
||
| "task.all":"All", | ||
| "task.running":"Running", | ||
| "task.failed":"Failed", | ||
| "task.loading": "Loading...", | ||
| "task.header.time.start": "Start time", | ||
| "task.header.status": "Status", | ||
| "task.header.kind": "Kind", | ||
| "task.header.description": "Description", | ||
| "task.feedback.search": "Search logs by description", | ||
| "task.feedback.entries": "A list of tasks will appear here when you create snapshots, restore, run maintenance, etc.", | ||
|
|
||
| "task.status.succeed.after": "Task succeeded after", | ||
| "task.status.canceled": "Task canceled after", | ||
| "task.status.canceling": "Canceling", | ||
| "task.status.error": "Task error", | ||
| "task.status.running.for": "Task running for", | ||
|
|
||
| "task.status.started": "Started", | ||
| "task.status.finished": "Finished", | ||
| "task.logs": "Logs", | ||
|
|
||
| "task.event.stop": "Stop", | ||
| "task.header.counter": "Counter", | ||
| "task.header.value": "Value", | ||
|
|
||
| "snapshot.header.actions": "Actions", | ||
| "snapshot.header.status": "Status", | ||
| "snapshot.header.snapshot.next":"Next Snapshot", | ||
| "snapshot.header.snapshot.last":"Last Snapshot", | ||
| "snapshot.header.snapshot.size":"Size", | ||
| "snapshot.header.snapshot.owner":"Owner", | ||
| "snapshot.header.snapshot.path":"Path", | ||
|
|
||
| "snapshot.event.snapshot.now": "Snapshot Now", | ||
| "snapshot.event.snapshot.policy": "Policy", | ||
| "snapshot.event.snapshot.pending": "Pending", | ||
| "snapshot.feedback.snapshot.start": "Snapshot will start after the previous snapshot completes", | ||
| "snapshot.event.snapshot.new": "New Snapshot", | ||
|
|
||
| "snapshot.event.sychronize":"Synchronize", | ||
|
|
||
| "repository.status.initializing": "Initializing repository...", | ||
| "repository.status.connected": "Connected to repository", | ||
| "repository.event.connection.cancel":"Cancel connection", | ||
| "repository.event.connection.disconnect": "Disconnect from repository", | ||
| "repository.event.description.update": "Update description", | ||
|
|
||
| "repository.feedback.description.required":"Repository description is required", | ||
| "repository.feedback.read.only": "Repository is read-only", | ||
| "repository.feedback.eco.disabled":"Disabled", | ||
| "repository.feedback.compression.internal.supported": "yes", | ||
| "repository.feedback.compression.internal.not.supported": "no", | ||
|
|
||
| "repository.attribute.server.url": "Server URL", | ||
| "repository.attribute.config.file": "Config file", | ||
| "repository.attribute.provider": "Provider", | ||
| "repository.attribute.algorithm.encryption": "Encryption algorithm", | ||
| "repository.attribute.algorithm.hash": "Hash algorithm", | ||
| "repository.attribute.algorithm.splitter": "Splitter algorithm", | ||
| "repository.attribute.algorithm.eco": "Error correction algorithm", | ||
|
|
||
| "repository.attribute.connected.as": "Connected as", | ||
| "repository.attribute.compression.internal": "Internal compression", | ||
| "repository.attribute.format": "Repository format", | ||
| "repository.attribute.eco": "Error correction overhead", | ||
|
|
||
| "log.event.hide": "Hide log", | ||
| "log.event.show": "Show log", | ||
|
|
||
| "user.interface": "User interface", | ||
| "user.interface.appearance":"Appearance", | ||
| "user.interface.appearance.hint":"Select font size", | ||
| "user.interface.appearance.help": "Specifies the appearance of the user interface", | ||
|
|
||
| "user.interface.appearance.small":"small", | ||
| "user.interface.appearance.medium":"medium", | ||
| "user.interface.appearance.large":"large", | ||
|
|
||
| "user.interface.pagesize.description": "Page size", | ||
| "user.interface.pagesize.help": "Specifies the pagination size in tables", | ||
| "user.interface.pagesize.hint": "Page size", | ||
|
|
||
| "user.interface.byte.representation.description":"Select byte representation", | ||
| "user.interface.byte.representation.select":"Select byte representation", | ||
| "user.interface.byte.representation.help":"Specifies the representation of bytes", | ||
|
|
||
| "user.language":"Language", | ||
|
|
||
| "lang.help": "Sets the language for the user interface", | ||
| "lang.select": "Select language", | ||
| "lang.description": "Select the language", | ||
|
|
||
| "theme.description": "Theme", | ||
| "theme.select": "Select theme", | ||
| "theme.help": "The current active theme", | ||
| "theme.dark":"dark", | ||
| "theme.light": "light", | ||
| "theme.pastel": "pastel", | ||
| "theme.ocean":"ocean" | ||
| } |
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,96 @@ | ||||||
| { | ||||||
| "tab.preferences": "Preferencias", | ||||||
| "tab.repository": "Repositorio", | ||||||
| "tab.tasks": "Tareas", | ||||||
| "tab.policies": "Políticas", | ||||||
| "tab.snapshots": "Instantáneas", | ||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Not sure what a good word would be here, but "Instantáneas" does not work. I would probably say something like "copias de respaldo" |
||||||
|
|
||||||
| "task.all": "Todas", | ||||||
| "task.running": "En ejecución", | ||||||
| "task.failed": "Fallidas", | ||||||
| "task.loading": "Cargando...", | ||||||
| "task.header.time.start": "Hora de inicio", | ||||||
| "task.header.status": "Estado", | ||||||
| "task.header.kind": "Tipo", | ||||||
| "task.header.description": "Descripción", | ||||||
| "task.feedback.search": "Buscar registros por descripción", | ||||||
| "task.feedback.entries": "Aquí aparecerá una lista de tareas cuando crees instantáneas, restaures, ejecutes mantenimiento, etc.", | ||||||
|
|
||||||
| "task.status.succeed.after": "La tarea se completó con éxito después de", | ||||||
| "task.status.canceled": "Tarea cancelada después de", | ||||||
| "task.status.canceling": "Cancelando", | ||||||
| "task.status.error": "Error en la tarea", | ||||||
| "task.status.running.for": "Tarea en ejecución durante", | ||||||
| "task.status.started": "Iniciada", | ||||||
| "task.status.finished": "Finalizada", | ||||||
|
|
||||||
| "task.logs": "Registros", | ||||||
| "task.event.stop": "Detener", | ||||||
| "task.header.counter": "Contador", | ||||||
| "task.header.value": "Valor", | ||||||
|
|
||||||
| "snapshot.header.actions": "Acciones", | ||||||
| "snapshot.header.status": "Estado", | ||||||
| "snapshot.header.snapshot.next": "Siguiente instantánea", | ||||||
| "snapshot.header.snapshot.last": "Última instantánea", | ||||||
| "snapshot.header.snapshot.size": "Tamaño", | ||||||
| "snapshot.header.snapshot.owner": "Propietario", | ||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. this is shorter
Suggested change
|
||||||
| "snapshot.header.snapshot.path": "Ruta", | ||||||
| "snapshot.event.snapshot.now": "Instantánea ahora", | ||||||
| "snapshot.event.snapshot.policy": "Política", | ||||||
| "snapshot.event.snapshot.pending": "Pendiente", | ||||||
| "snapshot.feedback.snapshot.start": "La instantánea comenzará después de que se complete la instantánea anterior", | ||||||
| "snapshot.event.snapshot.new": "Nueva instantánea", | ||||||
| "snapshot.event.sychronize": "Sincronizar", | ||||||
|
|
||||||
| "repository.status.initializing": "Inicializando el repositorio...", | ||||||
| "repository.status.connected": "Conectado al repositorio", | ||||||
| "repository.event.connection.cancel": "Cancelar conexión", | ||||||
| "repository.event.connection.disconnect": "Desconectar del repositorio", | ||||||
| "repository.event.description.update": "Actualizar descripción", | ||||||
| "repository.feedback.description.required": "La descripción del repositorio es obligatoria", | ||||||
| "repository.feedback.read.only": "El repositorio es de solo lectura", | ||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
| "repository.feedback.eco.disabled": "Deshabilitado", | ||||||
| "repository.feedback.compression.internal.supported": "sí", | ||||||
| "repository.feedback.compression.internal.not.supported": "no", | ||||||
| "repository.attribute.server.url": "URL del servidor", | ||||||
| "repository.attribute.config.file": "Archivo de configuración", | ||||||
| "repository.attribute.provider": "Proveedor", | ||||||
| "repository.attribute.algorithm.encryption": "Algoritmo de cifrado", | ||||||
| "repository.attribute.algorithm.hash": "Algoritmo de hash", | ||||||
| "repository.attribute.algorithm.splitter": "Algoritmo de división", | ||||||
| "repository.attribute.algorithm.eco": "Algoritmo de corrección de errores", | ||||||
| "repository.attribute.connected.as": "Conectado como", | ||||||
| "repository.attribute.compression.internal": "Compresión interna", | ||||||
| "repository.attribute.format": "Formato del repositorio", | ||||||
| "repository.attribute.eco": "Overhead de corrección de errores", | ||||||
|
|
||||||
| "log.event.hide": "Ocultar registro", | ||||||
| "log.event.show": "Mostrar registro", | ||||||
|
|
||||||
| "user.interface": "Interfaz de usuario", | ||||||
| "user.interface.appearance": "Apariencia", | ||||||
| "user.interface.appearance.hint": "Selecciona el tamaño de fuente", | ||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
| "user.interface.appearance.help": "Especifica la apariencia de la interfaz de usuario", | ||||||
| "user.interface.appearance.small": "pequeño", | ||||||
| "user.interface.appearance.medium": "mediano", | ||||||
| "user.interface.appearance.large": "grande", | ||||||
| "user.interface.pagesize.description": "Tamaño de página", | ||||||
| "user.interface.pagesize.help": "Especifica el tamaño de paginación en las tablas", | ||||||
| "user.interface.pagesize.hint": "Tamaño de página", | ||||||
| "user.interface.byte.representation.description": "Selecciona la representación de bytes", | ||||||
| "user.interface.byte.representation.select": "Selecciona la representación de bytes", | ||||||
| "user.interface.byte.representation.help": "Especifica la representación de bytes", | ||||||
| "user.language": "Idioma", | ||||||
|
|
||||||
| "lang.help": "Establece el idioma para la interfaz de usuario", | ||||||
| "lang.select": "Selecciona el idioma", | ||||||
| "lang.description": "Selecciona el idioma", | ||||||
| "theme.description": "Tema", | ||||||
| "theme.select": "Seleccionar tema", | ||||||
| "theme.help": "El tema activo actual", | ||||||
| "theme.dark": "oscuro", | ||||||
| "theme.light": "claro", | ||||||
| "theme.pastel": "pastel", | ||||||
| "theme.ocean": "oceánico" | ||||||
| } | ||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess either one works.