As Albert said, the context is not being passed on the workflow 'executes'. Enabling the RPC debug output on the GTK Client, you get something like this:
In some places, like the invoice.action_create, a new context is created with a new lang key IN INCONSISTENT WAYS: some actions will never get a lang, some actions will get an incorrect lang.
For example, in invoice.action_create the lang of the partner is used, instead of the lang of the current user, for displaying warnings.
That means, that:
- Spanish users creating an (invalid) invoice for a spanish partner, will get a warning in spanish. (i.e. "¡Total erróneo!")
- Spanish users creating an (invalid) invoice for a french partner, will get a warning in french. (I did get "Bad Total !", seems that it is not translated to french...)
- Spanish users creating an (invalid) invoice for a partner with no language defined, will get a warning in english. (i.e. "Bad Total !")
In the end... those -put here whatever language you like- speaking users just get pissed! (and so do the translators that don't understand why some messages won't get propertly translated).
As Albert said, the context is not being passed on the workflow 'executes'. Enabling the RPC debug output on the GTK Client, you get something like this:
For a normal action over an object:
DEBUG_RPC: rpc.request: ('execute' , 'test', 1, 'pass', ('account. invoice. line', 'read', [173], ['__last_update', 'uos_id', 'name', 'price_unit', 'price_subtotal', 'price_ subtotal_ incl', 'invoice_ line_tax_ id', 'product_id', 'account_ analytic_ id', 'quantity', 'account_id'], {'lang': u'es_ES', 'tz': False}))
The last dict is the context, and it contains a 'lang' key.
For an action over a workflow:
DEBUG_RPC: rpc.request: ('exec_ workflow' , 'test', 1, 'pass', (u'account. invoice' , 'invoice_open', 136L))
No context dict, so no 'lang' is defined here.
In some places, like the invoice. action_ create, a new context is created with a new lang key IN INCONSISTENT WAYS: some actions will never get a lang, some actions will get an incorrect lang.
For example, in invoice. action_ create the lang of the partner is used, instead of the lang of the current user, for displaying warnings.
That means, that:
- Spanish users creating an (invalid) invoice for a spanish partner, will get a warning in spanish. (i.e. "¡Total erróneo!")
- Spanish users creating an (invalid) invoice for a french partner, will get a warning in french. (I did get "Bad Total !", seems that it is not translated to french...)
- Spanish users creating an (invalid) invoice for a partner with no language defined, will get a warning in english. (i.e. "Bad Total !")
In the end... those -put here whatever language you like- speaking users just get pissed! (and so do the translators that don't understand why some messages won't get propertly translated).