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 の世界からかけ離れたものを使用する必要があるのではないでしょうか? どんな助けでも大歓迎です。