diff --git a/includes/i18n/it.php b/includes/i18n/it.php new file mode 100644 index 0000000..213bae1 --- /dev/null +++ b/includes/i18n/it.php @@ -0,0 +1,191 @@ + 'Devi creare un account prima di poter accedere', + 'username' => 'Nome utente', + 'password' => 'Password', + 'email' => 'Email', + 'confirm_password' => 'Conferma password', + 'main_currency' => 'Valuta principale', + 'language' => 'Lingua', + 'passwords_dont_match' => 'Le password non corrispondono', + 'registration_failed' => 'Registrazione fallita, riprova.', + 'register' => 'Registrati', + + // Login + 'please_login' => 'Per favore, accedi', + 'stay_logged_in' => 'Rimani connesso (30 giorni)', + 'login' => 'Accedi', + 'login_failed' => 'Le credenziali non sono corrette', + + // Header + 'subscriptions' => 'Abbonamenti', + 'stats' => 'Statistiche', + 'settings' => 'Impostazioni', + 'about' => 'Informazioni', + 'logout' => 'Esci', + + // Subscriptions + 'subscription' => 'Abbonamento', + 'no_subscriptions_yet' => 'Non hai ancora nessun abbonamento', + 'add_first_subscription' => 'Aggiungo il tuo primo abbonamento', + 'new_subscription' => 'Nuovo abbonamento', + 'search' => 'Cerca', + 'sort' => 'Ordina', + 'name' => 'Nome', + 'last_added' => 'Ultimo aggiunto', + 'price' => 'Prezzo', + 'next_payment' => 'Prossimo pagamento', + 'inactive' => 'Disattiva abbonamento', + 'member' => 'Membro', + 'category' => 'Categoria', + 'payment_method' => 'Metodo di pagamento', + 'Daily' => 'Quotidiano', + 'Weekly' => 'Settimanale', + 'Monthly' => 'Mensile', + 'Yearly' => 'Annuale', + 'daily' => 'Giorno/i', + 'weekly' => 'Settimana/e', + 'monthly' => 'Mese/i', + 'yearly' => 'Anno/i', + 'days' => 'giorni', + 'weeks' => 'settimane', + 'months' => 'mesi', + 'years' => 'anni', + 'external_url' => 'Apri URL esterno', + 'empty_page' => 'Pagina vuota', + 'clear_filters' => 'Pulisci filtri', + 'no_matching_subscriptions' => 'Nessun abbonamento corrispondente', + + // Add/Edit Subscription + 'add_subscription' => 'Aggiungi abbonamento', + 'edit_subscription' => 'Modifica abbonamento', + 'subscription_name' => 'Nome abbonamento', + 'logo_preview' => 'Anteprima del logo', + 'search_logo' => 'Cerca il logo sul web', + 'web_search' => 'Ricerca web', + 'currency' => 'Valuta', + 'payment_every' => 'Pagamento ogni', + 'frequency' => 'Frequenza', + 'cycle' => 'Ciclo', + 'no_category' => 'Nessuna categoria', + 'paid_by' => 'Pagato da', + 'url' => 'URL', + 'notes' => 'Note', + 'enable_notifications' => 'Abilita notifiche per questo abbonamento', + 'delete' => 'Cancella', + 'cancel' => 'Annulla', + 'upload_logo' => 'Carica logo', + + // Statistics + 'general_statistics' => 'Statistiche generali', + 'active_subscriptions' => 'Abbonamenti attivi', + 'inactive_subscriptions' => 'Abbonamenti inattivi', + 'monthly_cost' => 'Costo mensile', + 'yearly_cost' => 'Costo annuale', + 'average_monthly' => "Costo medio mensile dell'abbonamento", + 'most_expensive' => "Costo dell'abbonamento più elevato", + 'amount_due' => 'Importo dovuto questo mese', + 'monthly_savings' => 'Risparmi mensili (su abbonamenti inattivi)', + 'split_views' => 'Visualizzazioni con grafici', + 'category_split' => 'Suddivisione per categoria', + 'household_split' => 'Suddivisione per nucleo familiare', + 'payment_method_split' => 'Suddivisione per metodo di pagamento', + + // About + 'about_and_credits' => 'Informazioni e crediti', + 'license' => 'Licenza', + 'issues_and_requests' => 'Problemi e richieste', + 'the_author' => "L'autore", + 'icons' => 'Icone', + 'payment_icons' => 'Icone di pagamento', + + // Settings + 'upload_avatar' => 'Carica avatar', + 'file_type_error' => 'Il tipo di file fornito non è supportato.', + 'user_details' => 'Dettagli utente', + 'household' => 'Nucleo familiare', + 'save_member' => 'Salva membro', + 'delete_member' => 'Elimina membro', + 'cant_delete_member' => 'Non è possibile eliminare il membro principale', + 'cant_delete_member_in_use' => 'Non è possibile eliminare un membro che utilizza almeno un abbonamento', + 'household_info' => 'Il campo e-mail consente ai membri del nucleo familiare di essere avvisati degli abbonamenti in procinto di scadere.', + 'notifications' => 'Notifiche', + 'enable_email_notifications' => 'Abilita le notifiche via e-mail', + 'notify_me' => 'Avvisami', + 'day_before' => 'giorno prima', + 'days_before' => 'giorni prima', + 'smtp_address' => 'Indirizzo SMTP', + 'port' => 'Porta', + 'tls' => 'TLS', + 'ssl' => 'SSL', + 'smtp_username' => 'Nome utente SMTP', + 'smtp_password' => 'Password SMTP', + 'from_email' => 'Da quale e-mail (Opzionale)', + 'smtp_info' => 'La password SMTP viene memorizzata e trasmessa in chiaro. Per motivi di sicurezza, si prega di creare un account da utilizzare solo per questo.', + 'categories' => 'Categorie', + 'save_category' => 'Salva categoria', + 'delete_category' => 'Elimina categoria', + 'cant_delete_category_in_use' => 'Non è possibile eliminare una categoria in uso da almeno un abbonamento', + 'currencies' => 'Valute', + 'save_currency' => 'Salva valuta', + 'delete_currency' => 'Elimina valuta', + 'cant_delete_main_currency' => 'Impossibile eliminare la valuta principale', + 'cant_delete_currency_in_use' => 'Non è possibile eliminare la valuta in uso da almeno un abbonamento', + 'exchange_update' => "Tassi di cambio aggiornati l'ultima volta il", + 'currency_info' => 'Trova le valute supportate e i codici valuta corretti su', + 'currency_performance' => 'Per garantire prestazioni migliori, tieni solo le valute che utilizzi.', + 'fixer_api_key' => 'Chiave API di Fixer', + 'api_key' => 'Chiave API', + 'provider' => 'Fornitore', + 'fixer_info' => 'Se utilizzi più valute e desideri visualizzare statistiche e ordinamenti accurati sugli abbonamenti, è necessaria una chiave API (Gratuita) da Fixer.', + 'get_key' => 'Ottieni la tua chiave su', + 'get_free_fixer_api_key' => 'Ottieni gratuitamente la chiave API di Fixer', + 'get_key_alternative' => 'In alternativa, puoi ottenere gratuitamente una chiave API di Fixer da', + 'display_settings' => 'Impostazioni di visualizzazione', + 'switch_theme' => 'Cambia tema chiaro/scuro', + 'calculate_monthly_price' => 'Calcola e mostra il prezzo mensile per tutti gli abbonamenti', + 'convert_prices' => 'Converti sempre e mostra i prezzi nella mia valuta principale (più lento)', + 'experimental_settings' => 'Impostazioni sperimentali', + 'remove_background' => 'Prova a rimuovere lo sfondo dei loghi dalla ricerca delle immagini (sperimentale)', + 'experimental_info' => 'Le impostazioni sperimentali potrebbero non funzioneranno perfettamente.', + 'payment_methods' => 'Metodi di pagamento', + 'payment_methods_info' => 'Fai clic su un metodo di pagamento per abilitarlo/disabilitarlo.', + 'rename_payment_methods_info' => 'Fai clic sul nome di un metodo di pagamento per rinominarlo.', + 'cant_delete_payment_method_in_use' => 'Non è possibile disabilitare un metodo di pagamento in uso', + 'add_custom_payment' => 'Aggiungi metodo di pagamento personalizzato', + 'payment_method_name' => 'Nome del metodo di pagamento', + 'payment_method_added_successfuly' => 'Metodo di pagamento aggiunto con successo', + 'payment_method_removed' => 'Metodo di pagamento rimosso', + 'disable' => 'Disabilita', + 'enable' => 'Abilita', + 'rename_payment_method' => 'Rinomina metodo di pagamento', + 'payment_renamed' => 'Metodo di pagamento rinominato', + 'payment_not_renamed' => 'Metodo di pagamento non rinominato', + 'test' => 'Test', + 'add' => 'Aggiungi', + 'save' => 'Salva', + 'export_subscriptions' => 'Esporta abbonamenti', + 'export_to_json' => 'Esporta in JSON', + + // Filters + 'filter' => 'Filtra', + 'clear' => 'Pulisci', + + // Toast + 'success' => 'Successo', + + // Endpoint responses + 'session_expired' => 'La tua sessione è scaduta. Effettua nuovamente il login', + 'fields_missing' => 'Mancano alcuni campi', + 'fill_all_fields' => 'Si prega di compilare tutti i campi', + 'fill_mandatory_fields' => 'Si prega di compilare tutti i campi obbligatori', + 'error' => 'Errore', + + // Category + 'failed_add_category' => 'Impossibile aggiungere la categoria', + 'failed_edit_category' => 'Impossibile modificare la categoria', +]; + +?> diff --git a/includes/i18n/languages.php b/includes/i18n/languages.php index 3718577..f72d07f 100644 --- a/includes/i18n/languages.php +++ b/includes/i18n/languages.php @@ -1,6 +1,6 @@ Language Name + // File Name => Language Name $languages = [ // English first "en" => "English", @@ -9,12 +9,13 @@ "el" => "Ελληνικά", "es" => "Español", "fr" => "Français", + "it" => "Italiano", "jp" => "日本語", - "pl" => "Polski", - "pt" => "Português", + "pl" => "Polski", "pt_br" => "Português Brasileiro", - "sr" => "Српски", - "sr_lat" => "Srpski", + "pt" => "Português", + "sr_lat" => "Srpski", + "sr" => "Српски", "tr" => "Türkçe", "zh_cn" => "简体中文", "zh_tw" => "繁體中文", diff --git a/scripts/i18n/it.js b/scripts/i18n/it.js new file mode 100644 index 0000000..c6a6076 --- /dev/null +++ b/scripts/i18n/it.js @@ -0,0 +1,37 @@ +let i18n = { + // Dashboard + error_reloading_subscription: "Errore nel ricaricare l'abbonamento:", + error_fetching_image_results: "Errore nel recupero delle immagini:", + subscription_deleted: "Abbonamento eliminato", + error_deleting_subscription: "Errore nell'eliminare l'abbonamento", + failed_to_load_subscription: "Caricamento dell'abbonamento non riuscito", + edit_subscription: "Modifica abbonamento", + add_subscription: "Aggiungi abbonamento", + confirm_delete_subscription: "Sei sicuro di voler eliminare questo abbonamento?", + + // Settings + network_response_error: "Si è verificato un errore nella risposta del server", + failed_add_member: "Impossibile aggiungere il membro", + member: "Membro", + email: "Email", + save_member: "Salva membro", + delete_member: "Elimina membro", + failed_remove_member: "Impossibile rimuovere il membro", + failed_save_member: "Impossibile salvare il membro", + failed_add_category: "Impossibile aggiungere la categoria", + category: "Categoria", + save_category: "Salva categoria", + delete_category: "Elimina categoria", + failed_remove_category: "Impossibile rimuovere la categoria", + currency: "Valuta", + currency_code: "Codice valuta", + save_currency: "Salva valuta", + delete_currency: "Elimina valuta", + failed_remove_currency: "Impossibile rimuovere la valuta", + failed_save_currency: "Impossibile salvare la valuta", + cant_disable_payment_in_use: "Impossibile disabilitare il pagamento in uso", + failed_save_payment_method: "Impossibile salvare il metodo di pagamento", + unknown_error: "Errore sconosciuto, si prega di riprovare.", + error_saving_notification_data: "Errore nel salvataggio delle impostazioni di notifica", + error_sending_notification: "Errore nell'invio della notifica", +} diff --git a/service-worker.js b/service-worker.js index 6fafd01..782fcb3 100644 --- a/service-worker.js +++ b/service-worker.js @@ -21,15 +21,16 @@ self.addEventListener('install', function(event) { 'scripts/stats.js', 'scripts/settings.js', 'scripts/registration.js', - 'scripts/i18n/en.js', 'scripts/i18n/de.js', 'scripts/i18n/el.js', + 'scripts/i18n/en.js', 'scripts/i18n/es.js', 'scripts/i18n/fr.js', + 'scripts/i18n/it.js', 'scripts/i18n/jp.js', 'scripts/i18n/pl.js', - 'scripts/i18n/pt.js', 'scripts/i18n/pt_br.js', + 'scripts/i18n/pt.js', 'scripts/i18n/tr.js', 'scripts/i18n/zh_cn.js', 'scripts/i18n/zh_tw.js',