mirror of
https://github.com/chartdb/chartdb.git
synced 2026-01-29 15:40:39 -06:00
(translations): added german
This commit is contained in:
@@ -3,11 +3,13 @@ import { initReactI18next } from 'react-i18next';
|
||||
import { en, enMetadata } from './locales/en';
|
||||
import { es } from './locales/es';
|
||||
import { fr } from './locales/fr';
|
||||
import { de } from './locales/de';
|
||||
|
||||
const resources = {
|
||||
en,
|
||||
es,
|
||||
fr,
|
||||
de,
|
||||
};
|
||||
|
||||
i18n.use(initReactI18next).init({
|
||||
|
||||
318
src/i18n/locales/de.ts
Normal file
318
src/i18n/locales/de.ts
Normal file
@@ -0,0 +1,318 @@
|
||||
import type { LanguageMetadata, LanguageTranslation } from '../types';
|
||||
|
||||
export const de: LanguageTranslation = {
|
||||
translation: {
|
||||
menu: {
|
||||
file: {
|
||||
file: 'Datei',
|
||||
new: 'Neu',
|
||||
open: 'Öffnen',
|
||||
save: 'Save',
|
||||
import_database: 'Import Datenbank',
|
||||
export_sql: 'SQL exportieren',
|
||||
export_as: 'Exportieren als',
|
||||
delete_diagram: 'Diagramm löschen',
|
||||
exit: 'Beenden',
|
||||
},
|
||||
edit: {
|
||||
edit: 'Bearbeiten',
|
||||
undo: 'Rückgängig',
|
||||
redo: 'Wiederholen',
|
||||
clear: 'Leeren',
|
||||
},
|
||||
view: {
|
||||
view: 'Ansicht',
|
||||
show_sidebar: 'Seitenleiste anzeigen',
|
||||
hide_sidebar: 'Seitenleiste ausblenden',
|
||||
hide_cardinality: 'Kardinalität ausblenden',
|
||||
show_cardinality: 'Kardinalität anzeigen',
|
||||
zoom_on_scroll: 'Zoom beim Scrollen',
|
||||
theme: 'Stil',
|
||||
change_language: 'Sprache',
|
||||
},
|
||||
help: {
|
||||
help: 'Hilfe',
|
||||
visit_website: 'ChartDB Website',
|
||||
join_discord: 'ChartDB Discord',
|
||||
schedule_a_call: 'ChartDB kontaktieren',
|
||||
},
|
||||
},
|
||||
|
||||
delete_diagram_alert: {
|
||||
title: 'Diagramm löschen',
|
||||
description:
|
||||
'Diese Aktion kann nicht rückgängig gemacht werden. Das Diagramm wird dauerhaft gelöscht.',
|
||||
cancel: 'Abbrechen',
|
||||
delete: 'Löschen',
|
||||
},
|
||||
|
||||
clear_diagram_alert: {
|
||||
title: 'Diagramm leeren',
|
||||
description:
|
||||
'Diese Aktion kann nicht rückgängig gemacht werden. Alle Daten im Diagramm werden dauerhaft gelöscht.',
|
||||
cancel: 'Abbrechen',
|
||||
clear: 'Löschen',
|
||||
},
|
||||
|
||||
reorder_diagram_alert: {
|
||||
title: 'Diagramm neu anordnen',
|
||||
description:
|
||||
'Diese Aktion wird alle Tabellen im Diagramm neu anordnen. Wollen Sie fortfahren?',
|
||||
reorder: 'Neu anordnen',
|
||||
cancel: 'Abbrechen',
|
||||
},
|
||||
|
||||
multiple_schemas_alert: {
|
||||
title: 'Multiple Schemas',
|
||||
description:
|
||||
'{{schemasCount}} Schemas in diesem Diagramm. Derzeit angezeigt: {{formattedSchemas}}.',
|
||||
dont_show_again: 'Nicht wieder anzeigen',
|
||||
change_schema: 'Ändern',
|
||||
none: 'Keine',
|
||||
},
|
||||
|
||||
theme: {
|
||||
system: 'System',
|
||||
light: 'Hell',
|
||||
dark: 'Dunkel',
|
||||
},
|
||||
|
||||
zoom: {
|
||||
on: 'An',
|
||||
off: 'Aus',
|
||||
},
|
||||
|
||||
last_saved: 'Zuletzt gespeichert',
|
||||
saved: 'Gespeichert',
|
||||
diagrams: 'Diagramme',
|
||||
loading_diagram: 'Diagramm laden...',
|
||||
deselect_all: 'Alle auswählen',
|
||||
select_all: 'Alle auswählen',
|
||||
clear: 'Leeren',
|
||||
show_more: 'Mehr anzeigen',
|
||||
show_less: 'Weniger anzeigen',
|
||||
|
||||
side_panel: {
|
||||
schema: 'Schema:',
|
||||
filter_by_schema: 'Nach Schema filtern',
|
||||
search_schema: 'Schema suchen...',
|
||||
no_schemas_found: 'Keine Schemas gefunden.',
|
||||
view_all_options: 'Alle Optionen anzeigen...',
|
||||
tables_section: {
|
||||
tables: 'Tabellen',
|
||||
add_table: 'Tabelle hinzufügen',
|
||||
filter: 'Filter',
|
||||
collapse: 'Alle einklappen',
|
||||
|
||||
table: {
|
||||
fields: 'Felder',
|
||||
nullable: 'Nullable?',
|
||||
primary_key: 'Primärschlüssel',
|
||||
indexes: 'Indizes',
|
||||
comments: 'Kommentare',
|
||||
no_comments: 'Keine Kommentare',
|
||||
add_field: 'Feld hinzufügen',
|
||||
add_index: 'Index hinzufügen',
|
||||
index_select_fields: 'Felder auswählen',
|
||||
no_types_found: 'Keine Datentypen gefunden',
|
||||
field_name: 'Name',
|
||||
field_type: 'Datentyp',
|
||||
field_actions: {
|
||||
title: 'Feldattribute',
|
||||
unique: 'Eindeutig',
|
||||
comments: 'Kommentare',
|
||||
no_comments: 'Keine Kommentare',
|
||||
delete_field: 'Feld löschen',
|
||||
},
|
||||
index_actions: {
|
||||
title: 'Indexattribute',
|
||||
name: 'Name',
|
||||
unique: 'Eindeutig',
|
||||
delete_index: 'Index löschen',
|
||||
},
|
||||
table_actions: {
|
||||
title: 'Tabellenattribute',
|
||||
change_schema: 'Schema ändern',
|
||||
add_field: 'Feld hinzufügen',
|
||||
add_index: 'Index hinzufügen',
|
||||
delete_table: 'Tabelle löschen',
|
||||
},
|
||||
},
|
||||
empty_state: {
|
||||
title: 'Keine Tabellen',
|
||||
description: 'Erstellen Sie eine Tabelle, um zu beginnen',
|
||||
},
|
||||
},
|
||||
relationships_section: {
|
||||
relationships: 'Beziehungen',
|
||||
filter: 'Filter',
|
||||
add_relationship: 'Beziehung hinzufügen',
|
||||
collapse: 'Alle einklappen',
|
||||
relationship: {
|
||||
primary: 'Primary Table',
|
||||
foreign: 'Referenced Table',
|
||||
cardinality: 'Kardinalität',
|
||||
delete_relationship: 'Löschen',
|
||||
relationship_actions: {
|
||||
title: 'Aktionen',
|
||||
delete_relationship: 'Beziehung löschen',
|
||||
},
|
||||
},
|
||||
empty_state: {
|
||||
title: 'Keine Beziehungen',
|
||||
description:
|
||||
'Erstellen Sie eine Beziehung, um Tabellen zu verbinden',
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
toolbar: {
|
||||
zoom_in: 'Zoom In',
|
||||
zoom_out: 'Zoom Out',
|
||||
save: 'Speichern',
|
||||
show_all: 'Alle anzeigen',
|
||||
undo: 'Rückgängig',
|
||||
redo: 'Wiederholen',
|
||||
reorder_diagram: 'Diagramm neu anordnen',
|
||||
},
|
||||
|
||||
new_diagram_dialog: {
|
||||
database_selection: {
|
||||
title: 'Datenbank auswählen',
|
||||
description: 'Jede Datenbank wird unterschiedlich importiert.',
|
||||
check_examples_long: 'Beispiele ansehen',
|
||||
check_examples_short: 'Beispiele',
|
||||
},
|
||||
|
||||
import_database: {
|
||||
title: 'Datenbank importieren',
|
||||
database_edition: 'Datenbank Edition:',
|
||||
step_1: 'Führen Sie dieses Skript in Ihrer Datenbank aus:',
|
||||
step_2: 'Fügen Sie das Skriptergebnis hier ein:',
|
||||
script_results_placeholder: 'Skript hier...',
|
||||
ssms_instructions: {
|
||||
button_text: 'SSMS Anweisungen',
|
||||
title: 'Anweisungen',
|
||||
step_1: 'Gehen Sie zu Tools > Optionen > Abfrageergebnisse > SQL Server.',
|
||||
step_2: 'Wenn Sie "Ergebnisse in Raster" verwenden, ändern Sie die Maximale Anzahl von Zeichen für Nicht-XML-Daten (auf 9999999 setzen).',
|
||||
},
|
||||
},
|
||||
|
||||
cancel: 'Abbrechen',
|
||||
back: 'Zurück',
|
||||
empty_diagram: 'Diagramm leeren',
|
||||
continue: 'Weiter',
|
||||
import: 'Importieren',
|
||||
},
|
||||
|
||||
open_diagram_dialog: {
|
||||
title: 'Diagramm öffnen',
|
||||
description: 'Wählen Sie ein Diagramm aus der Liste unten aus.',
|
||||
table_columns: {
|
||||
name: 'Name',
|
||||
created_at: 'Erstellt am',
|
||||
last_modified: 'Zuletzt geändert',
|
||||
tables_count: 'Tabellen',
|
||||
},
|
||||
cancel: 'Abbrechen',
|
||||
open: 'Öffnen',
|
||||
},
|
||||
|
||||
export_sql_dialog: {
|
||||
title: 'SQL exportieren',
|
||||
description:
|
||||
'Exportieren Sie das Schema Ihres Diagramms in ein {{databaseType}} Skript',
|
||||
close: 'Schließen',
|
||||
loading: {
|
||||
text: 'KI erstellt SQL für {{databaseType}}...',
|
||||
description: 'Dies sollte unter 30 Sekunden dauern.',
|
||||
},
|
||||
error: {
|
||||
message:
|
||||
'Fehler beim Generieren des SQL-Skripts. Bitte versuchen Sie es später erneut oder <0>kontaktieren Sie uns</0>.',
|
||||
description:
|
||||
'Sie können Ihren OPENAI_TOKEN verwenden, siehe <0>hier</0>.',
|
||||
},
|
||||
},
|
||||
|
||||
create_relationship_dialog: {
|
||||
title: 'Beziehung erstellen',
|
||||
primary_table: 'Primäre Tabelle',
|
||||
primary_field: 'Primäres Feld',
|
||||
referenced_table: 'Referenzierte Tabelle',
|
||||
referenced_field: 'Referenziertes Feld',
|
||||
primary_table_placeholder: 'Tabelle auswählen',
|
||||
primary_field_placeholder: 'Feld auswählen',
|
||||
referenced_table_placeholder: 'Tabelle auswählen',
|
||||
referenced_field_placeholder: 'Feld auswählen',
|
||||
no_tables_found: 'Keine Tabellen gefunden',
|
||||
no_fields_found: 'Keine Felder gefunden',
|
||||
create: 'Erstellen',
|
||||
cancel: 'Abbrechen',
|
||||
},
|
||||
|
||||
import_database_dialog: {
|
||||
title: 'Datenbank importieren',
|
||||
override_alert: {
|
||||
title: 'Datenbank importieren',
|
||||
content: {
|
||||
alert: 'Importieren Sie dieses Diagramm wird vorhandene Tabellen und Beziehungen beeinflussen.',
|
||||
new_tables:
|
||||
'<bold>{{newTablesNumber}}</bold> neue Tabellen werden hinzugefügt.',
|
||||
new_relationships:
|
||||
'<bold>{{newRelationshipsNumber}}</bold> neue Beziehungen werden erstellt.',
|
||||
tables_override:
|
||||
'<bold>{{tablesOverrideNumber}}</bold> Tabellen werden überschrieben.',
|
||||
proceed: 'Wollen Sie fortfahren?',
|
||||
},
|
||||
import: 'Importieren',
|
||||
cancel: 'Abbrechen',
|
||||
},
|
||||
},
|
||||
|
||||
new_table_schema_dialog: {
|
||||
title: 'Schema auswählen',
|
||||
description:
|
||||
'Mehrere Schemas sind derzeit angezeigt. Wählen Sie eines für die neue Tabelle aus.',
|
||||
cancel: 'Abbrechen',
|
||||
confirm: 'Bestätigen',
|
||||
},
|
||||
|
||||
update_table_schema_dialog: {
|
||||
title: 'Schema ändern',
|
||||
description: 'Schema der Tabelle "{{tableName}}" ändern',
|
||||
cancel: 'Abbrechen',
|
||||
confirm: 'Ändern',
|
||||
},
|
||||
|
||||
star_us_dialog: {
|
||||
title: 'Hilf uns, uns zu verbessern!',
|
||||
description:
|
||||
'Gefällt Ihnen ChartDB? Lassen Sie es uns wissen und helfen Sie uns, ChartDB zu verbessern!',
|
||||
close: 'Nicht jetzt',
|
||||
confirm: 'Natürlich!',
|
||||
},
|
||||
|
||||
relationship_type: {
|
||||
one_to_one: 'Ein zu Eins (1:1)',
|
||||
one_to_many: 'Ein zu Viele (1:n)',
|
||||
many_to_one: 'Viele zu Eins (n:1)',
|
||||
many_to_many: 'Viele zu Viele (n:m)',
|
||||
},
|
||||
|
||||
canvas_context_menu: {
|
||||
new_table: 'Neue Tabelle',
|
||||
new_relationship: 'Neue Beziehung',
|
||||
},
|
||||
|
||||
table_node_context_menu: {
|
||||
edit_table: 'Tabelle bearbeiten',
|
||||
delete_table: 'Tabelle löschen',
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
export const deMetadata: LanguageMetadata = {
|
||||
name: 'Deutsch',
|
||||
code: 'de',
|
||||
};
|
||||
@@ -45,6 +45,7 @@ import { useLayout } from '@/hooks/use-layout';
|
||||
import { useTheme } from '@/hooks/use-theme';
|
||||
import { enMetadata } from '@/i18n/locales/en';
|
||||
import { esMetadata } from '@/i18n/locales/es';
|
||||
import { deMetadata } from '@/i18n/locales/de';
|
||||
import { useLocalConfig } from '@/hooks/use-local-config';
|
||||
import { frMetadata } from '@/i18n/locales/fr';
|
||||
|
||||
@@ -658,6 +659,17 @@ export const TopNavbar: React.FC<TopNavbarProps> = () => {
|
||||
{t('menu.view.change_language')}
|
||||
</MenubarSubTrigger>
|
||||
<MenubarSubContent>
|
||||
<MenubarCheckboxItem
|
||||
onClick={() =>
|
||||
changeLanguage(deMetadata.code)
|
||||
}
|
||||
checked={
|
||||
i18n.language ===
|
||||
deMetadata.code
|
||||
}
|
||||
>
|
||||
{deMetadata.name}
|
||||
</MenubarCheckboxItem>
|
||||
<MenubarCheckboxItem
|
||||
onClick={() =>
|
||||
changeLanguage(enMetadata.code)
|
||||
|
||||
Reference in New Issue
Block a user