f42d9df3e0
Commit dbf993300a moved all inline D-Bus interface descriptions to template strings so we can stop escaping line breaks. Unfortunately that unveiled a grave bug in xgettext, which currently cannot handle files that contain both backtick and slash characters - as a result, translations from affected files have started to disappear as translators run xgettext/msgmerge. Instead of reverting the change and getting the crusty escaping back, we will take this as an opportunity to stop inlining the XML altogether and load it from a resource instead. To facilitate that, add a small helper method that loads a D-Bus interface description from a dedicated resource bundle. https://gitlab.gnome.org/GNOME/gnome-shell/issues/537
Gnome-shell OSK layouts are extracted from CLDR layout definitions: https://www.unicode.org/cldr/charts/latest/keyboards/layouts/index.html Updating these involves several steps: 1) Downloading and unzipping the tarball found at: http://www.unicode.org/Public/cldr/latest/keyboards.zip This file contains XML files describing the keyboard layouts. 2) Cloning the cldr2json script at: git://repo.or.cz/cldr2json.git It will be used to convert the XML files into JSON that can be directly consumed by gnome-shell. 3) Running the script to produce the files: ./cldr2json <input-directory> <output-directory> We shall usually use the "android" folder, since that's most complete, and similar to our UI and target sizes. And the target directory must be data/osk-layouts in this repository. 4) Modify gnome-shell-osk-layouts.gresource.xml to include the files 5) Do git add on the updated/new files, and git commit. Or alternatively: 1) Run update-osk-layouts.sh 2) Do git add and git commit