May be this is not TComboBox descendants but some other 3rd party combobox components? Because TsiLang explicity saves/restores TComboBox and its descendants ItemIndex during translating.
We are experiencing the same problem with the TcxCombobox of DevExpress. Is this issue related to the TFlatComboBox problem above ? And has this issue been solved for the TFlatComboBox as promised ?
Do you mean it doesn't work for some DevEx combobox? For regular combobox it works 100%. As a workaround you can always store ItemIndex before switching language and set it back after.
It doesnt work for DevEx combobox.
Problem is not on one form and one combo, but multiple forms and combos.
I guess it could be done, but maybe better place to fix it is at translation level.
I'm seeing the same problem for all cxComboBoxes with property DropDownListStyle=IsFixedList
It seems TsiLang sets the Text property of the cxComboBox to the new language. Then the cxComboBox searches this value within its Items, doesn't find it and as a result sets ItemIndex to -1 because IsFixedList doesn't allow values not contained in the Items list.
If this is the case then as a solution could be just to exclude cxComboBox.Text property from translation (as it could be included automatically) and it will be translated by translating Items property content.
Excluding cxComboBox.Text does not help.
As there are OnChange events defined the whole picture gets a bit complicated. I'll run further tests when I find the time...
For now I have changed language switching from immediate switching to "Switch at next program start". That is sufficient for my users and works around the problems.