Best practice to make the program multilingual
-
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?
-
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?
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 )
-
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?
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.
-
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.
OK, I have never used INI files. Could you give me some practical example or reference in web? Thanks?
-
OK, I have never used INI files. Could you give me some practical example or reference in web? Thanks?
The way I said to do it, is the way that the framework fully supports.
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 )
-
OK, I have never used INI files. Could you give me some practical example or reference in web? Thanks?
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.
-
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.
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
-
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?
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
-
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 )
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".
-
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.
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 -
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?
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 -
OK, I have never used INI files. Could you give me some practical example or reference in web? Thanks?
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[^]
-
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, 2007Dave 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.
-
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.
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 -
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, 2007NSIS and many others manage.
Trinity: Neo... nobody has ever done this before. Neo: That's why it's going to work.
-
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, 2007Although 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.
-
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.
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