mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-09-13 16:45:18 +08:00
Add german localization [SCI-11985]
This commit is contained in:
parent
b5a1892ee8
commit
78bcf2be0f
10 changed files with 7419 additions and 0 deletions
|
@ -43,6 +43,8 @@
|
|||
// forms with clicking on links outside form in cases when other than
|
||||
// GET method is used.
|
||||
|
||||
I18n.locale = "de";
|
||||
|
||||
function initFormSubmitLinks(el) {
|
||||
|
||||
el = el || $(document.body);
|
||||
|
|
|
@ -58,6 +58,9 @@ module Scinote
|
|||
# Add rack-attack middleware for request rate limiting
|
||||
config.middleware.use Rack::Attack
|
||||
|
||||
config.i18n.available_locales = %i(en de)
|
||||
config.i18n.default_locale = :de
|
||||
config.i18n.fallbacks = [:en]
|
||||
config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}')]
|
||||
|
||||
config.encoding = 'utf-8'
|
||||
|
|
113
config/locales/dashboard/de.yml
Normal file
113
config/locales/dashboard/de.yml
Normal file
|
@ -0,0 +1,113 @@
|
|||
---
|
||||
de:
|
||||
dashboard:
|
||||
current_tasks:
|
||||
title: Aktuelle Arbeit
|
||||
search: Suchaufgaben
|
||||
navbar:
|
||||
favorites: Favoriten
|
||||
assigned: Mir zugewiesen
|
||||
all: Alle
|
||||
filter:
|
||||
title: Filterungen
|
||||
clear: Klar
|
||||
sort: Sortieren nach
|
||||
due_first: Fällig zuerst
|
||||
due_last: Fällig letzte
|
||||
start_first: Begonnen zuerst
|
||||
start_last: Begonnen letzte
|
||||
atoz: Name A bis Z
|
||||
ztoa: Name Z to A
|
||||
id_asc: ID aufsteigend
|
||||
id_desc: ID absteigend
|
||||
display: Anzeigen von Statusmeldungen
|
||||
statuses:
|
||||
placeholder: Wählen Sie Status aus
|
||||
all_selected: Alle ausgewählt
|
||||
selected: selected
|
||||
uncompleted_tasks: Aufgaben in Bearbeitung
|
||||
completed_tasks: Aufgaben abgeschlossen
|
||||
project: Projekt
|
||||
select_project: Alle Projekte
|
||||
experiment: Experiment
|
||||
select_experiment: Alle Experimente
|
||||
apply: Anwenden
|
||||
show_results: Ergebnisse anzeigen
|
||||
no_tasks:
|
||||
favorites: Projekte, Experimente und Aufgaben, die Sie als Favoriten markieren,
|
||||
erscheinen hier.
|
||||
assigned_tasks:
|
||||
title: Es sind im Moment keine Aufgaben für dich zugewiesen.
|
||||
description: Verwenden Sie die Schaltfläche "+ Neue Aufgabe" oben, um eine
|
||||
neue Aufgabe zu erstellen, oder weisen Sie sich selbst einer vorhandenen
|
||||
Aufgabe zu.
|
||||
team_tasks:
|
||||
title: Ihr Arbeitsbereich hat derzeit keine Aufgaben.
|
||||
search_result:
|
||||
title: Keine Ergebnisse.
|
||||
due_date_html: 'Fälligkeitsdatum: <b>%{date}</b>'
|
||||
due_date_overdue_html: 'Fälligkeitsdatum: <b>%{date} (überfällig)</b>'
|
||||
completed_on_html: 'Abgeschlossen am: <b>%{date}</b>'
|
||||
calendar:
|
||||
due_on: Fällig am
|
||||
dow:
|
||||
su: Su
|
||||
mo: Mo
|
||||
tu: Du
|
||||
we: Wir
|
||||
th: Th
|
||||
fr: Fr
|
||||
sa: Sa
|
||||
quick_start:
|
||||
title: Schnellstart
|
||||
description: Beginnen Sie schnell eine neue Aufgabe, erstellen Sie ein neues
|
||||
Projekt oder einen neuen Bericht.
|
||||
new_task: Neue Aufgabe
|
||||
new_protocol: Neues Protokoll
|
||||
new_report: Neuer Bericht
|
||||
placeholder:
|
||||
title: Kann nicht erstellt werden.
|
||||
description: Als Gast in diesem Arbeitsbereich können Sie nichts erstellen.
|
||||
create_task_modal:
|
||||
title: Neue Aufgabe erstellen
|
||||
description: Geben Sie einfach die Felder unten ein, um Platz für Ihre neue
|
||||
Aufgabe zu finden oder zu erstellen.
|
||||
project: Projekt
|
||||
task_name: Aufgabename
|
||||
task_name_placeholder: Geben Sie den Aufgabennamen ein
|
||||
task_name_error: Der Aufgabenname muss mindestens %{length} Zeichen lang sein.
|
||||
project_visibility_label: Sichtbar für
|
||||
project_visibility_members: Projektmitglieder
|
||||
project_visibility_all: Alle Arbeitsbereichsmitglieder
|
||||
experiment: Experiment
|
||||
user_role: Benutzerrolle
|
||||
project_placeholder: Projekt auswählen oder erstellen
|
||||
experiment_placeholder: Experiment auswählen oder erstellen
|
||||
user_role_placeholder: Standardbenutzerrolle auswählen
|
||||
experiment_disabled_placeholder: Wählen Sie ein Projekt aus, um Experimente
|
||||
zu aktivieren.
|
||||
filter_create_new: Erstellen
|
||||
cancel: Stornieren
|
||||
create: Erstellen
|
||||
new_project: Erstelle das Projekt "%{name}"
|
||||
new_experiment: Erstelle das Experiment "%{name}"
|
||||
recent_work:
|
||||
title: Meine kürzliche Aktivität
|
||||
no_results:
|
||||
title: Du hast in letzter Zeit an nichts gearbeitet.
|
||||
description: Alle Aufgaben, Projekte, Bestandsprotokolle und Berichte, an
|
||||
denen Sie zuletzt gearbeitet haben, werden hier angezeigt, wenn Sie Änderungen
|
||||
vornehmen.
|
||||
modes:
|
||||
all: Alles
|
||||
projects: PROJEKTE
|
||||
repositories: INVENTAR
|
||||
protocols: PROTOKOLLE
|
||||
reports: BERICHTE
|
||||
subject_type:
|
||||
Project: Projekt
|
||||
Experiment: Experiment
|
||||
MyModule: Aufgabe
|
||||
RepositoryBase: Inventar
|
||||
Protocol: Protokoll
|
||||
Report: Bericht
|
5654
config/locales/de.yml
Normal file
5654
config/locales/de.yml
Normal file
File diff suppressed because it is too large
Load diff
83
config/locales/devise.de.yml
Normal file
83
config/locales/devise.de.yml
Normal file
|
@ -0,0 +1,83 @@
|
|||
---
|
||||
de:
|
||||
devise:
|
||||
confirmations:
|
||||
confirmed: Ihre E-Mail-Adresse wurde erfolgreich bestätigt.
|
||||
send_instructions: Sie erhalten in wenigen Minuten eine E-Mail mit Anweisungen,
|
||||
wie Sie Ihre E-Mail-Adresse bestätigen können.
|
||||
send_paranoid_instructions: Wenn Ihre E-Mail-Adresse in unserer Datenbank existiert,
|
||||
erhalten Sie in wenigen Minuten eine E-Mail mit Anweisungen, wie Sie Ihre
|
||||
E-Mail-Adresse bestätigen können.
|
||||
failure:
|
||||
already_authenticated: ''
|
||||
inactive: Ihr Konto ist noch nicht aktiviert.
|
||||
invalid: Ungültige %{authentication_keys} oder Passwort.
|
||||
locked: Ihr Konto ist gesperrt.
|
||||
last_attempt: Sie haben noch einen Versuch, bevor Ihr Konto gesperrt wird.
|
||||
not_found_in_database: Ungültige %{authentication_keys} oder Passwort.
|
||||
timeout: Ihre Sitzung ist abgelaufen. Bitte melden Sie sich erneut an, um fortzufahren.
|
||||
unauthenticated: Sie müssen sich anmelden oder registrieren, um fortzufahren.
|
||||
unconfirmed: Sie müssen Ihre E-Mail-Adresse bestätigen, bevor Sie fortfahren
|
||||
können.
|
||||
auth_method_disabled: Diese Authentifizierungsmethode ist deaktiviert.
|
||||
mailer:
|
||||
confirmation_instructions:
|
||||
subject: Bestätigungsanweisungen
|
||||
reset_password_instructions:
|
||||
subject: Anleitung zum Zurücksetzen des Passworts
|
||||
unlock_instructions:
|
||||
subject: Entsperranweisungen
|
||||
omniauth_callbacks:
|
||||
failure: Konnte Sie nicht von %{kind} authentifizieren, weil "%{reason}".
|
||||
success: Erfolgreich von %{kind} Konto authentifiziert.
|
||||
missing_attribute: Das Attribut %{attribute} fehlt oder ist leer.
|
||||
passwords:
|
||||
no_token: Sie können nicht auf diese Seite zugreifen, ohne von einer E-Mail
|
||||
zur Zurücksetzung des Passworts zu kommen. Wenn Sie von einer E-Mail zur Zurücksetzung
|
||||
des Passworts kommen, stellen Sie bitte sicher, dass Sie die vollständige
|
||||
bereitgestellte URL verwendet haben.
|
||||
send_instructions: Wenn ein Konto mit dieser E-Mail-Adresse verknüpft ist, werden
|
||||
in Kürze Anweisungen zum Zurücksetzen des Passworts gesendet.
|
||||
send_paranoid_instructions: Wenn Ihre E-Mail-Adresse in unserer Datenbank existiert,
|
||||
erhalten Sie in wenigen Minuten einen Link zur Passwortwiederherstellung an
|
||||
Ihre E-Mail-Adresse.
|
||||
updated: Ihr Passwort wurde erfolgreich geändert. Sie sind jetzt angemeldet.
|
||||
updated_not_active: Ihr Passwort wurde erfolgreich geändert.
|
||||
registrations:
|
||||
destroyed: Auf Wiedersehen! Ihr Konto wurde erfolgreich storniert. Wir hoffen,
|
||||
Sie bald wiederzusehen.
|
||||
signed_up: Willkommen! Sie haben sich erfolgreich angemeldet.
|
||||
signed_up_but_inactive: Sie haben sich erfolgreich angemeldet. Allerdings konnten
|
||||
wir Sie nicht anmelden, da Ihr Konto noch nicht aktiviert ist.
|
||||
signed_up_but_locked: Sie haben sich erfolgreich registriert. Wir konnten Sie
|
||||
jedoch nicht anmelden, da Ihr Konto gesperrt ist.
|
||||
signed_up_but_unconfirmed: Eine Nachricht mit einem Bestätigungslink wurde an
|
||||
Ihre E-Mail-Adresse gesendet. Bitte folgen Sie dem Link, um Ihr Konto zu aktivieren.
|
||||
update_needs_confirmation: Sie haben Ihr Konto erfolgreich aktualisiert, aber
|
||||
wir müssen Ihre neue E-Mail-Adresse überprüfen. Bitte überprüfen Sie Ihre
|
||||
E-Mail und folgen Sie dem Bestätigungslink, um Ihre neue E-Mail-Adresse zu
|
||||
bestätigen.
|
||||
updated: Ihr Konto wurde erfolgreich aktualisiert.
|
||||
sessions:
|
||||
signed_in: Erfolgreich angemeldet.
|
||||
signed_out: Erfolgreich abgemeldet.
|
||||
already_signed_out: Erfolgreich abgemeldet.
|
||||
unlocks:
|
||||
send_instructions: Sie erhalten in wenigen Minuten eine E-Mail mit Anweisungen,
|
||||
wie Sie Ihr Konto entsperren können.
|
||||
send_paranoid_instructions: Wenn Ihr Konto existiert, erhalten Sie in wenigen
|
||||
Minuten eine E-Mail mit Anweisungen, wie Sie es entsperren können.
|
||||
unlocked: Ihr Konto wurde erfolgreich entsperrt. Bitte melden Sie sich an, um
|
||||
fortzufahren.
|
||||
errors:
|
||||
messages:
|
||||
already_confirmed: Diese E-Mail wurde bereits bestätigt, bitte versuchen Sie
|
||||
sich einzuloggen.
|
||||
confirmation_period_expired: muss innerhalb von %{period} bestätigt werden,
|
||||
bitte fordern Sie eine neue an
|
||||
expired: ist abgelaufen, bitte fordern Sie eine neue an
|
||||
not_found: Nicht gefunden
|
||||
not_locked: war nicht gesperrt
|
||||
not_saved:
|
||||
one: '1 Fehler verhinderte, dass dieses %{resource} gespeichert wurde:'
|
||||
other: "%{count} Fehler verhinderten, dass diese %{resource} gespeichert wurde:"
|
36
config/locales/devise_invitable.de.yml
Normal file
36
config/locales/devise_invitable.de.yml
Normal file
|
@ -0,0 +1,36 @@
|
|||
---
|
||||
de:
|
||||
devise:
|
||||
failure:
|
||||
invited: Sie haben eine ausstehende Einladung, akzeptieren Sie sie, um die Erstellung
|
||||
Ihres Kontos abzuschließen.
|
||||
invitations:
|
||||
send_instructions: Eine Einladungs-E-Mail wurde an %{email} gesendet.
|
||||
invitation_token_invalid: Der bereitgestellte Einladungstoken ist ungültig!
|
||||
updated: Ihr Passwort wurde erfolgreich festgelegt. Sie sind jetzt angemeldet.
|
||||
updated_not_active: Ihr Passwort wurde erfolgreich festgelegt.
|
||||
no_invitations_remaining: Keine Einladungen mehr
|
||||
invitation_removed: Ihre Einladung wurde entfernt.
|
||||
new:
|
||||
header: Einladung senden
|
||||
submit_button: Senden Sie eine Einladung
|
||||
edit:
|
||||
header: Setzen Sie Ihr Passwort fest.
|
||||
submit_button: Setze mein Passwort
|
||||
mailer:
|
||||
invitation_instructions:
|
||||
subject: Einladungsanweisungen
|
||||
hello: Hallo %{email}
|
||||
someone_invited_you: Jemand hat dich zu %{url} eingeladen, du kannst es über
|
||||
den folgenden Link akzeptieren.
|
||||
accept: Einladung annehmen
|
||||
accept_until: Diese Einladung wird am %{due_date} fällig sein.
|
||||
ignore: Wenn Sie die Einladung nicht annehmen möchten, ignorieren Sie bitte
|
||||
diese E-Mail.<br />Ihr Konto wird erst erstellt, wenn Sie auf den obigen
|
||||
Link zugreifen und Ihr Passwort festlegen.
|
||||
time:
|
||||
formats:
|
||||
devise:
|
||||
mailer:
|
||||
invitation_instructions:
|
||||
accept_until_format: "%d. %B %Y %H:%M Uhr"
|
136
config/locales/doorkeeper.de.yml
Normal file
136
config/locales/doorkeeper.de.yml
Normal file
|
@ -0,0 +1,136 @@
|
|||
---
|
||||
de:
|
||||
activerecord:
|
||||
attributes:
|
||||
doorkeeper/application:
|
||||
name: Name
|
||||
redirect_uri: Weiterleitungs-URI
|
||||
errors:
|
||||
models:
|
||||
doorkeeper/application:
|
||||
attributes:
|
||||
redirect_uri:
|
||||
fragment_present: kann kein Fragment enthalten.
|
||||
invalid_uri: muss eine gültige URI sein.
|
||||
relative_uri: Es muss sich um eine absolute URI handeln.
|
||||
secured_uri: muss eine HTTPS/SSL-URI sein.
|
||||
forbidden_uri: wird vom Server verboten.
|
||||
doorkeeper:
|
||||
applications:
|
||||
confirmations:
|
||||
destroy: Sind Sie sicher?
|
||||
buttons:
|
||||
edit: Bearbeiten
|
||||
destroy: Zerstören
|
||||
submit: Einreichen
|
||||
cancel: Stornieren
|
||||
authorize: Autorisieren
|
||||
form:
|
||||
error: Hoppla! Überprüfen Sie Ihr Formular auf mögliche Fehler.
|
||||
help:
|
||||
confidential: Die Anwendung wird dort verwendet, wo das Client-Geheimnis vertraulich
|
||||
behandelt werden kann. Native mobile Apps und Single Page Apps gelten als
|
||||
nicht vertraulich.
|
||||
redirect_uri: Verwenden Sie pro URI eine Zeile
|
||||
native_redirect_uri: Verwenden Sie %{native_redirect_uri}, wenn Sie lokale
|
||||
URIs für Entwicklungszwecke hinzufügen möchten.
|
||||
scopes: Trennen Sie Bereiche mit Leerzeichen. Leer lassen, um die Standardbereiche
|
||||
zu verwenden.
|
||||
edit:
|
||||
title: Anwendung bearbeiten
|
||||
index:
|
||||
title: Ihre Anwendungen
|
||||
new: Neue Anwendung
|
||||
name: Name
|
||||
callback_url: Rückruf-URL
|
||||
confidential: Vertraulich?
|
||||
confidentiality:
|
||||
'yes': Ja
|
||||
'no': Nein
|
||||
new:
|
||||
title: Neue Anwendung
|
||||
show:
|
||||
title: 'Anwendung: %{name}'
|
||||
application_id: Anwendungs-ID
|
||||
secret: Geheimnis
|
||||
scopes: Bereiche
|
||||
confidential: Vertraulich
|
||||
callback_urls: Callback URLs
|
||||
actions: Aktionen
|
||||
authorizations:
|
||||
buttons:
|
||||
authorize: Autorisieren
|
||||
deny: Ablehnen
|
||||
error:
|
||||
title: Ein Fehler ist aufgetreten
|
||||
new:
|
||||
title: Autorisierung erforderlich
|
||||
prompt: Autorisieren Sie %{client_name}, Ihr Konto zu verwenden?
|
||||
able_to: Diese Anwendung wird in der Lage sein,
|
||||
show:
|
||||
title: Autorisierungscode
|
||||
authorized_applications:
|
||||
confirmations:
|
||||
revoke: Sind Sie sicher?
|
||||
buttons:
|
||||
revoke: Widerrufen
|
||||
index:
|
||||
title: Ihre autorisierten Anwendungen
|
||||
application: Anwendung
|
||||
created_at: Erstellt am
|
||||
date_format: "%Y-%m-%d %H:%M:%S"
|
||||
errors:
|
||||
messages:
|
||||
invalid_request: Die Anfrage fehlt ein erforderlicher Parameter, enthält einen
|
||||
nicht unterstützten Parameterwert oder ist anderweitig fehlerhaft.
|
||||
invalid_redirect_uri: Die angeforderte Weiterleitungs-URI ist fehlerhaft oder
|
||||
stimmt nicht mit der Client-Weiterleitungs-URI überein.
|
||||
unauthorized_client: Der Client ist nicht berechtigt, diese Anfrage mit dieser
|
||||
Methode auszuführen.
|
||||
access_denied: Der Ressourceninhaber oder Autorisierungsserver hat die Anfrage
|
||||
abgelehnt.
|
||||
invalid_scope: Der angeforderte Bereich ist ungültig, unbekannt oder fehlerhaft.
|
||||
server_error: Der Autorisierungsserver hat einen unerwarteten Zustand festgestellt,
|
||||
der ihn daran hinderte, die Anfrage zu erfüllen.
|
||||
temporarily_unavailable: Der Autorisierungsserver kann die Anfrage derzeit
|
||||
aufgrund einer vorübergehenden Überlastung oder Wartung des Servers nicht
|
||||
verarbeiten.
|
||||
credential_flow_not_configured: Die Ressourcenbesitzer-Passwortanmeldeablauf
|
||||
ist aufgrund der Nichtkonfiguration von Doorkeeper.configure.resource_owner_from_credentials
|
||||
fehlgeschlagen.
|
||||
resource_owner_authenticator_not_configured: Die Ressourcenbesitzer-Suche
|
||||
ist aufgrund der Nichtkonfiguration von Doorkeeper.configure.resource_owner_authenticator
|
||||
fehlgeschlagen.
|
||||
unsupported_response_type: Der Autorisierungsserver unterstützt diesen Antworttyp
|
||||
nicht.
|
||||
invalid_client: Die Client-Authentifizierung ist aufgrund eines unbekannten
|
||||
Clients, keiner enthaltenen Client-Authentifizierung oder eines nicht unterstützten
|
||||
Authentifizierungsmethoden fehlgeschlagen.
|
||||
invalid_grant: Der bereitgestellte Autorisierungscode ist ungültig, abgelaufen,
|
||||
widerrufen, entspricht nicht der Weiterleitungs-URI, die bei der Autorisierungsanfrage
|
||||
verwendet wurde, oder wurde an einen anderen Client ausgegeben.
|
||||
unsupported_grant_type: Der Autorisierungs-Grant-Typ wird vom Autorisierungsserver
|
||||
nicht unterstützt.
|
||||
invalid_token:
|
||||
revoked: Das Zugriffstoken wurde widerrufen.
|
||||
expired: Das Zugriffstoken ist abgelaufen
|
||||
unknown: Der Zugriffs-Token ist ungültig
|
||||
flash:
|
||||
applications:
|
||||
create:
|
||||
notice: Anwendung erstellt.
|
||||
destroy:
|
||||
notice: Anwendung gelöscht.
|
||||
update:
|
||||
notice: Anwendung aktualisiert.
|
||||
authorized_applications:
|
||||
destroy:
|
||||
notice: Anwendung widerrufen.
|
||||
layouts:
|
||||
admin:
|
||||
nav:
|
||||
oauth2_provider: OAuth2-Anbieter
|
||||
applications: Anwendungen
|
||||
home: Zuhause
|
||||
application:
|
||||
title: OAuth Autorisierung erforderlich
|
1320
config/locales/global_activities/de.yml
Normal file
1320
config/locales/global_activities/de.yml
Normal file
File diff suppressed because it is too large
Load diff
17
config/locales/my_module_statuses/de.yml
Normal file
17
config/locales/my_module_statuses/de.yml
Normal file
|
@ -0,0 +1,17 @@
|
|||
---
|
||||
de:
|
||||
my_module_statuses:
|
||||
dropdown:
|
||||
status_label: Status
|
||||
status_transitioning_label: 'Übergang zu:'
|
||||
move_label: Ziehen Sie um
|
||||
return_label: Zurück zu
|
||||
view_flow_label: Statusfluss anzeigen
|
||||
no_permission_label: Sie haben keine Berechtigung, den Status dieser Aufgabe
|
||||
zu ändern.
|
||||
update_status:
|
||||
error:
|
||||
no_permission: Sie haben keine Berechtigung, den Status zu ändern.
|
||||
conditions:
|
||||
error:
|
||||
my_module_not_active: Die Aufgabe sollte aktiv sein.
|
55
config/locales/protocols/de.yml
Normal file
55
config/locales/protocols/de.yml
Normal file
|
@ -0,0 +1,55 @@
|
|||
---
|
||||
de:
|
||||
protocol_importers:
|
||||
errors:
|
||||
cannot_import_protocol: Wir konnten das Protokoll nicht importieren, weil etwas
|
||||
schief gelaufen ist.
|
||||
new:
|
||||
modal_title: Importprotokoll - %{protocol_name}
|
||||
card:
|
||||
views_and_steps: "%{nr_of_views} Aufrufe • %{nr_of_steps} Schritte"
|
||||
import_button_text: Import...
|
||||
show_more_button:
|
||||
title: Mehr Protokolle anzeigen
|
||||
templates:
|
||||
amount:
|
||||
title: Menge
|
||||
command:
|
||||
title: Befehl
|
||||
name: Name
|
||||
code: Befehl
|
||||
concentration:
|
||||
title: Konzentration
|
||||
dataset:
|
||||
title: Datensatz
|
||||
name: Name
|
||||
link: Verbindung
|
||||
details:
|
||||
title: Details
|
||||
duration:
|
||||
title: Dauer
|
||||
unit: seconds
|
||||
gotostep:
|
||||
title: Gehe zum Schritt
|
||||
number: Schritt Nr.
|
||||
reason: Wann
|
||||
link:
|
||||
title: Verbindung
|
||||
note:
|
||||
title: Hinweis
|
||||
author: Autor
|
||||
reagent:
|
||||
title: Reagenzien
|
||||
name: Name
|
||||
mol_weight: Molekulargewicht
|
||||
link: Verbindung
|
||||
result:
|
||||
title: Erwartetes Ergebnis
|
||||
software:
|
||||
title: Software
|
||||
name: Name
|
||||
link: Verbindung
|
||||
temperature:
|
||||
title: Temperatur
|
||||
warning:
|
||||
title: Warnung
|
Loading…
Add table
Reference in a new issue