Info: The GLIB_PRESETS in module.py appear to be slightly different from those in the Meson build system
While I was searching for how Damned Lies handles translatable strings, I came across the following code in model.py
# These args should be kept in sync with
# https://github.com/mesonbuild/meson/blob/master/mesonbuild/modules/i18n.py#L25
GLIB_PRESET = (
"--keyword=_",
"--keyword=N_",
"--keyword=C_:1c,2",
"--keyword=NC_:1c,2",
"--keyword=g_dcgettext:2",
"--keyword=g_dngettext:2,3",
"--keyword=g_dpgettext2:2c,3",
"--flag=N_:1:pass-c-format",
"--flag=C_:2:pass-c-format",
"--flag=NC_:2:pass-c-format",
"--flag=g_dngettext:2:pass-c-format",
"--flag=g_strdup_printf:1:c-format",
"--flag=g_string_printf:2:c-format",
"--flag=g_string_append_printf:2:c-format",
"--flag=g_error_new:3:c-format",
"--flag=g_set_error:4:c-format",
)
The corresponding code appears slightly different from that in model.py.
PRESET_ARGS = {
'glib': [
'--from-code=UTF-8',
'--add-comments',
# https://developer.gnome.org/glib/stable/glib-I18N.html
'--keyword=_',
'--keyword=N_',
'--keyword=C_:1c,2',
'--keyword=NC_:1c,2',
'--keyword=g_dcgettext:2',
'--keyword=g_dngettext:2,3',
'--keyword=g_dpgettext2:2c,3',
'--flag=N_:1:pass-c-format',
'--flag=C_:2:pass-c-format',
'--flag=NC_:2:pass-c-format',
'--flag=g_dngettext:2:pass-c-format',
'--flag=g_strdup_printf:1:c-format',
'--flag=g_string_printf:2:c-format',
'--flag=g_string_append_printf:2:c-format',
'--flag=g_error_new:3:c-format',
'--flag=g_set_error:4:c-format',
'--flag=g_markup_printf_escaped:1:c-format',
'--flag=g_log:3:c-format',
'--flag=g_print:1:c-format',
'--flag=g_printerr:1:c-format',
'--flag=g_printf:1:c-format',
'--flag=g_fprintf:2:c-format',
'--flag=g_sprintf:2:c-format',
'--flag=g_snprintf:3:c-format',
]
}
The following parts are different.
'--from-code=UTF-8',
'--add-comments',
'--flag=g_markup_printf_escaped:1:c-format',
'--flag=g_log:3:c-format',
'--flag=g_print:1:c-format',
'--flag=g_printerr:1:c-format',
'--flag=g_printf:1:c-format',
'--flag=g_fprintf:2:c-format',
'--flag=g_sprintf:2:c-format',
'--flag=g_snprintf:3:c-format',