The translation should work in a simple button, the English is translated properly but when I translate from English to Chinese, the strange thing is that the word is translated to Italian.
It looks like the Chinese language is not supported..
Unicode is just another way of doing the same thing. Example:unicode('转移')
In Jython 2.7, unicode() is used to cast to a Unicode string as opposed to ASCII. In later versions of Python (starting from Python 3), all strings are Unicode by default, and str() can be used, but in Ignition Jython scripting, I've found that it's safer to perform string casts with unicode() instead of str() because otherwise, I run into issues with special characters.
You need to apologize me, but how can I insert the unicode() function in the translation manager? Because I would like to avoid to add a script for every component in the view, it should be crazy.
No need for an apology, I was just being thorough when I offered both ways I know of for handling unicode characters in Ignition. I'm glad this worked for you:
When I test this, it works for me, but the only thing I see that the translation manager doesn't like is that it sees the Chinese characters as lower case. You could try changing the ignore capitalization setting to see if it translates with that set to True:
Edit: I meant to say, it works for me without the need for any unicode handling.
That's the difference; I didn't realize that there was space between the word and the colon when I tested it, so I was using Turno: and Shift: instead of Turno : and Shift :. When I went back and retested it with the space, I got the same result that you are reporting.