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
Run ↗
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
Run ↗
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
Run ↗
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
Run ↗
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