mirror of https://github.com/espruino/BangleApps
files - autotranslate strings
parent
67071d3722
commit
6522e0311d
|
@ -3,4 +3,5 @@
|
||||||
0.04: Add functionality to sort apps manually or alphabetically ascending/descending.
|
0.04: Add functionality to sort apps manually or alphabetically ascending/descending.
|
||||||
0.05: Tweaks to help with memory usage
|
0.05: Tweaks to help with memory usage
|
||||||
0.06: Reduce memory usage
|
0.06: Reduce memory usage
|
||||||
0.07: Allow negative numbers when manual-sorting
|
0.07: Allow negative numbers when manual-sorting
|
||||||
|
0.08: Automatic translation of strings.
|
||||||
|
|
|
@ -3,20 +3,20 @@ const store = require('Storage');
|
||||||
function showMainMenu() {
|
function showMainMenu() {
|
||||||
const mainmenu = {
|
const mainmenu = {
|
||||||
'': {
|
'': {
|
||||||
'title': 'App Manager',
|
'title': /*LANG*/'App Manager',
|
||||||
},
|
},
|
||||||
'< Back': ()=> {load();},
|
'< Back': ()=> {load();},
|
||||||
'Sort Apps': () => showSortAppsMenu(),
|
/*LANG*/'Sort Apps': () => showSortAppsMenu(),
|
||||||
'Manage Apps': ()=> showApps(),
|
/*LANG*/'Manage Apps': ()=> showApps(),
|
||||||
'Compact': () => {
|
/*LANG*/'Compact': () => {
|
||||||
E.showMessage('Compacting...');
|
E.showMessage(/*LANG*/'Compacting...');
|
||||||
try {
|
try {
|
||||||
store.compact();
|
store.compact();
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
}
|
}
|
||||||
showMainMenu();
|
showMainMenu();
|
||||||
},
|
},
|
||||||
'Free': {
|
/*LANG*/'Free': {
|
||||||
value: undefined,
|
value: undefined,
|
||||||
format: (v) => {
|
format: (v) => {
|
||||||
return store.getFree();
|
return store.getFree();
|
||||||
|
@ -65,13 +65,13 @@ function eraseData(info) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function eraseApp(app, files,data) {
|
function eraseApp(app, files,data) {
|
||||||
E.showMessage('Erasing\n' + app.name + '...');
|
E.showMessage(/*LANG*/'Erasing\n' + app.name + '...');
|
||||||
var info = store.readJSON(app.id + ".info", 1)||{};
|
var info = store.readJSON(app.id + ".info", 1)||{};
|
||||||
if (files) eraseFiles(info);
|
if (files) eraseFiles(info);
|
||||||
if (data) eraseData(info);
|
if (data) eraseData(info);
|
||||||
}
|
}
|
||||||
function eraseOne(app, files,data){
|
function eraseOne(app, files,data){
|
||||||
E.showPrompt('Erase\n'+app.name+'?').then((v) => {
|
E.showPrompt(/*LANG*/'Erase\n'+app.name+'?').then((v) => {
|
||||||
if (v) {
|
if (v) {
|
||||||
Bangle.buzz(100, 1);
|
Bangle.buzz(100, 1);
|
||||||
eraseApp(app, files, data);
|
eraseApp(app, files, data);
|
||||||
|
@ -82,7 +82,7 @@ function eraseOne(app, files,data){
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function eraseAll(apps, files,data) {
|
function eraseAll(apps, files,data) {
|
||||||
E.showPrompt('Erase all?').then((v) => {
|
E.showPrompt(/*LANG*/'Erase all?').then((v) => {
|
||||||
if (v) {
|
if (v) {
|
||||||
Bangle.buzz(100, 1);
|
Bangle.buzz(100, 1);
|
||||||
apps.forEach(app => eraseApp(app, files, data));
|
apps.forEach(app => eraseApp(app, files, data));
|
||||||
|
@ -99,11 +99,11 @@ function showAppMenu(app) {
|
||||||
'< Back': () => showApps(),
|
'< Back': () => showApps(),
|
||||||
};
|
};
|
||||||
if (app.hasData) {
|
if (app.hasData) {
|
||||||
appmenu['Erase Completely'] = () => eraseOne(app, true, true);
|
appmenu[/*LANG*/'Erase Completely'] = () => eraseOne(app, true, true);
|
||||||
appmenu['Erase App,Keep Data'] = () => eraseOne(app, true, false);
|
appmenu[/*LANG*/'Erase App,Keep Data'] = () => eraseOne(app, true, false);
|
||||||
appmenu['Only Erase Data'] = () => eraseOne(app, false, true);
|
appmenu[/*LANG*/'Only Erase Data'] = () => eraseOne(app, false, true);
|
||||||
} else {
|
} else {
|
||||||
appmenu['Erase'] = () => eraseOne(app, true, false);
|
appmenu[/*LANG*/'Erase'] = () => eraseOne(app, true, false);
|
||||||
}
|
}
|
||||||
E.showMenu(appmenu);
|
E.showMenu(appmenu);
|
||||||
}
|
}
|
||||||
|
@ -111,7 +111,7 @@ function showAppMenu(app) {
|
||||||
function showApps() {
|
function showApps() {
|
||||||
const appsmenu = {
|
const appsmenu = {
|
||||||
'': {
|
'': {
|
||||||
'title': 'Apps',
|
'title': /*LANG*/'Apps',
|
||||||
},
|
},
|
||||||
'< Back': () => showMainMenu(),
|
'< Back': () => showMainMenu(),
|
||||||
};
|
};
|
||||||
|
@ -128,17 +128,17 @@ function showApps() {
|
||||||
menu[app.name] = () => showAppMenu(app);
|
menu[app.name] = () => showAppMenu(app);
|
||||||
return menu;
|
return menu;
|
||||||
}, appsmenu);
|
}, appsmenu);
|
||||||
appsmenu['Erase All'] = () => {
|
appsmenu[/*LANG*/'Erase All'] = () => {
|
||||||
E.showMenu({
|
E.showMenu({
|
||||||
'': {'title': 'Erase All'},
|
'': {'title': /*LANG*/'Erase All'},
|
||||||
'Erase Everything': () => eraseAll(list, true, true),
|
/*LANG*/'Erase Everything': () => eraseAll(list, true, true),
|
||||||
'Erase Apps,Keep Data': () => eraseAll(list, true, false),
|
/*LANG*/'Erase Apps,Keep Data': () => eraseAll(list, true, false),
|
||||||
'Only Erase Data': () => eraseAll(list, false, true),
|
/*LANG*/'Only Erase Data': () => eraseAll(list, false, true),
|
||||||
'< Back': () => showApps(),
|
'< Back': () => showApps(),
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
} else {
|
} else {
|
||||||
appsmenu['...No Apps...'] = {
|
appsmenu[/*LANG*/'...No Apps...'] = {
|
||||||
value: undefined,
|
value: undefined,
|
||||||
format: ()=> '',
|
format: ()=> '',
|
||||||
onchange: ()=> {}
|
onchange: ()=> {}
|
||||||
|
@ -150,16 +150,16 @@ function showApps() {
|
||||||
function showSortAppsMenu() {
|
function showSortAppsMenu() {
|
||||||
const sorterMenu = {
|
const sorterMenu = {
|
||||||
'': {
|
'': {
|
||||||
'title': 'App Sorter',
|
'title': /*LANG*/'App Sorter',
|
||||||
},
|
},
|
||||||
'< Back': () => showMainMenu(),
|
'< Back': () => showMainMenu(),
|
||||||
'Sort: manually': ()=> showSortAppsManually(),
|
/*LANG*/'Sort: manually': ()=> showSortAppsManually(),
|
||||||
'Sort: alph. ASC': () => {
|
/*LANG*/'Sort: alph. ASC': () => {
|
||||||
E.showMessage('Sorting:\nAlphabetically\nascending ...');
|
E.showMessage(/*LANG*/'Sorting:\nAlphabetically\nascending ...');
|
||||||
sortAlphabet(false);
|
sortAlphabet(false);
|
||||||
},
|
},
|
||||||
'Sort: alph. DESC': () => {
|
'Sort: alph. DESC': () => {
|
||||||
E.showMessage('Sorting:\nAlphabetically\ndescending ...');
|
E.showMessage(/*LANG*/'Sorting:\nAlphabetically\ndescending ...');
|
||||||
sortAlphabet(true);
|
sortAlphabet(true);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -169,7 +169,7 @@ function showSortAppsMenu() {
|
||||||
function showSortAppsManually() {
|
function showSortAppsManually() {
|
||||||
const appsSorterMenu = {
|
const appsSorterMenu = {
|
||||||
'': {
|
'': {
|
||||||
'title': 'Sort: manually',
|
'title': /*LANG*/'Sort: manually',
|
||||||
},
|
},
|
||||||
'< Back': () => showSortAppsMenu(),
|
'< Back': () => showSortAppsMenu(),
|
||||||
};
|
};
|
||||||
|
@ -186,7 +186,7 @@ function showSortAppsManually() {
|
||||||
return menu;
|
return menu;
|
||||||
}, appsSorterMenu);
|
}, appsSorterMenu);
|
||||||
} else {
|
} else {
|
||||||
appsSorterMenu['...No Apps...'] = {
|
appsSorterMenu[/*LANG*/'...No Apps...'] = {
|
||||||
value: undefined,
|
value: undefined,
|
||||||
format: ()=> '',
|
format: ()=> '',
|
||||||
onchange: ()=> {}
|
onchange: ()=> {}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"id": "files",
|
"id": "files",
|
||||||
"name": "App Manager",
|
"name": "App Manager",
|
||||||
"version": "0.07",
|
"version": "0.08",
|
||||||
"description": "Show currently installed apps, free space, and allow their deletion from the watch",
|
"description": "Show currently installed apps, free space, and allow their deletion from the watch",
|
||||||
"icon": "files.png",
|
"icon": "files.png",
|
||||||
"tags": "tool,system,files",
|
"tags": "tool,system,files",
|
||||||
|
|
Loading…
Reference in New Issue