Как я могу получить все строки из формы для локализации? - PullRequest
0 голосов
/ 13 января 2009

Все статьи, которые я читал о локализации приложения WinForms, предполагают, что у меня уже есть все переведенные строки. Согласно статьям, я должен просто установить для свойства Localizable значение true и отредактировать все элементы управления.

Но как мне получить все исходные (английские) строки из формы? Предположим, у меня есть полное приложение, которое до сих пор не было локализовано. Должен ли я как-то вручную разобрать строки из файла Designer или есть какой-то другой, более простой подход?

Мне нужно отправить строки переводчикам в Excel или Word. Поскольку переводчики не имеют никакого опыта работы с ресурсами, я, наконец, перенесу все переведенные строки обратно в мои формы и при необходимости изменим размеры, положение элементов управления и т.

РЕДАКТИРОВАТЬ: благодаря ответу и комментариям Роба, первое решение - установить для свойства Localizable значение true. Затем я могу легко скопировать все строки из файлов resx, которые принадлежат формам.

Ответы [ 2 ]

1 голос
/ 13 января 2009

Если вы делаете локализацию так же, как и я, вы просто заходите в каталог Properties вашего проекта и открываете файл Resources.resx в текстовом редакторе. При этом строки в XML-узлах выглядят так:

<data name="ErrorLaunching" xml:space="preserve">
  <value>Error launching Ivara</value>
  <comment>MessageBox text in LogonForm</comment>
</data>

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

Вы также можете открыть Resources.resx в Visual Studio, выбрать «Строки» и скопировать / вставить в Excel.

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

0 голосов
/ 13 января 2009

Роб, в файле Resources.resx у меня есть только строки, которые я показываю вручную в MessageBoxes и т. Д. Эти строки можно без проблем скопировать в Excel.

Но если я открою MyForm.resx, который принадлежит форме, этот файл будет пуст (фактически, все файлы resx всех форм пусты). Как мне попасть в таблицу строк моих форм?

Я использую VS2008, если это что-то меняет.

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