views:

103

answers:

2

Hello,

I have several forms that are localized to multiple languages. If I do a change on one form (for example, changing the size of a textbox) the change is done only on the localized version of the Form that I have currently selected.

Is there a way of extending the change I've done the different localized versions of the same Form to avoid having to go one by one doing the same change by hand?

Thanks in advance for your help.

EDIT: I'm talking about different forms when the real thign is that you have one form and several resources. The point is that at the end is just like if you have different forms for each locale because the form is built with the data from the resource. The problem is still the same because the edits done on the form are stored at one resource file and I have to put by hand those edits in all the resources.

+2  A: 

Your problem is unsolvable unless you do one of the following:

  1. Create VS Add-in, that will solve your problem.
  2. Change you architecture to the following:
    • create one form as neutral resource
    • create localized string tables with texts for all controls of the form.
    • load the strings programatically at the app's start, according to the current locale.
AOI Karasu
I'm creating localized string tables for everything that is not form related but I feel better editing the texts at the Form editor. Even more, sometimes I want to modify the size of one label or something like that because the text size is different. Is just that I would love to be able to have a way to say "this change has to be applied to all the versions of the form".
SoMoS
+1  A: 

If you want to change the property for all localized resources, and you want it to be the same for all of them, then you should delete the property from all resource files except the on for your default culture -- usually that is the one with no culture code in the file name. Missing localized values in a specific culture actually check up the heirarchy until a value is found. i.e. en-Ca gets missing values from en (which is my default) and fr-Ca gets missing values from fr which gets missing values from en (which is my default).

==> Only put properties which are different in the culture & specific culture resource files.

On the other hand, if you want to change the property and have it be different for each culture, then obviously (to me anyways) you must go and change each instance manually.

Jennifer Zouak
Ok, I think that I've catch the problem. What happens is that I've modified some controls while I was not at the default locale and that created a different property for *each* locale. Your answer shown me the problem so I mark your response as valid.
SoMoS