Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. Visual Basic
  4. Best practice to make the program multilingual

Best practice to make the program multilingual

Scheduled Pinned Locked Moved Visual Basic
questiondiscussion
17 Posts 8 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M MatrixCoder

    re infecta wrote:

    Should I create text files that contain label text, window titles, messagebox texts in different langugaes or what do you recommend?

    That is how I would do it, except I would use an Ini file. Using an Ini file would make the process of organizing text between controls and dialogs a lot easier.


    Trinity: Neo... nobody has ever done this before. Neo: That's why it's going to work.

    J Offline
    J Offline
    Jelle Stokroos
    wrote on last edited by
    #7

    MatrixCoder wrote:

    Using an Ini file would make the process of organizing text between controls and dialogs a lot easier.

    Now does it really? I have some comments to add to this subject. First the question is requesting a -Best practice- solution. The best practice is NOT an ini-file approach. Even if it is easier to update and or add new language text to an application, coding it into the app is a different story. I believe, and here the best practice part will come in, you should consider a solution what uses as less code as practically possible. This will keep the change of errors down and will in most case result in a more readable and function orientated code. The framework can deal with all the pluming required for a multilingual application, why not use it? Don't underestimate the impact a different culture or region setting can have on the requirements of your app. There is a lot of joy to gain from producing a multilingual application. Have fun coding it. All this is of course my opinion and your comments is welcome.

    Jelle

    1 Reply Last reply
    0
    • R re infecta

      What is the best way to make my program in several languages? Should I create text files that contain label text, window titles, messagebox texts in different langugaes or what do you recommend?

      N Offline
      N Offline
      Navneet Hegde
      wrote on last edited by
      #8

      Hi Dear, The way possible could be using database to handle it.Create table with with columns like id , code , conversion and languageid .then use a function or dll to convert it into required lanuage . Take note Change in language would require you to reload application. Thanks & Pleasure Navneet Hegde Nashik

      Develop2Program & Program2Develop

      1 Reply Last reply
      0
      • C Christian Graus

        Store all your strings in the application resources and ship different resource files.

        Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog "I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )

        R Offline
        R Offline
        re infecta
        wrote on last edited by
        #9

        I a bit of a beginner. How do you do this in practice? Could you give me an example? Let's say label1.Text is in Finnish "Jotain" and in English "Something".

        1 Reply Last reply
        0
        • M MatrixCoder

          Try this article: INI File Class. If you need further help, just search CodeProject for "Ini Files".


          Trinity: Neo... nobody has ever done this before. Neo: That's why it's going to work.

          D Offline
          D Offline
          Dave Kreskowiak
          wrote on last edited by
          #10

          You mean to tell me that you're going to go through the hassel of reading the text file and changing the Text property of every control in your application yourself? Why not just let the Framework do it for you??

          A guide to posting questions on CodeProject[^]
          Dave Kreskowiak Microsoft MVP Visual Developer - Visual Basic
               2006, 2007

          M 1 Reply Last reply
          0
          • R re infecta

            What is the best way to make my program in several languages? Should I create text files that contain label text, window titles, messagebox texts in different langugaes or what do you recommend?

            D Offline
            D Offline
            Dave Kreskowiak
            wrote on last edited by
            #11

            You asked for best practices. They're covered here[^].

            A guide to posting questions on CodeProject[^]
            Dave Kreskowiak Microsoft MVP Visual Developer - Visual Basic
                 2006, 2007

            G 1 Reply Last reply
            0
            • R re infecta

              OK, I have never used INI files. Could you give me some practical example or reference in web? Thanks?

              J Offline
              J Offline
              Jeremy Falcon
              wrote on last edited by
              #12

              re infecta wrote:

              Could you give me some practical example or reference in web?

              Speaking in terms of practicality, don't listen to MatrixCoder. Use the resource files as Christian suggests, because practically speaking you'll find more tools to help you with those (in regards to editing for multi-language that is), and INI files are a tad slower anyway.

              Jeremy Falcon "It's a good thing to do and a tasty way to do it." - Wilford Brimley[^]

              1 Reply Last reply
              0
              • D Dave Kreskowiak

                You mean to tell me that you're going to go through the hassel of reading the text file and changing the Text property of every control in your application yourself? Why not just let the Framework do it for you??

                A guide to posting questions on CodeProject[^]
                Dave Kreskowiak Microsoft MVP Visual Developer - Visual Basic
                     2006, 2007

                M Offline
                M Offline
                MatrixCoder
                wrote on last edited by
                #13

                Dave Kreskowiak wrote:

                Why not just let the Framework do it for you??

                I hate the way the .NET Framework handles stuff like that, I prefer to do it the old fashioned way. Personal preference.


                Trinity: Neo... nobody has ever done this before. Neo: That's why it's going to work.

                D 1 Reply Last reply
                0
                • M MatrixCoder

                  Dave Kreskowiak wrote:

                  Why not just let the Framework do it for you??

                  I hate the way the .NET Framework handles stuff like that, I prefer to do it the old fashioned way. Personal preference.


                  Trinity: Neo... nobody has ever done this before. Neo: That's why it's going to work.

                  D Offline
                  D Offline
                  Dave Kreskowiak
                  wrote on last edited by
                  #14

                  It handles it much better than you do. How about a case where your application has a couple dozen forms and a couple hundred controls? I bet your method is pretty slow.

                  A guide to posting questions on CodeProject[^]
                  Dave Kreskowiak Microsoft MVP Visual Developer - Visual Basic
                       2006, 2007

                  M 1 Reply Last reply
                  0
                  • D Dave Kreskowiak

                    It handles it much better than you do. How about a case where your application has a couple dozen forms and a couple hundred controls? I bet your method is pretty slow.

                    A guide to posting questions on CodeProject[^]
                    Dave Kreskowiak Microsoft MVP Visual Developer - Visual Basic
                         2006, 2007

                    M Offline
                    M Offline
                    MatrixCoder
                    wrote on last edited by
                    #15

                    NSIS and many others manage.


                    Trinity: Neo... nobody has ever done this before. Neo: That's why it's going to work.

                    1 Reply Last reply
                    0
                    • D Dave Kreskowiak

                      You asked for best practices. They're covered here[^].

                      A guide to posting questions on CodeProject[^]
                      Dave Kreskowiak Microsoft MVP Visual Developer - Visual Basic
                           2006, 2007

                      G Offline
                      G Offline
                      gacracker
                      wrote on last edited by
                      #16

                      Although I have not done this yet, I do believe the best approach is the DB approach. A function wrapper to the DB using an ID would allow you to retrieve translations from multiple languages without application reloads, etc. Also, with a local caching mechanism this approach would be very close to the Resource file approach with regard to performance and would allow you the most flexibility. Again, I have not done this and I would like to hear others thoughts as well before investing a lot of time on this effort. I would also like to see a discussion on supporting multi currency but perhaps that should be a new message thread.

                      D 1 Reply Last reply
                      0
                      • G gacracker

                        Although I have not done this yet, I do believe the best approach is the DB approach. A function wrapper to the DB using an ID would allow you to retrieve translations from multiple languages without application reloads, etc. Also, with a local caching mechanism this approach would be very close to the Resource file approach with regard to performance and would allow you the most flexibility. Again, I have not done this and I would like to hear others thoughts as well before investing a lot of time on this effort. I would also like to see a discussion on supporting multi currency but perhaps that should be a new message thread.

                        D Offline
                        D Offline
                        Dave Kreskowiak
                        wrote on last edited by
                        #17

                        This doesn't work if you don't have a database. There's no need to retrieve anything if you use the .NET methods. The CLR will do it for you out of the resources you include with your app. Why write a bunch of code when you don't have to write ANY?

                        A guide to posting questions on CodeProject[^]
                        Dave Kreskowiak Microsoft MVP Visual Developer - Visual Basic
                             2006, 2007

                        1 Reply Last reply
                        0
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        • Login

                        • Don't have an account? Register

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • World
                        • Users
                        • Groups