Page MenuHomePhabricator

Please provide an up-to-date list or table of fallback languages
Closed, ResolvedPublic


I need something like , or like - basically, a single page (not a visual) that allows me to quickly search for a language name and figure out which fallback language/cluster it belongs to.

If I had to check only on a few languages, I'm aware, per Amir, that I could manually look for the $fallback line in the relevant file in , but that is not doable for dozens or hundred checks.

If we had an up-to-date list, we may be able to build better delivery lists for MassMessage rather than always resorting to using English to message wikis. (Think, but it also has Wolof and others.)

If folks know how to build such a resource, even though they can't personally do it - please just document it? Thanks.

Related Objects

Resolved Moushira

Event Timeline

@Legoktm The way info is available at works for me, if it makes sense.
I believe that one may be based on the data the .svg uses, and Amir commented it's too outdated and didn't recommend using it.

@Amire80 I notice that @Nikerabbit actually updated back then.
It's still not in a non-visual format, but other than that I would have hoped for it to be accurate,
but I see that Ukrainian is still set to fallback to Russian which I thought wasn't the case any longer?

It's not uk -> ru, but rue -> uk, ru. The graph cannot distinguish such cases.

A text-based version of it would, though.

developer@dev:~/mediawiki/workdir/languages/messages (master)$ grep '$fallback ' * | sed 's/^Messages\(.*\)\..* '"'"'\(.*\).;.*/\L\1: \2/;s/_/-/'
ab: ru
abs: id
ace: id
ady: ady-cyrl
aeb-arab: ar
aeb: aeb-arab
aln: sq
alt: ru
ami: zh-hant
an: es
anp: hi
arn: es
arq: ar
ary: ar
arz: ar
ast: es
atj: fr
avk: fr, es, ru
av: ru
awa: hi
ay: es
azb: fa
ban-bali: ban
ban: id
ba: ru
bar: de
bbc-latn: id
bbc: bbc-latn
bcc: fa
be-tarask: be
bgn: fa
bh: bho
bi: en
bjn: id
bm: fr
bpy: bn
bqi: fa
br: fr
btm: id
bug: id
bxr: ru
ca: oc
MessagesCbk-zam.php:$fallback = "es";
cdo: nan, zh-hant
ce: ru
co: it
crh-cyrl: ru
crh: crh-latn
csb: pl
cs: sk
cv: ru
de-at: de
de-ch: de
de-formal: de
dsb: hsb, de
dtp: ms
dty: ne
egl: it
eml: it
en-ca: en
en-gb: en
MessagesEn.php:$fallback = false;
es-formal: es
ext: es
ff: fr
fit: fi
frc: fr
frp: fr
frr: de
fur: it
gag: tr
gan-hans: zh-hans
gan-hant: zh-hant, zh-hans
gan: gan-hant, zh-hant, zh-hans
gcr: fr
glk: fa
gl: pt
gn: es
gom-deva: hi
gom: gom-deva
gor: id
gsw: de
hak: zh-hant
hif: hif-latn
hrx: de
hsb: dsb, de
ht: fr
hu-formal: hu
hyw: hy
ii: zh-cn, zh-hans
inh: ru
io: eo
iu: ike-cans
jam: en
jut: da
jv: id
kaa: kk-latn, kk-cyrl
kab: fr
kbd-cyrl: ru
kbd: kbd-cyrl
kbp: fr
khw: ur
kiu: tr
kjp: my
kk-arab: kk-cyrl
kk-cn: kk-arab, kk-cyrl
kk-kz: kk-cyrl
kk-latn: kk-cyrl
kk: kk-cyrl
kk-tr: kk-latn, kk-cyrl
kl: da
koi: ru
ko-kp: ko
krc: ru
krl: fi
ksh: de
ks: ks-arab
ku-arab: ckb
kum: ru
ku: ku-latn
kv: ru
lad: es
lbe: ru
lb: de
lez: ru, az
lij: it
li: nl
liv: et
lki: fa
lld: it, rm, fur
lmo: pms, eml, lij, vec, it
ln: fr
lrc: fa
ltg: lv
luz: fa
lzh: zh-hant
lzz: tr
mai: hi
map-bms: jv, id
mdf: myv, ru
mg: fr
mhr: mrj, ru
min: id
mnw: my
mo: ro
mrj: mhr, ru
mwl: pt
myv: mdf, ru
mzn: fa
nah: es
nan: cdo, zh-hant
nap: it
nb: nn
nds-nl: nl
nds: de
nl-informal: nl
nn: nb
nrm: fr
oc: ca, fr
olo: fi
os: ru
pcd: fr
pdc: de
pdt: de
pfl: de
pih: en
pms: it
pnt: el
pt-br: pt
pt: pt-br
qug: qu, es
qu: qug, es
rgn: it
rmy: ro
roa-tara: it
rue: uk, ru
rup: ro
ruq-cyrl: mk
ruq-latn: ro
ruq: ruq-latn, ro
sah: ru
sa: hi
scn: it
sco: en
sdc: it
sdh: cbk, fa
ses: fr
sg: fr
sgs: lt
sh: bs, sr-el, hr
shy-latn: fr, arq
sk: cs
skr-arab: ur, pnb
skr: skr-arab
sli: de
srn: nl
sr: sr-ec
stq: de
sty: ru
su: id
szl: pl
szy: zh-tw, zh-hant, zh-hans
tay: zh-hant
tcy: kn
tet: pt
tg: tg-cyrl
tly: ru
trv: zh-hant
tt-cyrl: ru
tt: tt-cyrl, ru
ty: fr
tyv: ru
udm: ru
ug: ug-arab
vec: it
vep: et
vls: nl
vmf: de
vot: fi
vro: et
wa: fr
wo: fr
wuu: zh-hans
xal: ru
xmf: ka
yi: he
za: zh-hans
zea: nl
zgh: kab
zh-cn: zh-hans
zh-hant: zh-hans
zh-hk: zh-hant, zh-hans
zh-mo: zh-hk, zh-hant, zh-hans
zh-my: zh-sg, zh-hans
zh: zh-hans
zh-sg: zh-hans
zh-tw: zh-hant, zh-hans

TYSM! I will figure out where to put this ASAP ^_^

TYSM! I will figure out where to put this ASAP ^_^

I've clarified the link (formerly just "(grep)") in the last sentence of for the link to the code search.
IIUC that link is giving the same output as Nikerabbit's comment above? If so, that might cover it? Alternatively we could add a link to the comment above, into that page, but that will rapidly get outdated.

That doesn't look like a friendly page for someone as lost as I was. But agreed that we may not need much more than a link at this time.

Pginer-WMF claimed this task.
Pginer-WMF added a subscriber: Pginer-WMF.

That doesn't look like a friendly page for someone as lost as I was. But agreed that we may not need much more than a link at this time.

Based on the previous comments I'll close the ticket, but feel free to reopen if additional details are needed.