У меня есть веб-сайт ASP.NET с некоторыми "глобальными" ресурсами:
\App_GlobalResources
ContosoFrobberResource.resx
Это дополнение к "локальным" ресурсам, связанным с каждым файлом "aspx":
\App_LocalResources
Materials.aspx.resx
Notes.aspx.resx
OrderHistory.aspx.resx
Теперь я хочу локализовать сайт в другой локали (например, en
). я создаю resx
файл для каждого "локального" ресурса:
\App_LocalResources
Materials.aspx.en.resx
Materials.aspx.en-us.resx
Materials.aspx.en-uk.resx
Materials.aspx.en-sg.resx
Notes.aspx.en.resx
Notes.aspx.en-us.resx
Notes.aspx.en-uk.resx
Notes.aspx.en-sg.resx
OrderHistory.aspx.en.resx
OrderHistory.aspx.en-us.resx
OrderHistory.aspx.en-uk.resx
OrderHistory.aspx.en-sg.resx
И все это прекрасно работает; на сайте отображаются адаптированные версии английского языка для
- США (en-US)
- Великобритания (en-UK)
- Сингапур (en-SG)
, а также запасной вариант для универсального
Проблема возникает, когда я пытаюсь локализовать ресурсы в App_GlobalResources
:
\App_GlobalResources
ContosoFrobberResource.resx
ContosoFrobberResource.en-us.resx
Сайт вылетает с ошибкой:
CS0101: Пространство имен «Ресурсы» уже содержит определение для «ContosoFrobberResource»
Как локализовать App_GlobalResources
на веб-сайте ASP.NET?
Бонусная болтовня
ContosoFrobberResource.resx
<?xml version="1.0" encoding="utf-8"?>
<root>
<data name="ProjectDueDate" xml:space="preserve">
<value>Proposal Due Date</value>
</data>
</root>
ContosoFrobberResource.qps.resx
<?xml version="1.0" encoding="utf-8"?>
<root>
<data name="ProjectDueDate" xml:space="preserve">
<value>Prȍposẳl Duɇ Dãtē</value>
</data>
</root>