mirror of
https://github.com/opentx/opentx.git
synced 2025-07-26 17:55:19 +03:00
Merge pull request #2930 from opentx/bsongis/issue1914_by_dsbeach
Bsongis/issue1914 by dsbeach
This commit is contained in:
commit
7ec4f508ee
16 changed files with 139 additions and 34 deletions
|
@ -186,8 +186,20 @@ bool displayTelemetryScreen()
|
||||||
{
|
{
|
||||||
#if defined(LUA)
|
#if defined(LUA)
|
||||||
if (TELEMETRY_SCREEN_TYPE(s_frsky_view) == TELEMETRY_SCREEN_TYPE_SCRIPT) {
|
if (TELEMETRY_SCREEN_TYPE(s_frsky_view) == TELEMETRY_SCREEN_TYPE_SCRIPT) {
|
||||||
|
uint8_t state = isTelemetryScriptAvailable(s_frsky_view);
|
||||||
|
switch (state) {
|
||||||
|
case SCRIPT_OK:
|
||||||
|
return true; // contents will be drawed by Lua Task
|
||||||
|
case SCRIPT_NOFILE:
|
||||||
|
return false; // requested lua telemetry screen not available
|
||||||
|
case SCRIPT_SYNTAX_ERROR:
|
||||||
|
case SCRIPT_PANIC:
|
||||||
|
case SCRIPT_KILLED:
|
||||||
|
luaError(state, false);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (TELEMETRY_SCREEN_TYPE(s_frsky_view) == TELEMETRY_SCREEN_TYPE_NONE) {
|
if (TELEMETRY_SCREEN_TYPE(s_frsky_view) == TELEMETRY_SCREEN_TYPE_NONE) {
|
||||||
|
|
|
@ -1784,6 +1784,17 @@ bool luaLoadTelemetryScript(uint8_t index)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint8_t isTelemetryScriptAvailable(uint8_t index)
|
||||||
|
{
|
||||||
|
for (int i=0; i<luaScriptsCount; i++) {
|
||||||
|
ScriptInternalData & sid = scriptInternalData[i];
|
||||||
|
if (sid.reference == SCRIPT_TELEMETRY_FIRST+index) {
|
||||||
|
return sid.state;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return SCRIPT_NOFILE;
|
||||||
|
}
|
||||||
|
|
||||||
void luaLoadPermanentScripts()
|
void luaLoadPermanentScripts()
|
||||||
{
|
{
|
||||||
luaScriptsCount = 0;
|
luaScriptsCount = 0;
|
||||||
|
@ -1812,43 +1823,71 @@ void luaLoadPermanentScripts()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
char lua_warning_str[WARNING_LINE_LEN+1];
|
#define LUA_WARNING_INFO_LEN 64
|
||||||
char lua_warning_info[WARNING_LINE_LEN+1];
|
char lua_warning_info[LUA_WARNING_INFO_LEN+1];
|
||||||
|
|
||||||
void luaError(uint8_t error)
|
void displayLuaError(const char * title)
|
||||||
{
|
{
|
||||||
const char *msg = lua_tostring(L, -1);
|
displayBox(title);
|
||||||
if (msg) {
|
if (lua_warning_info[0]) {
|
||||||
#if defined(SIMU)
|
char * split = strstr(lua_warning_info, ": ");
|
||||||
if (!strncmp(msg, "./", 2)) msg += 2;
|
if (split) {
|
||||||
#else
|
lcd_putsnAtt(WARNING_LINE_X, WARNING_LINE_Y+FH+3, lua_warning_info, split-lua_warning_info, SMLSIZE);
|
||||||
if (!strncmp(msg, "/SCRIPTS/", 9)) msg += 9;
|
lcd_putsnAtt(WARNING_LINE_X, WARNING_LINE_Y+2*FH+2, split+2, lua_warning_info+LUA_WARNING_INFO_LEN-split, SMLSIZE);
|
||||||
#endif
|
|
||||||
strncpy(lua_warning_str, msg, WARNING_LINE_LEN);
|
|
||||||
lua_warning_str[WARNING_LINE_LEN] = '\0';
|
|
||||||
POPUP_WARNING(lua_warning_str);
|
|
||||||
for (int i=0; i<WARNING_LINE_LEN; i++) {
|
|
||||||
if (msg[i] == ':' && msg[i+1] == ' ') {
|
|
||||||
lua_warning_str[i] = '\0';
|
|
||||||
strncpy(lua_warning_info, &msg[i+2], WARNING_LINE_LEN);
|
|
||||||
lua_warning_info[WARNING_LINE_LEN] = '\0';
|
|
||||||
SET_WARNING_INFO(lua_warning_info, WARNING_LINE_LEN, 0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
lcd_putsnAtt(WARNING_LINE_X, WARNING_LINE_Y+FH+3, lua_warning_info, 40, SMLSIZE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void displayAcknowledgeLuaError(uint8_t event)
|
||||||
|
{
|
||||||
|
s_warning_result = false;
|
||||||
|
displayLuaError(s_warning);
|
||||||
|
if (event == EVT_KEY_BREAK(KEY_EXIT)) {
|
||||||
|
s_warning = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void luaError(uint8_t error, bool acknowledge)
|
||||||
|
{
|
||||||
|
const char * errorTitle;
|
||||||
|
|
||||||
switch (error) {
|
switch (error) {
|
||||||
case SCRIPT_SYNTAX_ERROR:
|
case SCRIPT_SYNTAX_ERROR:
|
||||||
msg = "Script syntax error";
|
errorTitle = STR_SCRIPT_SYNTAX_ERROR;
|
||||||
break;
|
break;
|
||||||
case SCRIPT_KILLED:
|
case SCRIPT_KILLED:
|
||||||
msg = "Script killed";
|
errorTitle = STR_SCRIPT_KILLED;
|
||||||
break;
|
break;
|
||||||
case SCRIPT_PANIC:
|
case SCRIPT_PANIC:
|
||||||
msg = "Script panic";
|
errorTitle = STR_SCRIPT_PANIC;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
errorTitle = STR_SCRIPT_ERROR;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
POPUP_WARNING(msg);
|
|
||||||
|
const char * msg = lua_tostring(L, -1);
|
||||||
|
if (msg) {
|
||||||
|
#if defined(SIMU)
|
||||||
|
if (!strncmp(msg, ".", 2)) msg += 1;
|
||||||
|
#endif
|
||||||
|
if (!strncmp(msg, "/SCRIPTS/", 9)) msg += 9;
|
||||||
|
strncpy(lua_warning_info, msg, LUA_WARNING_INFO_LEN);
|
||||||
|
lua_warning_info[LUA_WARNING_INFO_LEN] = '\0';
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
lua_warning_info[0] = '\0';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (acknowledge) {
|
||||||
|
s_warning = errorTitle;
|
||||||
|
popupFunc = displayAcknowledgeLuaError;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
displayLuaError(errorTitle);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -95,9 +95,11 @@
|
||||||
extern ScriptInputsOutputs scriptInputsOutputs[MAX_SCRIPTS];
|
extern ScriptInputsOutputs scriptInputsOutputs[MAX_SCRIPTS];
|
||||||
void luaClose();
|
void luaClose();
|
||||||
bool luaTask(uint8_t evt, uint8_t scriptType, bool allowLcdUsage);
|
bool luaTask(uint8_t evt, uint8_t scriptType, bool allowLcdUsage);
|
||||||
void luaExec(const char *filename);
|
void luaExec(const char * filename);
|
||||||
|
void luaError(uint8_t error, bool acknowledge=true);
|
||||||
int luaGetMemUsed();
|
int luaGetMemUsed();
|
||||||
#define luaGetCpuUsed(idx) scriptInternalData[idx].instructions
|
#define luaGetCpuUsed(idx) scriptInternalData[idx].instructions
|
||||||
|
uint8_t isTelemetryScriptAvailable(uint8_t index);
|
||||||
#define LUA_LOAD_MODEL_SCRIPTS() luaState |= INTERPRETER_RELOAD_PERMANENT_SCRIPTS
|
#define LUA_LOAD_MODEL_SCRIPTS() luaState |= INTERPRETER_RELOAD_PERMANENT_SCRIPTS
|
||||||
#define LUA_LOAD_MODEL_SCRIPT(idx) luaState |= INTERPRETER_RELOAD_PERMANENT_SCRIPTS
|
#define LUA_LOAD_MODEL_SCRIPT(idx) luaState |= INTERPRETER_RELOAD_PERMANENT_SCRIPTS
|
||||||
#define LUA_STANDALONE_SCRIPT_RUNNING() (luaState == INTERPRETER_RUNNING_STANDALONE_SCRIPT)
|
#define LUA_STANDALONE_SCRIPT_RUNNING() (luaState == INTERPRETER_RUNNING_STANDALONE_SCRIPT)
|
||||||
|
|
|
@ -482,6 +482,10 @@ const pm_char STR_NO_SOUNDS_ON_SD[] PROGMEM = TR_NO_SOUNDS_ON_SD;
|
||||||
const pm_char STR_NO_MODELS_ON_SD[] PROGMEM = TR_NO_MODELS_ON_SD;
|
const pm_char STR_NO_MODELS_ON_SD[] PROGMEM = TR_NO_MODELS_ON_SD;
|
||||||
const pm_char STR_NO_BITMAPS_ON_SD[] PROGMEM = TR_NO_BITMAPS_ON_SD;
|
const pm_char STR_NO_BITMAPS_ON_SD[] PROGMEM = TR_NO_BITMAPS_ON_SD;
|
||||||
const pm_char STR_NO_SCRIPTS_ON_SD[] PROGMEM = TR_NO_SCRIPTS_ON_SD;
|
const pm_char STR_NO_SCRIPTS_ON_SD[] PROGMEM = TR_NO_SCRIPTS_ON_SD;
|
||||||
|
const pm_char STR_SCRIPT_SYNTAX_ERROR[] PROGMEM = TR_SCRIPT_SYNTAX_ERROR;
|
||||||
|
const pm_char STR_SCRIPT_PANIC[] PROGMEM = TR_SCRIPT_PANIC;
|
||||||
|
const pm_char STR_SCRIPT_KILLED[] PROGMEM = TR_SCRIPT_KILLED;
|
||||||
|
const pm_char STR_SCRIPT_ERROR[] PROGMEM = TR_SCRIPT_ERROR;
|
||||||
const pm_char STR_PLAY_FILE[] PROGMEM = TR_PLAY_FILE;
|
const pm_char STR_PLAY_FILE[] PROGMEM = TR_PLAY_FILE;
|
||||||
const pm_char STR_ASSIGN_BITMAP[] PROGMEM = TR_ASSIGN_BITMAP;
|
const pm_char STR_ASSIGN_BITMAP[] PROGMEM = TR_ASSIGN_BITMAP;
|
||||||
const pm_char STR_EXECUTE_FILE[] PROGMEM = TR_EXECUTE_FILE;
|
const pm_char STR_EXECUTE_FILE[] PROGMEM = TR_EXECUTE_FILE;
|
||||||
|
|
|
@ -665,6 +665,10 @@ extern const pm_char STR_NO_SOUNDS_ON_SD[];
|
||||||
extern const pm_char STR_NO_MODELS_ON_SD[];
|
extern const pm_char STR_NO_MODELS_ON_SD[];
|
||||||
extern const pm_char STR_NO_BITMAPS_ON_SD[];
|
extern const pm_char STR_NO_BITMAPS_ON_SD[];
|
||||||
extern const pm_char STR_NO_SCRIPTS_ON_SD[];
|
extern const pm_char STR_NO_SCRIPTS_ON_SD[];
|
||||||
|
extern const pm_char STR_SCRIPT_SYNTAX_ERROR[];
|
||||||
|
extern const pm_char STR_SCRIPT_PANIC[];
|
||||||
|
extern const pm_char STR_SCRIPT_KILLED[];
|
||||||
|
extern const pm_char STR_SCRIPT_ERROR[];
|
||||||
extern const pm_char STR_PLAY_FILE[];
|
extern const pm_char STR_PLAY_FILE[];
|
||||||
extern const pm_char STR_ASSIGN_BITMAP[];
|
extern const pm_char STR_ASSIGN_BITMAP[];
|
||||||
extern const pm_char STR_EXECUTE_FILE[];
|
extern const pm_char STR_EXECUTE_FILE[];
|
||||||
|
|
|
@ -846,6 +846,10 @@
|
||||||
#define TR_NO_MODELS_ON_SD "žádný model" BREAKSPACE "na SD"
|
#define TR_NO_MODELS_ON_SD "žádný model" BREAKSPACE "na SD"
|
||||||
#define TR_NO_BITMAPS_ON_SD "žádné obrázky" BREAKSPACE "na SD"
|
#define TR_NO_BITMAPS_ON_SD "žádné obrázky" BREAKSPACE "na SD"
|
||||||
#define TR_NO_SCRIPTS_ON_SD "žádný skript" BREAKSPACE "na SD"
|
#define TR_NO_SCRIPTS_ON_SD "žádný skript" BREAKSPACE "na SD"
|
||||||
|
#define TR_SCRIPT_SYNTAX_ERROR "Script syntax error"
|
||||||
|
#define TR_SCRIPT_PANIC "Script panic"
|
||||||
|
#define TR_SCRIPT_KILLED "Script killed"
|
||||||
|
#define TR_SCRIPT_ERROR "Unknown error"
|
||||||
#define TR_PLAY_FILE "Přehrát"
|
#define TR_PLAY_FILE "Přehrát"
|
||||||
#define TR_DELETE_FILE "Odstranit"
|
#define TR_DELETE_FILE "Odstranit"
|
||||||
#define TR_COPY_FILE "Kopírovat"
|
#define TR_COPY_FILE "Kopírovat"
|
||||||
|
|
|
@ -850,6 +850,10 @@
|
||||||
#define TR_NO_MODELS_ON_SD "Kein Modell auf SD"
|
#define TR_NO_MODELS_ON_SD "Kein Modell auf SD"
|
||||||
#define TR_NO_BITMAPS_ON_SD "Keine Bitmaps auf SD"
|
#define TR_NO_BITMAPS_ON_SD "Keine Bitmaps auf SD"
|
||||||
#define TR_NO_SCRIPTS_ON_SD "Keine Scripte auf SD"
|
#define TR_NO_SCRIPTS_ON_SD "Keine Scripte auf SD"
|
||||||
|
#define TR_SCRIPT_SYNTAX_ERROR "Script syntax error"
|
||||||
|
#define TR_SCRIPT_PANIC "Script panic"
|
||||||
|
#define TR_SCRIPT_KILLED "Script killed"
|
||||||
|
#define TR_SCRIPT_ERROR "Unknown error"
|
||||||
#define TR_PLAY_FILE "Spielen"
|
#define TR_PLAY_FILE "Spielen"
|
||||||
#define TR_DELETE_FILE "Löschen"
|
#define TR_DELETE_FILE "Löschen"
|
||||||
#define TR_COPY_FILE "Kopieren"
|
#define TR_COPY_FILE "Kopieren"
|
||||||
|
|
|
@ -845,6 +845,10 @@
|
||||||
#define TR_NO_MODELS_ON_SD "No Models" BREAKSPACE "on SD"
|
#define TR_NO_MODELS_ON_SD "No Models" BREAKSPACE "on SD"
|
||||||
#define TR_NO_BITMAPS_ON_SD "No Bitmaps" BREAKSPACE "on SD"
|
#define TR_NO_BITMAPS_ON_SD "No Bitmaps" BREAKSPACE "on SD"
|
||||||
#define TR_NO_SCRIPTS_ON_SD "No Scripts" BREAKSPACE "on SD"
|
#define TR_NO_SCRIPTS_ON_SD "No Scripts" BREAKSPACE "on SD"
|
||||||
|
#define TR_SCRIPT_SYNTAX_ERROR "Script syntax error"
|
||||||
|
#define TR_SCRIPT_PANIC "Script panic"
|
||||||
|
#define TR_SCRIPT_KILLED "Script killed"
|
||||||
|
#define TR_SCRIPT_ERROR "Unknown error"
|
||||||
#define TR_PLAY_FILE "Play"
|
#define TR_PLAY_FILE "Play"
|
||||||
#define TR_DELETE_FILE "Delete"
|
#define TR_DELETE_FILE "Delete"
|
||||||
#define TR_COPY_FILE "Copy"
|
#define TR_COPY_FILE "Copy"
|
||||||
|
|
|
@ -800,6 +800,10 @@
|
||||||
#define TR_NO_MODELS_ON_SD "Sin Modelos en SD"
|
#define TR_NO_MODELS_ON_SD "Sin Modelos en SD"
|
||||||
#define TR_NO_BITMAPS_ON_SD "Sin imagenes en SD"
|
#define TR_NO_BITMAPS_ON_SD "Sin imagenes en SD"
|
||||||
#define TR_NO_SCRIPTS_ON_SD "No Scripts on SD"
|
#define TR_NO_SCRIPTS_ON_SD "No Scripts on SD"
|
||||||
|
#define TR_SCRIPT_SYNTAX_ERROR "Script syntax error"
|
||||||
|
#define TR_SCRIPT_PANIC "Script panic"
|
||||||
|
#define TR_SCRIPT_KILLED "Script killed"
|
||||||
|
#define TR_SCRIPT_ERROR "Unknown error"
|
||||||
#define TR_PLAY_FILE "Play"
|
#define TR_PLAY_FILE "Play"
|
||||||
#define TR_DELETE_FILE "Borrar"
|
#define TR_DELETE_FILE "Borrar"
|
||||||
#define TR_COPY_FILE "Copiar"
|
#define TR_COPY_FILE "Copiar"
|
||||||
|
|
|
@ -800,6 +800,10 @@
|
||||||
#define TR_NO_MODELS_ON_SD "No Models on SD"
|
#define TR_NO_MODELS_ON_SD "No Models on SD"
|
||||||
#define TR_NO_BITMAPS_ON_SD "No Bitmaps on SD"
|
#define TR_NO_BITMAPS_ON_SD "No Bitmaps on SD"
|
||||||
#define TR_NO_SCRIPTS_ON_SD "No Scripts on SD"
|
#define TR_NO_SCRIPTS_ON_SD "No Scripts on SD"
|
||||||
|
#define TR_SCRIPT_SYNTAX_ERROR "Script syntax error"
|
||||||
|
#define TR_SCRIPT_PANIC "Script panic"
|
||||||
|
#define TR_SCRIPT_KILLED "Script killed"
|
||||||
|
#define TR_SCRIPT_ERROR "Unknown error"
|
||||||
#define TR_PLAY_FILE "Play"
|
#define TR_PLAY_FILE "Play"
|
||||||
#define TR_DELETE_FILE "Delete"
|
#define TR_DELETE_FILE "Delete"
|
||||||
#define TR_COPY_FILE "Copy"
|
#define TR_COPY_FILE "Copy"
|
||||||
|
|
|
@ -837,6 +837,10 @@
|
||||||
#define TR_NO_MODELS_ON_SD "Aucun modèle SD"
|
#define TR_NO_MODELS_ON_SD "Aucun modèle SD"
|
||||||
#define TR_NO_BITMAPS_ON_SD "Aucun Bitmap SD"
|
#define TR_NO_BITMAPS_ON_SD "Aucun Bitmap SD"
|
||||||
#define TR_NO_SCRIPTS_ON_SD "Aucun Script SD"
|
#define TR_NO_SCRIPTS_ON_SD "Aucun Script SD"
|
||||||
|
#define TR_SCRIPT_SYNTAX_ERROR "Script syntax error"
|
||||||
|
#define TR_SCRIPT_PANIC "Script panic"
|
||||||
|
#define TR_SCRIPT_KILLED "Script killed"
|
||||||
|
#define TR_SCRIPT_ERROR "Unknown error"
|
||||||
#define TR_PLAY_FILE "Lire"
|
#define TR_PLAY_FILE "Lire"
|
||||||
#define TR_DELETE_FILE "Supprimer"
|
#define TR_DELETE_FILE "Supprimer"
|
||||||
#define TR_COPY_FILE "Copier"
|
#define TR_COPY_FILE "Copier"
|
||||||
|
|
|
@ -848,6 +848,10 @@
|
||||||
#define TR_NO_MODELS_ON_SD "No Model. su SD"
|
#define TR_NO_MODELS_ON_SD "No Model. su SD"
|
||||||
#define TR_NO_BITMAPS_ON_SD "No Immag. su SD"
|
#define TR_NO_BITMAPS_ON_SD "No Immag. su SD"
|
||||||
#define TR_NO_SCRIPTS_ON_SD "No Scripts su SD"
|
#define TR_NO_SCRIPTS_ON_SD "No Scripts su SD"
|
||||||
|
#define TR_SCRIPT_SYNTAX_ERROR "Script syntax error"
|
||||||
|
#define TR_SCRIPT_PANIC "Script panic"
|
||||||
|
#define TR_SCRIPT_KILLED "Script killed"
|
||||||
|
#define TR_SCRIPT_ERROR "Unknown error"
|
||||||
#define TR_PLAY_FILE "Suona"
|
#define TR_PLAY_FILE "Suona"
|
||||||
#define TR_DELETE_FILE "Elimina"
|
#define TR_DELETE_FILE "Elimina"
|
||||||
#define TR_COPY_FILE "Copia"
|
#define TR_COPY_FILE "Copia"
|
||||||
|
|
|
@ -867,6 +867,10 @@
|
||||||
#define TR_NO_MODELS_ON_SD "Geen Modellen" BREAKSPACE "op SD"
|
#define TR_NO_MODELS_ON_SD "Geen Modellen" BREAKSPACE "op SD"
|
||||||
#define TR_NO_BITMAPS_ON_SD "Geen Bitmaps" BREAKSPACE "op SD"
|
#define TR_NO_BITMAPS_ON_SD "Geen Bitmaps" BREAKSPACE "op SD"
|
||||||
#define TR_NO_SCRIPTS_ON_SD "Geen Scripts" BREAKSPACE "op SD"
|
#define TR_NO_SCRIPTS_ON_SD "Geen Scripts" BREAKSPACE "op SD"
|
||||||
|
#define TR_SCRIPT_SYNTAX_ERROR "Script syntax error"
|
||||||
|
#define TR_SCRIPT_PANIC "Script panic"
|
||||||
|
#define TR_SCRIPT_KILLED "Script killed"
|
||||||
|
#define TR_SCRIPT_ERROR "Unknown error"
|
||||||
#define TR_PLAY_FILE "Speel af"
|
#define TR_PLAY_FILE "Speel af"
|
||||||
#define TR_DELETE_FILE "Verwijderen"
|
#define TR_DELETE_FILE "Verwijderen"
|
||||||
#define TR_COPY_FILE "Kopieer"
|
#define TR_COPY_FILE "Kopieer"
|
||||||
|
|
|
@ -849,6 +849,10 @@
|
||||||
#define TR_NO_MODELS_ON_SD "Brak modelu na SD"
|
#define TR_NO_MODELS_ON_SD "Brak modelu na SD"
|
||||||
#define TR_NO_BITMAPS_ON_SD "Brak obrazków na SD"
|
#define TR_NO_BITMAPS_ON_SD "Brak obrazków na SD"
|
||||||
#define TR_NO_SCRIPTS_ON_SD "Brak skryptów na SD"
|
#define TR_NO_SCRIPTS_ON_SD "Brak skryptów na SD"
|
||||||
|
#define TR_SCRIPT_SYNTAX_ERROR "Script syntax error"
|
||||||
|
#define TR_SCRIPT_PANIC "Script panic"
|
||||||
|
#define TR_SCRIPT_KILLED "Script killed"
|
||||||
|
#define TR_SCRIPT_ERROR "Unknown error"
|
||||||
#define TR_PLAY_FILE "Odtwórz"
|
#define TR_PLAY_FILE "Odtwórz"
|
||||||
#define TR_DELETE_FILE "Skasuj"
|
#define TR_DELETE_FILE "Skasuj"
|
||||||
#define TR_COPY_FILE "Kopiuj"
|
#define TR_COPY_FILE "Kopiuj"
|
||||||
|
|
|
@ -800,6 +800,10 @@
|
||||||
#define TR_NO_MODELS_ON_SD "Sem Modelo no SD"
|
#define TR_NO_MODELS_ON_SD "Sem Modelo no SD"
|
||||||
#define TR_NO_BITMAPS_ON_SD "No Bitmaps on SD"
|
#define TR_NO_BITMAPS_ON_SD "No Bitmaps on SD"
|
||||||
#define TR_NO_SCRIPTS_ON_SD "No Scripts on SD"
|
#define TR_NO_SCRIPTS_ON_SD "No Scripts on SD"
|
||||||
|
#define TR_SCRIPT_SYNTAX_ERROR "Script syntax error"
|
||||||
|
#define TR_SCRIPT_PANIC "Script panic"
|
||||||
|
#define TR_SCRIPT_KILLED "Script killed"
|
||||||
|
#define TR_SCRIPT_ERROR "Unknown error"
|
||||||
#define TR_PLAY_FILE "Play"
|
#define TR_PLAY_FILE "Play"
|
||||||
#define TR_DELETE_FILE "Apagar"
|
#define TR_DELETE_FILE "Apagar"
|
||||||
#define TR_COPY_FILE "Copiar"
|
#define TR_COPY_FILE "Copiar"
|
||||||
|
|
|
@ -800,6 +800,10 @@
|
||||||
#define TR_NO_MODELS_ON_SD "Ingen modell i SD"
|
#define TR_NO_MODELS_ON_SD "Ingen modell i SD"
|
||||||
#define TR_NO_BITMAPS_ON_SD "Ikoner saknas på SD"
|
#define TR_NO_BITMAPS_ON_SD "Ikoner saknas på SD"
|
||||||
#define TR_NO_SCRIPTS_ON_SD "Programkod saknas på SD"
|
#define TR_NO_SCRIPTS_ON_SD "Programkod saknas på SD"
|
||||||
|
#define TR_SCRIPT_SYNTAX_ERROR "Script syntax error"
|
||||||
|
#define TR_SCRIPT_PANIC "Script panic"
|
||||||
|
#define TR_SCRIPT_KILLED "Script killed"
|
||||||
|
#define TR_SCRIPT_ERROR "Unknown error"
|
||||||
#define TR_PLAY_FILE "Spela"
|
#define TR_PLAY_FILE "Spela"
|
||||||
#define TR_DELETE_FILE "Radera"
|
#define TR_DELETE_FILE "Radera"
|
||||||
#define TR_COPY_FILE "Kopia"
|
#define TR_COPY_FILE "Kopia"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue