[keycloak-dev] Support UTF-8 encoding theme message properites

Thomas Raehalme thomas.raehalme at aitiofinland.com
Wed Jul 6 03:07:20 EDT 2016


I didn't say using ISO-8859-1 with .properties was elegant, just the way it
is :-)

For XML files UTF-8 is the default in the specification:
https://www.w3.org/TR/REC-xml/#sec-guessing
Maintaining XML files is not fun either, but it does solve the encoding
issue.

Best regards,
Thomas


On Wed, Jul 6, 2016 at 9:43 AM, Stian Thorgersen <sthorger at redhat.com>
wrote:

> Actually, just thought of a con for encoding header in properties file.
> IDEs would not honor it and would in most cases believe the file is
> iso-8859-1.
>
> On 6 July 2016 at 08:41, Stian Thorgersen <sthorger at redhat.com> wrote:
>
>> Java properties file does by default use iso-8859-1, but that's far from
>> elegant for some languages. I don't see any issues with supporting utf-8
>> with a header like I suggested. It would be fairly easy to implement. Java
>> does use utf-8 by default for XML property files, but I don't think that's
>> a very nice format to edit the messages in.
>>
>> On 6 July 2016 at 08:32, Thomas Raehalme <
>> thomas.raehalme at aitiofinland.com> wrote:
>>
>>> Please correct me if I am wrong, but I have been under the impression
>>> that Java .properties files should always use encoding ISO-8859-1.
>>> Characters not present in ISO-8859-1 can be written in \uxxxx. Won't it
>>> make things confusing to developers if another encoding is used here
>>> instead?
>>>
>>>
>>> https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html#load-java.io.InputStream-
>>>
>>> https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html#store-java.io.OutputStream-java.lang.String-
>>>
>>> If alternate encodings are desired how about supporting the XML format
>>> of Properties?
>>>
>>> Best regards,
>>> Thomas
>>>
>>>
>>> On Wed, Jul 6, 2016 at 9:04 AM, Stian Thorgersen <sthorger at redhat.com>
>>> wrote:
>>>
>>>> Both iso-8859-1 and utf-8 message bundles should be able to co-exist.
>>>>
>>>> We can allow specifying the encoding in a comment on the first line
>>>> like this:
>>>>
>>>> # encoding=utf-8
>>>> key=value
>>>>
>>>> # encoding=iso-8859-1
>>>> key=value
>>>>
>>>> If the first line in the file doesn't contain the comment with the
>>>> encoding then we should default to iso-8859-1 for backwards compatibility
>>>>
>>>> On 5 July 2016 at 09:49, Hiroyuki Wada <wadahiro at gmail.com> wrote:
>>>>
>>>>> Thanks for your comment.
>>>>>
>>>>> > If we want to change to utf-8 we'd still need to support iso.. for
>>>>> backwards compatibility.
>>>>>
>>>>> If we change to UTF-8, we can still read unicode codepoint like
>>>>> '\u00e8'.
>>>>> There is an incompatibility when non-ascii characters are used in
>>>>> message properties.
>>>>> The non-ascii characters are 0xA0 - 0xFF codes (please refer codepage
>>>>> layout: https://en.wikipedia.org/wiki/ISO/IEC_8859-1#Codepage_layout )
>>>>>
>>>>> I think the non-ascii characters might be used in French messages like
>>>>> 'à' so I agree to support ISO-8859-1 for backwards compatibility.
>>>>> To support this, I think we can add a property like "messageEncoding"
>>>>> in keycloak-server.json as below. Is it a good idea?
>>>>>
>>>>>     "theme": {
>>>>>         "staticMaxAge": 2592000,
>>>>>         "cacheTemplates": true,
>>>>>         "cacheThemes": true,
>>>>>         "messageEncoding": "ISO-8859-1",
>>>>>         "folder": {
>>>>>           "dir": "${jboss.home.dir}/themes"
>>>>>         }
>>>>>     },
>>>>>
>>>>> Regards,
>>>>>
>>>>> On Mon, Jul 4, 2016 at 10:33 PM, Stian Thorgersen <sthorger at redhat.com>
>>>>> wrote:
>>>>> > We have in the past discussed this and decided to stick with
>>>>> ISO-8859-1.
>>>>> > That was probably not the best idea though. If we want to change to
>>>>> utf-8
>>>>> > we'd still need to support iso.. for backwards compatibility.
>>>>> >
>>>>> > On 4 July 2016 at 14:37, Bruno Oliveira <bruno at abstractj.org> wrote:
>>>>> >>
>>>>> >> It makes sense, maybe file a Jira associated with:
>>>>> >> https://issues.jboss.org/browse/KEYCLOAK-3259 ?
>>>>> >>
>>>>> >> On 2016-07-04, Hiroyuki Wada wrote:
>>>>> >> > Hello all,
>>>>> >> >
>>>>> >> > I am trying to translate all base theme messages to my country
>>>>> >> > language, Japanese. And I'd like to contribute them. Before that
>>>>> work,
>>>>> >> > I'd like to propose about the files encoding.
>>>>> >> >
>>>>> >> > Currently, the message files (*.properties) are loaded with
>>>>> ISO-8859-1
>>>>> >> > encoding. Therefore, it is necessary to convert the files by
>>>>> >> > 'native2ascii' command beforehand. However we can directly read
>>>>> the
>>>>> >> > property files with UTF-8 encoding in java 1.6 or later because
>>>>> >> > 'java.util.Properties#load(java.io.Reader)' method was introduced
>>>>> as
>>>>> >> > below.
>>>>> >> >
>>>>> >> >
>>>>> >> >
>>>>> http://docs.oracle.com/javase/6/docs/api/java/util/Properties.html#load(java.io.Reader)
>>>>> >> >
>>>>> >> > So, my proposal is supporting the message files with UTF-8
>>>>> encoding. I
>>>>> >> > believe that it's very developers/customers friendly. In
>>>>> addition, we
>>>>> >> > can easily review the translated messages on the github pull
>>>>> request
>>>>> >> > view and so on. What do you think?
>>>>> >> >
>>>>> >> > If it's ok, I'll create a JIRA issue and create a pull request.
>>>>> >> >
>>>>> >> > Regards,
>>>>> >> >
>>>>> >> > --
>>>>> >> > Hiroyuki Wada,
>>>>> >> > Developer,
>>>>> >> > Nomura Research Institute, Ltd.
>>>>> >> > _______________________________________________
>>>>> >> > keycloak-dev mailing list
>>>>> >> > keycloak-dev at lists.jboss.org
>>>>> >> > https://lists.jboss.org/mailman/listinfo/keycloak-dev
>>>>> >>
>>>>> >> --
>>>>> >>
>>>>> >> abstractj
>>>>> >> PGP: 0x84DC9914
>>>>> >> _______________________________________________
>>>>> >> keycloak-dev mailing list
>>>>> >> keycloak-dev at lists.jboss.org
>>>>> >> https://lists.jboss.org/mailman/listinfo/keycloak-dev
>>>>> >
>>>>> >
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> keycloak-dev mailing list
>>>> keycloak-dev at lists.jboss.org
>>>> https://lists.jboss.org/mailman/listinfo/keycloak-dev
>>>>
>>>
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/keycloak-dev/attachments/20160706/47c304f7/attachment-0001.html 


More information about the keycloak-dev mailing list