-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 3c513e5
Showing
7 changed files
with
705 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,258 @@ | ||
require(rjson) | ||
require(reshape) | ||
require(ggplot2) | ||
library(scales) | ||
library(nlstools) | ||
library(stringr) | ||
library(gridExtra) | ||
setwd("~/workspace/venn-analysis") | ||
filter1 <- fromJSON(file='filter1.json') | ||
filter2 <- fromJSON(file='filter2.json') | ||
filter3 <- fromJSON(file='filter3.json') | ||
alln <- fromJSON(file='alln.json') | ||
langtot <- fromJSON(file='langtotals_1.json') | ||
|
||
filter1m <- melt(filter1) | ||
filter2m <- melt(filter2) | ||
filter3m <- melt(filter3) | ||
allnm <- melt(alln) | ||
|
||
|
||
langtotm <-melt(langtot) | ||
langtotm <- langtotm[order(langtotm$value),] | ||
|
||
|
||
a <- data.frame(matrix(ncol = 0, nrow = length(filter1m$value))) | ||
a["langs"] <- filter1m[c(order(filter1m$L1,filter1m$value)),"L1"] | ||
a["uniqs"] <- filter1m[c(order(filter1m$L1,filter1m$value)),"value"] | ||
a["tots"] <- langtotm[c(order(langtotm$L1,langtotm$value)),"value"] | ||
b <- subset(a, tots > 1000) | ||
|
||
c <- b[-63,] | ||
#linear scale | ||
p1 <- ggplot(b, aes(x=tots, y=uniqs), geom="line")+ geom_point(stat="identity") + | ||
geom_text(data=b, aes(x=tots,y=uniqs,label=langs,colour=factor(langs),alpha=.9), | ||
position=position_dodge(width=0.8,height=0.8),vjust=0, angle = 0, size = 8, guide = FALSE) + | ||
scale_x_continuous(labels=comma) + scale_y_continuous(labels=comma) + | ||
geom_smooth(method="loess", se=FALSE) + | ||
labs(x="Total Language Links ", y="Unique Language Links", title="Comparison of Languages in Wikidata, by Language Links \n Minimum 1,000 Items \n Linear Scale") + | ||
theme(legend.position="none") | ||
p1 | ||
|
||
#log-log plot | ||
p2 <- ggplot(b, aes(x=tots, y=uniqs), geom="line")+ geom_point(stat="identity") + | ||
geom_text(data=b, aes(x=tots,y=uniqs,label=langs,colour=factor(langs),alpha=.9), position=position_dodge(width=0.8,height=0.8),vjust=0, angle = 0, size = 5, guide = FALSE) + | ||
scale_x_log10(labels=comma) + scale_y_log10(labels=comma) + | ||
geom_smooth(method="auto", se=FALSE) + | ||
labs(x="Total Language Links ", y="Unique Language Links", title="Comparison of Languages in Wikidata, by Language Links \n Minimum 1,000 Items \n Log-Log Scale") + | ||
theme(legend.position="none") | ||
p2 | ||
|
||
|
||
#lets try this with a insstead of filter1m | ||
q <- data.frame(matrix(ncol = 0, nrow = length(a$tots))) | ||
q["langs"] <- a[c(order(a$tots,a$langs)),"langs"] | ||
q["uniqs"] <- a[c(order(a$tots,a$langs)),"uniqs"] | ||
q["tots"] <- a[c(order(a$tots,a$langs)),"tots"] | ||
#q["resid"] <- a[c(order(a$uniqs,a$langs)),"resid"] | ||
q["rat"] <- q[,"uniqs"] / q[,"tots"] | ||
|
||
q.1 <- subset(q, q[,"tots"]>=100000) | ||
q.2 <- subset(q, q[,"tots"]>=10000 & q[,"tots"]<100000) | ||
|
||
totordplot1 <- ggplot(q.1, aes(x=langs, y=rat, fill=tots/max(tots)*100))+ | ||
geom_bar(stat="identity", width = .9) + | ||
#geom_bar(stat="identity", width = .5, alpha = .5, colour='red', aes(x=langs, y=resid), data=q.1)+ | ||
scale_x_discrete(limits=q.1$langs) + | ||
scale_y_continuous(labels=percent)+ | ||
scale_fill_gradient(low=muted("darkgreen"), high=muted("purple"), | ||
limits=c(0,40), "Total Language Links \n as % of English")+ | ||
geom_text(aes(x=langs,y=0,label=paste(round(100*rat,2), '%', sep='')),hjust=0, angle = 90, colour='grey', data=q.1) + | ||
labs(title="More than 100,000 Language Links")+ | ||
theme_bw()+ | ||
theme(axis.title.x=element_blank(), axis.title.y=element_blank()) | ||
totordplot1 | ||
|
||
totordplot2 <- ggplot(q.2, aes(x=langs, y=rat, fill=tots/max(q.1$tots)*100))+ | ||
geom_bar(stat="identity", width = .95) + | ||
#geom_bar(stat="identity", width = .5, alpha = .5, colour='red', aes(x=langs, y=resid), data=q.1)+ | ||
scale_x_discrete(limits=q.2$langs) + | ||
scale_y_continuous(labels=percent)+ | ||
scale_fill_gradient(low=muted("lightblue"), high=muted("lightgreen"), "Total Language Links \n as % of English")+ | ||
geom_text(aes(x=langs,y=0, | ||
label=paste(round(100*rat,1), '%', sep='')), | ||
hjust=0, angle = 90, colour='grey')+ | ||
labs(title="10,000 to 100,000 Language Links")+ | ||
theme_bw()+ | ||
theme(axis.title.x=element_blank(), axis.title.y=element_blank()) | ||
totordplot2 | ||
|
||
grid.arrange(totordplot2, totordplot1, | ||
left="Percentage of Unique Items", main="Wikipedia Unique Article Percentage by Wikipedia Size (size as % of English)" ) | ||
|
||
oq <- data.frame(matrix(ncol = 0, nrow = length(filter1m$value))) | ||
oq["langs"] <- q[c(order(q$rat,q$langs)),"langs]" | ||
oq["rat"] <- q[c(order(q$rat,q$langs)),"rat"] | ||
oq["tots"] <- q[c(order(q$rat,q$langs)),"tots"] | ||
#oq["resid"] <- q[c(order(q$rat,q$langs)),"resid"] | ||
|
||
oq.1 <- subset(oq, oq[,"tots"]>=100000) | ||
oq.2 <- subset(oq, oq[,"tots"]>=10000 & oq[,"tots"]<100000) | ||
p6 <- ggplot(oq.1, aes(x=langs, y=rat))+ | ||
geom_bar(stat="identity", width = .75, alpha = .5, colour='blue') + | ||
#geom_bar(stat="identity", width = .5, alpha = .5, colour='red', aes(x=langs, y=resid), data=oq.1)+ | ||
scale_x_discrete(limits=oq.1$langs) + | ||
scale_y_continuous(labels=comma)+ | ||
geom_text(aes(x=langs,y=0,label=paste(round(100*rat,2), '%', sep='')),hjust=0, angle = 90, colour='black', data=oq.1) + | ||
labs(y="Red difference from expected Unique articles. Blue percentage of articles Unique", title="Wikipedia article uniqueness percentage and difference in expected Uniqueness \n Minimum 100,000 articles") | ||
p6 | ||
|
||
|
||
p7 <- ggplot(oq.2, aes(x=langs, y=rat))+ | ||
geom_bar(stat="identity", width = .75, alpha = oq.2$tots/max(oq.2$tots), colour='blue') + | ||
scale_x_discrete(limits=oq.2$langs) + | ||
scale_y_continuous(labels=comma)+ | ||
geom_text(aes(x=langs,y=0,label=paste(round(100*rat,2), '%', sep='')),hjust=0, angle = 90, colour='black', data=oq.2) + | ||
labs(y="Red difference from expected Unique articles. Blue percentage of articles Unique", title="Wikipedia article uniqueness percentage and difference in expected Uniqueness \n Maximum 100,000 articles") | ||
p7 | ||
|
||
|
||
#on to the pairs | ||
#i'd like to make an upper triangular heatmap | ||
filter2m.5k <- subset(filter2m, value > 5000) | ||
pairs <- data.frame(matrix(ncol = 0, nrow = length(filter2m.5k$value))) | ||
pairs["langs"] <- filter2m.5k[order(-filter2m.5k$value),"L1"] | ||
pairs["tots"] <- filter2m.5k[order(-filter2m.5k$value),"value"] | ||
pairs["hasEN"] <- grepl('en', pairs[,"langs"]) | ||
pairs["isP"] <- rep(TRUE, nrow(pairs)) | ||
#triples | ||
|
||
filter3m.1k <- subset(filter3m, value > 1000) | ||
trips <- data.frame(matrix(ncol = 0, nrow = length(filter3m.1k$value))) | ||
trips["langs"] <- filter3m.1k[order(-filter3m.1k$value),"L1"] | ||
trips["tots"] <- filter3m.1k[order(-filter3m.1k$value),"value"] | ||
trips["hasEN"] <- grepl('en', trips[,"langs"]) | ||
trips["isP"] <- rep(FALSE, nrow(trips)) | ||
|
||
pairsplot <- ggplot(pairs[1:20,], aes(x=langs, y=tots, fill=factor(! hasEN)))+ | ||
geom_bar(stat="identity", width=.75, size=3, alpha=1)+ | ||
scale_x_discrete(limits=pairs[1:20,]$langs,labels=rep('',20))+ | ||
scale_y_continuous(label=comma)+ | ||
scale_fill_brewer("English in cluster?", labels=c('Yes', 'No'), palette="Set2")+ | ||
geom_text(aes(x=langs,y=0, | ||
label=paste(langs, ' ', prettyNum(tots, big.mark=","))), | ||
hjust=0, angle = 90, colour=muted('pink'))+ | ||
theme(axis.text.x = element_text(angle = 90, hjust = 1))+ | ||
labs(x="Pair",y='') | ||
pairsplot | ||
|
||
|
||
|
||
tripsplot <- ggplot(trips[1:20,], aes(x=langs, y=tots, fill=factor(! hasEN)))+ | ||
geom_bar(stat="identity", width=.75, size=3, alpha=1)+ | ||
scale_x_discrete(limits=trips[1:20,]$langs,labels=rep('',20))+ | ||
scale_y_continuous(label=comma)+ | ||
scale_fill_brewer("English in cluster?", labels=c('Yes', 'No'), palette="Set2")+ | ||
geom_text(aes(x=langs,y=0, | ||
label=paste(langs, ' ', prettyNum(tots, big.mark=","))), | ||
hjust=0, angle = 90, colour=muted('pink'))+ | ||
theme(axis.text.x = element_text(angle = 90, hjust = 1))+ | ||
labs(x="Triple",y='') | ||
tripsplot | ||
|
||
|
||
|
||
tmp <- ggplot_gtable(ggplot_build(tripsplot)) | ||
leg <- which(sapply(tmp$grobs, function(x) x$name) == "guide-box") | ||
legend <- tmp$grobs[[leg]] | ||
|
||
grid.arrange(arrangeGrob(pairsplot + theme(legend.position="none"), | ||
tripsplot + theme(legend.position="none"), | ||
main ="Comparison of Highest Co-occurring Languge Clusters \n Pairs and Triples", | ||
left ="Number of Wikidata Items in Cluster"), legend, | ||
widths=unit.c(unit(.85, "npc"), legend$width), nrow=1) | ||
|
||
tap <- rbind(pairs[1:20,], trips[1:20,]) | ||
tapo <-data.frame(matrix(ncol = 0, nrow = length(tap$tots))) | ||
tapo["ordr"] <- order(tap$tots) | ||
tapo["tots"]<- tap[order(tap$tots),"tots"] | ||
tapo["langs"]<- tap[order(tap$tots),"langs"] | ||
tapo["isP"]<- tap[order(tap$tots),"isP"] | ||
tapo["hasEN"]<- tap[order(tap$tots),"hasEN"] | ||
|
||
tapplot <- ggplot(tapo, aes(x=langs, y=tots, fill=factor(! isP), colour=factor(! hasEN)))+ | ||
geom_bar(stat="identity", width=.5, size=3, alpha=.7)+ | ||
scale_x_discrete(limits=tapo$langs)+ | ||
scale_y_continuous(label=comma)+ | ||
scale_colour_brewer("English in cluster?", labels=c('Yes', 'No'), palette="Set1")+ | ||
scale_fill_brewer("Cluster type", labels=c('Pair', 'Triple'), palette="Set2")+ | ||
#scale_fill_hue("Cluster type", labels=c('Pair', 'Triple'), l=50, h=c(315,135), c=80)+ | ||
theme(axis.text.x = element_text(angle = 90, hjust = 1))+ | ||
labs(y="Number of Wikidata Items in Cluster", x="Cluster", | ||
title="Comparison of Highest Co-occurring Languges Clusters") | ||
|
||
|
||
|
||
tapplot | ||
|
||
#alln | ||
|
||
|
||
|
||
allnm["univgroup"] <- rep(1,length(allnm[,0])) | ||
allnm["ninecol"] <- as.numeric(allnm[,"L1"]) %% 8 | ||
allnm["rat"] <- allnm[,"value"] / sum(allnm[,"value"]) | ||
allnm["sumsupto"] <- cumsum(allnm$rat) | ||
|
||
|
||
|
||
allnplot1 <- ggplot(allnm, aes(x=factor(univgroup), y=rat, fill=factor(ninecol))) + | ||
scale_y_continuous(breaks=subset(allnm$sumsupto, allnm$sumsupto <0.971), | ||
labels=paste(round(100*subset(allnm$sumsupto, allnm$sumsupto <0.971),2), '%', sep=''))+ | ||
scale_x_discrete(breaks="none",label="none")+ | ||
geom_bar(stat ="identity" ,position = "stack") + | ||
geom_text(aes(y=sumsupto-(rat/2), | ||
label=allnm$L1), | ||
size=(1/as.numeric(allnm$L1)) *15 ) + | ||
scale_fill_brewer(type = "seq", palette = 3,guide='none')+ | ||
coord_cartesian(ylim=c(0, 1))+ | ||
theme(title=element_blank()) | ||
|
||
allnplot2 <- ggplot(allnm, aes(x=factor(univgroup), y=rat, fill=factor(ninecol))) + | ||
scale_y_continuous(breaks=subset(allnm$sumsupto, allnm$sumsupto <0.992), | ||
labels=paste(round(100*subset(allnm$sumsupto, allnm$sumsupto <0.992),2), '%', sep=''))+ | ||
scale_x_discrete(breaks="none",label="none")+ | ||
geom_bar(stat ="identity" ,position = "stack") + | ||
geom_text(aes(y=sumsupto-(rat/2), | ||
label=allnm$L1), | ||
size=(1/as.numeric(allnm$L1)) *60 ) + | ||
scale_fill_brewer(type = "seq", palette = 3,guide='none')+ | ||
coord_cartesian(ylim=c(0.9442275, 1))+ | ||
theme(title=element_blank()) | ||
|
||
allnplot3 <- ggplot(allnm, aes(x=factor(univgroup), y=rat, fill=factor(ninecol))) + | ||
scale_y_continuous(breaks=subset(allnm$sumsupto, allnm$sumsupto <0.9987), | ||
labels=paste(round(100*subset(allnm$sumsupto, allnm$sumsupto <0.9987),2), '%', sep=''))+ | ||
scale_x_discrete(breaks="none",label="none")+ | ||
geom_bar(stat ="identity" ,position = "stack") + | ||
geom_text(aes(y=sumsupto-(rat/2), | ||
label=allnm$L1), | ||
size=(1/as.numeric(allnm$L1)) *120 ) + | ||
scale_fill_brewer(type = "seq", palette = 3,guide='none')+ | ||
coord_cartesian(ylim=c(0.9951513, 1))+ | ||
theme(title=element_blank()) | ||
|
||
allnplot4 <- ggplot(allnm, aes(x=factor(univgroup), y=rat, fill=factor(ninecol))) + | ||
scale_y_continuous(breaks=subset(allnm$sumsupto, allnm$sumsupto <0.99995), | ||
labels=paste(round(100*subset(allnm$sumsupto, allnm$sumsupto <0.99995),5), '%', sep=''))+ | ||
scale_x_discrete(breaks="none",label="none")+ | ||
geom_bar(stat ="identity" ,position = "stack", label="none") + | ||
geom_text(aes(y=sumsupto-(rat/2), | ||
label=allnm$L1), | ||
size=(1/as.numeric(allnm$L1)) *360 ) + | ||
scale_fill_brewer(type = "seq", palette = 3,guide='none')+ | ||
coord_cartesian(ylim=c(0.9998727, 1))+ | ||
theme(title=element_blank()) | ||
|
||
grid.arrange(allnplot1, allnplot2, allnplot3, allnplot4, ncol=4, | ||
left="Composition of Wikidata Items", sub="Number of Language Links in Wikidata Item", main="Composition of Wikidata Items by Language Link Count") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
{"1": 7972524, "2": 1578043, "3": 735573, "4": 410988, "5": 244478, "6": 147416, "7": 110289, "8": 87146, "9": 71751, "10": 60068, "11": 47381, "12": 39861, "13": 35213, "14": 29190, "15": 25439, "16": 22633, "17": 21041, "18": 19071, "19": 15768, "20": 14086, "21": 14027, "22": 14276, "23": 14195, "24": 13593, "25": 12421, "26": 11072, "27": 10455, "28": 8645, "29": 6976, "30": 5337, "31": 4352, "32": 3680, "33": 3209, "34": 2840, "35": 2567, "36": 2357, "37": 2224, "38": 2019, "39": 1862, "40": 1709, "41": 1594, "42": 1528, "43": 1399, "44": 1387, "45": 1257, "46": 1235, "47": 1221, "48": 1246, "49": 1153, "50": 1186, "51": 1128, "52": 1069, "53": 880, "54": 853, "55": 830, "56": 827, "57": 745, "58": 668, "59": 597, "60": 568, "61": 602, "62": 546, "63": 534, "64": 457, "65": 447, "66": 463, "67": 421, "68": 409, "69": 356, "70": 383, "71": 376, "72": 303, "73": 295, "74": 305, "75": 214, "76": 236, "77": 209, "78": 169, "79": 152, "80": 155, "81": 175, "82": 171, "83": 120, "84": 142, "85": 146, "86": 113, "87": 139, "88": 112, "89": 122, "90": 124, "91": 87, "92": 101, "93": 110, "94": 101, "95": 102, "96": 102, "97": 100, "98": 104, "99": 115, "100": 238, "101": 320, "102": 236, "103": 197, "104": 145, "105": 125, "106": 146, "107": 136, "108": 114, "109": 136, "110": 101, "111": 93, "112": 78, "113": 72, "114": 56, "115": 58, "116": 56, "117": 74, "118": 80, "119": 60, "120": 59, "121": 43, "122": 39, "123": 38, "124": 45, "125": 47, "126": 28, "127": 24, "128": 29, "129": 21, "130": 22, "131": 19, "132": 23, "133": 17, "134": 28, "135": 22, "136": 31, "137": 19, "138": 34, "139": 27, "140": 22, "141": 20, "142": 30, "143": 25, "144": 25, "145": 33, "146": 47, "147": 42, "148": 57, "149": 63, "150": 47, "151": 48, "152": 39, "153": 27, "154": 21, "155": 31, "156": 30, "157": 21, "158": 18, "159": 20, "160": 15, "161": 25, "162": 19, "163": 28, "164": 18, "165": 19, "166": 15, "167": 20, "168": 12, "169": 11, "170": 15, "171": 6, "172": 10, "173": 9, "174": 8, "175": 11, "176": 13, "177": 10, "178": 14, "179": 6, "180": 14, "181": 6, "182": 6, "183": 4, "184": 8, "185": 5, "186": 7, "187": 5, "188": 6, "189": 9, "190": 6, "191": 7, "192": 10, "193": 0, "194": 4, "195": 5, "196": 7, "197": 2, "198": 3, "199": 1, "200": 3, "201": 5, "202": 3, "203": 10, "204": 5, "205": 6, "206": 7, "207": 3, "208": 4, "209": 3, "210": 3, "211": 5, "212": 3, "213": 2, "214": 5, "215": 6, "216": 5, "217": 3, "218": 7, "219": 6, "220": 2, "221": 0, "222": 1, "223": 2, "224": 0, "225": 6, "226": 3, "227": 1, "228": 3, "229": 2, "230": 2, "231": 0, "232": 0, "233": 2, "234": 1, "235": 1, "236": 1, "237": 0, "238": 2, "239": 2, "240": 2, "241": 4, "242": 1, "243": 0, "244": 1, "245": 0, "246": 0, "247": 0, "248": 2, "249": 0, "250": 0, "251": 1, "252": 1, "253": 1, "254": 0, "255": 2, "256": 0, "257": 0, "258": 2, "259": 0, "260": 0, "261": 0, "262": 0, "263": 1, "264": 1, "265": 0, "266": 1, "267": 0, "268": 1, "269": 0, "270": 2, "271": 1, "272": 0, "273": 0, "274": 1, "275": 1, "276": 1, "277": 0, "278": 0, "279": 0, "280": 0, "281": 0, "282": 0, "283": 0, "284": 0, "285": 0, "286": 1} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
{"gv": 439, "sco": 1804, "scn": 3475, "wuu": 384, "cdo": 17, "gu": 19670, "kbd": 75, "ng": 0, "gd": 874, "fiu_vro": 600, "ga": 2118, "gn": 60, "gl": 33237, "als": 829, "lg": 0, "hak": 162, "lb": 7108, "szl": 447, "vep": 33, "la": 13113, "ln": 477, "lo": 157, "tt": 6953, "tr": 53292, "ts": 24, "li": 631, "lv": 6155, "bat_smg": 2419, "lt": 38361, "vec": 1498, "th": 25157, "bjn": 246, "tg": 2210, "te": 24925, "ksh": 229, "pcd": 184, "ta": 22395, "yi": 346, "xmf": 397, "ceb": 12604, "yo": 993, "de": 667155, "da": 49791, "za": 32, "dz": 1, "hif": 3904, "rm": 243, "dv": 98, "qu": 3665, "nov": 232, "be_x_old": 15061, "pnt": 44, "eml": 161, "bxr": 36, "bpy": 3982, "crh": 160, "ilo": 266, "mhr": 725, "diq": 501, "el": 19705, "eo": 17095, "en": 2551742, "zh": 235777, "pms": 8025, "ee": 338, "tpi": 19, "arz": 3604, "rmy": 17, "mdf": 384, "kaa": 110, "mh": 0, "arc": 39, "cr": 8, "eu": 24961, "et": 28931, "tet": 44, "es": 318706, "ba": 3548, "ru": 349445, "rw": 44, "mus": 0, "mrj": 127, "ha": 3, "ak": 9, "bm": 9, "new": 46544, "rn": 1, "ro": 30385, "dsb": 167, "bn": 10194, "hsb": 1550, "be": 5080, "bg": 31096, "myv": 64, "uk": 16371, "wa": 5109, "ast": 2682, "wo": 114, "got": 22, "jv": 14006, "bo": 64, "bh": 55, "bi": 19, "rue": 47, "tum": 9, "br": 3641, "bs": 15327, "lez": 218, "ja": 136729, "om": 14, "glk": 334, "ace": 43, "roa_rup": 158, "nds_nl": 289, "ty": 12, "oc": 4714, "ltg": 111, "st": 14, "tw": 16, "krc": 191, "nds": 1451, "pdc": 151, "or": 322, "ext": 332, "xh": 22, "roa_tara": 745, "co": 102, "os": 770, "nso": 18, "simple": 4878, "zh_yue": 3299, "ca": 11360, "lmo": 2648, "ce": 247, "cy": 9289, "ang": 283, "cs": 61105, "udm": 59, "cv": 3273, "cu": 7, "ve": 4, "koi": 239, "ps": 256, "fj": 0, "srn": 104, "pt": 199587, "to": 223, "sm": 8, "tl": 17929, "cho": 0, "frr": 889, "chr": 42, "pa": 515, "xal": 14, "chy": 45, "pi": 24, "war": 11547, "pl": 184879, "tk": 301, "hz": 0, "hy": 10775, "an": 4602, "nrm": 35, "hr": 23149, "iu": 22, "ti": 2, "pfl": 197, "ht": 12366, "hu": 68965, "gan": 918, "hi": 62168, "vls": 350, "ho": 0, "gag": 97, "pnb": 2416, "bug": 48, "kj": 0, "he": 39017, "ii": 0, "mg": 9049, "fur": 192, "uz": 17532, "ml": 13700, "mo": 1, "mn": 482, "mi": 335, "ik": 8, "mk": 17164, "ur": 6935, "zea": 89, "mt": 546, "stq": 370, "ms": 43162, "mr": 13175, "zh_classical": 1073, "ug": 14, "mwl": 920, "my": 20557, "ki": 11, "pih": 6, "aa": 0, "sah": 1388, "ss": 17, "af": 2463, "tn": 58, "vi": 79293, "is": 2851, "am": 4046, "it": 380758, "vo": 2517, "ch": 30, "ay": 51, "as": 369, "ar": 110702, "lbe": 14, "km": 392, "io": 847, "av": 15, "ia": 148, "haw": 38, "az": 28166, "ie": 17, "id": 54507, "ig": 97, "pap": 57, "ks": 2, "nl": 300278, "nn": 13161, "no": 11771, "na": 83, "nah": 800, "ne": 10622, "lij": 226, "csb": 72, "ny": 3, "nap": 764, "sh": 8289, "cbk_zam": 107, "map_bms": 2662, "pag": 63, "zu": 22, "kw": 116, "pam": 292, "nv": 380, "sn": 9, "kab": 61, "fr": 423923, "jbo": 237, "lad": 144, "fy": 7456, "sv": 289709, "frp": 173, "fa": 131681, "ff": 4, "fi": 20073, "mzn": 1468, "ab": 43, "sa": 1149, "fo": 414, "bcl": 275, "bar": 370, "ka": 15148, "kg": 39, "ckb": 6438, "kk": 55516, "sr": 21173, "sq": 14996, "min": 465, "ko": 53896, "kn": 5505, "su": 4851, "kl": 55, "sk": 29129, "kr": 0, "si": 2024, "zh_min_nan": 631, "so": 148, "kv": 702, "ku": 9525, "sl": 34781, "sc": 124, "ky": 10976, "sg": 15, "sw": 4073, "se": 891, "sd": 30} |
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Oops, something went wrong.