Quickly internationalize a .NET application
Let’s say you want to quickly add multi-language support to your app, but don’t want to start messing with RESX files. Indeed, there is an easier way. Given the following code:
try
{
double tax = CalculateTax();
}
catch (TaxException e)
{
MessageBox.Show("Cannot calculate tax");
}
To move the string into a resource, move the caret over the string, open up the Refactor This menu Control+Shift+R and choose Move to Resource:
Now, if you don’t have a resource file, ReSharper will warn you about it:
Making one is easy, though:
And now if you try to move a string to a resource, ReSharper will notice the newly created RESX file and offer to put the string into it:
Once you accept the above settings, the string will be moved to the resource file:
<data name="Tax_Main_Cannot_calculate_tax" xml:space="preserve">
<value>Cannot calculate tax</value>
</data>
And, of course, your code will be changed to use the resource string:
try
{
double tax = CalculateTax();
}
catch (TaxException e)
{
MessageBox.Show(Resource1.Tax_Main_Cannot_calculate_tax);
}
Last modified: 07 April 2022