![]() |
Модераторы: gambit, Partizan |
![]() ![]() ![]() |
|
HalkaR |
|
|||
![]() Пуфыстый назгул ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2132 Регистрация: 8.12.2002 Где: В Москве Репутация: нет Всего: 42 |
Такой вопрос. Можно ли как-то реализовать следующее: есть приложение. К нему имеется набор локализации. Причем локализация изменяется путем замены файла в папке приложения. Очень хотелось бы чтоб этот файл был текстовым, а не бинарным. Есть ли стандартные средства? Спасибо!
|
|||
|
||||
mr.DUDA |
|
||||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 24 Всего: 232 |
Стандартные средства - есть. Если нужно локализовать форму, просто ставь Localizable=true и меняй Culture на другой язык - автоматически создадутся ресурсные файлы (.resx) и всё что поменяется на форме, будет сохранено в resx-файл для текущей культуры. Если нужно локализовать строки - добавляем в проект Add new item / Resource File, забиваем туда строки (можно напрямую редактировать resx или в виде таблицы, в студии), добавляем ещё один Resource File с тем же именем и суффиксом перед .resx (например Resource1.ru.resx) переводим строки на другой язык.
Программно получить строку для текущей культуры можно через статические свойства одноимённого класса (имя ресурсного файла = имя класса, а имя строки в ресурсе = имени свойства класса, например Resource1.myString). Наконец, изменить во время выполнения приложения текущую культуру можно через свойство Thread.CurrentThread.CurrentUICulture или установив свойство Culture класса ресурса:
.resx это обычный XML-файл вида:
-------------------- ![]() |
||||
|
|||||
HalkaR |
|
|||
![]() Пуфыстый назгул ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2132 Регистрация: 8.12.2002 Где: В Москве Репутация: нет Всего: 42 |
mr.DUDA, это не совсем удобно для меня. Мне желательно иметь один общий файл со всеми локализованными строками и язык определяется не через код, а через файл лежащий в папке. Мне не надо распространять много языков вместе с приложением. Нужен только один. Причем язык должен определяться без перекомпиляции приложения.
Добавлено через 54 секунды Про этот способ я естественно знаю, но он мне не очень удобен. + приложение на WPF. |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 24 Всего: 232 |
При стандартной локализации, рядом с приложением будет лежать длл с тем же именем что у локализованного exe/dll и суффиксом .ru и т.п., хоть это и бинарный файл, конечно. Я так понимаю, такой вариант не катит.
-------------------- ![]() |
|||
|
||||
HalkaR |
|
|||
![]() Пуфыстый назгул ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2132 Регистрация: 8.12.2002 Где: В Москве Репутация: нет Всего: 42 |
Боюсь что нет. Можно конечно банально класть рядом с exe xml который будет читаться кастомным парсером.
|
|||
|
||||
HalkaR |
|
|||
![]() Пуфыстый назгул ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2132 Регистрация: 8.12.2002 Где: В Москве Репутация: нет Всего: 42 |
Вопщем написал руками загрузку из resx файлов с помощью ResXResourceReader.
|
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Разработка Windows Forms | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |