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

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

3 голосов
/ 10 декабря 2008

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

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

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

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

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

Ответы [ 3 ]

3 голосов
/ 11 декабря 2008

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

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

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

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

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

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

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

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

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

2 голосов
/ 10 декабря 2008

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

1 голос
/ 10 декабря 2008

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

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

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

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

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

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

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

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