Multilingual
Translations
Find translations and equivalents across languages. Compare how concepts are named worldwide and analyze translation coverage.
Counting Available Translations
Languages with Labels for Programming Languages
SELECT ?lang ?langLabel
(COUNT(DISTINCT ?label) AS ?labelCount)
WHERE {
VALUES ?lang {
wd:Q2005 # JavaScript
wd:Q15777 # Python
wd:Q251 # Java
}
?lang rdfs:label ?label .
SERVICE wikibase:label {
bd:serviceParam wikibase:language "en" .
}
}
GROUP BY ?lang ?langLabel
ORDER BY DESC(?labelCount)
Translation Tables
Programming Terms in Major Languages
SELECT ?concept ?en ?fr ?de ?es ?ja ?zh
WHERE {
VALUES ?concept {
wd:Q80006 # variable
wd:Q141488 # function
wd:Q1428282 # loop
wd:Q16889133 # class
}
OPTIONAL { ?concept rdfs:label ?en . FILTER(LANG(?en) = "en") }
OPTIONAL { ?concept rdfs:label ?fr . FILTER(LANG(?fr) = "fr") }
OPTIONAL { ?concept rdfs:label ?de . FILTER(LANG(?de) = "de") }
OPTIONAL { ?concept rdfs:label ?es . FILTER(LANG(?es) = "es") }
OPTIONAL { ?concept rdfs:label ?ja . FILTER(LANG(?ja) = "ja") }
OPTIONAL { ?concept rdfs:label ?zh . FILTER(LANG(?zh) = "zh") }
}
Finding Missing Translations
Museums Without French Labels
SELECT ?museum ?museumLabel
WHERE {
?museum wdt:P31/wdt:P279* wd:Q33506 ;
wdt:P17 wd:Q142 . # France
# Has English label
?museum rdfs:label ?enLabel .
FILTER(LANG(?enLabel) = "en")
# But NO French label
FILTER NOT EXISTS {
?museum rdfs:label ?frLabel .
FILTER(LANG(?frLabel) = "fr")
}
SERVICE wikibase:label {
bd:serviceParam wikibase:language "en" .
}
}
LIMIT 50
Translation Coverage Statistics
Label Coverage by Language for Cities
SELECT ?langCode (COUNT(?city) AS ?cities)
WHERE {
?city wdt:P31 wd:Q515 ;
wdt:P17 wd:Q142 ; # France
rdfs:label ?label .
BIND(LANG(?label) AS ?langCode)
}
GROUP BY ?langCode
ORDER BY DESC(?cities)
LIMIT 20