Я создал приложение с локализацией, используя Visual Studio 2008 и .net compact Framework 3.5 на Windows Mobile 6.1.Чтобы добиться локализации, я использовал для этого много файлов ресурсов, по одному для каждого языка:
StringResources.de-DE.resx
StringResources.es-ES.resx
StringResources.en-GB.resx
StringResources.fr-FR.resx
StringResources.nl-NL.resx
У меня также есть файл StringResources.resx со строками по умолчаниюв качестве запасного варианта, если выбрана другая культура, не поддерживаемая моим приложением.
Я также создал CAB-файл, используя «SmartDeviceCabProject» (тип vdproj), чтобы выполнить установку этого приложения на устройстве. (используется msdn.microsoft.com/en-us/library/aa446504.aspx)
Вот проблема, с которой я сталкиваюсь: Когда я меняю культурук чему-либо, кроме nl-NL, я всегда получаю строки по умолчанию.
Обратите также внимание, что при копировании и вставке папки «bin» приложения в устройство видны все строки культуры.Проблема возникает только в том случае, если приложение установлено через файл cab.
Также, если я удаляю файл StringResources.nl-NL.resx и у него есть только
StringResources.de-DE.resx
StringResources.es-ES.resx
StringResources.en-GB.resx
StringResources.fr-FR.resx
в качестве культурыконкретные ресурсы и воссоздать cab-файл, теперь я вижу, что когда я изменяю культуру на что-либо, кроме fr-FR, я всегда получаю строки по умолчанию.Таким образом, всегда действует только последний файл культуры.
Просто чтобы убедиться, что я обнаружил библиотеки dll, которые были установлены в каждой из папок культуры, через файл cab на устройстве: de-DE \ Application.StringResources.dll
es-ES \ Application.StringResources.dll
en-GB \ Application.StringResources.dll
fr-FR \ Application.StringResources.dll
nl-NL \ Application.StringResources.dll
Странно, но я обнаружил, что все библиотеки одинаковые.Однако, если я различаю dll, присутствующие в папке «bin», они оказываются разными.
Таким образом, я считаю, что сборка файла .cab вызывает копирование одной и той же DLL в каждую папку..
С учетом вышеприведенного объяснения, пожалуйста, помогите мне:
** 1.Что я делаю, чтобы заставить cab-файл устанавливать правильные библиотеки DLL в папки?
Есть ли другой способ разместить правильные dll?
Есть ли другой способ добиться локализации? **