diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json
index 3af92a79..9c720377 100644
--- a/src/i18n/locales/en.json
+++ b/src/i18n/locales/en.json
@@ -1531,5 +1531,41 @@
"skip":"Skip",
"get_started":"Get Started",
"swipe_to_continue":"Swipe to continue"
+ },
+ "mal_settings_screen":{
+ "connected":"Connected to MyAnimeList",
+ "failed_to_connect":"Failed to connect to MyAnimeList",
+ "error_occured":"An error occurred during sign in",
+ "unknown_error":"Unknown error",
+ "sign_out":"Sign Out",
+ "sign_out_confirm":"Are you sure you want to disconnect?",
+ "settings":"Settings",
+ "total":"Total",
+ "days":"Days",
+ "mean":"Mean",
+ "watching":"Watching",
+ "completed":"Completed",
+ "on_hold":"On Hold",
+ "dropped":"Dropped",
+ "sync_complete_title":"Sync Complete",
+ "sync_complete_title_desc":"MAL data has been refreshed",
+ "sync_failed_title":"Sync Failed",
+ "sync_failed_title_desc":"Could not refresh MAL data.",
+ "sync":"Sync",
+ "connect":"Connect MyAnimeList",
+ "connect_desc":"Sync your watch history and manage your anime list.",
+ "sign_in":"Sign In with MAL",
+ "sync_settings":"Sync Settings",
+ "enable_mal_sync":"Enable MAL Sync",
+ "enable_mal_sync_desc":"Global switch to enable or disable all MyAnimeList features.",
+ "mal_auto_episode":"Auto Episode Update",
+ "mal_auto_episode_desc":"Automatically update your progress on MAL when you finish watching an episode",
+ "completion":"completion",
+ "auto_add_anime":"Auto Add Anime",
+ "auto_add_anime_desc":"If an anime is not in your MAL list, it will be added automatically when you start watching.",
+ "auto_sync":" Auto-Sync to Library",
+ "auto_sync_desc":"Automatically add items from your MAL 'Watching' list to your Nuvio Library.",
+ "allow_nsfw":"Include NSFW Content",
+ "allow_nsfw_desc":"Allow NSFW entries to be returned when fetching your MAL list."
}
}
diff --git a/src/i18n/locales/it.json b/src/i18n/locales/it.json
index 5563ecd8..0f9cfcce 100644
--- a/src/i18n/locales/it.json
+++ b/src/i18n/locales/it.json
@@ -1514,5 +1514,41 @@
"skip":"Salta",
"get_started":"Inizia",
"swipe_to_continue":"Scorri per continuare"
+ },
+ "mal_settings_screen":{
+ "connected":"Connesso su MyAnimeList",
+ "failed_to_connect":"Errore nel collegamento su MyAnimeList",
+ "error_occured":"Un errore si è verificato durante l'accesso",
+ "unknown_error":"Errore sconosciuto",
+ "sign_out":"Logout",
+ "sign_out_confirm":"Sei sicuro di volerti disconnettere?",
+ "settings":"Impostazioni",
+ "total":"Totali",
+ "days":"Giorni",
+ "mean":"Mean",
+ "watching":"Guardati",
+ "completed":"Completati",
+ "on_hold":"Da Parte",
+ "dropped":"Dropped",
+ "sync_complete_title":"Sincronizzazione completata",
+ "sync_complete_title_desc":"I dati di MAL son stati aggiornati",
+ "sync_failed_title":"Sincronizzazione fallita",
+ "sync_failed_title_desc":"Non è stato possibile aggiornare i dati di MAL",
+ "sync":"Sincronizzazione",
+ "connect":"Connetti MyAnimeList",
+ "connect_desc":"Sincronizza la tua cronologia di visione e gestisci le tue liste anime.",
+ "sign_in":"Accedi con MAL",
+ "sync_settings":"Impostazioni di Sincronizzazione",
+ "enable_mal_sync":"Abilita Sincronizzazione MAL",
+ "enable_mal_sync_desc":"Toggle Globale per abilitare e disabilitare tutte le feature di MyAnimeList.",
+ "mal_auto_episode":"Aggiornamento Episodi Automatico",
+ "mal_auto_episode_desc":"Aggiorna automaticamente i tuoi progressi su MAL quando hai finito di guardare un episodio",
+ "completion":"completamento",
+ "auto_add_anime":"Aggiunta Anime Automatica",
+ "auto_add_anime_desc":"Se l'anime non è nella tua lista MAL , sarà aggiunto automaticamente quando inizi a guardarlo.",
+ "auto_sync":"Sincronizzazione Libreria Automatica",
+ "auto_sync_desc":"Aggiungi elementi dalla tua lista 'Watching' di MAL verso la tua libreria di Nuvio.",
+ "allow_nsfw":"Includi Contenuti NSFW",
+ "allow_nsfw_desc":"Consenti contenuti NSFW quando aggiorni i dati dalle tue liste MAL."
}
}
diff --git a/src/screens/MalSettingsScreen.tsx b/src/screens/MalSettingsScreen.tsx
index 15f1fa1c..2807b4b8 100644
--- a/src/screens/MalSettingsScreen.tsx
+++ b/src/screens/MalSettingsScreen.tsx
@@ -98,24 +98,24 @@ const MalSettingsScreen: React.FC = () => {
const result = await MalAuth.login();
if (result === true) {
await checkAuthStatus();
- openAlert('Success', 'Connected to MyAnimeList');
+ openAlert(t('common.success'), t('mal_settings_screen.connected'));
} else {
- const errorMessage = typeof result === 'string' ? result : 'Failed to connect to MyAnimeList';
- openAlert('Error', errorMessage);
+ const errorMessage = typeof result === 'string' ? result : t('mal_settings_screen.failed_to_connect');
+ openAlert(t('common.error'), errorMessage);
}
} catch (e: any) {
console.error(e);
- openAlert('Error', `An error occurred during sign in: ${e.message || 'Unknown error'}`);
+ openAlert(t('common.error'), `${t('mal_settings_screen.error_occured')}: ${e.message || t('mal_settings_screen.unknown_error')}`);
} finally {
setIsLoading(false);
}
};
const handleSignOut = () => {
- openAlert('Sign Out', 'Are you sure you want to disconnect?', [
- { label: 'Cancel', onPress: () => setAlertVisible(false) },
+ openAlert(t('mal_settings_screen.sign_out'), t('mal_settings_screen.sign_out_confirm'), [
+ { label: t('common.cancel'), onPress: () => setAlertVisible(false) },
{
- label: 'Sign Out',
+ label: t('mal_settings_screen.sign_out'),
onPress: () => {
MalAuth.clearToken();
setIsAuthenticated(false);
@@ -168,7 +168,7 @@ const MalSettingsScreen: React.FC = () => {
color={currentTheme.colors.highEmphasis}
/>
- Settings
+ {t('mal_settings_screen.settings')}
@@ -232,47 +232,47 @@ const MalSettingsScreen: React.FC = () => {
{userProfile.anime_statistics.num_items}
- Total
+ {t('mal_settings_screen.total')}
{userProfile.anime_statistics.num_days_watched.toFixed(1)}
- Days
+ {t('mal_settings_screen.days')}
{userProfile.anime_statistics.mean_score.toFixed(1)}
- Mean
+ {t('mal_settings_screen.mean')}
- Watching
+ {t('mal_settings_screen.watching')}
{userProfile.anime_statistics.num_items_watching}
- Completed
+ {t('mal_settings_screen.completed')}
{userProfile.anime_statistics.num_items_completed}
- On Hold
+ {t('mal_settings_screen.on_hold')}
{userProfile.anime_statistics.num_items_on_hold}
- Dropped
+ {t('mal_settings_screen.dropped')}
{userProfile.anime_statistics.num_items_dropped}
@@ -289,26 +289,26 @@ const MalSettingsScreen: React.FC = () => {
try {
const synced = await MalSync.syncMalToLibrary();
if (synced) {
- openAlert('Sync Complete', 'MAL data has been refreshed.');
+ openAlert(t('mal_settings_screen.sync_complete_title'), t('mal_settings_screen.sync_complete_title_desc'));
} else {
- openAlert('Sync Failed', 'Could not refresh MAL data.');
+ openAlert(t('mal_settings_screen.sync_failed_title'), t('mal_settings_screen.sync_failed_title_desc'));
}
} catch {
- openAlert('Sync Failed', 'Could not refresh MAL data.');
+ openAlert(t('mal_settings_screen.sync_failed_title'), t('mal_settings_screen.sync_failed_title_desc'));
} finally {
setIsLoading(false);
}
}}
>
- Sync
+ {t('mal_settings_screen.sync')}
- Sign Out
+ {t('mal_settings_screen.sign_out')}
@@ -320,16 +320,16 @@ const MalSettingsScreen: React.FC = () => {
resizeMode="contain"
/>
- Connect MyAnimeList
+ {t('mal_settings_screen.connect')}
- Sync your watch history and manage your anime list.
+ {t('mal_settings_screen.connect_desc')}
- Sign In with MAL
+ {t('mal_settings_screen.sign_in')}
)}
@@ -339,17 +339,17 @@ const MalSettingsScreen: React.FC = () => {
- Sync Settings
+ {t('mal_settings_screen.sync_settings')}
- Enable MAL Sync
+ {t('mal_settings_screen.enable_mal_sync')}
- Global switch to enable or disable all MyAnimeList features.
+ {t('mal_settings_screen.enable_mal_sync_desc')}
{
- Auto Episode Update
+ {t('mal_settings_screen.mal_auto_episode')}
- Automatically update your progress on MAL when you finish watching an episode (>=90% completion).
+ {t('mal_settings_screen.mal_auto_episode_desc')} (>=90% {t('mal_settings_screen.completion')}).
{
- Auto Add Anime
+ {t('mal_settings_screen.auto_add_anime')}
- If an anime is not in your MAL list, it will be added automatically when you start watching.
+ {t('mal_settings_screen.auto_add_anime_desc')}
{
- Auto-Sync to Library
+ {t('mal_settings_screen.auto_sync')}
- Automatically add items from your MAL 'Watching' list to your Nuvio Library.
+ {t('mal_settings_screen.auto_sync_desc')}
{
- Include NSFW Content
+ {t('mal_settings_screen.allow_nsfw')}
- Allow NSFW entries to be returned when fetching your MAL list.
+ {t('mal_settings_screen.allow_nsfw_desc')}