Skip to content

Commit f8797d4

Browse files
authored
Merge pull request solosky#232 from JostenSyon/main
added Italian Language
2 parents 209d0b2 + 76b9b4e commit f8797d4

File tree

5 files changed

+347
-174
lines changed

5 files changed

+347
-174
lines changed

fw/application/Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -297,9 +297,10 @@ SRC_FILES += \
297297
$(PROJ_DIR)/i18n/zh_Hans.c \
298298
$(PROJ_DIR)/i18n/zh_TW.c \
299299
$(PROJ_DIR)/i18n/es_ES.c \
300-
$(PROJ_DIR)/i18n/hu_HU.c \
300+
$(PROJ_DIR)/i18n/it_IT.c \
301301
$(PROJ_DIR)/i18n/de_DE.c \
302302
$(PROJ_DIR)/i18n/fr_FR.c \
303+
$(PROJ_DIR)/i18n/hu_HU.c \
303304
$(PROJ_DIR)/i18n/ja_JP.c \
304305
$(PROJ_DIR)/i18n/nl_NL.c \
305306
$(PROJ_DIR)/i18n/pt_BR.c \

fw/application/src/i18n/it_IT.c

Lines changed: 169 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,169 @@
1+
#include "string_id.h"
2+
const char * const lang_it_IT[_L_COUNT] = {
3+
[_L_ON] = "SI",
4+
[_L_OFF] = "NO",
5+
[_L_ON_F] = "[SI]",
6+
[_L_OFF_F] = "[NO]",
7+
[_L_BACK] = "Indietro",
8+
[_L_ERR] = "Errore",
9+
[_L_ERR_CODE] = "Codice errore",
10+
[_L_APP_AMIIBO] = "Emulatore Amiibo",
11+
[_L_APP_AMIIBOLINK] = "AmiiboLink",
12+
[_L_APP_BLE] = "Trasferimento file BLE",
13+
[_L_APP_BLE_TITLE] = "Trasferimento file BLE",
14+
[_L_APP_PLAYER] = "Lettore video",
15+
[_L_APP_SET] = "Impostazioni",
16+
[_L_APP_SET_VERSION] = "Versione",
17+
[_L_APP_SET_STORAGE_USED] = "Usato",
18+
[_L_APP_SET_STORAGE] = "Memoria esterna",
19+
[_L_APP_SET_OLED_CONTRAST] = "Contrasto OLED",
20+
[_L_APP_SET_OLED_CONTRAST_TITLE] = "Contrasto OLED",
21+
[_L_APP_SET_LCD_BACKLIGHT] = "Luminosità",
22+
[_L_APP_SET_LCD_BACKLIGHT_TITLE] = "Luminosità schermo",
23+
[_L_APP_SET_ANIM] = "Animazione menu",
24+
[_L_APP_SET_LIPO_BAT] = "Batteria LiPO",
25+
[_L_APP_SET_SHOW_MEM_USAGE] = "Memoria usata",
26+
[_L_APP_SET_HIBERNATE] = "Risveglio rapido",
27+
[_L_APP_SET_SLEEP_TIMEOUT] = "Timeout di sospensione",
28+
[_L_APP_SET_LANGUAGE] = "Lingua",
29+
[_L_APP_SET_DFU] = "Aggiornamento firmware",
30+
[_L_APP_SET_REBOOT] = "Riavvio del sistema",
31+
[_L_APP_SET_RESET_DEFAULT] = "Ripristina impostazioni predefinite",
32+
[_L_APP_SET_RESET_DEFAULT_SUCCESS] = "Ripristino riuscito!",
33+
[_L_APP_SET_RESET_DEFAULT_CONFIRM] = "Conferma il ripristino delle impostazioni?",
34+
[_L_15S] = "15 secondi",
35+
[_L_30S] = "30 secondi",
36+
[_L_45S] = "45 secondi",
37+
[_L_1MIN] = "1 minuto",
38+
[_L_2MIN] = "2 minuti",
39+
[_L_3MIN] = "3 minuti",
40+
[_L_AMIIBO_KEY_UNLOADED] = "Chiave Amiibo non caricata",
41+
[_L_UPLOAD_KEY_RETAIL_BIN] = "Carica il file key_retail.bin nella directory root della memoria.",
42+
[_L_KNOW] = "Ho Capito",
43+
[_L_RANDOM_GENERATION] = "Tag casuale",
44+
[_L_AUTO_RANDOM_GENERATION] = "Casuale automatico",
45+
[_L_SHOW_QRCODE] = "Mostra codice QR",
46+
[_L_DELETE_TAG] = "Elimina tag",
47+
[_L_DELETE_TAG_CONFIRM] = "Conferma eliminazione %s\n?",
48+
[_L_BACK_TO_DETAILS] = "[Torna ai dettagli del tag]",
49+
[_L_BACK_TO_FILE_LIST] = "[Torna alla lista dei file]",
50+
[_L_BACK_TO_MAIN_MENU] = "[Torna al menu principale]",
51+
[_L_FORMAT] = "Formatta..",
52+
[_L_FORMAT_STORAGE] = "Formatta memoria",
53+
[_L_DELETE_ALL_DATA] = "Questo cancellerà tutti i dati.\nConferma la formattazione?",
54+
[_L_DELETING_MESSAGE] = "Formattazione in corso ..",
55+
[_L_MESSAGE] = "Messaggio",
56+
[_L_CONFIRM] = "Conferma",
57+
[_L_CANCEL] = "Annulla",
58+
[_L_BACK_TO_LIST] = "[Torna alla lista]",
59+
[_L_NOT_MOUNTED] = "Non montato",
60+
[_L_MOUNTED_LFS] = "===Montato[LFS]===",
61+
[_L_MOUNTED_FFS] = "===Montato[FFS]===",
62+
[_L_TOTAL_SPACE] = "Totale",
63+
[_L_AVAILABLE_SPACE] = "Libero",
64+
[_L_NOT_AMIIBO_FILE] = "Questo non è un file\nAmiibo valido",
65+
[_L_READ_FILE_FAILED] = "Errore nella lettura del file",
66+
[_L_INPUT_FOLDER_NAME] = "Nome cartella:",
67+
[_L_INPUT_AMIIBO_NAME] = "Nome Amiibo:",
68+
[_L_DELETE] = "Elimina",
69+
[_L_INPUT_NEW_NAME] = "Nuovo nome:",
70+
[_L_INVALID_INPUT] = "Input non valido",
71+
[_L_CREATE_NEW_FOLDER] = "Crea cartella..",
72+
[_L_CREATE_NEW_TAG] = "Crea Amiibo..",
73+
[_L_CREATE_NEW_TAG_BATCH] = "Crea Amiibo in serie..",
74+
[_L_INPUT_TAG_NUM] = "Numero di tag:",
75+
[_L_CREATE_TOO_MANY_NUM] = "Numero max di %d tag in serie.",
76+
[_L_CREATING_TAG_BATCH] = "Creazione tag",
77+
[_L_CREATING_TAG_FAILED] = "Creazione tag %s fallita!",
78+
[_L_RENAME] = "Rinomina",
79+
[_L_OPEN_FOLDER_FAILED] = "Errore nell'apertura della cartella",
80+
[_L_RENAME_FAILED] = "Errore nella rinomina\nCodice errore",
81+
[_L_MAIN_RETURN] = "[Torna indietro]",
82+
[_L_RANDOM_MODE_MANUAL] = "Casuale (Manuale)",
83+
[_L_RANDOM_MODE_AUTO] = "Casuale (Automatico)",
84+
[_L_SEQUENCE_MODE] = "Modo sequenziale",
85+
[_L_READ_WRITE_MODE] = "Modo lettura/scrittura",
86+
[_L_AMIIBOLINK_V1] = "V1",
87+
[_L_AMIIBOLINK_V2] = "V2",
88+
[_L_AMILOOP] = "AmiLoop",
89+
[_L_MODE] = "Modalità",
90+
[_L_AUTO_RANDOM] = "Auto. casuale",
91+
[_L_COMPATIBLE_MODE] = "Mod. Compatibilità",
92+
[_L_TAG_DETAILS] = "[Torna ai dettagli]",
93+
[_L_MAIN_MENU] = "[Menu principale]",
94+
[_L_MODE_RANDOM] = "Casuale man.",
95+
[_L_MODE_CYCLE] = "Sequenziale",
96+
[_L_MODE_NTAG] = "Lett./Scritt.",
97+
[_L_MODE_RANDOM_AUTO_GEN] = "Auto. casuale",
98+
[_L_BLANK_TAG] = "Amiibo non assegnato",
99+
[_L_APP_AMIIDB] = "Database Amiibo",
100+
[_L_APP_AMMIDB_BROWSER] = "Esplora..",
101+
[_L_APP_AMIIDB_SEARCH] = "Cerca..",
102+
[_L_APP_AMIIDB_MY_FAVORITES] = "I miei preferiti..",
103+
[_L_APP_AMIIDB_MY_TAGS] = "I miei Amiibo..",
104+
[_L_APP_AMIIDB_SETTINGS] = "Impostazioni..",
105+
[_L_APP_AMIIDB_EXIT] = "[Menu principale]",
106+
[_L_APP_AMIIDB_BACK] = "[Torna indietro]",
107+
[_L_APP_AMIIDB_SETTINGS_AMIIBO_KEY] = "Chiavi",
108+
[_L_APP_AMIIDB_SETTINGS_AMIIBO_KEY_LOADED] = "Caricate",
109+
[_L_APP_AMIIDB_SETTINGS_AMIIBO_KEY_NOT_LOADED] = "NON caricate",
110+
[_L_APP_AMIIDB_SETTINGS_SLOT_NUM] = "Num. slot",
111+
[_L_APP_AMIIDB_DETAIL_FAVORITE] = "Preferito..",
112+
[_L_APP_AMIIDB_DETAIL_SAVE_AS] = "Assegna a..",
113+
[_L_APP_AMIIDB_DETAIL_BACK_DETAIL] = "[Torna ai dettagli]",
114+
[_L_APP_AMIIDB_DETAIL_BACK_LIST] = "[Torna alla lista]",
115+
[_L_APP_AMIIDB_SEARCH_HEAD] = "Cerca:",
116+
[_L_APP_AMIIDB_MORE] = "[Più..]",
117+
[_L_APP_AMIIDB_EMPTY_TAG] = "<Non assegnato>",
118+
[_L_APP_AMIIDB_SLOT_DELETE] = "Elimina..",
119+
[_L_APP_AMIIDB_CONFIRM] = "Conferma",
120+
[_L_APP_AMIIDB_CANCEL] = "Annulla",
121+
[_L_APP_AMIIDB_TIPS] = "Conferma",
122+
[_L_APP_AMIIDB_NEW] = "Nuovo..",
123+
[_L_APP_AMIIDB_EMPTY] = "Svuota..",
124+
[_L_APP_AMIIDB_DELETE] = "Cancella..",
125+
[_L_APP_AMIIDB_FAV_NEW_HEAD] = "Nuova cart. preferiti:",
126+
[_L_APP_AMIIDB_FAV_EMPTY_MSG] = "Svuotare cart. preferiti?",
127+
[_L_APP_AMIIDB_FAV_DELETE_MSG] = "Conferma cancellazione?",
128+
[_L_APP_AMIIDB_FAV_SELECT_FOLDER] = "Selez. cart. preferiti..",
129+
[_L_APP_AMIIDB_FAV_SUCCESS] = "Preferito aggiunto!",
130+
[_L_APP_AMIIDB_FAV_FAILED] = "Preferito non aggiunto!",
131+
[_L_APP_AMIIDB_SLOT_SAVE_SUCCESS] = "Assegnazione corretta",
132+
[_L_APP_AMIIDB_SLOT_SAVE_FAILED] = "Assegnazione fallita!",
133+
[_L_APP_CHAMELEON] = "Emula tag RFID",
134+
[_L_APP_CHAMELEON_TAG_MF1_WRITE_NORMAL] = "Normale",
135+
[_L_APP_CHAMELEON_TAG_MF1_WRITE_DENIED] = "Nega",
136+
[_L_APP_CHAMELEON_TAG_MF1_WRITE_DECEIVE] = "Ignora",
137+
[_L_APP_CHAMELEON_TAG_MF1_WRITE_SHADOW] = "Cache",
138+
[_L_APP_CHAMELEON_INITIALIZING] = "Inizializzazione ambiente.\nPer favore attendi..",
139+
[_L_APP_CHAMELEON_CARD_SLOT] = "Slot",
140+
[_L_APP_CHAMELEON_CARD_NICK] = "Nickname",
141+
[_L_APP_CHAMELEON_CARD_ID] = "ID",
142+
[_L_APP_CHAMELEON_CARD_TYPE] = "Tipo",
143+
[_L_APP_CHAMELEON_CARD_DATA] = "Dati..",
144+
[_L_APP_CHAMELEON_CARD_ADVANCED] = "Avanzato..",
145+
[_L_APP_CHAMELEON_CARD_SLOT_SETTINGS] = "Impostazioni..",
146+
[_L_APP_CHAMELEON_CARD_SLOT_NUM] = "Num. slot..",
147+
[_L_APP_CHAMELEON_CARD_SET_NICK_SUCCESS] = "Cambio nickname riuscito.",
148+
[_L_APP_CHAMELEON_CARD_SET_NICK_FAILED] = "Cambio nickname fallito!",
149+
[_L_APP_CHAMELEON_CARD_INPUT_NICK] = "Nickname:",
150+
[_L_APP_CHAMELEON_CARD_DATA_LOAD] = "Carica..",
151+
[_L_APP_CHAMELEON_CARD_DATA_SAVE] = "Salva..",
152+
[_L_APP_CHAMELEON_CARD_DATA_FACTORY] = "Inizializza..",
153+
[_L_APP_CHAMELEON_CARD_DATA_FACTORY_SUCCESS] = "Dati inizializzati!",
154+
[_L_APP_CHAMELEON_CARD_DATA_LOAD_NOT_FOUND] = "File non trovato",
155+
[_L_APP_CHAMELEON_CARD_DATA_LOAD_SIZE_NOT_MATCH] = "Dimensione file non corretta",
156+
[_L_APP_CHAMELEON_CARD_DATA_LOAD_FAILED] = "Caricamento file fallito",
157+
[_L_APP_CHAMELEON_CARD_DATA_LOAD_SUCCESS] = "Caricamento file riuscito",
158+
[_L_APP_CHAMELEON_CARD_DATA_SAVE_INPUT_FILE_NAME] = "Nome file:",
159+
[_L_APP_CHAMELEON_CARD_DATA_SAVE_FAILED] = "Errore nel salvataggio!",
160+
[_L_APP_CHAMELEON_CARD_DATA_SAVE_SUCCESS] = "Salvataggio riuscito",
161+
[_L_APP_CHAMELEON_CARD_ADV_CUSTOM_MODE] = "Modalità personalizzata",
162+
[_L_APP_CHAMELEON_CARD_GEN1A_MODE] = "Gen1A abilitata",
163+
[_L_APP_CHAMELEON_CARD_GENERATE_UID] = "Genera nuovo UID",
164+
[_L_APP_CHAMELEON_CARD_GENERATE_UID_SUCCESS] = "UID generato",
165+
[_L_APP_CHAMELEON_CARD_GEN2_MODE] = "Gen2 abilitata",
166+
[_L_APP_CHAMELEON_CARD_WRITE_MODE] = "Modalità scrittura",
167+
[_L_APP_CHAMELEON_CARD_ADV_ID_EDIT_INVALID_INPUT] = "Input non valido!",
168+
[_L_APP_CHAMELEON_CARD_TYPE_FACTORY_DATA_CONFRIM] = "Tipo di carta modificato\nInizializzare carta?",
169+
};

fw/application/src/i18n/language.c

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ typedef struct {
88
const LanguageData const languageData[LANGUAGE_COUNT] = {
99
[LANGUAGE_ZH_HANS] = {.strings = lang_zh_Hans}, [LANGUAGE_EN_US] = {.strings = lang_en_US},
1010
[LANGUAGE_ZH_TW] = {.strings = lang_zh_TW}, [LANGUAGE_ES_ES] = {.strings = lang_es_ES},
11-
[LANGUAGE_HU_HU] = {.strings = lang_hu_HU}, [LANGUAGE_DE_DE] = {.strings = lang_de_DE},
12-
[LANGUAGE_FR_FR] = {.strings = lang_fr_FR}, [LANGUAGE_NL_NL] = {.strings = lang_nl_NL},
13-
[LANGUAGE_PT_BR] = {.strings = lang_pt_BR}, [LANGUAGE_JA_JP] = {.strings = lang_ja_JP},
14-
[LANGUAGE_PT_PT] = {.strings = lang_pt_PT},
11+
[LANGUAGE_IT_IT] = {.strings = lang_it_IT}, [LANGUAGE_HU_HU] = {.strings = lang_hu_HU},
12+
[LANGUAGE_DE_DE] = {.strings = lang_de_DE}, [LANGUAGE_FR_FR] = {.strings = lang_fr_FR},
13+
[LANGUAGE_NL_NL] = {.strings = lang_nl_NL}, [LANGUAGE_PT_BR] = {.strings = lang_pt_BR},
14+
[LANGUAGE_JA_JP] = {.strings = lang_ja_JP}, [LANGUAGE_PT_PT] = {.strings = lang_pt_PT},
1515
};
1616

1717
// 当前语言设置 (Current language setting)
@@ -39,6 +39,8 @@ const char *getLangDesc(Language lang) {
3939
return "繁體中文(臺灣)";
4040
} else if (lang == LANGUAGE_ES_ES) {
4141
return "Español";
42+
} else if (lang == LANGUAGE_IT_IT) {
43+
return "Italiano";
4244
} else if (lang == LANGUAGE_HU_HU) {
4345
return "Magyar";
4446
} else if (lang == LANGUAGE_DE_DE) {

fw/application/src/i18n/language.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ typedef enum {
2121
LANGUAGE_NL_NL,
2222
LANGUAGE_PT_BR,
2323
LANGUAGE_JA_JP,
24-
LANGUAGE_PT_PT,
24+
LANGUAGE_PT_PT,
25+
LANGUAGE_IT_IT,
2526
LANGUAGE_COUNT
2627
} Language;
2728

@@ -36,7 +37,7 @@ extern const char* lang_nl_NL[_L_COUNT];
3637
extern const char* lang_pt_BR[_L_COUNT];
3738
extern const char* lang_ja_JP[_L_COUNT];
3839
extern const char* lang_pt_PT[_L_COUNT];
39-
40+
extern const char* lang_it_IT[_L_COUNT];
4041

4142
// 获取字符串的函数 (Get language string function)
4243
const char* getLangString(L_StringID stringID);

0 commit comments

Comments
 (0)