Many years ago I build a simple system for handling languageversioning of texts in ASP.classic sites. Since then I have not converted or maintained it, and have been using various sub-optimal solutions (and lets face it, the system was probably not as great as I remember it ;-)
What do you use for language versioning texts for your sites and ap开发者_StackOverflow社区ps?
I have looked at the following:
- .NET resource files: No easy way to get external translators to use it. Plus it is to mingled into the .NET controls (and also - "I just don't like it" :o)
- ResourceBlender (www.resourceblender.com): An excellent solution, but it seems build for some other uses than I have in mind ("bundles" and "elements" in the way they are constructed have no meaning to me).
My feature-wishlist consist of:
- Translation: Being able to export the texts to some format that external translators can edit, and then re-import the data when it comes back from translation.
- Data source: MS SQL Server, SQL Lite or XML (or some other reasonable array of options, covering both RDBMS and simple file storage)
- Interface: Full fledged interface for searching, editing etc.
- Integration in app/site: Very simple way of actually fetching the texts in the target application, or a way of easily implementing it yourself (KISS)
- Source code readability: The code should remain readable. So text names are preferred to integer IDs. E.g. GetText("intro_headline") instead of GetText(4564)
- Must not be tied to .NET controls as the resx files, since I also need to use them for e.g. subject and body texts for emails.
I can't seem to find anything that matches this, so I'm considering building it myself, but would just like to make sure I haven't missed something.
(this is a cross-post from Experts-Exchange, where I did not find a solution).
Have a look a solutions that are based on .po files which support translation by non-technical translators using freely available editors.
These guys have an example: http://www.expatsoftware.com/articles/2010/03/why-internationalization-is-hopelessly.html
You should have a further look on the build-in .net resource providers. They are not just "resx file managers". You can customize them, for example to use resources stored in databases.
Here you can find a nice article of Rick Strahl on this subject.
For anyone stumpling upon this post:
I have now developed a system based on the featurelist in this post. It is released on CodePlex as SimpleText.NET:
Read more about the SimpleText.NET project and take it for a spin at simpletext.codeplex.com
精彩评论