RFR: 8333827: JDK 23 RDP1 L10n resource files update

Justin Lu jlu at openjdk.org
Mon Jun 10 20:05:33 UTC 2024


On Fri, 7 Jun 2024 22:46:44 GMT, Damon Nguyen <dnguyen at openjdk.org> wrote:

> This issue is responsible for updating the translations of all the localize(able) resources in the JDK. Primarily, the changes between JDK 22 RDP 1 and the integration of the JDK 23 RDP 1 L10n drop will be translated.
> 
> The translation tool adjusted some definitions, which causes some changes in localized files where the source file had no changes. This causes some words being reverted from localized languages to English, and some had its definitions changed.
> 
> Alternatively, the diffs are viewable here and was generated using John Gibbon's diff tool for l10n:
> https://cr.openjdk.org/~dnguyen/output2/

Cannot speak to the translations themselves, but in general the changes LGTM pending the comments.

src/java.desktop/share/classes/sun/print/resources/serviceui_de.properties line 1:

> 1: #

It looks like these .properties files need to have their copyright years bumped. I believe since the original was not bumped, the translation tool did not reflect the correct year in the localized versions.

src/java.desktop/share/classes/sun/print/resources/serviceui_zh_CN.properties line 66:

> 64: label.size=大小(&Z):
> 65: label.source=来源(&C):
> 66: label.outputbins=输出托盘(&P):

Looks like the translation tool changed this from a colon (U+003A) to a full width colon (U+FF1A). There are l10n rules when it comes to punctuation, I am not sure if this is a result of that. It looks like the surrounding key/values are simply using (U+003A) colons. If we decide to revert this colon change, we need to also probably file a bug against the translation tool.

src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_de.properties line 278:

> 276:         UndeclaredElementInContentSpec = Contentmodell des Elements "{0}" verweist auf das nicht deklarierte Element "{1}".
> 277:         UniqueNotationName = Deklaration für die Notation "{0}" ist nicht eindeutig. Ein jeweiliger Name darf nicht in mehreren Notationsdeklarationen deklariert werden.
> 278:         ENTITYFailedInitializeGrammar =  ENTITYDatatype-Validator: Nicht erfolgreich. Initialisierungsmethode muss mit einer gültigen Grammatikreferenz aufgerufen werden. \t

It looks like the _zh_CN_ file should also have the `\t` removed, but such changes are done by the translation tool. I think in this case, we should manually remove it, and then file a bug against the translation tool.

src/jdk.jconsole/share/classes/sun/tools/jconsole/resources/messages_de.properties line 285:

> 283: VIRTUAL_MACHINE=Virtuelle Maschine
> 284: VM_ARGUMENTS=VM-Argumente
> 285: VMINTERNAL_FRAME_ACCESSIBLE_DESCRIPTION=Innerer Frame für das Monitoring einer Java Virtual Machine

This one-off change is consistent with the change in _src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/TTYResources_de.java_.

src/jdk.jshell/share/classes/jdk/internal/jshell/tool/resources/l10n_de.properties line 183:

