The xgettext call in locale/CMakeLists.txt doesn't detect
QObjectDerivedClass::tr(). Because of this, we ended up missing
a few strings for translation.
[locale] Update with the missed strings.
This took a while, since all of the translated strings had to be manually
converted from printf-style formatting to libfmt-style formatting.
Some "duplicate" messages in different contexts are now filled in if
other contexts had the same messages. (TODO: Deduplicate them.)
es.po: Add a missing colon to an rpcli message.
pt.po:
- Removed an incorrect fuzzy translation for No-XML builds.
- Add a missing newline to the amiibo.life notice.
- Add a missing colon to an rpcli message.
ru.po: s/DSK2/SDK2/ (assuming "DSK" is a typo...)
Copy/paste error resulted in two "_Open" strings.
Remove "_Close" from the other .po files.
This fixes a regression from commit efbd0dddde.
([gtk] stub-export.c: Change the RomDataView test program's button from "OK" to "Close", and localize it.)
KDE is re-implementing a configuration setting for this, so we should be
able to support it once it's reimplemented.
For 1,024 bytes:
- IEC = 1.00 KiB
- JEDEC = 1.00 KB
- Metric = 1.02 KB
Note that the configuration file isn't checked yet, so the new feature
isn't used anywhere except in TextFuncsTest.
[librptext/tests] TextFuncsTest: Add tests for all three binary unit
dialects.
Not included yet: NOP_C_("EXE|Exports", "Flags")
NOTE: es.po had C_("MachO", "Flags") translated as "Parametros" instead
of "Attributos". It's now using the common "Attributos". I don't think
there was really a significant distinction here...
They're all the same string, so there's no need for four separate
versions.
TODO: Wim has "OS Version" as well, but it's part of a string array
that's localized using RomFields::strArrayToVector_i18n(), so we can't
easily consolidate it. (Unless we also consolidate "Blocks" and "Type"...)
fr.po:
- Clean out the old "Version" strings.
- Add "OS Version" -> "Version du OS". (TODO: "OS" or "SO"?)
pt.po:
- Change the "Language" tag back to "pt_BR".
- Was accidentally reverted to just "pt" when "Filename" was consolidated
in commit 1a37db5612.
([libromdata] Consoliate four "Filename" strings into the RomData context.)
They're all the same string, so there's no need for four separate
versions.
TODO: CBMDOS has "Filename" as well, but it's part of a string array
that's localized using RomFields::strArrayToVector_i18n(), so we can't
easily consolidate it. (Unless we also consolidate "Blocks" and "Type"...)
Note that I'm building the KF6 frontend locally now, so the generated
UI files for KF6 are showing up in the .pot and .po files now.
ISO: Remove "fuzzy" markings from "Application".
"*.*" is a DOS holdover that's still used on Windows for reasons, and
on Windows, I believe it can match files that *don't* have a file
extension, whereas that isn't the case on Linux.
[libwin32ui] WinUI: Convert "*" to "*.*" when displaying file dialogs.
Windows users are more familiar with "*.*". In my testing, both "*"
and "*.*" functioned the same on Windows, and both matched files with
no file extension.
It's now stored in a separate char before the label string. Note that
this does waste space (3 bytes on 32-bit, 7 bytes on 64-bit), but it's
easier to add the character there in the .c file. Putting the character
at the end wouldn't have saved much space anyway, since the data is
stored in an array, so the pointers would be aligned anyway.
[locale] Removed the lsattr characters from the translated strings.
Code size difference: (64-bit Gentoo Linux, gcc-13.2.0, release build, no LTO)
text data bss dec hex filename
1952 528 0 2480 9b0 Ext2AttrData.c.o [before]
1886 704 0 2590 a1e Ext2AttrData.c.o [after]
-66 +176 0 +110 +6e Difference
"Wii keys.bin", "Wii U otp.bin", etc. aren't translatable.
The KDE frontend didn't translate them anyway, and the only part of
the GTK frontend that translated these strings was the
rp_key_manager_tab_show_key_import_return_status() call.
Windows:
- Move import_menu_actions[] out of importKeysFromBin().
- Change it to LPCTSTR.
- Add an array of import_menu_actions_ids[].
- Use these arrays to create the menu using CreatePopupMenu() and
AppendMenu() instead of using a MENU resource.
[locale] Remove these translated strings, which were identical to the
untranslated strings in cases where they were actually translated.
gtk-compat: New wrapper function rp_gtk_check_button_new_with_mnemonic()
that converts e.g. "&Hidden" to "_Hidden" and then calls the original
gtk_check_button_new_with_mnemonic() function.
[locale] Update rom-properties.pot and *.po.
This removes six GTK-specific strings for DosAttrView.