On Wed, 29 Jun 2022 19:08:12 GMT, Alexey Ivanov <[email protected]> wrote:
>> src/java.desktop/share/classes/sun/swing/FilePane.java line 1198:
>>
>>> 1196: text = MessageFormat.format(kiloByteString, len +
>>> 1);
>>> 1197: } else if (len < 1024L) {
>>> 1198: text = (len == 0L) ? 0 + " bytes" : len + "
>>> bytes";
>>
>> Is this necessary?
>> 0 + " bytes" --> "0 bytes"
>>
>> Also, will this code work correctly for non-English locales?
>
>> Also, will this code work correctly for non-English locales?
>
> It won't.
>
> It has to use `MessageFormat` and it has to add a new string to the resource
> bundle.
Dont think this len==0 check is needed...
One can use text = len + "bytes";
Also, this has i18n connection to it, so you need to use "byteString" similar
to "kiloByteString", point it to
UIManager.getString("FileChooser.fileSizeBytes", l); and add
"FileChooser.fileSizeBytes" entry into
share/classes/com/sun/swing/internal/plaf/basic/resources/basic.properties
share/classes/com/sun/swing/internal/plaf/basic/resources/basic_de.properties
share/classes/com/sun/swing/internal/plaf/basic/resources/basic_es.properties
share/classes/com/sun/swing/internal/plaf/basic/resources/basic_fr.properties
share/classes/com/sun/swing/internal/plaf/basic/resources/basic_it.properties
share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ja.properties
share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ko.properties
share/classes/com/sun/swing/internal/plaf/basic/resources/basic_pt_BR.properties
share/classes/com/sun/swing/internal/plaf/basic/resources/basic_sv.properties
share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_CN.properties
share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.properties
I am not sure if need i18n team's intervention to update those resources as
"bytes" can be translated to native in jp, zh
Maybe @naotoj can throw some light on that how to go about updating those
resource file
-------------
PR: https://git.openjdk.org/jdk/pull/9327