|
|
|
Локализация приложения. Ресурсные файлы
|
|||
|---|---|---|---|
|
#18+
Пытаюсь использовать ресурсные файлы для локализации сайта. Нужно сделать так, чтобы добавлять/редактировать значения и добавлять локали для новых культур можно было в последующем только опперируя файлами .resx, без перекомпиляции приложения. Я добавил в проект сайта файл Navigation.resx, для которого был сгенерен дизайнер (Manager). Добавил в проект еще три файла Navigation.ru-RU.resx, Navigation.en-US.resx и Navigation.uk-UA.resx, но без своих менеджеров. В каждом файле добавил по строке с названием Test и локализированным значением. В коде устанавливаю для текущего потока currentUICulture и получаю локализированные значения вот таким образом: textDebug.Text = Navigation.ResourceManager.GetString("Test"); Если все файлы .resx в проекте помечены как Embeded Resource, то все правильно работает, но при этом в папке bin, для файлов каждой культуры, которые у меня созданы, в данном случае ru-RU, uk-UA и en-US создается своя папка с названием культуры, в которой лежит dll, в ресурсах которой уже находится соответствующий культуре файл .resx. Но мне нужно чтобы данные брались не из тех файлов что зашиты dll как ресурсы, а из .resx файлов, которые лежат в папке App_GlobalResources. Если все файлы пометить как Content, то ничего не работает. Если как Embeded Resource пометить только файл Navigation.resx, то независимо от культуры выводятся данные для культуры по умолчанию. При том значение берется не из Navigation.ru-RU.resx, а из Navigation.resx. Т.е. он приложение даже не пытается прочитать файлы которые находятся в папке App_GlobalResources и всегда берет значения из файлов .resx, которые зашиты в ресурсные dll. Как же все-таки сделать, чтобы данные брались из файлов .resx, которые находятся в папке App_GlobalResources? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2011, 16:57:59 |
|
||
|
Локализация приложения. Ресурсные файлы
|
|||
|---|---|---|---|
|
#18+
Может кому-то понадобиться. Если нужно чтобы локализированные значения брались таки из файлов, то нужно использовать или <%$ Resources: Navigation, Test %> или HttpContext.GetGlobalResourceObject("Navigation", "Test") as string; При этом как Embeded Resource я помечаю только файл Navigation.resx, остальные файлы как конктент. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2011, 09:56:45 |
|
||
|
|

start [/forum/topic.php?fid=18&gotonew=1&tid=1360559]: |
0ms |
get settings: |
10ms |
get forum list: |
21ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
239ms |
get topic data: |
10ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 574ms |

| 0 / 0 |
