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

Stian Thorgersen sthorger at redhat.com
Wed Jul 6 03:36:00 EDT 2016


On 6 July 2016 at 09:07, Thomas Raehalme <thomas.raehalme at aitiofinland.com>
wrote:

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

The fact that it's the default doesn't mean it has to be the only way ;)


>
> 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/0074ccde/attachment.html 


More information about the keycloak-dev mailing list