You might want to have a look at the data model we use in zena (http:// zenadmin.org/en/documentation/list333.html), the translated texts are stored in the "versions" table. The table also stores current publications along with redactions and old texts.
We do not store language preferences in a session but use a prefix on urls "/en/..." or "/fr/..." so that cached content is served correctly for each language choice. Gaspard On 2 jan, 21:42, JDS no spam <[email protected]> wrote: > If you're going to have mulitple languages for a page then you'd best > do a little bit of database normalisation otherwise you'll end up with > pageBodyFrench, pageBodyItalian, pageBodyGreek, pageBodySwahili etc > > You have a model called Language > > iso_language_code (seehttp://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) > language_name > > Then you have your Page > page_name_etc > > Then you have a many to many model PageLanguageBodyText > > language_id > page_id > body_text > > Then > > Class Language << ActiveRecord::Base > has_many :page_language_body_texts > has_and_belongs_to_many :pages, :through=>:page_language_body_text > end > > Class Page << ActiveRecord::Base > has_many :page_language_body_texts > has_and_belongs_to_many :languages, :through=>:page_language_body_text > end > > If the linking table had only the foreign keys required for joining > the other two tables then there would be no need for a model, you'd > just create the migration. But in this case you do have extra > information so you have to have a model to access that information > hence > > Class PageLanguageBodyText << ActiveRecord::Base > belongs_to :page > belongs_to :language > end > > You'd need to tidy up the names a bit. > > You'd then have to modify your CMS to allow you to edit the page body > text inside the form for your page, even though it's now been split > out to its own model. > > Cheers > > John Small > > On Jan 2, 2:24 pm, bingo bob <[email protected]> wrote: > > > I've got a nice little site running which I rather like. All's running > > tickety boo (the site is English language). It has a rudimentary CMS > > with it, basically I have a page model such that Page.name and Page.body > > exist. I simply allow the user to enter the page name and body and I > > throw the content onto various pages around the site. As I say works > > well. > > > Next feature - I'd like to do the site in French, German and Spanish as > > well. > > > So.. my plan is this... > > > Just update the page model to include Page.name Page.body AND > > Page.bodyFrench, Page.bodyGerman, Page.bodySpanish. > > > I'd then update my admin views to show text areas for all the new > > languages and allow the user to update them all, that'd work fine I > > think. > > > How do I implement this though from a browser perspective? > > > I'd like to put a challenge on the front page of the asking for which > > language the user wants the site. Maybe flags int he time honoured sense > > or whatever. > > > Thing is though, How do I store this information so that my app knows > > which page to display for this user. I;ve heard of Sessions? but haven't > > used them yet, is that how to do it, any tips or code fragment to get me > > started would be grately apprecaited. wer wer > > > cheers, > > > bb > > -- > > Posted viahttp://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---

