2017-09-15 2 views
0

Je suis à la recherche d'une solution de traduction de modèle Rails qui correspond à mes besoins. J'ai un modèle Page avec les champs title et content. J'ai déjà beaucoup d'enregistrements dans sa table.Rails et traductions de modèles: Langue principale dans le modèle original, les traductions dans un magasin externe?

Maintenant je veux traduire à la fois le titre et le contenu. Je souhaite conserver les champs title et content dans le tableau pages (contenant la langue principale, en anglais) et ajouter des traductions à un magasin externe (par exemple, en allemand). J'ai vérifié les gemmes de globalisation et de mobilité. Mais les deux semblent me forcer à tout déplacer dans le magasin externe, donc j'ai besoin de supprimer les champs title et content d'origine dans le tableau pages.

Est-ce vrai? Y a-t-il un moyen de le faire comme je voudrais l'avoir? Peut-être avec un autre bijou?

+0

Il n'y a aucun moyen de faire cela hors de la boîte actuellement avec Mobility, mais c'est quelque chose à laquelle j'ai pensé ... –

+0

J'ai décidé d'utiliser Mobility avec le stockage des colonnes, donc ça n'a pas trop d'importance pour moi à présent. Mais serait une belle addition à votre grand bijou. –

+0

Ah je vois, le stockage des colonnes serait facile à migrer vers je suppose. Je pense à fournir un migrateur généraliste pour migrer de n'importe quel backend à n'importe quel autre backend - pourrait vous intéresser si vous décidez plus tard d'utiliser des tables pour vos traductions :) Mais encore besoin de temps pour le développer. –

Répondre

0

Je n'ai pas la réponse à votre problème, mais je pense à poster mon commentaire entendre.

Globalize va créer une table pour les traductions. Vous pouvez faire la même chose par vous-même pour créer une table avec des traductions pour german et d'autres langues. Encore je crois que votre modèle gardera une table pages avec le champ title et content. Globalize était pas bon pour moi, donc j'ai décidé d'avoir ma propre mise en œuvre

Ceci est de mon schema.rb dans mon github project

create_table "languages", force: :cascade do |t| 
    t.string "iso" 
    t.string "name" 
    t.datetime "created_at", null: false 
    t.datetime "updated_at", null: false 
    end 

Serve Je ne trouve pas plus les autres modèles/tables, mais je me souviens J'ai créé une table avec une colonne pour chaque traduction requise, alors je voudrais juste afficher à mon avis la traduction.