2 Replies Latest reply on Apr 14, 2007 5:08 AM by Xtramania

    Multilingual Database Design

    Production Monkey Level 3
      I'm designing a database for a multilingual project and I see a couple different ways of approaching the problem.

      1. I can have different colums for each language, let's say English and French. I.e.
      Categories
      ID
      CatName_En
      CatName_Fr

      2. I can keep the colum names the same and use seperate tables for each language. I.e.
      Categories_En
      ID
      CatName

      Categories_Fr
      ID
      CatName

      There are pros and cons for either approach. I'm curious if anyone has dealt with this and would be generous to relate their experiences.

      Randal
        • 1. Re: Multilingual Database Design
          Level 7
          I guess I'd add a table of languages for each entry, but it really depends
          on the project, since this approach has a seek time penalty.

          "Production Monkey" <webforumsuser@macromedia.com> wrote in message
          news:evlkep$blb$1@forums.macromedia.com...
          > I'm designing a database for a multilingual project and I see a couple
          > different ways of approaching the problem.
          >
          > 1. I can have different colums for each language, let's say English and
          > French. I.e.
          > Categories
          > ID
          > CatName_En
          > CatName_Fr
          >
          > 2. I can keep the colum names the same and use seperate tables for each
          > language. I.e.
          > Categories_En
          > ID
          > CatName
          >
          > Categories_Fr
          > ID
          > CatName
          >
          > There are pros and cons for either approach. I'm curious if anyone has
          > dealt
          > with this and would be generous to relate their experiences.
          >
          > Randal
          >


          • 2. Re: Multilingual Database Design
            Xtramania Level 1
            Think about how your product will grow further. In case you later will want to add support for several more languages, what will you do?

            So, I would use more universal way:
            ID
            CatName
            LanguageId