ASP.NET Internationalization - глобальные / общие переопределения ключа ресурса - PullRequest
1 голос
/ 27 января 2011

Я использую интернационализацию ресурса ASP.NET.

У меня есть следующая структура

 /App_LocalResources
     Default.aspx.resx

 /App_GlobalResources
     Commmon.resx

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

Например, если на моей странице Default.aspx и у меня есть следующее:

<asp:Literal Text="<%$ Resources:FirstName %>" runat="server" />

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

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

<asp:Literal Text="<%$ Resources:Common,FirstName %>" runat="server" />

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

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

Возможно ли это, есть ли способ получить функциональность такого типа из ресурсов ASP.Net?

1 Ответ

1 голос
/ 27 января 2011

Это просто не то, как ресурсы работают в .NET AFAIK - я считаю, что лучше всего будет инкапсулировать доступ к ресурсам - это метод получения, который может попытаться сопоставить локальный ресурс для данного ключа, прежде чем вернуться кглобальный.Хотя не очень.

Конечно, всегда есть возможность создать и использовать свой собственный ResourceManager, но по опыту это на 1003 * намного больше боли, чем вы думаете.

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