Можно ли обрабатывать перевод текста для данных, хранящихся в таблицах базы данных? - PullRequest
0 голосов
/ 04 января 2012

Я использую Ruby on Rails 3.1.0 и хотел бы знать , возможно ли обрабатывать перевод текста для данных, хранящихся в таблицах базы данных . Возможно ли это? Если да, то как?

Например, если у меня есть столбец таблицы базы данных с именем Title и у меня есть запись со значением Title, установленным \ сохраненным в " car ", я хотел бы показать

  • текст " автомобиль " для итальянцев;
  • текст " auto " для немецких людей;
  • и так далее ...

Ответы [ 4 ]

0 голосов
/ 04 января 2012

Для пользовательского контента лучше хранить язык с контентом.

Затем пользователи могут создавать «копии» этих данных с использованием другого языка.

В зависимости от того, сколько данных вам нужно изменить для каждой таблицы, различные гемы могут подойти для ваших нужд I18n gem НЕ является хорошим выбором, так как он предназначен для статического контента. Смотрите: https://www.ruby -toolbox.com / Categories / i18n

0 голосов
/ 04 января 2012

Вы можете настроить приложение rails для интернационализации, используя Rails Internationalization (i18n) API. Вам нужно будет пройти и установить локаль. Файлы локалей будут находиться в config / locales. Как упомянул жестяной человек, файл локали - это файл key: value. Здесь вы можете переопределить пользовательские рельсы по умолчанию.

Локаль может быть установлена ​​из параметров, а также из доменного имени. На мой взгляд, руководство по Rails - лучшее место для начала.

http://guides.rubyonrails.org/i18n.html

0 голосов
/ 04 января 2012

Как уже упоминалось в других ответах, вы можете использовать функциональность rails i18n, чтобы заставить это работать.

Однако существуют альтернативные способы хранения ваших переводов. В этом Railscast описывается, как настроить бэкэнд перевода на основе Redis, а также ссылки на целую кучу разных бэкэндов.

Если вы просто хотите сохранить свои переводы в базе данных, используяActiveRecord, я бы посоветовал вам взглянуть на i18n-active_record .

С помощью этих плагинов вы можете легко сохранять свои переводы в базе данных, и ваше приложение будет искать их для вас, используяI18n.t('some_translation_key').

0 голосов
/ 04 января 2012

Ruby может помочь вам переводить слова с одного языка на другой, но только предоставляя хеши и структуры или алгоритмы кода, которые позволяют вам выполнять поиск. Само по себе оно ничего не знает о значении слов и не может перевести слова.

Для вашей цели вы должны составить таблицу переводов со словами основного языка в основном поле и их переводами во вторичных полях, по одному полю для каждого языка. Затем вы можете быстро найти все слова для формы на немецком или итальянском языке и подставить их в форму.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...