ResXManager

Free

Manage localization of all ResX-Based resources in one place. Shows all resources of a solution and let's you edit the strings and their localizations in a well-arranged data grid.

(179) Review
Visual Studio
2015, 2013, 2012, 2010, 15
Download (188,675)
9/18/2016
1.0.0.87
View
E-mail Twitter del.icio.us Digg Facebook
Add to favorites
Description
Reviews (179)
Q and A (24)
Sign in to write a review
Sort by:

by Sunny Balducci | Thu 8:46 PM

by Jerome X | Thu 7:05 PM

Great extension. The ability to export to excel and reimport makes my project manager so happy.
Love the UI too. The side by side view of all the languages is just awesome. The fact that it finds resources that have no translation is just incredible. Thank you so much.

by IoanSh | September 19 2016

................................

by Bernard Vanderydt | September 13 2016

I'm so happy right now. ResXManager for the win :-)

Update: Did I already say it's just awesome? No kidding! It's awesome.

by NoCakeNoCode | September 04 2016

With this extension, I've hit two birds with one stone.

I wanted an extension that automatically updates other incomplete resource files and this has just done it, even better yet just generate once , save and you're good to go updating the other languages resource files, you no longer need to go through regenerating and reapplying values anymore!

Big time saver, I love it.

by MickaelG | August 22 2016

Thank you, very useful tool.

by Erik Oppedijk | August 16 2016

Very nice tool to handle the translations in a web project

by Rideen | August 15 2016

Really useful. Helped me on a huge project that required to have 6 different languages. Really simple to use, yet very powerful.

by Uzivatel 919 | August 03 2016

Super.

by martinwiboe | August 03 2016

A fantastically convenient editor for ResX files. Highly recommended.

by Greg Trevellick | July 23 2016

Totally awesome - great for exporting one language, email to a colleague for translation, and import into VS with zero hassle.

by jstevenson72 | July 22 2016

So much better than the built-in Resource Editor. Great Work!

by Aligned | July 19 2016

Keeping resx strings organized and reducing duplication is hard. ResXManager is a big help.

by Saeid Pournejati | July 17 2016

Amazing tool if you develop a multi-lingual application.

by AureoleArk | July 11 2016

作業内容が途中で消えた。
ありえない、開発者は最初から出直してこい

by IWolbers | July 10 2016

Awesome product. This makes editing multiple resource files a snap! Not only that the product stopped working (error in VS) last Friday, I reported the issue on the CodePlex site and over the weekend the author (Tom Englert) issued a fix for me so awesome support as well!!

I highly recommend it!

by P. Wright BEng | June 29 2016

I started using this yesterday on Visual Studio 2015.

The project I used it against had quite a large RESX file in English and many other languages.

I found the export/import to excel extremely useful to mass update a number of rows.

The performance in VS 2015 hasn't been great and I've had to wait several minutes at times for the RESX manager window UI to catch up.

UPDATE:

I have tried to post the issue but codeplex keeps experiencing a problem when I try to save my issue.

It looks like (based on information seen in Process Monitor) that it's to do with font loading. I have a RESX with about 880 rows of data, and about 16 alternative languages.

It has taken over 10 minutes for Visual Studio 2015 to respond.

TomEnglert June 30 2016
| Edit |
Delete

According to the screen shot your problem is the "Low Memory" (this will kill the performance of any app!), not ResX Manager.

ResX Manager can handle ten thousands of entries without problems.

by Thomas Molitor | June 23 2016

Awesome

by Pepepaco | June 22 2016

the most useful plugin i have ever used.

by MaximePeloquin | June 20 2016

