Наконец-то (после нескольких лет отсрочки) время локализовать мое приложение на нескольких других языках, кроме английского.Интернационализация в MFC
Первой задачей является разработка интеграции в мое приложение C++/MFC с десятками диалогов и бесчисленными строками. Я наткнулся на двух возможных альтернативных реализаций:
- Compile и развертывания локализованных файлов ресурсов в качестве библиотек DLL
- извлечь и заменить все строки с локализованной версией. Для каждого языка будет существовать XML (или простой текст).
Лично я выбираю вторую альтернативу, поскольку мне кажется более гибкой. Изменений много, но не сложно сделать, и очень важно, чтобы XML-файлы были очень легко модифицированы для переводчиков.
Любые советы приветствуются.
С уважением,
Космин Unguru
http://www.batchphoto.com/
Хотя в этом варианте осуществления, вы должны реализовать каждую строку? – Sunscreen 2010-12-09 13:20:12
Вам нужно перевести каждую строку в любом случае. Опция XML позволяет быстро редактировать файл с помощью строк в них, но вам нужно загрузить строки в пользовательскую структуру данных, чтобы получить доступ. Опция DLL позволяет использовать встроенные функции загрузки ресурсов, поэтому единственное, что изменяется, это то, какую DLL вы загружаете для языковых строк.Каждая DLL должна иметь одинаковые идентификаторы, присвоенные переведенным строкам, поэтому в примере, если бы я был изменен на text_de.dll, IDS_MYSTRING был бы переводом Данниша для того, что было на этом ресурсе. – 2010-12-09 13:24:46
Прохладный, спасибо за разъяснение. Я думаю, что это правильный путь, хотя самый сложный (более код);) – Sunscreen 2010-12-09 13:36:22