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.

(169) Review
Visual Studio
2015, 2013, 2012, 2010, 15
Download (174,360)
7/24/2016
1.0.0.85
View
E-mail Twitter del.icio.us Digg Facebook
Add to favorites
Description
Reviews (169)
Q and A (24)
Sign in to write a review
Sort by:

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

by Jaquemet Olivier | June 15 2016

Awesome extension, a must have when working with localized solutions/projects.

Does what it says and does it well.

by bastianonm | June 14 2016

Super!

by Ondřej | May 17 2016

Simply epic. I am using this for removing unused resources (resources with 0 references in source code).

by RemarkLima | May 14 2016

I've just registered to write this review! This is a fantastic tool, and between this and resharper it makes converting a project to multiple languages so much easier!

Buy this man a beer!!

by francois falk | May 06 2016

Good job !
saves me a lot of time :-)

by vijay_sg | May 03 2016

Makes localization such a breeze!

by O. Gierling | May 02 2016

One of the most convenient ways to localize your project.
It also supports search for translations.
But do not rely on maschine generated translations. Your users will see the lack of professionalism.

The solution is there! Export your resources as excel and let native speakers/translators work with them, reimport.

Great extension!

TomEnglert May 02 2016
| Edit |
Delete

You definitely should read this before even thinking about using machine translations without manual review :-)
http://www.codeproject.com/Articles/222389/Beyond-Localization-Software-for-a-Global-Audience

by charla_n | April 14 2016

by Cook32 | April 12 2016

by RodCesar | April 11 2016

Já testei vários componentes de tradução.
Dos gratuitos este é o melhor! Sem comparação!
E o desenvolvedor é bem acessível quanto a sugestões de melhorias.

1 - 20 of 169 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