Локализация в Visual Studio 2008

Я пытаюсь локализовать настольное приложение (C #) в VS2008.

Я освоил локализацию форм для нескольких языков, и у меня также есть файл ресурсов проекта для общих строк, но я не могу понять, как создать многоязычные версии этого файла!

Кажется, это нигде не задокументировано.

Следствием этого является то, что если я хочу создать, скажем, немецкую версию своего приложения, мне нужно отредактировать общий файл ресурсов (Properties / Resources.resx), собрать и развернуть приложение, а затем повторно отредактировать общий файл ресурсов. обратно на английский.

Каждый раз, когда я хочу выпустить новую немецкую версию, мне придется делать то же самое. Это кажется настолько неуклюжим по сравнению с инструментами локализации форм, что я уверен, что в VS2008 есть лучший способ. Кто-нибудь знает, что это?

10.12.2008 10:59:14
3 ОТВЕТА

Вы можете использовать DLL-библиотеки Satellite Resource (обратите внимание: я использовал их только в C ++).
Это система, в которой вы можете иметь разные библиотеки ресурсов для каждого языка, который вы хотите поддерживать. В приложении больше не будет ресурсов (по крайней мере, таких, которые, возможно, придется локализовать), поэтому команде по переводу потребуется только выполнить перевод библиотеки ресурсов на соответствующие языки.

2
10.12.2008 11:08:33

На самом деле в Visual Studio это встроено. В вашей форме вы хотите локализовать язык, измените свойство Localizable на true.

Затем измените свойство Language на язык, для которого вы хотите настроить файл ресурсов. В вашем случае выберите немецкий.

Измените весь текст в форме на немецкий текст. Это создаст дополнительный файл resx для каждого языка, который вы также изменили.

Когда вы закончите, вы можете перейти на другой язык для другого переведенного файла ресурса формы или вернуться к стандартному.

Теперь, когда компьютер работает на компьютере, настроенном на использование другого языка, он будет искать файл resx для соответствия и переключать все элементы управления, чтобы использовать текст, предоставленный в файле ресурсов.

Вы также можете проверить это, изменив CurrentUICulture на CurrentThread

Вот хороший обзор MSDN:
http://msdn.microsoft.com/en-us/library/y99d1cd3(VS.80).aspx

1
18.06.2014 22:10:48

Вы правы, я неправильно понял вопрос.

В этом случае вам может понадобиться добавить новый элемент в ваш проект или добавить существующую копию существующего файла ресурсов, возможно, сначала придется переименовать его вне VS.

Выберите «Файл ресурсов»

Назовите это Resource.de-DE.resx

Как только он создан, вы можете переместить его в папку «Свойства».

Откройте файл, измените модификатор доступа вверху на внутренний, он будет установлен на «Нет генерации кода»

Добавьте свои строки с немецкими переводами в новый файл ресурсов

Компиляция и при изменении языка пользовательского интерфейса языка или потока следует использовать правильные значения из файла языкового ресурса.

Мой быстрый маленький тест работал нормально и переключался по желанию.

3
11.12.2008 03:54:10