Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Italian translations #1377

Merged
merged 2 commits into from
Feb 8, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion apps/alarm/boot.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
active = active.sort((a,b)=>(a.hr-b.hr)+(a.last-b.last)*24);
var hr = time.getHours()+(time.getMinutes()/60)+(time.getSeconds()/3600);
if (!require('Storage').read("alarm.js")) {
console.log(/*LANG*/"No alarm app!");
console.log("No alarm app!");
require('Storage').write('alarm.json',"[]");
} else {
var t = 3600000*(active[0].hr-hr);
Expand Down
2 changes: 1 addition & 1 deletion apps/launch/settings.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
require("Storage").write("launch.json",settings);
}
const appMenu = {
/*LANG*/"": {"title": /*LANG*/"Launcher Settings"},
"": {"title": /*LANG*/"Launcher Settings"},
/*LANG*/"< Back": back,
/*LANG*/"Font": {
value: fonts.includes(settings.font)? fonts.indexOf(settings.font) : fonts.indexOf("12x20"),
Expand Down
26 changes: 18 additions & 8 deletions bin/language_scan.js
Original file line number Diff line number Diff line change
Expand Up @@ -157,19 +157,29 @@ log(untranslatedStrings.filter(e => e.uses>2).filter(e => !translatedStrings.fin
log("");
//process.exit(1);

var languages = JSON.parse(fs.readFileSync(BASEDIR+"/lang/index.json").toString());
let languages = JSON.parse(fs.readFileSync(`${BASEDIR}/lang/index.json`).toString());
languages.forEach(language => {
if (language.code=="en_GB") {
console.log("Ignoring "+language.code);
if (language.code == "en_GB") {
console.log(`Ignoring ${language.code}`);
return;
}
console.log("Scanning "+language.code);
console.log(`Scanning ${language.code}`);
log(language.code);
log("==========");
var translations = JSON.parse(fs.readFileSync(BASEDIR+"/lang/"+language.url).toString());
translatedStrings.forEach(str => {
if (!translations.GLOBAL[str.str])
console.log(`Missing translation for ${JSON.stringify(str)}`);
let translations = JSON.parse(fs.readFileSync(`${BASEDIR}/lang/${language.url}`).toString());
translatedStrings.forEach(translationItem => {
if (!translations.GLOBAL[translationItem.str]) {
console.log(`Missing GLOBAL translation for ${JSON.stringify(translationItem)}`);
translationItem.files.forEach(file => {
let m = file.match(/\/([a-zA-Z0-9_-]*)\//g);
if (m && m[0]) {
let appName = m[0].replaceAll("/", "");
if (translations[appName] && translations[appName][translationItem.str]) {
console.log(` but LOCAL translation found in \"${appName}\"`);
}
}
});
}
});
log("");
});
Expand Down
159 changes: 143 additions & 16 deletions lang/it_IT.json
Original file line number Diff line number Diff line change
@@ -1,21 +1,148 @@
{
"//":"Italian language translations",
"//1": "Italian language translations",
"GLOBAL": {
"//":"Translations that apply for all apps",
"Alarms" : "Sveglie",
"Hours" : "Ore",
"Minutes" : "Minuti",
"Enabled" : "Attiva",
"New Alarm" : "Nuova sveglia",
"Save" : "Salva",
"Back" : "Indietro",
"Repeat" : "Ripeti",
"Delete" : "Cancella",
"ALARM!" : "SVEGLIA!",
"Sleep" : "Dormi"
"//": "Translations that apply for all apps",
"On": "On",
"on": "on",
"Off": "Off",
"off": "off",
"Ok": "Ok",
"Yes": "Sì",
"No": "No",
"Alarm": "Sveglia",
"ALARM": "SVEGLIA",
"Alarms": "Sveglie",
"Date": "Data",
"Year": "Anno",
"Month": "Mese",
"Day": "Giorno",
"Hour": "Ora",
"Hours": "Ore",
"Minute": "Minuto",
"Minutes": "Minuti",
"Second": "Secondo",
"Seconds": "Secondi",
"week": "settimana",
"Week": "Settimana",
"Enabled": "Attivo/a",
"New Alarm": "Nuova sveglia",
"Save": "Salva",
"Cancel": "Annulla",
"Back": "Indietro",
"Repeat": "Ripeti",
"Delete": "Cancella",
"ALARM!": "SVEGLIA!",
"Sleep": "Dormi",
"Timer": "Timer",
"TIMER": "TIMER",
"New Timer": "Nuovo timer",
"(repeat)": "(ripeti)",
"Auto snooze": "Posticipa automaticamente",
"Connected": "Connesso",
"Delete all messages": "Cancella tutti i messaggi",
"Delete All Messages": "Cancella tutti i messaggi",
"Message": "Messaggio",
"Messages": "Messaggi",
"No Messages": "Nessun messaggio",
"Keep Msgs": "Tieni i messaggi",
"Mark Unread": "Segna come non letto",
"Vibrate": "Vibrazione",
"Are you sure": "Sei sicuro/a",
"Music": "Musica",
"Apps": "App",
"App Settings": "Impostazioni app",
"Bluetooth": "Bluetooth",
"BLE": "BLE",
"Make Connectable": "Rendi collegabile",
"Programmable": "Programmabile",
"Remove": "Rimuovi",
"Utils": "Utilità",
"LCD": "LCD",
"LCD Brightness": "Luminosità LCD",
"LCD Timeout": "Timeout LCD",
"Wake on BTN1": "Risveglia con BTN1",
"Wake on BTN2": "Risveglia con BTN2",
"Wake on BTN3": "Risveglia con BTN3",
"Wake on FaceUp": "Risveglia a faccia in su",
"Wake on Touch": "Risveglia al tocco",
"Wake on Twist": "Risveglia con polso",
"Twist Timeout": "Timeout torsione",
"Twist Max Y": "Torsione Y max",
"Twist Threshold": "Soglia torsione",
"Customize": "Personalizza",
"Add Device": "Aggiungi dispositivo",
"Left": "Sinistra",
"Right": "Destra",
"Widgets": "Widget",
"Settings": "Impostazioni",
"No app has settings": "Non ci sono app con delle impostazioni",
"System": "Sistema",
"Alerts": "Avvisi",
"Theme": "Tema",
"Foreground": "Primo piano",
"Background": "Sfondo",
"Foreground 2": "Primo piano 2",
"Background 2": "Sfondo 2",
"Highlight FG": "Selezione PP",
"Highlight BG": "Selezione Sf",
"Utilities": "Utilità",
"Storage": "Memoria",
"Compact Storage": "Compatta memoria",
"Select Clock": "Seleziona orologio",
"No Clocks Found": "Nessun orologio trovato",
"Locale": "Localizzazione",
"Set Time": "Imposta orario",
"Time Zone": "Fuso orario",
"Whitelist": "Whitelist",
"Quiet Mode": "Modalità silenziosa",
"Disable": "Disabilita",
"Vibration": "Vibrazione",
"Show": "Mostra",
"Hide": "Nascondi",
"Rewrite Settings": "Riscrivi impostazioni",
"Reset Settings": "Reset impostazioni",
"Factory Reset": "Ripristino condizioni iniziali",
"Flatten Battery": "Scarica la batteria",
"Turn Off": "Spegni",
"This will remove everything": "Questo rimuoverà TUTTO",
"Error in settings": "Errore nelle impostazioni",
"Invalid settings": "Impostazioni non valide",
"Loading": "Caricamento",
"Launcher Settings": "Impostazioni Launcher",
"Font": "Font",
"Show clocks": "Mostra orologi",
"Log": "Log",
"Steps": "Passi",
"steps": "passi"
},
"alarm": {
"//":"App-specific overrides",
"rpt" : "ripeti"
"//2": "App-specific overrides",
"launch": {
"Vector font size": "Dim. font vett.",
"App Source\nNot found": "Codice app\nnon trovato"
},
"messages": {
"Unread timer": "Timer msg non letti"
},
"run": {
"Record Run": "Registra corsa"
},
"setting": {
"Clock Style": "Formato ora",
"Compacting...\nTakes approx\n1 minute": "Compattamento in corso...\nCi vorrà circa un minuto",
"//1": "The new line before 'operazione' improves the layout",
"Flattening battery - this can take hours.\nLong-press button to cancel": "Scaricamento batteria in corso - l'\noperazione può richiedere ore. Tieni premuto il pulsante per annullare",
"Reset to Defaults": "Ripristinare le impostazioni predefinite",
"Connectable": "Collegamento",
"Connect device\nto add to\nwhitelist": "Collega un\ndispositivo\nper metterlo\nin whitelist",
"Stay Connectable": "Rimanere collegabile",
"Light BW": "Chiaro",
"Dark BW": "Scuro"
},
"wid_edit": {
"Reset": "Ripristina",
"Reset All": "Ripristina tutto",
"Reset all widgets": "Ripristina tutti i widget",
"Sort Order": "Ordinamento",
"Side": "Lato"
}
}