|
|
|
Локализация приложения в VC++
|
|||
|---|---|---|---|
|
#18+
Подскажите наиболее корректный способ осуществления многоязыковой поддержки в приложении на VC++. В VC есть классная штука - String Table, причем оболочка даже дает в ресурсе создать несколько таких таблиц для разных языков. Вопрос: как программно осуществить их смену? Уникального имени для каждой String Table, как я понял, не существует, и, кроме функции LoadString, которая грузит по одной строке, я в help-e не нашел ничего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2005, 13:19 |
|
||
|
Локализация приложения в VC++
|
|||
|---|---|---|---|
|
#18+
Нашел кое-что тут. Но там опять же перегрузка по одной строчке, а вот про String Table и зачем их может быть несколько в ресурсе - ответа нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2005, 13:39 |
|
||
|
Локализация приложения в VC++
|
|||
|---|---|---|---|
|
#18+
хранить в XML. тогда редактировать и добавлять языки даже пользователь сможет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2005, 18:43 |
|
||
|
Локализация приложения в VC++
|
|||
|---|---|---|---|
|
#18+
Вариантов куча - можно и в XML, и в INI-файлах, и насоздавать массивов для каждого языка и пр., и пр., и пр. Вопрос непосредственно о VC, его ресурсах, String Table и т.д., т.е. мне бы хотелось узнать как использовать стандартные возможности именно в VC, а не общие концепции многоязыкового программирования... К тому же держать ресурсы в текстовом файле, да еще и пользователю давать туда лазить, на мой взгляд не есть зер гут. А почему, кстати, именно XML? В VC есть какой-то супер загрузчик XML? Чем удобнее-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2005, 21:41 |
|
||
|
Локализация приложения в VC++
|
|||
|---|---|---|---|
|
#18+
MustDieА почему, кстати, именно XML? В VC есть какой-то супер загрузчик XML? Чем удобнее-то? при чем тут VC - это логика приложения должна уметь переключать языки. XML потому что приложение тоже можно представить как дерево контролов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2005, 23:26 |
|
||
|
Локализация приложения в VC++
|
|||
|---|---|---|---|
|
#18+
Lepsikпри чем тут VC - это логика приложения должна уметь переключать языки. XML потому что приложение тоже можно представить как дерево контролов Согласен. Но, для чего существует возможность создания нескольких String Table для разных языков? Причем, String Table для одного языка может существовать только одна... Как ими манипулировать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2005, 00:12 |
|
||
|
Локализация приложения в VC++
|
|||
|---|---|---|---|
|
#18+
MustDie Но, для чего существует возможность создания нескольких String Table для разных языков? Причем, String Table для одного языка может существовать только одна... Как ими манипулировать? можно и в ресурсах, но в большой программе когда контролов сотни заниматься организацией этого хозяйства непросто - я у себя сделал так что контролы сами при работе в "режиме построения ресурсов" генерят мне красивое дерево в XML. остается только к каждому узлу добавлять переводы. не надо никаких перекомпиляций, программа сама считает сколько там языков приделали - и добавляет список в меню. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2005, 17:24 |
|
||
|
Локализация приложения в VC++
|
|||
|---|---|---|---|
|
#18+
Сильно!!! Примерчик не жалко выложить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2005, 20:21 |
|
||
|
Локализация приложения в VC++
|
|||
|---|---|---|---|
|
#18+
MustDieСильно!!! Примерчик не жалко выложить? Я для Borland Builder делал. В VC++ я десктопные апликации не делал. Да и xml библиотека у меня специфичная. Но идеалогия простая при запуске формы в конструкторе - пробежаться по контрола и собрать капшены и хинты. В рабочем режиме в конструкторе пробежать по контроам, найти соответсвующие узлы и в соответствии с языком поменять на данный в контролах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2005, 22:31 |
|
||
|
Локализация приложения в VC++
|
|||
|---|---|---|---|
|
#18+
Похоже так придется еще и реализовывать какую-то загрузку языка для его смены в процессе работы приложения, ибо если через конструктор - то, как я понимаю, язык можно установить только в момент запуска. В принципе, у меня пока и так все работает - я до этого держал у себя многомерный (по количеству языков) массив со всеми строками, требующими перевода, а затем по коду языка и коду сообщения вытаскивал нужное. Вопрос про StringTable в VC++ я задал потому, что здесь это, похоже, уже реализовано, ибо есть таблица с идентификаторами строк и их значениями для одного языка, и такие таблицы можно создать для каждого языка. Должна же быть реализована возможность их смены! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2005, 12:17 |
|
||
|
Локализация приложения в VC++
|
|||
|---|---|---|---|
|
#18+
Ладно! Как подменить программно StringTable никто не знает... Тогда такой вопрос: Все пункты меню, надписи на кнопках и пр. поменять в ходе выполнения программы можно, но как быть с подсказками, которые прописаны в ресурсе? Как, к примеру, мне заставить для ID_FILE_OPEN выдавать посказку не "Open", а на нужном языке? Длительные поиски ничего не дали... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 13:05 |
|
||
|
Локализация приложения в VC++
|
|||
|---|---|---|---|
|
#18+
MustDie Должна же быть реализована возможность их смены! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 17:17 |
|
||
|
Локализация приложения в VC++
|
|||
|---|---|---|---|
|
#18+
MustDie Должна же быть реализована возможность их смены! смена осуществляется переключением на другую ресурсную dll. А смена сообщений на контролах - дело сугубо личное. поэтому у мелкомягкого не то что соответствующих компонентов нет но и продуктов, поддерживающих хотябы 2 языка. - идет сразу локализация ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 17:19 |
|
||
|
Локализация приложения в VC++
|
|||
|---|---|---|---|
|
#18+
Вопрос-то потому и возник, что этот Мелкомягкий совершенно без зазрения совести в одном и том же ресурсе (!!!) создавать несколько StringTable!!! При этом идентификаторы строк в таблицах могут совпадать! Одно условие - для одного языка в одном ресурсе может быть только одна таблица! Нафига тогда это надо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 19:26 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33382543&tid=2032443]: |
0ms |
get settings: |
11ms |
get forum list: |
17ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
96ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
| others: | 244ms |
| total: | 465ms |

| 0 / 0 |
