I’m developing a multilingual web site and the localization is done mostly by using .resx files. But now I need to enable users with some permissions to edit resource files online from the web site.
Does anyone know of any existing component to help achieve this?
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
Best thing you can do is move to a DB driven approach.
Rick Strahl has this excellent article: Creating a Data Driven ASP.NET Localization
Resource Provider and Editor with free source code!
It even has a Import feature so you don’t have to re-translate the work done so far.
Edit: if you insist on editing the XML files, this article may help: Updatable ASP.NET ResX Resource Provider – yes, it’s possible!
Method 2
I think you should consider this step once again. First of all resx files are compiled instead of used directly so any changes require page recompilation*. The other thing is that it might be a serious security threat – you allow users to modify files in your application folder.
*- http://msdn.microsoft.com/en-us/library/ekyft91f%28VS.80%29.aspx
Method 3
I just found this Resource Blender application that’s similar to what I was looking for:
ResourceBlender is an open-source
translation and internationalization
application which offers an easy way
to manage localized resources for
inclusion with different applications.
Available as an ASP.NET web
application and a WPF desktop
application, it makes localizing
applications a breeze. ResourceBlender
generates localized resources in
different formats from a central
database for inclusion with different
applications.Key features offered include:
- Export resources to .NET .resx files, Java .properties, GNU .po / gettext, XHTML entities and more.
- Import/Export translation data as XML spreadsheets to make editing more convenient.
- Use one translations database to keep localizations in-sync.
- Supports MySQL, SQL Server and SQLite, so no external database is required.
- Migrate from existing .resx or .properties files with an import wizard.
- Easy for both translators and project owners/admins.
- Free and open source.
- Automatic machine translation with Google Translate.
- Custom templates for resource formats.
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0