У нас есть база данных PostgreSQL. И у нас есть несколько таблиц, которые должны хранить определенные данные на нескольких языках (к счастью, список возможных языков определен для всей системы).
Например, давайте начнем с:
create table blah (id serial, foo text, bar text);
Теперь давайте сделаем это многоязычным.
Как насчет:
create table blah (id serial, foo_en text, foo_de text, foo_jp text,
bar_en text, bar_de text, bar_jp text);
Это было бы хорошо для полнотекстового поиска в Postgres. Просто добавьте столбец tsvector
за каждый язык.
Но оптимально ли это?
Может быть, мы должны использовать другую таблицу, чтобы сохранить переводы?
Как:
create table texts (id serial, colspec text, obj_id int, language text, data text);
Может быть, просто может быть, мы должны использовать что-то еще - что-то из мира SQL?
Любая помощь приветствуется.