i18n locale not saved

Hi all,

I am trying to set a the label ‘companyname’ to ‘bedrijfsnaam’ just like in the tutorial,
but somehow it does not work.

  • Default locale is English
  • I118N table was created just fine in my server ‘International’
  • Creation of lbl.companyname in the i18n editor also works fine
  • Setting the label to i18n, no problem, the i18n label shows up as ‘Company Name’ in smart client (locale English).
  • Adding the Dutch locale text seems to work fine, the translation appears, so I clicked OK assuming the change was saved.
  • Selecting the Dutch locale in Smart client will not show ‘bedrijfsnaam’.
  • Reopening the i18N editor, selecting the lbl.companyname key and the Dutch locale however shows AN EMPTY locale, so the locale was
    not saved it seems.

I don’t know if I do something stupid or this is a bug.

Thx,
Ron

XP SP3 / 4.1.0

This is probably a problem with your sequence, go to the table i18n_messages and update the sequence, then try it again.

Hi Sanneke,

I updated the sequence, but that did not help.
Next I placed the i18b_messages fields on a i18nform for some more testing:

Adding records with default locale in the i18n editor works fine, the records are added to the i18nform.
The added 2 record show up in the editor.

Adding records with another locale (e.g. NL) in the i18n editor fails, no record is added to the i18nform, neither
does it show up in the editor.
If I add the record via the form, IT DOES show up in the editor.

The sequence of the added records is working fine, except if a non-default-locale text is added.
Then the record is not saved, but strange enough it somehow ‘uses’ a sequencenumber because the sequence
is increased with 1 (>>sequence nr. gab).

Hope I made myself clear.
Thanks,
Ron

I have tried it on three PC’s but still having this problem:
i18n locale text is ONLY saved in the default locale.
Am I the only one, Is this a bug, or do I miss something?
No problems with 3.5.8.

Ron


XP SP3 / Servoy 4.1.0 / Latest Java

Do you have any errors in the logs ? What database engine you are using ?

Database: Sybase

ERROR:

2009-02-12 11:37:05,734 ERROR [AWT-EventQueue-0] com.servoy.j2db.util.Debug - Error executing sql: insert into i18n_messages (message_id, message_key, message_language, message_value) values (?, ?, ?, ?) with params: [[Ljava.lang.Object;@133e8c9]
java.sql.SQLException: JZ0SA: Prepared Statement: Input parameter not set, index: 3.
at com.sybase.jdbc3.jdbc.ErrorMessage.raiseError(Unknown Source)
at com.sybase.jdbc3.tds.TdsParam.prepareForSend(Unknown Source)
at com.sybase.jdbc3.jdbc.ParamManager.checkParams(Unknown Source)
at com.sybase.jdbc3.tds.Tds.language(Unknown Source)
at com.sybase.jdbc3.jdbc.SybStatement.sendQuery(Unknown Source)
at com.sybase.jdbc3.jdbc.SybPreparedStatement.sendQuery(Unknown Source)
at com.sybase.jdbc3.jdbc.SybStatement.executeUpdate(Unknown Source)
at com.sybase.jdbc3.jdbc.SybPreparedStatement.executeUpdate(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.servoy.j2db.persistence.datasource.Ze.invoke(Ze.java:1)
at $Proxy1.executeUpdate(Unknown Source)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:207)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:207)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:207)
at com.servoy.j2db.dataprocessing.SQLEngine.performUpdates(SQLEngine.java:352)
at com.servoy.j2db.property.I18NPanel.Za(I18NPanel.java:310)
at com.servoy.j2db.property.I18NPanel.Ze(I18NPanel.java:285)
at com.servoy.j2db.property.Zh.actionPerformed(Zh.java:2)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Can you open a case with a small sample to reproduce this?

Ok, no need to open a case, the problem is fixed now. The fix will be included in next release. It was a problem with generating the servoy sequence.

OK Laurian, glad you found- and fixed it.

Thanks,
Ron