#c# #asp.net #localization
#c# #asp.net #локализация
Вопрос:
Статьи из Интернета, все они делают локализацию на основе файла ресурсов xxxx.resx
Есть ли способ, которым мы можем прочитать ресурс из базы данных?
Ответ №1:
ASP.NET модель поставщика ресурсов является расширяемой — поэтому вы можете создать своего собственного поставщика ресурсов и фабрики для получения ресурсов из базы данных. Смотрите статьи ниже для получения дополнительной информации:
Расширение ASP.NET Модель поставщика ресурсов 2.0
ASP.NET 2.0: Пользовательский поставщик ресурсов, использующий базу данных Sql
Комментарии:
1. Поставщик ресурсов базы данных Рика Страла также является очень хорошим примером, west-wind.com/weblog/posts/695968.aspx
Ответ №2:
да, вы можете хранить локализованные данные в базе данных, а не в файле *.resx
ниже может быть дизайн таблицы, это просто демонстрация
CREATE TABLE [LocalizedData]
(
[Identifier] varchar(50) NOT NULL,
[Language] varchar(5) NOT NULL,
[Title] nvarchar(50),
[Description] nvarchar(200),
PRIMARY KEY ([Identifier], [Language])
)
данные что-то вроде этого
INSERT INTO [LocalizedData] ([Identifier], [Language], [Title], [Description])
SELECT 'String1', 'en', 'first entry', 'This is my first entry'
Комментарии:
1. Я не думаю, что это совсем то, что он имел в виду. Кроме того, такой подход потребовал бы сотен обходов данных только для отображения страницы. Я думаю, он просил фреймворковые средства для замены строк из базы данных на странице.
2. @Pranay, так ASP.NET будет ли автоматический поиск данных из таблицы «LocalizaedData»?? нужно ли мне что-либо делать в моем приложении?
3. @shrimpy — вам нужно выполнить запрос к базе данных, чтобы загрузить данные, которые вы можете кэшировать или запрашивать при каждой загрузке новой страницы
4. Это лишь очень небольшая часть полного решения с использованием решения для базы данных. У Рика Страла есть отличный поставщик ресурсов базы данных, который очень хорошо подключается к локализованным приложениям, см. west-wind.com/weblog/posts/695968.aspx .
5. @Pranay, да, я знаю, но для того, чтобы разрешить пользователю настраивать информацию о локализации, я должен сохранить информацию в базе данных