It is possible to use custom field for object names too? eg.: I would like to have activity trackers for each (different) user languages.
What is the best practice in multi-language environment? Create activity tracker for each language and link them?
You can attach localized fields to (almost) any object. E.g. using the standard GUI, attach for each locale a localized field to the activity tracker. If you want to localize the attribute 'name' set 'Name:' to 'name', select the locale and set 'Localized value:' to the localized name of the activity tracker.
You can also move this fields to the field group (for show and edit) of the activity tracker using the databinding feature (see the customizing guide for more info).
Probably I misunderstand something, but I still unable to localize the object names.
I have create a project 'rproject1' in the demo opencrx (using the en_US locale), and I attached two localized field 'name' using the '(rproject1 (de_CH)' string and 'description' using the 'rproject desc (de_CH)' string to the activity tracker.
But when I change the locale (to de_CH) on the top of the page it still show the 'rproject1' name instead of the 'rproject1 (de_CH)' name in the activity tracker list.
Is this the expected behaviour? What should I expect from the localized fields? Where (and when, under what condition) it will show up automatically?
Most of the time I would like to use the localized fields for naming object for each language (eg.: create a project, and add naming to activity tracker as Project1 in en_US, Projekt1 in de_DE, Projet1 in fr_FR, etc).
So when user1 logins with en_US locale, it will show Project1, when user2 logins with de_DE locale, it will show Projekt1 in the activity tracker list.
Localized fields will not show up automatically. As written in my previous post you can pull them up to the attribute pane using the databinding feature (see the customizing guide for more info).
With the currently available CompositeObjectDataBinding you can customize fields, e.g. 'Name (en_US):' which displays the english name (value of the LocalizedField with locale=en_US), 'Name (de_CH)' which displays the german name (value of the LocalizedField with locale=de_CH), etc. Finally, you will have for each locale a separate field which is visible to all users (independent of their GUI language).
Your use-case requires a new databinding class, let's call it LocalizedFieldDataBinding. This would allow to customize a field, e.g. 'Name (localized):' which displays the value of the LocalizedField with locale='locale of current user'. It seems to be a good idea to add such a databinding class to the next version of openCRX.