1 - 20 of 179 Items   
Sign in to start a discussion


  • Where to report errors:
    1 Posts | Last post June 25, 2016
    • And again and again and again...
      
      This is only a Q&A page for the VS extension, not the project site!
      Please report errors here: 
      
      https://resxresourcemanager.codeplex.com/workitem/list/basic
  • Crash with VS2015 and Windows 10
    8 Posts | Last post June 25, 2016
    • Hello,
      
      Great tool it was working great until we switch our computers to windows 10 and visual studio 2015. It now crashes visual studio 2015 each time we open ResxManager therefor making it unusable.
    • Please provide more information (stack trace, error message), and add an issue here: https://resxresourcemanager.codeplex.com/workitem/list/basic
    • The extension used to work perfect until some days ago. I don't know why, but it crashes now each time I try to launch it :(
      
      Here is the stack trace I founded in the event viewer : 
      Application : ResXManager.exe
      Version du Framework : v4.0.30319
      Description : le processus a été arrêté en raison d'une exception non gérée.
      Informations sur l'exception : System.ComponentModel.Composition.CompositionException
         à System.ComponentModel.Composition.Hosting.CompositionServices.GetExportedValueFromComposedPart(System.ComponentModel.Composition.Hosting.ImportEngine, System.ComponentModel.Composition.Primitives.ComposablePart, System.ComponentModel.Composition.Primitives.ExportDefinition)
         à System.ComponentModel.Composition.Hosting.CatalogExportProvider.GetExportedValue(CatalogPart, System.ComponentModel.Composition.Primitives.ExportDefinition, Boolean)
         à System.ComponentModel.Composition.Primitives.Export.get_Value()
         à System.ComponentModel.Composition.ExportServices.GetCastedExportedValue[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.ComponentModel.Composition.Primitives.Export)
         à System.ComponentModel.Composition.ExportServices+<>c__DisplayClass13_0`2[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].<CreateSemiStronglyTypedLazy>b__0()
         à System.Lazy`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].CreateValue()
         à System.Lazy`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].LazyInitValue()
         à System.Linq.Enumerable+WhereSelectEnumerableIterator`2[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].MoveNext()
    •    à System.Linq.Enumerable+<CastIterator>d__94`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].MoveNext()
         à System.Linq.Enumerable.FirstOrDefault[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.Collections.Generic.IEnumerable`1<System.__Canon>)
         à TomsToolbox.Wpf.Composition.ComposableContentControl.Update()
         à TomsToolbox.Wpf.Composition.ComposableContentControl.OnInitialized(System.EventArgs)
         à System.Windows.FrameworkElement.TryFireInitialized()
         à MS.Internal.Xaml.Runtime.ClrObjectRuntime.InitializationGuard(System.Xaml.XamlType, System.Object, Boolean)
      
    •  System.Windows.Markup.XamlParseException
         à System.Windows.Markup.XamlReader.RewrapException(System.Exception, System.Uri)
         à System.Windows.FrameworkTemplate.LoadTemplateXaml(System.Xaml.XamlReader, System.Xaml.XamlObjectWriter)
         à System.Windows.FrameworkTemplate.LoadTemplateXaml(System.Xaml.XamlObjectWriter)
         à System.Windows.FrameworkTemplate.LoadOptimizedTemplateContent(System.Windows.DependencyObject, System.Windows.Markup.IComponentConnector, System.Windows.Markup.IStyleConnector, System.Collections.Generic.List`1<System.Windows.DependencyObject>, System.Windows.UncommonField`1<System.Collections.Hashtable>)
         à System.Windows.FrameworkTemplate.LoadContent(System.Windows.DependencyObject, System.Collections.Generic.List`1<System.Windows.DependencyObject>)
         à System.Windows.StyleHelper.ApplyTemplateContent(System.Windows.UncommonField`1<System.Collections.Specialized.HybridDictionary[]>, System.Windows.DependencyObject, System.Windows.FrameworkElementFactory, Int32, System.Collections.Specialized.HybridDictionary, System.Windows.FrameworkTemplate)
         à System.Windows.FrameworkTemplate.ApplyTemplateContent(System.Windows.UncommonField`1<System.Collections.Specialized.HybridDictionary[]>, System.Windows.FrameworkElement)
         à System.Windows.FrameworkElement.ApplyTemplate()
         à System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)
         à System.Windows.UIElement.Measure(System.Windows.Size)
         à System.Windows.Controls.Control.MeasureOverride(System.Windows.Size)
         à System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)
         à System.Windows.UIElement.Measure(System.Windows.Size)
         à System.Windows.Controls.DockPanel.MeasureOverride(System.Windows.Size)
         à System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)
         à System.Windows.UIElement.Measure(System.Windows.Size)
         à MS.Internal.Helper.MeasureElementWithSingleChild(System.Windows.UIElement, System.Windows.Size)
    • ...
      
         à System.Windows.Interop.HwndSource.SetLayoutSize()
         à System.Windows.Interop.HwndSource.set_RootVisualInternal(System.Windows.Media.Visual)
         à System.Windows.Window.SetRootVisual()
         à System.Windows.Window.SetRootVisualAndUpdateSTC()
         à System.Windows.Window.SetupInitialState(Double, Double, Double, Double)
         à System.Windows.Window.CreateSourceWindow(Boolean)
         à System.Windows.Window.ShowHelper(System.Object)
         à System.Windows.Application.<.ctor>b__1_0(System.Object)
         à System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
         à System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
         à System.Windows.Threading.DispatcherOperation.InvokeImpl()
         à System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
         à System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
         à System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
         à MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object)
         à System.Windows.Threading.DispatcherOperation.Invoke()
         à System.Windows.Threading.Dispatcher.ProcessQueue()
         à System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
         à MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
         à MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
         à System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
         à System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
    •    à System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
         à MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
         à MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
         à System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
         à System.Windows.Application.RunDispatcher(System.Object)
         à System.Windows.Application.RunInternal(System.Windows.Window)
         à tomenglertde.ResXManager.App.Main()
      
    • And again and again and again...
      
      This is only a Q&A page for the VS extension, not the project site!
      Please report errors here: 
      
      https://resxresourcemanager.codeplex.com/workitem/list/basic
      
      The stack trace is from the standalone application, not from the Visual Studio extension, so which crashes are you talking about?
  • Please contact re: Watson crashes
    1 Posts | Last post June 22, 2016
    • Hi, I work for Microsoft as a Program Manager with Visual Studio. We have some Watson crash reports for your tool. I need better contact info for you though. Can you send email to vsipeng@microsoft.com and I can work with you from there? Thanks!
      
  • How To Add Language
    2 Posts | Last post June 04, 2016
    • I click on the button to add a language and the column shows up as expected. Then it disappears. The resource files never show up (nether resx or resw).
      
      Any ideas what's wrong?
    • Just to repeat myself:
      
      This is not the official product page, please post questions, issues or feature requests here:
      
      https://resxresourcemanager.codeplex.com/workitem/list/basic
      
      The default is to create the resource files on the fly as soon as you enter some text.
  • Friendly reminder
    1 Posts | Last post May 04, 2016
    • This is not the official product page, please post questions, issues or feature requests here:
      
      https://resxresourcemanager.codeplex.com/workitem/list/basic
  • Move to Resources and multiple key paste
    2 Posts | Last post May 04, 2016
    • Hi!
      First of all, this is an awesome tool!
      
      I saw in the configuration part, that there is a "move to resources" table with regexp like strings. I also find that if i select a text then it can be moved to a specific resource. I just wondering if it possible to let's say right click on a file in the solution explorer, and from a context menu start a file-scan to find the resource references, mostly the undefined keys and add them to the resource files (maybe with an confirmation dialog)
      
      And one thing, it would be nice to be able to add multiple resource keys at once.
      
      
      Thank you for yout efforts! Keep up the awesome work!
    • Please create an issue here to continue this: https://resxresourcemanager.codeplex.com/workitem/list/basic
  • Export Usage References
    2 Posts | Last post May 04, 2016
    • Great plugin!
      
      I would like to export the References that it has found for each resource entry. I can see them in the mouseover for each entry. 
      
      Even a copy and paste would be useful. Is this possible?
      
      -- Odin
    • Please create an issue here to continue this: https://resxresourcemanager.codeplex.com/workitem/list/basic
  • Ressoorce files in different folders
    2 Posts | Last post April 29, 2016
    • Hi, 
      First off congrats to this great Tool. I was wondering whether it is possible to match resources located in different folders but with the same name e.g. en and de. 
      
    • Hi,
      I'm not really sure what your request is about.
      Please create an issue here to continue this: https://resxresourcemanager.codeplex.com/workitem/list/basic
  • Scan HTML files
    4 Posts | Last post February 23, 2016
    • Hi, 
      
      This tool is a great resource for localization. It has been helpful for my team to 
      search for orphaned resource strings.
      At this moment it scans only .cs files for orphaned strings, can it scan .html files as well ? or are you planning to add this feature in an upcoming release.
      
    • You can configure this on the configuration tab. It uses regular expressions, so it be configured to support nearly everything 
    • Thanks for the reply. It is a great feature with lot of flexibility. As an end-user, I would suggest that configuration tab and other tabs, be placed on top instead of bottom, as it took a while for me to search for the config tab with all other stuff that was open in Visual studio.
      
      Regarding the html files, there is start comment <!-- and end comment --> .  How can one specify these as Comment Token in configuration ?
    • Sorry, the algorithm is very slim and can handle line comments only, no block comments, so you may get some false positives here...
  • delete button is always disabled
    3 Posts | Last post February 14, 2016
    • I installed this to find and delete unused references.  unfortunately, the delete button is always disabled (greyed out).  what is causing this? can i fix this?  the source files are not set to read-only
    • forgot to mention that i am running vs 2015 update 1 with the latest version of this extension
    • You can't delete individual cells, you need to select full rows.
1 - 10 of 24 Items