I have a lot of forms in my app, and they all need to be translated. Solution is pretty simple with resx files. But also I need to translate messagebox texts, and texts that are displayed in buttons accoroding to current action. I have tried to add string in my *.de.resx file in VS2010, but it disappears after switching form language. Then I found a solution to store text in hidden labels, but this looks very ugly. Is there a way to add strings to resx without hidden labels?
You probably need to just add a standalone resx to your project (Add, New Item, Resources File). A form resx isn't a safe place to store your non-ui data, as it's autogenerated, and, as you've found, it can delete your alterations when it's regenerated.