Как выполнить локализацию без файла ресурсов?

#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, да, я знаю, но для того, чтобы разрешить пользователю настраивать информацию о локализации, я должен сохранить информацию в базе данных