Workflow previously:
- find and download VM image
- Internet Archive / WinWorldPC
- make sure of language code (for instance, dk was actually da under the ISO standard)
- https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
- move/rename so it's clear what it is
- renaming it after creating the VM is complicated because it'll break virtualbox file references
- in command line, `bash ./localization/install-windows-98.sh <language code> `
- drag and drop iso into command line to complete the command
- attempt the command, and if it doesn't work, try other product keys or update the script as needed or install manually
- close VM
- in command line, `bash ./localization/grab-files-from-vm.sh <language code> `
- drag and drop vdi into command line to complete the command
- run desktop automation, pressing Down at the appropriate time if there's a media notification like for YouTube
- close window
- go into Windows 10 VM
- find the new mspaint.exe
- right click, open resource tuner
- wait for it to load
- click the save multiple (batch export) button
- hit Next
- choose directory `Z:\extracted-resources\<language code>\mspaint`, creating the directories as needed
- hit Finish
- close window
- pause VM
- go to `/home/io/Downloads/Windowses/VirtualBox VMs/Win10 Share/extracted-resources/<language code>/mspaint`
- select Dialog, Menu, and String Table for now, maybe Accelerator Table later
- copy it to `/home/io/Projects/jspaint/localization/<language code>`, creating directory as needed
- run `npm run update-localization`
- add language to list of available languages in index.html (may become localization.js at some point)
- test the new language
- commit
Workflow now:
- find and download VM image
- Internet Archive / WinWorldPC
- make sure of language code (for instance, dk was actually da under the ISO standard)
- https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
- move/rename so it's clear what it is
- renaming it after creating the VM is complicated because it'll break virtualbox file references
- in command line, `bash ./localization/install-windows-98.sh <language code> `
- drag and drop iso into command line to complete the command
- attempt the command, and if it doesn't work, try other product keys or update the script as needed or install manually
- close VM
- in command line, `bash ./localization/grab-files-from-vm.sh <language code>`
- run desktop automation, pressing Down at the appropriate time if there's a media notification like for YouTube
- test the new language
- commit
Fix ellipses showing in About Paint window title, like "Info..." for German because the menu item is named "Info...".
To include them without showing them in window titles, I need to add support for string IDs (or a hack specific to menus).
- Note: this does not add support for non-ASCII hotkey functionality; hotkeys are still hard-coded, as far as what keys you can press to trigger actions.
- Fixes the hotkey hint patching when hotkeys don't match across localizations, e.g. "&Файл" -> "Файл (&)" for File menu.
- Prevents ampersands from showing up in the UI where they're not supposed to, like in About Paint's window title.
- localization/ko/localizations.js changes should just be reorderings.
- No longer including "combined.rc" files in source control, since the combination is just done in memory.
This also changes the localization of "Colors" from "색" to "색상", perhaps among other things. It's hard to view the diff, and I don't know enough about Korean to decide which is better. Probably it should be different in different places, since there are multiple translations, and that will be a separate feature to introduce.