Skip to content

Commit 1459539

Browse files
committed
[i18n] in description.xml use "lang" attribute instead of "xml:lang"
Required reordering of scripts.
1 parent efcdb5a commit 1459539

File tree

3 files changed

+29
-22
lines changed

3 files changed

+29
-22
lines changed

create_oxt.sh

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,6 @@ zip -r "$OXT" \
1919
toolbar \
2020
--exclude /*meson.build /*.in /*bundled_manifest.xml
2121

22-
# LibreOffice doesn't understand xml:lang attribute when installed as otx
23-
sed -i'' 's/xml:lang/lang/' $BUILD_ROOT/extension/description.xml
24-
2522
# Add generated files from build root
2623
cd "$BUILD_ROOT"/extension &&
2724
zip -r "$OXT" \

extension/i18n_description.sh

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
#!/bin/bash
22
# Ridiculous hack to automatically translate OpenOffice's <extension-description>
3-
# input: <sourcedir>/extension/description_translation.xml
4-
# <sourcedir>/po/<lang>.po
5-
# <builddir>/extension/description.xml.in.in
6-
# output: <builddir>/extension/description.xml.in
7-
# <builddir>/extension/description/desc_<lang>.txt
83

9-
SOURCE_DIR="${MESON_SOURCE_ROOT}"/extension
10-
BUILD_DIR="${MESON_BUILD_ROOT}"/extension
4+
5+
MESON_SOURCE_ROOT="$1"
6+
MESON_BUILD_ROOT="$2"
7+
8+
SOURCE_DIR="$MESON_SOURCE_ROOT"/extension
9+
BUILD_DIR="$MESON_BUILD_ROOT"/extension
1110

1211
# First get the english text
1312

@@ -24,13 +23,16 @@ do
2423
then
2524
# .po files have exactly one translation for source file "translation_source.xml"
2625
# Get that translation and check if not empty.
27-
string=`grep -A 2 'extension/description_translation.xml' "${MESON_SOURCE_ROOT}"/po/$lang.po | sed -n 's/msgstr "\(.*\)"/\1/p'`
26+
string=`grep -A 2 'extension/description_translation.xml' "$MESON_SOURCE_ROOT"/po/$lang.po | sed -n 's/msgstr "\(.*\)"/\1/p'`
2827
if [ "$string" != "" ]
2928
then
3029
echo "$string" > "$BUILD_DIR"/description/desc_$lang.txt
3130
sed "/.*\/extension-description/i <src xlink:href=\"description/desc_$lang.txt\" lang=\"$lang\" />" \
32-
"$BUILD_DIR"/description.xml.in.in \
33-
> "$BUILD_DIR"/description.xml.in
31+
"$BUILD_DIR"/description.xml.in \
32+
> "$BUILD_DIR"/description.xml
3433
fi
3534
fi
36-
done < "${MESON_SOURCE_ROOT}"/po/LINGUAS
35+
done < "$MESON_SOURCE_ROOT"/po/LINGUAS
36+
37+
# LibreOffice description.xml doesn't understand xml:lang attribute
38+
sed -i'' 's/xml:lang/lang/' "$BUILD_DIR"/description.xml

extension/meson.build

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,27 +3,35 @@ script_dir = join_paths(base_lo_dir, 'share', 'Scripts', 'python', 'parlatype')
33

44
# description.xml is generated in 3 steps:
55
# 1) Configure the version
6-
# 2) Generate <extension-description> links and text files
6+
# 2) Merge translations for <display-name>
7+
# 3) Generate <extension-description> links and text files
78
# in description/ for en and all translated languages
89
# using description_translation.xml and a flaky script
9-
# 3) Merge translations for <display-name>
1010

1111
desc = configuration_data()
1212
desc.set('VERSION', meson.project_version())
13-
configure_file(
13+
description_in_in = configure_file(
1414
input: 'description.xml.in.in.in',
1515
output: 'description.xml.in.in',
1616
configuration: desc
1717
)
1818

19-
run_command ('i18n_description.sh')
20-
21-
description = i18n.merge_file(
22-
input: join_paths(meson.current_build_dir(), 'description.xml.in'),
23-
output: 'description.xml',
19+
description_in = i18n.merge_file(
20+
input: description_in_in,
21+
output: 'description.xml.in',
2422
type: 'xml',
2523
po_dir: '../po',
2624
data_dirs: [ '../po' ],
25+
install: false,
26+
)
27+
28+
i18n_script = find_program('i18n_description.sh', required: true)
29+
30+
description = custom_target(
31+
'description',
32+
input: description_in,
33+
output: 'description.xml',
34+
command: [ i18n_script, meson.source_root(), meson.build_root() ],
2735
install: bundled,
2836
install_dir: extension_dir,
2937
)

0 commit comments

Comments
 (0)