Использование только 1 файла ресурсов вместо 1 файла ресурсов на форму / другие строки - PullRequest
5 голосов
/ 04 июня 2011

Мы локализуем наши формы и строки в проекте и имеем проблему; Visual Studio создает файл ресурсов для каждой формы при установке для Localizable значения true.

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

Спасибо!

Ответы [ 3 ]

2 голосов
/ 04 июня 2011

Как сказал бы Йода, возможно, это так.

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

1 голос
/ 04 июня 2011

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

Теперь рассмотрим, почему MS выбрала один файл ресурсов на форму.Что ж, с точки зрения интернационализации, это решение лучше .С одной стороны, это дает переводчикам одну важную вещь: контекст.С другой стороны, это типичный рост проекта.Маловероятно, что вы будете вносить изменения во все формы одновременно.И знаешь, что?В зависимости от вашей сделки с поставщиком переводов, вы можете потратить на локализацию меньше, если изменится всего несколько процентов строк.Это потому, что они могут использовать программное обеспечение Translation Memory (TM).
С одним глобальным файлом ресурсов обычно не существует контекста и способа разумно использовать TM.В результате переводы становятся менее точными и занимают больше времени (нужно на самом деле прочитать большие блоки текста, чтобы убедиться, что все переведено правильно).

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

0 голосов
/ 04 июня 2011

WinFrom не поддерживает автоматическое создание глобальных ресурсов для форм в VS. Вы должны назначить строки самостоятельно. Например:

  1. Добавьте Resources.resx с Resources.designer.cs в ваш проект;
  2. Определите ваши строки в Resources.resx.
  3. В вашем коде form.cs присвойте строки в конструкторе, например:

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