First, it works without problems:
1. I've created a sample form and changed the Property-Bundle file to a new
empty bundle in a different project.
2. I enable the Automatic I18N
3. Enter all default Labels, save
4. Change the local to "de"
5. Enter all german Labels, save
6. Change the local to "en"
7. Enter all english Labels, save
The bundle contains all different labels for default, de and en.
1. I open an existing form and change the Layout from "Absolute Layout" to "Free
Design" and set the property bundle to the same bundle and activate Automatic I18N.
2. In the combo box "Design local" I choose "de".
3. I enter all german labels and save
4. I change to "en"
5. I enter all english labels and save.
Now I see the bundle is only changed in the default language with the last
entered english translation. The "de" and "en" part is not changed.
An additional comment: I need two "save all" to get the "Save all" toolbar
button disabled. On the first click the "Save All" button disables and enables
again. With the second click the button finally disables.
What exact IDE build number do you use? And JDK?
"Save all" is a different problem, see issue 81132.
Hello, I'm again.
It's much more complicated. With changing the bundle languange and entering the
translated words I get no changes in my bundles.
If I change from "en" to "de" and enter "Geburtstag" for birthday and "save all"
I can't find the word "Geburtstag" in formulars.properties,
formulars_de.properties and formulars_en.properties. I can't find the literal in
the XML form file, too. But the matisse gui editor shows me the label with the
The default bundle file contains only "*.name" key/value pairs. I miss all
"*.text" key/value pairs. The "de" and "en" bundles contains no ".name" and no
".text" key/value pairs.
I don't know what's going wrong...
Sorry, I use JDK 1.4.2_12 and IDE Dev 200608141200 (M2) with swing-layout 1.0.1.
Ok, I think I've found the main problem.
The form I've changed to "Free Design" contains legacy L18N command:
jLB_BIRTHDAY.setText(Pool.getFldLoc ("BIRTHDAY")); // NOI18N
The .setText(Pool.getFldLoc ("BIRTHDAY")) is my old L18N connection from NB5.x.
Matisse ignores this non-literals, gives me no error and no warning. But I can
edit in "Automatic L18N" Mode the labels (and nothing changes the new connected
Any chance you could attach your forms and properties files here (or send it to
me privately) so I could better reproduce it? Or could you distill the gist of
the problem, or provide a simpler example?
I've just tried to follow your steps but everything worked fine for me. I might
not do everything as you did... E.g. have you really used the bundle file from
another project? I doubt it is possible with auto i18n... Thanks
I missed your last comment, sorry. I think I understand now. The locale files
are created automatically only for the main bundle file which set for the
automatic internationalization. If you have some string set manually to another
bundle file then creating new locale does not create the locale file for this
bundle. If you create the locale file manually then it works and the locale
specific texts are placed correctly.
I don't think this is a defect - automatic internationalization is supposed to
care only about the automatically created bundle. But perhaps we could make
this particular case work and create the locale files for all bundle files
referenced in given GUI form.