| 505 | } |
| 506 | |
| 507 | Locale getLocale() |
| 508 | { |
| 509 | #if !defined(WINAPI_FAMILY) || WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) |
| 510 | const char* lang = ""; |
| 511 | const char* reg = ""; |
| 512 | unsigned langid = GetUserDefaultUILanguage(); |
| 513 | unsigned prilang = langid & 0x3ff; |
| 514 | unsigned sublang = langid >> 10; |
| 515 | |
| 516 | switch (prilang) { |
| 517 | case 0x004: { |
| 518 | lang = "zh"; |
| 519 | switch (sublang) { |
| 520 | case 0x01: |
| 521 | reg = "CN"; |
| 522 | break; |
| 523 | case 0x02: |
| 524 | reg = "TW"; |
| 525 | break; |
| 526 | case 0x03: |
| 527 | reg = "HK"; |
| 528 | break; |
| 529 | case 0x04: |
| 530 | reg = "SG"; |
| 531 | break; |
| 532 | } |
| 533 | } break; |
| 534 | case 0x006: |
| 535 | lang = "da"; |
| 536 | reg = "DK"; |
| 537 | break; |
| 538 | case 0x007: |
| 539 | lang = "de"; |
| 540 | reg = "DE"; |
| 541 | break; |
| 542 | case 0x009: { |
| 543 | lang = "en"; |
| 544 | switch (sublang) { |
| 545 | case 0x01: |
| 546 | reg = "US"; |
| 547 | break; |
| 548 | case 0x02: |
| 549 | reg = "GB"; |
| 550 | break; |
| 551 | case 0x03: |
| 552 | reg = "AU"; |
| 553 | break; |
| 554 | case 0x04: |
| 555 | reg = "CA"; |
| 556 | break; |
| 557 | case 0x05: |
| 558 | reg = "NZ"; |
| 559 | break; |
| 560 | case 0x06: |
| 561 | reg = "IE"; |
| 562 | break; |
| 563 | case 0x07: |
| 564 | reg = "ZA"; |