Multilanguage in RESOURCES

Discussion in 'WASM.BEGINNERS' started by ATX, May 14, 2008.

  1. ATX

    ATX New Member

    Blog Posts:
    0
    Всем привет!

    Трабла такая - разрабатываю мультиязычную аппу на MASMe и без UNICODE, текст в контролю подставляю из *.inc файлов, тут все нормально. Но запнулся на файле ресурсов (((
    Мне нужно в зависимости от языка интерфейса подставлять тот или иной ресурс меню, но как не делаю нифига не выходит.

    Подскажите как мне это граматно сделать???

    Сенькс...
     
  2. DEEP

    DEEP Андрей

    Blog Posts:
    0
    1) Определяешь нужный язык.
    2) В зависимости от языка выбираешь нужную константу, напр:

    Code (Text):
    1. .const
    2.   MM_R db "RUS",0
    3.   MM_E db "ENG",0
    4.   MM_G db "GER",0
    5.   MM_F db "FRA",0
    3) Подставляешь её в функцию загрузки меню. В данном случае можно даже просто по смещению, ибо все 4 строки идут в секции констант друг за другом и занимают по 4 байта.

    0) Ессно, не надо забывать линковать к проге ресурс, где вся эта красотища и расположена :)

    ЗЫ) Или дело в самом ресурсе (не знаешь как создать/скомпилить/прилинковать)?
     
  3. ATX

    ATX New Member

    Blog Posts:
    0
    DEEP

    А возможно ли сделать так:
    1. Установить меню - LoadMenu (пока еще не на нужном языке)
    2. Изменить строки созданного меню на нужные (т.е. локализованные), но не из ресурсов, а из массива *.inc

    Просто если делать из одного файла ресурса (в котором вся локализация) - ничего путного не выходит, т.к. аппа заточена не под юникод и во время компиляции подставляет не верные символы (
     
  4. ATX

    ATX New Member

    Blog Posts:
    0
    Вообще ответ отказался прост - в файле ресурсов можно определять язык текста.
    Например для русского текста нужно указать #pragma code_page(1251)
    :)
     
  5. TOLSTOPUZ

    TOLSTOPUZ New Member

    Blog Posts:
    0
    А в самом контроле (ну например эдитбокс) это никак не получится определить?
     
  6. Mikl_

    Mikl_ New Member

    Blog Posts:
    0
    TOLSTOPUZ
    Скорее наоборот - от значения lang="RUS",0 принудительно менять раскладку клавиатуры, чтобы ввод в эдитбокс шел только кириллицей