Reputation: 16651
I'm working on an fairly large ASP application that will be fully localized. I'm using the standard named resx
approach in satellite assemblies, with fallbacks (that is, es-MX
, es-CL
and fallback common to es
and so on).
Not only will there be probably hundreds (if not a thousand or more!) of different strings; in some places the amount of text that needs to be stored as resource can be long, to the tune of a few paragraphs.
I'm guessing it will be a royal pain to manage these strings in the Visual Studio editor, not to mention the fact that the people who will do some of the translations won't have access to VS in the first place.
How do you folks that work on localized apps manage this type of thing? Any advice and pointers would be appreciated.
Upvotes: 13
Views: 2078
Reputation: 18567
use the free Resource Translation Helper tool ( http://www.winking.be/resource-translation-helper ).
give the Excel file to your translators, let them update the languages
Works just fine!
Upvotes: 1
Reputation: 16680
I started a project that had a small localization effort (4 languages, about a dozen pages) that grew into a much larger localization effort (9 languages, 40+ pages).
The resx file model is starting to be a huge PITA. Adding the new files for a language is painful. Adding the new files for a new page is painful. Moving functionality between pages is painful.
A database-driven approach would probably be better, although I haven't tried it to be sure.
Edit: As for working with translators, I use Zeta Resource Editor to export/import the translation to/from a spreadsheet.
Upvotes: 1
Reputation: 39413
If you decide to go DB, check out this article: Creating a Data Driven ASP.NET Localization Resource Provider and Editor by Rick Strahl and then download it for free
If you decide to still using resx, you can use Zeta Resource Editor to mitigate the pain.
Upvotes: 7
Reputation: 1353
I honestly don't know about the limitations of the resx files but, if there are some, you can do the following:
Create a table into the database which contains the translated texts. Then you would have to cache the loaded translated text when the website would be accessed.
Such approach would also help with the translation team, which doesn't have access to Visual Studio. The only problem I visualize is the creation of an extra WebApp which would allow the translation team to translate the texts. But still, it would be something simple.
In case you can't use the database for that, some XML files could do the job for you.
EDIT: I just found another alternative but using .txt files. That can also help you.
Upvotes: 3
Reputation: 50672
If there is so much content it looks more like a problem that should be attacked/would be solved by a Content Management System.
Upvotes: 1