Click here to Skip to main content
15,867,756 members
Articles / Programming Languages / C#
Article

RESX to XLS conversion for multi-language support

Rate me:
Please Sign up or sign in to vote.
4.72/5 (24 votes)
25 Jul 20072 min read 188.5K   12.2K   61   39
Easily convert your RESX projects files to Excel and back to localized RESX

Resx2Xls ScreenShot

Introduction

Do you need to localize your RESX files and don't want to open them one file at a time, clean them of unused keys, localize them etc., etc.? Then Resx2Xls is for you.

  1. Open Resx2xls. Click on "Create new Excel document...," select your Project Root and follow the wizard. Done!!
  2. Fill your Excel file with your localized key values or just send it to your translator.
  3. Now, do you want to create the localized RESX files from the filled Excel workbook? Open Resx2xls, click on "Generate resx files...," select your Excel file, click Next and then click Finish. Done!!
  4. Have you updated your project after your resource files were modified/added/removed/updated? No problem. Open Resx2xls, click on "Update your Excel document...," click Next, select your Project Root and Excel document and click Finish. Done!!

Thanks go to Manish Ranjan Kumar and his WizardBase control. It has helped me to give the application a more decent style.

Background

I was frustrated with copying my project resource files created in VS 2005, cleaning them of unused keys and then localizing them one file at a time. This tool should help you to just point and click at your project and obtain an Excel file filled with all of the strings of ALL of your resource files. After compiling the XLS with the translations, I wanted to convert all of the keys back into localized RESX files. I hope this helps!

Points of interest

I've had some problems loading resources with the ResxResourceReader class. I've noticed that if you have an image resource stored in the resource file, the path of the image in the XML document is relative to the document itself, not the project. Opening from another directory, i.e. Resx2xls bin, I get a "cannot parse" path exception. This was solved by setting the BasePath property of the resource reader with the path to the RESX file.

History

  • 25-7-2007: Article edited and posted to the main CodeProject article base
  • 5-7-2007: Added wizard
  • 4-7-2007: First release

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Web Developer
Italy Italy
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
NewsExcellent project, I suggest a small modification in your project to save the resx to it is subfolders Pin
Haitham Othman11-Feb-16 4:56
Haitham Othman11-Feb-16 4:56 
Questionworks fine... Pin
Andrea Feduzzi14-Mar-15 15:47
professionalAndrea Feduzzi14-Mar-15 15:47 
GeneralMy vote of 1 Pin
valker4-Dec-14 8:38
valker4-Dec-14 8:38 
Generalwhere does it create resources file ,on which drive Pin
aassaahh8-Aug-14 0:15
aassaahh8-Aug-14 0:15 
GeneralMy vote of 3 Pin
kannankeril6-Apr-14 14:36
kannankeril6-Apr-14 14:36 
QuestionReading values from Excel to Resx not working Pin
Member 24544004-Feb-13 14:32
Member 24544004-Feb-13 14:32 
QuestionResx files don't contain key values Pin
jsabo29-Nov-12 11:32
jsabo29-Nov-12 11:32 
BugThai characters not supported Pin
barboul16-Apr-12 18:47
barboul16-Apr-12 18:47 
Questiondifferent cultures and unused keys Pin
levanlevi20-Mar-12 22:53
levanlevi20-Mar-12 22:53 
GeneralRe: different cultures and unused keys Pin
Ragunath26.R29-Nov-12 2:41
Ragunath26.R29-Nov-12 2:41 
GeneralRefactored Version with Object-Oriented Structure PinPopular
rosaink5-May-10 8:37
rosaink5-May-10 8:37 
GeneralRe: Refactored Version with Object-Oriented Structure Pin
Vladyslav Piskarov27-May-10 6:03
Vladyslav Piskarov27-May-10 6:03 
GeneralRe: Refactored Version with Object-Oriented Structure Pin
gutsfun31-May-10 22:03
gutsfun31-May-10 22:03 
GeneralRe: Refactored Version with Object-Oriented Structure Pin
dmwason5-Aug-10 10:24
dmwason5-Aug-10 10:24 
I also need the same !!
GeneralRe: Refactored Version with Object-Oriented Structure Pin
Charax15-Sep-12 3:14
Charax15-Sep-12 3:14 
GeneralNeed to suppress Excel numeric formatting Pin
kirtlander27-Feb-10 6:58
kirtlander27-Feb-10 6:58 
GeneralLicense [modified] Pin
frogger3d12-Oct-09 4:05
frogger3d12-Oct-09 4:05 
GeneralRe: License Pin
m.zappitello7-Jun-10 2:47
m.zappitello7-Jun-10 2:47 
GeneralRe: License Pin
frogger3d7-Jun-10 4:09
frogger3d7-Jun-10 4:09 
GeneralRe: License Pin
m.zappitello7-Jun-10 4:23
m.zappitello7-Jun-10 4:23 
GeneralRe: License Pin
Wouter de Vries9-Sep-10 3:26
Wouter de Vries9-Sep-10 3:26 
GeneralRe: License Pin
matmat19823516-Sep-10 13:16
matmat19823516-Sep-10 13:16 
GeneralIt works great but... Pin
patokike8-Oct-09 3:27
patokike8-Oct-09 3:27 
GeneralIdentifying unused string keys Pin
trinity7917-Sep-09 6:56
trinity7917-Sep-09 6:56 
Generalexisting translations Pin
Patrick Mortara11-Aug-09 22:29
Patrick Mortara11-Aug-09 22:29 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.