RFR: 8312075: FileChooser.win32.newFolder is not updated when changing Locale

Alexey Ivanov aivanov at openjdk.org
Tue Aug 8 11:34:41 UTC 2023


On Fri, 4 Aug 2023 18:34:31 GMT, Phil Race <prr at openjdk.org> wrote:

>> I can see French resource files: [`windows_fr.properties`](https://github.com/openjdk/jdk/blob/e8a37b90db8dca4dc3653970b2d66d2faf8ef452/src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/resources/windows_fr.properties); the resources may not be included in the built JDK though.
>> 
>> I remember translations were removed, some were added back later.
>
> Changing locale mid-application isn't something that seems like a good idea.
> Is that really what they want - not sure the test is exactly about that.
> Really I'm quite unclear as to whether the complaint is that some custom resource bundle isn't being used, or that there appears to be no FR localisation, or what ?
> 
> And if a Alexey says the change is renaming an internal action command string that seems odd.
> 
> I think this needs a better understanding to start with of what localisation support we have, and how it is being incorporated into the build and whether its being done as intended. 
> 
> After that is sorted we can ask for clarification as to what they really want to do.
> I'm not sure this change will even help them, right or wrong.

> Yeah @prrace , you are right. According to the bug, they want to change the locale mid-application. Meaning switching between locale mid-application, which seems to be wrong/not something to be done with existing flow. I understood it wrongly and hence the fix also is wrong. The locale is set and updated on application startup ( [here](https://github.com/openjdk/jdk/blob/87b08b6e0192d88025c2275c7dd2c4bdecda58e8/src/java.desktop/share/classes/javax/swing/filechooser/FileSystemView.java#L841) ). Hence I will close this PR.

It's not an invalid scenario, perhaps we could improve the support for this scenario. Yet we still need to understand better what was the original goal so that we could propose a solution.

https://github.com/openjdk/jdk/blob/87b08b6e0192d88025c2275c7dd2c4bdecda58e8/src/java.desktop/share/classes/javax/swing/filechooser/FileSystemView.java#L841-L844

If the fields `newFolderString` and `newFolderNextString` aren't constants but are fetched from `UIManager` whenever they're used, locale can be changed. The same holds for other instances of localisable resources. At this time, changing UI language isn't supported, at least for `JFileChooser`.

Some apps require restart to change the UI language, some apps support such a change on the fly.

Some apps update their formatting options right after the user modifies the format settings in the OS, some apps still require a restart.

Then another solution could be extending the resource bundle to provide translations for languages that aren't available in JDK.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/15069#discussion_r1286987129



More information about the client-libs-dev mailing list