User:Opencooper/showKanji-dev.js: Difference between revisions

Content deleted Content added
add wikidata reading source
overhaul kana fetching from wikidata
Line 213:
function parseKanaClaim(response) {
var kana;
var properties = {title: "P1476",
if (response.claims.P1476 && response.claims.P1476 == wikidataKanji
&& response.claims.P1476[0].qualifiers nativeLabel: "P1705",
officialName: "P1448"};
&& response.claims.P1476[0].qualifiers.P1814) {
var nameInKana = "P1814";
// title w/ name in kana
kana = response.claims.P1476[0].qualifiers.P1814[0].datavalue.value;
var pnum;
} else if (response.claims.P1705 && response.claims.P1705 == wikidataKanji
// Try getting nameInKana as a qualifier to some properties
&& response.claims.P1705[0].qualifiers
for (var prop in properties) {
&& response.claims.P1705[0].qualifiers.P1814) {
pnum = properties[prop];
// native label w/ name in kana
kana = response.claims.P1705[0].qualifiers.P1814[0].datavalue.value;
} else if (response.claims.P1448 && response.claims.P1448 == wikidataKanji[pnum]
&& response.claims.P1448[pnum][0].qualifiersmainsnak.datavalue.value.text == wikidataKanji
&& response.claims.P1448[pnum][0].qualifiers.P1814) {
&& response.claims.P1476[pnum][0].qualifiers.P1814[nameInKana]) {
// official name w/ name in kana

kana = response.claims.P1705[pnum][0].qualifiers.P1814[pnum][0].datavalue.value;
break;
} else if (response.claims.P1814) {
}
// name in kana
}
kana = response.claims.P1814[0].mainsnak.datavalue.value;
 
if (!kana) {
// Try getting nameInKana as a general claim
pnum = nameInKana;
kana = response.claims.P1476[0pnum].qualifiers.P1814[0].mainsnak.datavalue.value;
} else {
getInterlanguage();