| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | AA | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | To use enketo's UI/form language syncing feature, it is required to define form language names as described here: https://xlsform.org/en/#multiple-language-support | ||||||||||||||||||||||||||
2 | |||||||||||||||||||||||||||
3 | default form language = the explicitly defined default language in the XForm definition, or the overwritten language with the ?lang=ar querystring using a IANA language subtag (no difference between those, but ?lang= beats form-defined default) | ||||||||||||||||||||||||||
4 | browser language = the browser locale | ||||||||||||||||||||||||||
5 | |||||||||||||||||||||||||||
6 | English has been set as the UI fallback language if the requested UI translation file, or a single translation string, does not exist | ||||||||||||||||||||||||||
7 | |||||||||||||||||||||||||||
8 | scenario | result upon form load | Note: don't forget to change browser language manually for these tests! | ||||||||||||||||||||||||
9 | # | browser lang | form langs | default form lang | result UI lang | result form lang | comment | test link | |||||||||||||||||||
10 | A | fr | fr, en, ar | en | en | en | http://localhost:8005/preview/?form=https://gist.githubusercontent.com/MartijnR/92198f7897b99d03064fc688dce8e151/raw/63c9f351d87355df00cf603a57ffcae804f8fd6a/language-test.xml | ||||||||||||||||||||
11 | B | fr | fr, en, ar | - | fr | fr | http://localhost:8005/preview/?form=https://gist.githubusercontent.com/MartijnR/92198f7897b99d03064fc688dce8e151/raw/7cf4a2e5f147962aa82f16c6f19271de5ac8b429/language-test.xml | ||||||||||||||||||||
12 | C | wo | fr, en, ar | en | en | en | http://localhost:8005/preview/?form=https://gist.githubusercontent.com/MartijnR/92198f7897b99d03064fc688dce8e151/raw/63c9f351d87355df00cf603a57ffcae804f8fd6a/language-test.xml | ||||||||||||||||||||
13 | D | wo | fr, en, ar | - | fr | fr | Use first-defined form language, because wo UI translation is not available | http://localhost:8005/preview/?form=https://gist.githubusercontent.com/MartijnR/92198f7897b99d03064fc688dce8e151/raw/7cf4a2e5f147962aa82f16c6f19271de5ac8b429/language-test.xml | |||||||||||||||||||
14 | E | wo | fr, en, ar | fr | fr | fr | http://localhost:8005/preview/?lang=fr&form=https://gist.githubusercontent.com/MartijnR/92198f7897b99d03064fc688dce8e151/raw/7cf4a2e5f147962aa82f16c6f19271de5ac8b429/language-test.xml | ||||||||||||||||||||
15 | F | wo | fr, ar | fr | fr | fr | http://localhost:8005/preview/?form=https://gist.githubusercontent.com/MartijnR/92198f7897b99d03064fc688dce8e151/raw/04a72bec361076fb5732078ce2871b10ffdd5a0f/language-test.xml | ||||||||||||||||||||
16 | G | wo | fr, ar | - | fr | fr | Use first-defined form language, because wo UI translation is not available | http://localhost:8005/preview/?lang=-&form=https://gist.githubusercontent.com/MartijnR/92198f7897b99d03064fc688dce8e151/raw/04a72bec361076fb5732078ce2871b10ffdd5a0f/language-test.xml | |||||||||||||||||||
17 | H | fr | ar, en | en | en | en | http://localhost:8005/preview/?form=https://gist.githubusercontent.com/MartijnR/92198f7897b99d03064fc688dce8e151/raw/6cb2efdb540ea6ca81bfbe4802a20df360832190/language-test.xml | ||||||||||||||||||||
18 | I | fr | ar, en | - | ar | ar | http://localhost:8005/preview/?form=https://gist.githubusercontent.com/MartijnR/92198f7897b99d03064fc688dce8e151/raw/176e47e4bafdc685967fa3d04020edfdc9f7ae84/language-test.xml | ||||||||||||||||||||
19 | J | fr | ar, en | ar | ar | ar | http://localhost:8005/preview/?lang=ar&form=https://gist.githubusercontent.com/MartijnR/92198f7897b99d03064fc688dce8e151/raw/176e47e4bafdc685967fa3d04020edfdc9f7ae84/language-test.xml | ||||||||||||||||||||
20 | K | en | ar, en | ar | ar | ar | http://localhost:8005/preview/?form=https://gist.githubusercontent.com/MartijnR/92198f7897b99d03064fc688dce8e151/raw/ae8c01ceaffa0ac507825e6be9dc72e3b6736ce7/language-test.xml | ||||||||||||||||||||
21 | L | en | en, ar | - | en | en | http://localhost:8005/preview/?form=https://gist.githubusercontent.com/MartijnR/92198f7897b99d03064fc688dce8e151/raw/cb24d0c078577b4c409c673811165b21e2b043f3/language-test.xml | ||||||||||||||||||||
22 | M | ar | en, ar | - | ar | ar | http://localhost:8005/preview/?form=https://gist.githubusercontent.com/MartijnR/92198f7897b99d03064fc688dce8e151/raw/cb24d0c078577b4c409c673811165b21e2b043f3/language-test.xml | ||||||||||||||||||||
23 | N | wo | wo, en | wo | en | wo | wo UI translation not available | http://localhost:8005/preview/?form=https://gist.githubusercontent.com/MartijnR/92198f7897b99d03064fc688dce8e151/raw/eb02de4d2ecda56f6b863be3fd621c7432fb74d2/language-test.xml | |||||||||||||||||||
24 | O | wo | wo, en | - | en | wo | http://localhost:8005/preview/?form=https://gist.githubusercontent.com/MartijnR/92198f7897b99d03064fc688dce8e151/raw/6b5d5be25779491ecc32687ce00b4efad8af4285/language-test.xml | ||||||||||||||||||||
25 | P | wo | wo, en | en | en | en | http://localhost:8005/preview/?form=https://gist.githubusercontent.com/MartijnR/92198f7897b99d03064fc688dce8e151/raw/6c09d23a60dfcfef3301b02880584388124d4944/language-test.xml | ||||||||||||||||||||
26 | Q | en | wo, en | en | en | en | http://localhost:8005/preview/?form=https://gist.githubusercontent.com/MartijnR/92198f7897b99d03064fc688dce8e151/raw/6c09d23a60dfcfef3301b02880584388124d4944/language-test.xml | ||||||||||||||||||||
27 | R | en | wo, en | - | en | en | http://localhost:8005/preview/?form=https://gist.githubusercontent.com/MartijnR/92198f7897b99d03064fc688dce8e151/raw/6b5d5be25779491ecc32687ce00b4efad8af4285/language-test.xml | ||||||||||||||||||||
28 | S | fr | en, Frans | en | en | en | http://localhost:8005/preview/?form=https://gist.githubusercontent.com/MartijnR/92198f7897b99d03064fc688dce8e151/raw/3c870360821b4ebee88977b4d1669909c218ab5f/language-test.xml | ||||||||||||||||||||
29 | T | fr | Frans, en | - | fr | Frans | Frans(French in Dutch) cannot be resolved to fr | pass | http://localhost:8005/preview/?form=https://gist.githubusercontent.com/MartijnR/92198f7897b99d03064fc688dce8e151/raw/ffbce69f3997bfbb2deae2ac8977ca3992ba13b4/language-test.xml | ||||||||||||||||||
30 | V | de | en, Frans | Frans | de | Frans | Frans(French in Dutch) cannot be resolved to fr | pass | http://localhost:8005/preview/?form=https://gist.githubusercontent.com/MartijnR/92198f7897b99d03064fc688dce8e151/raw/2c484def042cceae1139bbee47313777a7857524/language-test.xml | ||||||||||||||||||
31 | W | de | en, Frans | - | en | en | http://localhost:8005/preview/?form=https://gist.githubusercontent.com/MartijnR/92198f7897b99d03064fc688dce8e151/raw/48ff71113cde6083d75351a9f1ccb2e70cc5a5ed/language-test.xml | ||||||||||||||||||||
32 | X | de | - | - | de | - | form has one language (undefined), and de is available as UI language | ||||||||||||||||||||
33 | |||||||||||||||||||||||||||
34 | lang query param => default language => browser language => first form language? | ||||||||||||||||||||||||||
35 | |||||||||||||||||||||||||||
36 | |||||||||||||||||||||||||||
37 | |||||||||||||||||||||||||||
38 | |||||||||||||||||||||||||||
39 | |||||||||||||||||||||||||||
40 | |||||||||||||||||||||||||||
41 | |||||||||||||||||||||||||||
42 | |||||||||||||||||||||||||||
43 | |||||||||||||||||||||||||||
44 | |||||||||||||||||||||||||||
45 | |||||||||||||||||||||||||||
46 | |||||||||||||||||||||||||||
47 | |||||||||||||||||||||||||||
48 | |||||||||||||||||||||||||||
49 | |||||||||||||||||||||||||||
50 | |||||||||||||||||||||||||||
51 | |||||||||||||||||||||||||||
52 | |||||||||||||||||||||||||||
53 | |||||||||||||||||||||||||||
54 | |||||||||||||||||||||||||||
55 | |||||||||||||||||||||||||||
56 | |||||||||||||||||||||||||||
57 | |||||||||||||||||||||||||||
58 | |||||||||||||||||||||||||||
59 | |||||||||||||||||||||||||||
60 | |||||||||||||||||||||||||||
61 | |||||||||||||||||||||||||||
62 | |||||||||||||||||||||||||||
63 | |||||||||||||||||||||||||||
64 | |||||||||||||||||||||||||||
65 | |||||||||||||||||||||||||||
66 | |||||||||||||||||||||||||||
67 | |||||||||||||||||||||||||||
68 | |||||||||||||||||||||||||||
69 | |||||||||||||||||||||||||||
70 | |||||||||||||||||||||||||||
71 | |||||||||||||||||||||||||||
72 | |||||||||||||||||||||||||||
73 | |||||||||||||||||||||||||||
74 | |||||||||||||||||||||||||||
75 | |||||||||||||||||||||||||||
76 | |||||||||||||||||||||||||||
77 | |||||||||||||||||||||||||||
78 | |||||||||||||||||||||||||||
79 | |||||||||||||||||||||||||||
80 | |||||||||||||||||||||||||||
81 | |||||||||||||||||||||||||||
82 | |||||||||||||||||||||||||||
83 | |||||||||||||||||||||||||||
84 | |||||||||||||||||||||||||||
85 | |||||||||||||||||||||||||||
86 | |||||||||||||||||||||||||||
87 | |||||||||||||||||||||||||||
88 | |||||||||||||||||||||||||||
89 | |||||||||||||||||||||||||||
90 | |||||||||||||||||||||||||||
91 | |||||||||||||||||||||||||||
92 | |||||||||||||||||||||||||||
93 | |||||||||||||||||||||||||||
94 | |||||||||||||||||||||||||||
95 | |||||||||||||||||||||||||||
96 | |||||||||||||||||||||||||||
97 | |||||||||||||||||||||||||||
98 | |||||||||||||||||||||||||||
99 | |||||||||||||||||||||||||||
100 | |||||||||||||||||||||||||||