Локализация веб-форм без чрезмерного использования meta: resourcekey - PullRequest
4 голосов
/ 05 ноября 2010

Мне только что дали проект, который нужно локализовать.
Я только что наткнулся на meta: resourcekey и как он используется в сочетании с локальными файлами ресурсов.

Мой вопрос таков: должен ли я сделать это таким образом?
Рассмотрим этот пример сразу с MSDN:

<asp:Button ID="Button1" runat="server" Text="DefaultText" 
       meta:resourcekey="Button1" />

Если я читаю это впервые (чтоЯ бы сказал: «зачем указывать Button1 дважды?»
Если <@ Page @> уже имеет Culture, установленный на auto, и существуют локальные файлы ресурсов, перейдите и найдите локальные ресурсы каждого элемента управления,если таковые имеются, без необходимости делать это двойное упоминание для КАЖДОГО отдельного элемента управления на странице.
Я посмотрел на страницу, которая у нас уже есть, которая делает это, и это выглядит как беспорядок, если вы спросите меня.

Я что-то здесь упускаю?
Или этот метод устарел, и есть лучший способ сделать это?Весь вклад (+/-) приветствуется.
Спасибо!

1 Ответ

4 голосов
/ 05 ноября 2010

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

Предположим, вы поддерживаете приложение, локализованное, скажем, на 42 языках. Предположим, переводы для некоторых из этих языков переданы, скажем, 6 различным подрядчикам.

Теперь представьте, что вам абсолютно необходимо изменить ID вашей кнопки с Button1 на defaultButton. Каков наилучший способ сделать это?

  • Измените атрибут ID, оставьте meta:resourcekey как есть и будьте на связи, или

  • Измените атрибут ID, затем измените десятки файлов ресурсов, чтобы они использовали новый ID, а затем позвоните всем своим подрядчикам с просьбой изменить файлы ресурсов, которые они вам предоставляют?

...