Přeskočit na obsah

Uživatel:Stardust85/statistika

Z Wikislovníku

Kód wikitabulky vygenerován skriptem - počítá pouze existující kategorie. Vznikne-li nová kategorie, musí se sem ručně doplnit (nebo spustit znovu skript).

tabulka

[editovat]
počet hesel získaný pomocí makra PAGESINCATEGORY
jazyk / druh subst. adjekt. zájm. čísl. slovesa příslovce předložky spojky částice citosl. celkem
Afrikánština 33 5 - - - - - - - - 38
Angličtina 8 327 2 357 52 38 2 190 272 48 36 6 58 13384
Arabština 142 - - - - - - - - - 142
Asturština 4 - - - - - - - - - 4
Běloruština 28 - - - - - - 1 - - 29
Bosenština 9 - - - - - - - - - 9
Bretonština 18 - - - - - - - - - 18
Bulharština 38 - - - - - - 2 - - 40
Čečenština 10 - - - - - - - - - 10
Čeština 24 988 9 919 188 224 3 558 1 381 94 135 121 380 40988
Dánština 147 47 3 24 9 - - - - - 230
Esperanto 658 - 9 - - 12 - - - - 679
Estonština 150 16 - - - - - - - - 166
Fidžijština - - - - 1 - - - - - 1
Finština 1 818 314 - - - 116 - - - - 2248
Francouzština 6 482 3 258 57 34 2 192 199 - 19 - 46 12287
Fríština - 1 - - - - - - - - 1
Galicijština 47 - - - - - - - - - 47
Hebrejština 623 - - - - - - - - - 623
Chorvatština 56 - - - - - - - - - 56
Interlingua - - - - - - - - - -
Irština 334 - - - - - - - - - 334
Islandština 162 - - 2 - - - - - - 164
Italština 1 857 258 14 - 164 38 - 11 - - 2342
Japonština 3 193 - - - - - - - - - 3193
Kašubština 138 - - - - - - - - - 138
Katalánština 146 12 - - - - - - - - 158
Kečuánština 5 - - - - - - - - - 5
Krymská tatarština 11 - - - - - - - - - 11
Latina 1 433 461 28 18 402 - - 26 - - 2368
Litevština 305 - - - - - - - 5 - 310
Lotyština 257 - - - - - - - - - 257
Maďarština 668 94 - - 87 - - - - - 849
Makedonština - - - - - - - 1 - - 1
Němčina 8 831 1 993 44 90 861 269 40 37 9 - 12174
Nizozemština 850 171 16 - 165 - - - - - 1202
Norština 12 2 2 2 - - - - - - 18
Okcitánština 86 - - - - - - - - - 86
Oshiwambo 0 - 0 - 0 - - - - - 0
Polština 4 294 246 23 - - 40 - 14 6 - 4623
Portugalština 386 - - - 56 - - 6 - - 448
Romština 185 - 11 - - - - - - - 196
Rumunština 91 - - - - - 2 - - - 93
Ruština 1 686 1 372 20 - 303 - - 7 - - 3388
Řečtina 1 170 - - - - - - - - - 1170
Sanskrt 31 - - - - - - - - - 31
Skotská gaelština 15 - - - - - - - - - 15
Slovenština 1 777 825 31 12 221 88 20 18 - - 2992
Slovinština 230 17 - - - 12 - - - - 259
Slovio 0 - - - - - - 0 - - 0
Srbština 1 601 - - - - - - 3 - - 1604
Stará angličtina 29 - - - - - - 3 - - 32
Staroslověnština - - - - - - - 2 - - 2
Svahilština 92 - - - - - - - - - 92
Španělština 1 655 170 46 53 209 29 9 9 3 - 2183
Švédština 707 135 50 69 251 93 34 24 8 15 1386
Tádžičtina - - - - - - 1 - - - 1
Tofalarština - - 1 - - - - - - - 1
Turečtina 453 - - - - - - - - - 453
Ukrajinština 480 - - - - - - 2 - - 482
Velština 22 - 4 - - - - - - - 26

kód skriptu

[editovat]
#!/bin/bash

# Generates table with detailed statistics about languages for cs.wiktionary.org
# see the result at cs.wiktionary.org/wiki/Uživatel:Stardust85/statistika

# author: Michel Samia (m.samia at seznam.cz)
# usage: $ ./newstats.sh > wikitable.txt

# WARNING: this script LOADS wikimedia servers by one request per language category
# (now mid 2009 about 60 GETs), so don't run it too often

LANG= # because behaviour of sorting, greping and other things are locale-dependent
DOMAIN="http://cs.wiktionary.org/wiki"
TYPES="substantiva\nadjektiva\nzájmena\nčíslovky\nslovesa\npříslovce\npředložky\nspojky\nčástice\ncitoslovce"

mkdir langs
i=0 # counter

echo -e "\nSTEP 1: Downloading categories" >&2

# Get list of language categories
wget -q -O- http://cs.wiktionary.org/wiki/Kategorie:Jazykov%C3%A9_kategorie |grep '<span class="CategoryTreeBullet">' | 
{
	echo "Next language..." >&2
	while read line
	do
		# page containing categories by types of words of given language (nouns, verbs...)
		langHref="$DOMAIN` echo $line | sed -e 's/^.*wiki//' | sed -e 's/".*$//'`"
		# name of the language
		langName="`echo $line | cut -d'>' -f 12 | cut -d'<' -f1`"

		echo -n > "langs/${langName}"
		echo $i $langName >&2

		i=$[ i + 1 ]

		# uz mame url kategorie s jazykem, ted z nej musime ziskat vhodne podkategorie
		# ty ulozime po radcich do lang/$langname, napr lang/Afrikánština
		wget -q -O- $langHref | grep '<li><div class="CategoryTreeSection"><div class="CategoryTreeItem">' | 
		{
			sum=0
			while read line2
			do
				typeHref="` echo $line2 | sed -e 's/<[^>]*>//g' | sed -e 's/\[.*\]//' | sed -e 's/(.*$//'`"
				echo "$typeHref" >> "langs/$langName"
			done
		}
		echo -n "sleeping..." >&2
		sleep 1 
		echo "OK" >&2
	done
}


######## generating the table ######

#now we have all the data and we can generate the table
echo -e "\nSTEP 2: Creating table" >&2

cd langs/

i=0
for file in *
do
	echo "$i: $file" >&2
	i=$[ i+1 ]

	echo " | $file"
	echo -e "${TYPES}" |
	{
		while read druh
		do
			completeDruh="`grep "$druh" "$file" | sed 's/^ //'`"
			if [[ "$completeDruh" == "" ]]
			then
				echo ' | -'
			else
				
				echo " | [[:Kategorie:$completeDruh| {{PAGESINCATEGORY:$completeDruh}}]]"
			fi
		done
	}

	echo " |  '''{{#expr:"

	first="true"

	echo -e "${TYPES}" |
	{
		while read druh
		do
			completeDruh="`grep "$druh" "$file" | sed 's/^ //'`"
			if [[ $completeDruh != "" ]]
			then
				if [[ $first == "true" ]]
				then
					echo "{{PAGESINCATEGORY:$completeDruh|R}}"
					first="false"
				else
					echo "+{{PAGESINCATEGORY:$completeDruh|R}}"
				fi
			fi
		done

		echo "}}'''"
		echo " |-"
	}
done