| 260 | #define STR_RBGMENU "MENU TOGGLE" |
| 261 | |
| 262 | static u32 get_system_language(u8 *lang) |
| 263 | { |
| 264 | //u32 val_lang = get_xreg_value("/setting/system/language", 1); |
| 265 | |
| 266 | *lang = 0; //eng-us (default) |
| 267 | |
| 268 | int val_lang = 1; |
| 269 | xsettings()->GetSystemLanguage(&val_lang); |
| 270 | |
| 271 | if(val_lang < 0) return val_lang; |
| 272 | |
| 273 | const u8 ids[] = {4, 0, 3, 1, 2, 5, 6, 7, 18, 17, 19, 19, 0, 0, 20, 0, 9, 6}; |
| 274 | |
| 275 | if(val_lang < (int)sizeof(ids)) *lang = ids[val_lang]; |
| 276 | |
| 277 | return val_lang; |
| 278 | /* |
| 279 | *lang = 0; //eng-us (default) |
| 280 | if(val_lang == 0x0) *lang = 4; //ger; |
| 281 | // if(val_lang == 0x1) *lang = 0; //eng-us |
| 282 | if(val_lang == 0x2) *lang = 3; //spa |
| 283 | if(val_lang == 0x3) *lang = 1; //fre |
| 284 | if(val_lang == 0x4) *lang = 2; //ita |
| 285 | if(val_lang == 0x5) *lang = 5; //dut //Olandese |
| 286 | if(val_lang == 0x6) *lang = 6; //por-por |
| 287 | if(val_lang == 0x7) *lang = 7; //rus |
| 288 | if(val_lang == 0x8) *lang = 18; //jap |
| 289 | if(val_lang == 0x9) *lang = 17; //kor |
| 290 | if(val_lang == 0xA) *lang = 19; //chi-tra / chi-sim |
| 291 | if(val_lang == 0xB) *lang = 19; //chi-tra / chi-sim |
| 292 | // if(val_lang == 0xC) *lang = 0; //fin / missing |
| 293 | // if(val_lang == 0xD) *lang = 0; //swe / missing |
| 294 | if(val_lang == 0xE) *lang = 20; //dan |
| 295 | // if(val_lang == 0xF) *lang = 0; //nor / missing |
| 296 | if(val_lang == 0x10) *lang = 9; //pol |
| 297 | if(val_lang == 0x11) *lang = 6; //por-bra |
| 298 | // if(val_lang == 0x12) *lang = 0; //eng-uk |
| 299 | */ |
| 300 | } |
| 301 | |
| 302 | #define CHUNK_SIZE 512 |
| 303 | #define GET_NEXT_BYTE {if(p >= CHUNK_SIZE) {cellFsReadWithOffset(fd, lang_pos, buffer, CHUNK_SIZE, &bytes_read); p = 0;} c = buffer[p++], lang_pos++;} |