Динамически добавлять файлы для локализации C # - PullRequest
6 голосов
/ 26 мая 2011

Мне нужна помощь в локализации моего Wpf .net 3.5 приложения. Я собираюсь дать только exe-файл моему cient, с помощью которого он создаст настройки для своих пользователей. Мой клиент хочет добавить файлы для локализации самостоятельно.

Общий метод локализации - создание файлов .resx для каждого языка и установка языка в CurrentUICulture. но поскольку он не может использовать инструмент resgen для создания файлов ресурсов, я хочу знать лучший способ, позволяющий ему добавлять файлы в формате txt, excel, xml для локализации.

PS: чтение через поток и назначение ключа - единственный способ?

1 Ответ

4 голосов
/ 26 мая 2011

Если вы не можете использовать Resgen Tool, самый простой способ - это простой текстовый файл с парой ключ-значение. И если вы просто остаетесь с простыми строками, вы должны использовать именно это. Назовите их в соответствии с соглашением по умолчанию, указав язык в названии, чтобы указать правильный файл для загрузки, и напишите себе пользовательский resourceManager, который загружает эти файлы при запуске или по запросу в словарь для доступа к ним.

Edit:

Я немного подробнее расскажу об этом ...

Я бы создал менеджер ресурсов, который имеет статические средства доступа для всех используемых файлы ресурсов, где просто запасной вариант Ресурс имеет статическую типизацию. Я полагаю, ваш язык определяется при запуске, так что просто загрузить запасной вариант и определенный языковые файлы каждый в словарь и оба словаря в статике набрано для этого типа ресурса. Использовать GetString ("имя", культура), чтобы загрузить строка. Вы можете сделать поиск для культура в словаре ресурсов и если один ключ отсутствует, сделайте откат к статический.

Редактировать II:

Вы можете архивировать текстовые файлы, используя один .Net библиотеки там, чтобы запретить кому-либо открывать и изменять содержимое. Для дополнительной безопасности Вы также можете добавить пароль к застежка-молния. Таким образом, вы в конечном итоге с меньшими файлами плюс возможность изменять файлы с любой программой ZIP. Наверняка ты также следует изменить файл расширение.

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...