Middle-build tool for Visual Studo that allows for automatic conversion of .resx resources from PCL to native Windows Runtime 8.1 .resw resources every build.
##Why ResxHell?
In case you are wondering how to make shared localization library with Xamarin that works on iOS, Android and Windows Phone 8.1 - you could make an shared PCL and place .resx resources there, but it won't really work in WP8.1. By using this tool you can automatically convert .resx to native WP8.1 format .resw and move them to WP project every build, so you don't have to copy it manually to every project everytime PCL with .resx was updated.
###Features
- Convert string-only .resx to .resw
- Sync .resx from PCL to native .resw in WinRT project on build
##How to use
- Check your project build order and make sure that PCL that contains .resx builds before WinRT project
- Create default localization folder structure in your WinRT project for example:
- Strings
- ar
- en
- Make a "ResxHell" folder in your solution's root directory and place a ResxHell.exe there .
- Go to your PCL project > Properties > Build Events > and in Post-Build event enter
"$(SolutionDir)\ResxHell\ResxHell.exe" -import "$(ProjectDir)\"
- Go to your WinRT project > Properties > Build Events > and in Pre-Build event enter
"$(SolutionDir)\ResxHell\ResxHell.exe" -export "$(ProjectDir)\"
- Build your WinRT project - it can fail when building for the first time
- On solution explorer click "Show all files" button and select all new files > Include in project You will have to do this every time a new .resx is added in a Portable Class Library
8. Rebuild again and now you can reach your imported .resw from C# code
Create dummy "Resource.resw" file in every /Strings/language folder
Remove reference to your localization PCL, but ensure it builds earlier than your Windows Runtime project
Build your app package with "Make app bundle" set to "Never"