From 2e95f6824f8a7412e8a4de70e94ca373db90dba4 Mon Sep 17 00:00:00 2001 From: Vincenzo Cardone <75483183+Block2Paz@users.noreply.github.com> Date: Mon, 2 Jan 2023 02:41:39 +0100 Subject: [PATCH] feat: add Italian Translation (#890) --- api/user_setting.go | 2 +- web/src/components/LocaleSelect.tsx | 1 + web/src/components/UpdateAccountDialog.tsx | 10 +- web/src/i18n.ts | 4 + web/src/locales/it.json | 256 +++++++++++++++++++++ web/src/types/i18n.d.ts | 2 +- 6 files changed, 269 insertions(+), 6 deletions(-) create mode 100644 web/src/locales/it.json diff --git a/api/user_setting.go b/api/user_setting.go index 3eaff207..956e0979 100644 --- a/api/user_setting.go +++ b/api/user_setting.go @@ -36,7 +36,7 @@ func (key UserSettingKey) String() string { } var ( - UserSettingLocaleValue = []string{"en", "zh", "vi", "fr", "nl", "sv", "de", "es", "uk", "ru"} + UserSettingLocaleValue = []string{"en", "zh", "vi", "fr", "nl", "sv", "de", "es", "uk", "ru", "it"} UserSettingAppearanceValue = []string{"system", "light", "dark"} UserSettingMemoVisibilityValue = []Visibility{Private, Protected, Public} UserSettingMemoDisplayTsOptionKeyValue = []string{"created_ts", "updated_ts"} diff --git a/web/src/components/LocaleSelect.tsx b/web/src/components/LocaleSelect.tsx index f48f6a60..08549af0 100644 --- a/web/src/components/LocaleSelect.tsx +++ b/web/src/components/LocaleSelect.tsx @@ -32,6 +32,7 @@ const LocaleSelect: FC = (props: Props) => { + ); }; diff --git a/web/src/components/UpdateAccountDialog.tsx b/web/src/components/UpdateAccountDialog.tsx index abd99dd4..6f79160e 100644 --- a/web/src/components/UpdateAccountDialog.tsx +++ b/web/src/components/UpdateAccountDialog.tsx @@ -103,23 +103,25 @@ const UpdateAccountDialog: React.FC = ({ destroy }: Props) => { return ( <>
-

Update information

+

{t("setting.account-section.update-information")}

- Nickname(Display in the banner) + {t("common.nickname")} + (Display in the banner)

- Username + {t("common.username")} (Using to sign in)

- Email(Optional) + {t("common.email")} + (Optional)

diff --git a/web/src/i18n.ts b/web/src/i18n.ts index 9000a979..b3bf8e99 100644 --- a/web/src/i18n.ts +++ b/web/src/i18n.ts @@ -10,6 +10,7 @@ import deLocale from "./locales/de.json"; import esLocale from "./locales/es.json"; import ukLocale from "./locales/uk.json"; import ruLocale from "./locales/ru.json"; +import itLocale from "./locales/it.json"; i18n.use(initReactI18next).init({ resources: { @@ -43,6 +44,9 @@ i18n.use(initReactI18next).init({ ru: { translation: ruLocale, }, + it: { + translation: itLocale, + }, }, lng: "nl", fallbackLng: "en", diff --git a/web/src/locales/it.json b/web/src/locales/it.json new file mode 100644 index 00000000..7b3f1e0b --- /dev/null +++ b/web/src/locales/it.json @@ -0,0 +1,256 @@ +{ + "common": { + "about": "Informazioni", + "email": "Email", + "password": "Password", + "repeat-password-short": "Ripeti", + "repeat-password": "Ripeti la password", + "new-password": "Nuova password", + "repeat-new-password": "Ripeti la nuova password", + "username": "Nome utente", + "nickname": "Soprannome", + "save": "Salva", + "close": "Chiudi", + "cancel": "Cancella", + "create": "Crea", + "change": "Cambia", + "confirm": "Conferma", + "reset": "Ripristina", + "language": "Lingua", + "version": "Versione", + "pin": "Attacca", + "unpin": "Stacca", + "edit": "Modifica", + "restore": "Ripristina", + "delete": "Rimuovi", + "null": "Null", + "share": "Condividi", + "archive": "Archivia", + "basic": "Base", + "admin": "Amministratore", + "explore": "Esplora", + "sign-in": "Accedi", + "sign-up": "Registrati", + "sign-out": "Esci", + "back-to-home": "Ritorna alla Home", + "type": "Tipo", + "shortcuts": "Scorciatoie", + "title": "Titolo", + "filter": "Filtro", + "tags": "Etichette", + "yourself": "Te stesso", + "archived-at": "Archiviato il", + "changed": "cambiato", + "update-on": "Aggiornato il", + "fold": "Piega", + "expand": "Espandi", + "image": "Immagine", + "link": "Link", + "vacuum": "Pulisci", + "select": "Seleziona" + }, + "slogan": "An open-source, self-hosted memo hub with knowledge management and socialization.", + "auth": { + "signup-as-host": "Registrati come Host", + "host-tip": "Ti stai registrando come Host del sito.", + "not-host-tip": "Se non hai un account, contatta l'host del sito." + }, + "sidebar": { + "daily-review": "Oggi", + "resources": "Risorse", + "setting": "Impostazioni", + "archived": "Archiviati" + }, + "daily-review": { + "oops-nothing": "Oops, non c'è niente." + }, + "resources": { + "description": "Visualizza le tue risorse statiche nei memo. es: immagini", + "no-resources": "Nessuna risorsa.", + "fetching-data": "recupero i dati...", + "upload": "Carica", + "preview": "Anteprima", + "copy-link": "Copia link", + "delete-resource": "Cancella risorsa", + "warning-text": "Sei sicuro di voler eliminare questa risorsa? QUESTA AZIONE È IRREVERSIBILE❗", + "linked-amount": "Linked memo amount", + "rename": "Rinomina", + "clear-unused-resources": "Elimina le risorse inutilizzate", + "warning-text-unused": "Sei sicuro di voler eliminare queste risorse? QUESTA AZIONE È IRREVERSIBILE❗", + "no-unused-resources": "Nessuna risorsa inutilizzata", + "name": "Nome" + }, + "archived": { + "archived-memos": "Memo archiviati", + "no-archived-memos": "Nessun memo archiviato.", + "fetching-data": "recupero i dati..." + }, + "editor": { + "editing": "Modifica in corso...", + "cancel-edit": "Annulla modifica", + "save": "Salva", + "placeholder": "Idee...", + "only-image-supported": "Solo file immagine supportati.", + "cant-empty": "Il contenuto non può essere vuoto", + "local": "Locale", + "resources": "Risorse" + }, + "memo": { + "view-detail": "Vedi dettagli", + "copy": "Copia", + "visibility": { + "private": "Visibile solo a te", + "protected": "Visibile ai membri", + "public": "Visibile a tutti" + } + }, + "memo-list": { + "fetching-data": "recupero i dati...", + "fetch-more": "Clicca per caricare più dati" + }, + "shortcut-list": { + "shortcut-title": "titolo Scorciatoia", + "create-shortcut": "Crea Scorciatoia", + "edit-shortcut": "Modifica Scorciatoia", + "eligible-memo": "eligible memo", + "fill-previous": "Compila il valore del filtro precedente", + "title-required": "Il titolo è obbligatorio", + "value-required": "Il valore del filtro è obbligatorio" + }, + "filter": { + "new-filter": "Nuovo Filtro", + "type": { + "tag": "Etichetta", + "type": "Tipo", + "text": "Testo", + "display-time": "Data", + "visibility": "Visibilità" + }, + "operator": { + "contains": "Contiene", + "not-contains": "Non contiene", + "is": "È", + "is-not": "Non è", + "before": "Prima", + "after": "Dopo" + }, + "value": { + "not-tagged": "senza etichetta", + "linked": "con link" + }, + "text-placeholder": "Inizia con ^ per usare le regex" + }, + "tag-list": { + "tip-text": "Scrivi `#tag` per crearla" + }, + "search": { + "quickly-filter": "Filtro rapido" + }, + "setting": { + "my-account": "Il mio account", + "preference": "Preferenze", + "member": "Membri", + "member-list": "Lista membri", + "system": "Sistema", + "account-section": { + "title": "Informazioni account", + "update-information": "Aggiorna informazioni", + "change-password": "Cambia password" + }, + "preference-section": { + "theme": "Tema", + "default-memo-visibility": "Visibilità predefinita memo", + "enable-folding-memo": "Enable folding memo", + "enable-powerful-editor": "Abilitata editor avanzato", + "editor-font-style": "Editor font style", + "mobile-editor-style": "Mobile editor style", + "default-memo-sort-option": "Ordine visualizzazione memo", + "created_ts": "Data di creazione", + "updated_ts": "Ultima modifica" + }, + "member-section": { + "create-a-member": "Crea un membro" + }, + "system-section": { + "server-name": "Nome server", + "customize-server": { + "title": "Personalizza Server", + "default": "Predefinito: memos", + "icon-url": "URL Icona" + }, + "database-file-size": "Dimensione file database", + "allow-user-signup": "Consenti registrazione utenti", + "additional-style": "Stile aggiuntivo", + "additional-script": "Script aggiuntivo", + "additional-style-placeholder": "Codice CSS aggiuntivo", + "additional-script-placeholder": "Codice JavaScript aggiuntivo" + }, + "apperance-option": { + "system": "Sistema", + "light": "Chiaro", + "dark": "Scuro" + } + }, + "amount-text": { + "memo_one": "MEMO", + "memo_other": "MEMOS", + "tag_one": "TAG", + "tag_other": "TAGS", + "day_one": "GIORNO", + "day_other": "GIORNI" + }, + "message": { + "no-memos": "nessun memo 🌃", + "memos-ready": "Tutti i memo sono stati caricati 🎉", + "restored-successfully": "Ripristinato con successo", + "memo-updated-datetime": "La data di creazione del Memo è stata modificata.", + "invalid-created-datetime": "Data di creazione non valida.", + "change-memo-created-time": "Cambia la data di creazione del Memo", + "memo-not-found": "Memo non trovato.", + "fill-all": "Compila tutti i campi.", + "password-not-match": "Le passwords non corrispondono.", + "new-password-not-match": "Le nuove password non corrispondono.", + "image-load-failed": "Caricamento dell'immagine non riuscito", + "fill-form": "Compila questo modulo", + "login-failed": "Accesso fallito", + "signup-failed": "Registrazione fallita", + "user-not-found": "Utente non trovato", + "password-changed": "Password cambiata", + "private-only": "Questo memo è solo privato.", + "copied": "Copiato", + "succeed-copy-content": "Contenuto copiato negli appunti.", + "succeed-copy-link": "Link copiato negli appunti.", + "change-resource-filename": "Modifica il nome del file della risorsa", + "resource-filename-updated": "Nome file risorsa modificato.", + "invalid-resource-filename": "Nome del file non valido.", + "click-to-save-the-image": "Clicca per salvare l'immagine", + "generating-the-screenshot": "Generazione dello screenshot...", + "count-selected-resources": "Totale selezionati", + "too-short": "Troppo corto", + "too-long": "Troppo lungo", + "not-allow-space": "Non permettere spazi", + "not-allow-chinese": "Non permettere cinese", + "succeed-vacuum-database": "Database pulito con successo", + "succeed-update-additional-style": "Stile aggiuntivo aggiornato con successo", + "succeed-copy-resource-link": "Link della risorsa copiato con successo", + "succeed-update-customized-profile": "Profilo aggiornato con successo", + "succeed-update-additional-script": "Script aggiuntivo aggiornato con successo", + "update-succeed": "Aggiornamento riuscito" + }, + "days": { + "monday": "Lunedì", + "mon": "Lun", + "tuesday": "Martedì", + "tue": "Mar", + "wednesday": "Mercoledì", + "wed": "Mer", + "thursday": "Giovedì", + "thu": "Gio", + "friday": "Venerdì", + "fri": "Ven", + "saturday": "Sabato", + "sat": "Sab", + "sunday": "Domenica", + "sun": "Dom" + } +} diff --git a/web/src/types/i18n.d.ts b/web/src/types/i18n.d.ts index d1be9be8..d1e2b2c0 100644 --- a/web/src/types/i18n.d.ts +++ b/web/src/types/i18n.d.ts @@ -1 +1 @@ -type Locale = "en" | "zh" | "vi" | "fr" | "nl" | "sv" | "de" | "es" | "uk" | "ru"; +type Locale = "en" | "zh" | "vi" | "fr" | "nl" | "sv" | "de" | "es" | "uk" | "ru" | "it";