Как сопоставить переводы с базой данных

Я хочу, чтобы в тот момент, когда пользователь регистрируется в моей системе, он выбирает язык (tbParam [язык]), и на основе языка, который он выбирает, доступные ему страны уже переведены

Когда пользователь регистрируется в моей системе, он может выбрать язык, который сохраняется в tbParam[язык], и с этим выбранным языком остальная часть веб-сайта будет переведена соответствующим образом.

Сначала я подумал о том, чтобы сделать это через ресурсы на моем С# с ключом и значением, например: Скриншот ресурсов слева — это имя на языке по умолчанию (португальском), а значение — это ключ, переведенный на английский, он отлично работает для одного языка, но я делаю вид, что делаю это для испанского, немецкого и английского. Потом я подумал обо всей работе по ее выполнению и подумал о втором пути.

Второй способ: использование базы данных

Я думал о создании некоторых таблиц, содержащих языки, страны и переводы. Какие все они связаны друг с другом, к тому времени, когда вы выбираете язык, базу данных для переводов по языковому ключу и обрабатываете результат запроса в моем коде С#.

Я хотел бы знать, какой способ лучше всего, если это база данных, то какой подход будет лучшим в отношении взаимосвязей таблиц.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
67
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать файл ресурсов для каждого языка. Все, что вам нужно, это включить несколько файлов ресурсов в ваш проект:

например добавьте имена файлов ресурсов YourResourceFileName.resx. их, чтобы добавить файл ресурсов для определенного языка, добавьте файл ресурсов с именем YourResourceFileName.[CULTURECODE].resx Для испанского добавьте YourResourceFileName.es.resx Для немецкого языка добавьте YourResourceFileName.de.resx (Вы даже можете использовать файл ресурсов для определенной культуры, такой как en-US или en-GB)

Затем рассмотрите возможность редактирования файла .csproj напрямую и включите новые файлы в качестве зависимостей от предыдущего (вы можете щелкнуть правой кнопкой мыши проект, выбрать «Выгрузить проект», затем снова щелкнуть правой кнопкой мыши и выбрать «Редактировать .csproj» - когда закончите, перезагрузите проект через правый клик.

Вам нужно будет изменить:

<Compile Include = "YourResourceFileName.es.Designer.cs">
  <DependentUpon>YourResourceFileName.es.resx</DependentUpon>
</Compile>
<Compile Include = "YourResourceFileName.es.resx">

к:

<Compile Include = "YourResourceFileName.es.resx">
  <DependentUpon>YourResourceFileName.resx</DependentUpon>
</Compile>

Это поместит YourResourceFileName.es.resx и YourResourceFileName.es.Designer.cs в узел YourResourceFileName.resx.

Сделайте то же самое с немецким файлом ресурсов, измените:

<Compile Include = "YourResourceFileName.de.Designer.cs">
  <DependentUpon>YourResourceFileName.de.resx</DependentUpon>
</Compile>
<Compile Include = "YourResourceFileName.de.resx">

к:

<Compile Include = "YourResourceFileName.de.resx">
  <DependentUpon>YourResourceFileName.resx</DependentUpon>
</Compile>

В итоге у вас получится что-то вроде этого: YourResourceFile with several cultures

Другие вопросы по теме