On 6 July 2016 at 09:07, Thomas Raehalme <thomas.raehalme@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@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@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@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-

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@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@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@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@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@lists.jboss.org
>> > https://lists.jboss.org/mailman/listinfo/keycloak-dev
>>
>> --
>>
>> abstractj
>> PGP: 0x84DC9914
>> _______________________________________________
>> keycloak-dev mailing list
>> keycloak-dev@lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/keycloak-dev
>
>


_______________________________________________
keycloak-dev mailing list
keycloak-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/keycloak-dev