> 181: jshell.fix.wrong.shortcut =Unerwartetes Zeichen nach Umschalt+Tab.\nVerwenden Sie "I" für automatischen Import, "V" zur Variablenerstellung oder "M" zur Methodenerstellung.\nWeitere Informationen finden Sie unter:\n/help shortcuts
> 182: 
> 183: help.usage = Verwendung:   jshell <option>... <load-file>...\nMögliche Optionen:\n    --class-path <path>   Gibt an, wo die Benutzerklassendateien gespeichert sind\n    --module-path <path>  Gibt an, wo die Anwendungsmodule gespeichert sind\n    --add-modules <module>(,<module>)*\n                          Gibt aufzulösende Module oder alle Module im\n                            Modulpfad an, wenn <module> ALL-MODULE-PATHs lautet\n    --enable-native-access\n                          Ermöglicht Ausführung eingeschränkter nativer Methoden durch Code\n    --enable-preview      Code kann Vorschaufeatures in diesem Release nutzen\n    --startup <Datei>      Ersetzung der Startdefinitionen mit einer Ausführung\n    --no-startup          Startdefinitionen werden nicht ausgeführt\n    --feedback <Modus>     Gibt den anfänglichen Feedbackmodus an. Der Modus kann\n                            vordefiniert (Silent, Concise, Normal oder Verbose) oder\n                            v
 orab benutzerdefiniert sein\n    -q                    Stilles Feedback. Identisch mit: --feedback concise\n    -s                    Äußerst stilles Feedback. Identisch mit: --feedback silent\n    -v                    Verbose-Feedback. Identisch mit: --feedback verbose\n    -J<flag>              Übergibt <flag> an das Laufzeitsystem, hat aber keine Auswirkungen\n                            auf die Ausführung von Code-Snippets. Um Kennzeichen anzugeben,\n                            die die Ausführung von Code-Snippets beeinflussen, verwenden Sie\n                            -R<flag>. Verwenden Sie alternativ dazu -J<flag> mit\n                            --execution local.\n    -R<flag>              Übergibt <flag> nur dann an das Laufzeitsystem, wenn\n                            Code-Snippets ausgeführt werden. Beispiel: -R-Dfoo=bar\n                            bedeutet, dass die Ausführung des Snippets\n                            System.getProperty("foo") "bar" zurückgi
 bt.\n    -C<flag>              Übergibt <flag> an den Java-Compiler in JShell.\n                            Beispiel: -C-Xlint aktiviert alle empfohlenen\n                            LINT-Warnungen, und -C--release=<N> kompiliert für\n                            Java SE N, wie wenn --release N angegeben wird.\n                            Verwenden Sie ein -C pro Compiler-Kennzeichen oder Kennzeichenargument\n    --version             Gibt Versionsinformationen aus und beendet den Vorgang\n    --show-version        Gibt Versionsinformationen aus und setzt den Vorgang fort\n    --help, -?, -h        Gibt diese Zusammenfassung der Standardoptionen aus und beendet den Vorgang\n    --help-extra, -X      Gibt Hilfetext zu Nicht-Standardoptionen aus und beendet den Vorgang\n\nEin Dateiargument kann ein Dateiname oder einer der vordefinierten Dateinamen sein: DEFAULT,\nPRINTING, TOOLING oder JAVASE.\nEine Ladedatei kann auch "-" zur Angabe einer Standardeingabe ohne interaktiven I/O sein.
 \n\nWeitere Informationen zu den Auswertungskontextoptionen (--class-path,\n--module-path und --add-modules) finden Sie unter:\n\t/help context\n\nEin Pfad listet die zu durchsuchenden Verzeichnisse und Archive auf. Verwenden Sie unter Windows ein\nSemikolon (;), um Elemente im Pfad zu trennen. Verwenden Sie auf anderen Plattformen einen\nDoppelpunkt (:), um Elemente zu trennen.\n

> Any particular reason you know that the tool had the definitions adjusted? I see some of the changes look like like command line options not being translated, but it's a bit hard to tell. Do you know if the reverted words should be translated (and possibly will be re-translated in future drops?) or should they be left untranslated?

@alisenchung While these command line options are untranslated, which initially may seem confusing, it appears to be the translation tool standardizing the definitions with the Japanese and Chinese localized definitions. We should leave them untranslated.

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

PR Review: https://git.openjdk.org/jdk/pull/19609#pullrequestreview-2106349441
PR Review Comment: https://git.openjdk.org/jdk/pull/19609#discussion_r1632407907
PR Review Comment: https://git.openjdk.org/jdk/pull/19609#discussion_r1632376640
PR Review Comment: https://git.openjdk.org/jdk/pull/19609#discussion_r1632375726
PR Review Comment: https://git.openjdk.org/jdk/pull/19609#discussion_r1632377328
PR Review Comment: https://git.openjdk.org/jdk/pull/19609#discussion_r1632373349


More information about the javadoc-dev mailing list