[ASP.NET, интернационализация] Давайте подумаем.

Программирование Web-приложений и Web-сервисов.

Модератор: Ramzes

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

[ASP.NET, интернационализация] Давайте подумаем.

Сообщение ANDLL » 15.09.2006 (Пт) 12:59

Давайте подумаем, как лучше интернационализировать сайт на ASP.NET?

Я делаю так, на странице размещаю блоки типа <%=GetLocalString(5)%> а в GetLocalString(это локальная процедура на странице) делаю запрос к MySQL базе, в котором передаю собственно внутренний адрес страницы, номер и название языка.
Это довольно удобно, но вот насколько это эффективно? Как можно лучше реализовать GetLocalString?
Может быть вы предложите еще способы для интернационализации.

Сразу оговорюсь, что, вне всяких сомнений, сделать локализацию можно многими способами. Поэтому, убедительно просьба, предлагая метод, постарайтесь описать его плюсы и минусы.
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

gaidar
System Debugger
System Debugger
 
Сообщения: 3152
Зарегистрирован: 23.12.2001 (Вс) 13:22

Сообщение gaidar » 17.09.2006 (Вс) 0:28

А нужна ли загрзка из БД? Часто ли нужно менять языки на лету? Чем не устраивает стандартная локализация (с использованием глобальных ресурсов, локальных ресурсов, сателлитных сборок, наконец)?

Вообще, для каждой строки дергать базу - не очень производительно. Если уж делаешь ресурсы в БД, то лучше выбирать сразу все, которые нужны странице, а потом распихивать их по элементам упарвления.
Если нужно использовать ASP.NET 1.1, то посмотри, как это реализовано в ASP.NET 2.0 и сделай аналогично (хотя лучше на 2.0 перейти ;))
The difficult I’ll do right now. The impossible will take a little while. (c) US engineers in WWII
I don't always know what I'm talking about, but I know I'm right. (c) Muhammad Ali

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 17.09.2006 (Вс) 6:23

А нужна ли загрзка из БД
Это просто один из вариантов.
Часто ли нужно менять языки на лету
Каждый пользователь в настройках указывает предпочитаемый язык, он также может в любой момент настройки(и язык) поменять.
Код: Выделить всё
Чем не устраивает стандартная локализация
А ресурсы можно потом редактировать(после компиляции, из кода)?
сателлитных сборок
А вот что это такое я не знаю. Вкратце расскажи, а?
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

gaidar
System Debugger
System Debugger
 
Сообщения: 3152
Зарегистрирован: 23.12.2001 (Вс) 13:22

Сообщение gaidar » 17.09.2006 (Вс) 18:52

Ты помещаешь сборку в ресурсы, называешь ее MyResourcesName.Languge.dll и кидаешь в bin. Например:
Res.en.dll, Res.ru.dll и т.п.

В ASP.NET 2.0 ты можешь оставить ресурсы в resx файлах и добавлять, соответственно их. И вообще, в 2.0 достаточно просто и быстро все локализуется.

Я бы про локализацию на ближайшей встрече VBStreets рассказал, но когда она будет...
The difficult I’ll do right now. The impossible will take a little while. (c) US engineers in WWII
I don't always know what I'm talking about, but I know I'm right. (c) Muhammad Ali

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 17.09.2006 (Вс) 19:43

В ASP.NET 2.0 ты можешь оставить ресурсы в resx файлах и добавлять, соответственно их. И вообще, в 2.0 достаточно просто и быстро все локализуется
Давай развивать эту мысль. То есть сам принцип локализации ты предлагаеш оставить тот же, но поменять реализацию собственно GetLocalString так что бы она брала значения не из базы а из resx-файлов?
Или можно сделать как то принципиально по другому, не используя <%= %>? Потому что их использование приводит к неприятным вещам, например изменять control collection у элемента, содержащего такую инструкцию нельзя, возникает ошибка:(
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог


Вернуться в ASP.NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

    TopList