Resx
Having about 30+ languages in a Windows Forms and Web Forms application ( this one , if I am allowed to post a link) Finally, I have been most successful in simple .resx files in App_LocalResources .
What I discovered was that compilation was extremely slow in VS.NET, so I made a slightly modified approach:
- Only have English RESX files in VS.NET solution.
- Create a shadow website structure with only
App_LocalResources for all languages, including English, in a separate folder not visible to VS.NET. - Write a simple CMD script to copy real English resources to a separate folder.
- Use the free Zeta Resource Editor tool to actually transfer it to a separate folder.
- Have a publishing script that copies real web files (e.g. ASPX, ASAX, MASTER, etc.) to a website, and also copies resources to websites.
This approach makes compilation very fast and allows me to continue to separate compilation and translations.
The disadvantage is that the first call to a real web application compiles for a rather long time, and so far I have not seen the opportunity to speed it up / precompilation (although I believe that this is possible).
Database
I also completed some projects with localization in the database and user blocks <%#...%> for loading languages.
Today I would vote against it, since it is non-standard. Although it would probably be compiling just as quickly, regardless of whether 1 or 50 languages are involved.
Third Party Tools
You can also get a commercial translation product, if I could afford it, I would also be more likely to do this.
Just my two cents ...
Uwe keim
source share