├── .gitignore ├── LICENSE.txt ├── README.md ├── bootstrap ├── Makefile ├── bootstrap.go └── pat.go ├── data.go ├── doc.go ├── go.mod ├── go.sum ├── java ├── .gitignore ├── Makefile ├── Taalrader.java ├── java2tab.pl └── nl │ └── xs4all │ └── pebbe │ └── textcat │ ├── .gitignore │ └── Textcat.java ├── patterns.go ├── samples-raw └── README ├── samples-utf8 └── README ├── samples ├── README ├── af.txt ├── ar.txt ├── bg.txt ├── ca.txt ├── cs.txt ├── cy.txt ├── da.txt ├── de.txt ├── el.txt ├── en.txt ├── eo.txt ├── es.txt ├── et.txt ├── eu.txt ├── fa.txt ├── fi.txt ├── fr.txt ├── fy.txt ├── ga.txt ├── gd.txt ├── he.txt ├── hi.txt ├── hr.txt ├── hu.txt ├── ia.txt ├── id.txt ├── is.txt ├── it.txt ├── ja.txt ├── kk.txt ├── ko.txt ├── la.txt ├── lb.txt ├── lt.txt ├── lv.txt ├── mk.txt ├── ms.txt ├── nl.txt ├── no.txt ├── pl.txt ├── pt.txt ├── ro.txt ├── ru.txt ├── sk.txt ├── sl.txt ├── sq.txt ├── sr-latin.txt ├── sr.txt ├── sv.txt ├── sw.txt ├── ta.txt ├── tl.txt ├── tr.txt ├── uk.txt ├── ur.txt ├── vi.txt ├── vo.txt ├── yi.txt ├── yo.txt └── zh.txt ├── textcat.go ├── textcat └── textcat.go ├── textpat └── textpat.go └── v2 ├── LICENSE.txt ├── README.md ├── data.go ├── doc.go ├── go.mod ├── go.sum ├── mkData.py ├── patterns.go ├── textcat.go └── textcat2 └── textcat2.go /.gitignore: -------------------------------------------------------------------------------- 1 | bootstrap/bootstrap 2 | tmp 3 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012-2024, Peter Kleiweg 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are 6 | met: 7 | 8 | 1. Redistributions of source code must retain the above copyright 9 | notice, this list of conditions and the following disclaimer. 10 | 11 | 2. Redistributions in binary form must reproduce the above copyright 12 | notice, this list of conditions and the following disclaimer in the 13 | documentation and/or other materials provided with the distribution. 14 | 15 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 16 | IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 17 | TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 18 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 19 | HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 21 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 22 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 23 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 24 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | A Go package for n-gram based text categorization, with support for utf-8 and raw text. 2 | 3 | To do: 4 | 5 | * write documentation 6 | * make it faster 7 | 8 | Keywords: text categorization, language detector 9 | 10 | ## Install 11 | 12 | go get github.com/pebbe/textcat 13 | go get github.com/pebbe/textcat/textcat 14 | go get github.com/pebbe/textcat/textpat 15 | 16 | ## Docs 17 | 18 | * [package help](http://godoc.org/github.com/pebbe/textcat) 19 | -------------------------------------------------------------------------------- /bootstrap/Makefile: -------------------------------------------------------------------------------- 1 | 2 | all: ../data.go 3 | 4 | pat.go: ../patterns.go 5 | echo '// THIS IS A GENERATED FILE' > pat.go 6 | echo '// DO NOT EDIT' >> pat.go 7 | echo >> pat.go 8 | perl -p -e 's/package textcat/package main/; s/GetPatterns/getPatterns/; s/MaxPatterns/maxPatterns/' ../patterns.go >> pat.go 9 | 10 | bootstrap: pat.go bootstrap.go 11 | go build . 12 | 13 | ../data.go: bootstrap ../samples*/*.txt 14 | ./bootstrap ../samples*/*.txt 15 | gofmt -w ../data.go 16 | -------------------------------------------------------------------------------- /bootstrap/bootstrap.go: -------------------------------------------------------------------------------- 1 | /* 2 | The `bootstrap` program is used to generated language patterns and store 3 | them as the Go source file `../data.go`. It should not be called by users, 4 | unless you want to add or change patterns and include them into the 5 | library. You then need to rebuild the library. 6 | 7 | For generating additional language patterns and load them into a running 8 | program, see `../textpat/`. 9 | */ 10 | package main 11 | 12 | import ( 13 | "fmt" 14 | "io/ioutil" 15 | "os" 16 | "path" 17 | "runtime" 18 | "strings" 19 | ) 20 | 21 | var header = `// THIS IS A GENERATED FILE 22 | // DO NOT EDIT 23 | 24 | package textcat 25 | 26 | ` 27 | 28 | func main() { 29 | out, err := os.Create("../data.go") 30 | checkErr(err) 31 | fmt.Fprint(out, header) 32 | 33 | sep := "\n" 34 | fmt.Fprint(out, "var data = map[string]map[string]int{") 35 | for _, utf := range []bool{true, false} { 36 | suffix := ".raw" 37 | other := "utf8" 38 | if utf { 39 | suffix = ".utf8" 40 | other = "raw" 41 | } 42 | for _, filename := range os.Args[1:] { 43 | if strings.HasSuffix(path.Dir(filename), other) { 44 | continue 45 | } 46 | lang := path.Base(filename) 47 | lang = lang[:len(lang)-len(path.Ext(lang))] 48 | fmt.Fprintf(out, "%s\t%q: {", sep, lang+suffix) 49 | sep = ",\n" 50 | 51 | r, e := os.Open(filename) 52 | checkErr(e) 53 | b, e := ioutil.ReadAll(r) 54 | r.Close() 55 | checkErr(e) 56 | 57 | sep2 := "\n" 58 | for n, p := range getPatterns(string(b), utf) { 59 | fmt.Fprintf(out, "%s\t\t%q: %d", sep2, p.S, n) 60 | sep2 = ",\n" 61 | } 62 | fmt.Fprint(out, "}") 63 | } 64 | } 65 | fmt.Fprint(out, "}\n\n") 66 | 67 | out.Close() 68 | } 69 | 70 | func checkErr(err error) { 71 | if err != nil { 72 | _, filename, lineno, ok := runtime.Caller(1) 73 | if ok { 74 | fmt.Fprintf(os.Stderr, "%v:%v: %v\n", filename, lineno, err) 75 | } 76 | panic(err) 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /bootstrap/pat.go: -------------------------------------------------------------------------------- 1 | // THIS IS A GENERATED FILE 2 | // DO NOT EDIT 3 | 4 | package main 5 | 6 | import ( 7 | "regexp" 8 | "sort" 9 | "strings" 10 | ) 11 | 12 | const ( 13 | maxPatterns = 400 14 | ) 15 | 16 | var ( 17 | reInvalid = regexp.MustCompile("[^\\p{L}]+") 18 | ) 19 | 20 | type countType struct { 21 | S string 22 | I int 23 | } 24 | 25 | type countsType []*countType 26 | 27 | func (c countsType) Len() int { 28 | return len(c) 29 | } 30 | 31 | func (c countsType) Swap(i, j int) { 32 | c[i], c[j] = c[j], c[i] 33 | } 34 | 35 | func (c countsType) Less(i, j int) bool { 36 | if c[i].I != c[j].I { 37 | return c[i].I > c[j].I 38 | } 39 | return c[i].S < c[j].S 40 | } 41 | 42 | func getPatterns(s string, useRunes bool) []*countType { 43 | ngrams := make(map[string]int) 44 | if useRunes { 45 | s = strings.ToLower(reInvalid.ReplaceAllString(s, " ")) 46 | for _, word := range strings.Fields(s) { 47 | b := []rune("_" + word + "____") 48 | n := len(b) - 4 49 | for i := 0; i < n; i++ { 50 | for j := 1; j < 6; j++ { 51 | s = string(b[i : i+j]) 52 | if !strings.HasSuffix(s, "__") { 53 | ngrams[s] += 1 54 | } 55 | } 56 | } 57 | } 58 | } else { 59 | for _, word := range strings.Fields(s) { 60 | b := []byte("_" + word + "____") 61 | n := len(b) - 4 62 | for i := 0; i < n; i++ { 63 | for j := 1; j < 6; j++ { 64 | s = string(b[i : i+j]) 65 | if !strings.HasSuffix(s, "__") { 66 | ngrams[s] += 1 67 | } 68 | } 69 | } 70 | } 71 | } 72 | size := len(ngrams) 73 | counts := make([]*countType, 0, size) 74 | for i := range ngrams { 75 | counts = append(counts, &countType{i, ngrams[i]}) 76 | } 77 | sort.Sort(countsType(counts)) 78 | if size > maxPatterns { 79 | counts = counts[:maxPatterns] 80 | } 81 | return counts 82 | } 83 | -------------------------------------------------------------------------------- /doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | A Go package for n-gram based text categorization, with support for utf-8 and raw text. 3 | 4 | Many built-in language models are based on frequency lists, see: 5 | 6 | http://en.wiktionary.org/wiki/Wiktionary:Frequency_lists 7 | 8 | Most of these lists are based on www.opensubtitles.org, see: 9 | 10 | http://invokeit.wordpress.com/frequency-word-lists/ 11 | https://skydrive.live.com/?cid=3732e80b128d016f&id=3732E80B128D016F%213584 12 | 13 | Languages: af ar bg ca cs cy da de el en es et eu fa fi fr he hr hu id 14 | is it lt lv mk ms nl no pl pt ro ru sk sl sq sr sr-latin sv tr uk ur 15 | 16 | 17 | Other language models are based on texts collected from Wikipedia. 18 | 19 | Languages: eo fy ga gd hi ia ja kk ko la lb sw ta tl vi vo yi yo zh 20 | 21 | */ 22 | package textcat 23 | -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- 1 | module github.com/pebbe/textcat 2 | 3 | go 1.16 4 | 5 | require github.com/pebbe/util v0.9.0 6 | -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- 1 | github.com/pebbe/util v0.9.0 h1:PMZd+CpWb8GbWEmFGlL3qd6XPuywl6xFIbrXWi870OA= 2 | github.com/pebbe/util v0.9.0/go.mod h1:ynWl/SFX4+Seb9fpjVlYevr1f4TP7FrCmyZHiBCg69Q= 3 | -------------------------------------------------------------------------------- /java/.gitignore: -------------------------------------------------------------------------------- 1 | Taalrader.class 2 | textcat.jar 3 | -------------------------------------------------------------------------------- /java/Makefile: -------------------------------------------------------------------------------- 1 | 2 | all: Taalrader.class test 3 | 4 | test: 5 | java Taalrader 6 | 7 | Taalrader.class: Taalrader.java textcat.jar 8 | javac Taalrader.java 9 | 10 | textcat.jar: nl/xs4all/pebbe/textcat/Textcat.java nl/xs4all/pebbe/textcat/data 11 | rm -f nl/xs4all/pebbe/textcat/*.class 12 | javac nl/xs4all/pebbe/textcat/Textcat.java 13 | jar vcf textcat.jar nl/xs4all/pebbe/textcat/*.class nl/xs4all/pebbe/textcat/data 14 | 15 | nl/xs4all/pebbe/textcat/data: ../data.go java2tab.pl 16 | ./java2tab.pl ../data.go > nl/xs4all/pebbe/textcat/data 17 | -------------------------------------------------------------------------------- /java/Taalrader.java: -------------------------------------------------------------------------------- 1 | import nl.xs4all.pebbe.textcat.Textcat; 2 | 3 | public class Taalrader { 4 | public static void main(String[] args) { 5 | String input = "Dit is een test in het Nederlands"; 6 | if (args.length == 0) { 7 | args = new String[1]; 8 | args[0] = "Dit is een test in het Nederlands"; 9 | } 10 | Textcat textcat = new Textcat(); 11 | textcat.setMinDocSize(10); 12 | for (int i = 0; i < args.length; i++) { 13 | System.out.println(args[i]); 14 | String result[] = textcat.classify(args[i]); 15 | for (int j = 0; j < result.length; j++) { 16 | System.out.println(result[j]); 17 | } 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /java/java2tab.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env perl 2 | 3 | $state = 0; 4 | for (<>) { 5 | if ($state == 0) { 6 | if (/"(.*).utf8": {/) { 7 | print "$1\n"; 8 | $state = 1; 9 | } 10 | } elsif ($state == 1) { 11 | /"(.*)"/; 12 | $t = $1; 13 | $t =~ s/\\x([0-9a-f]{2})/chr(hex($1))/ge; 14 | print "$t\n"; 15 | if (/".*":\s*\d*}/) { 16 | print "******\n"; 17 | $state = 0; 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /java/nl/xs4all/pebbe/textcat/.gitignore: -------------------------------------------------------------------------------- 1 | *.class 2 | data 3 | -------------------------------------------------------------------------------- /java/nl/xs4all/pebbe/textcat/Textcat.java: -------------------------------------------------------------------------------- 1 | package nl.xs4all.pebbe.textcat; 2 | 3 | import java.io.File; 4 | import java.io.FileNotFoundException; 5 | import java.util.ArrayList; 6 | import java.util.Collections; 7 | import java.util.Comparator; 8 | import java.util.HashMap; 9 | import java.util.List; 10 | import java.util.Map; 11 | import java.util.Scanner; 12 | 13 | public class Textcat { 14 | 15 | private double thresholdValue; 16 | private int maxCandidates; 17 | private int minDocSize; 18 | private int maxPatterns = 400; 19 | private String[] langs = new String[60]; 20 | private List> data = new ArrayList>(60); 21 | 22 | private class countType { 23 | String s; 24 | int i; 25 | public countType(String s, int i) { 26 | this.s = s; 27 | this.i = i; 28 | } 29 | } 30 | 31 | public Textcat() { 32 | thresholdValue = 1.03; 33 | maxCandidates = 5; 34 | minDocSize = 25; 35 | 36 | ClassLoader classLoader = getClass().getClassLoader(); 37 | File file = new File(classLoader.getResource("nl/xs4all/pebbe/textcat/data").getFile()); 38 | try { 39 | Scanner scanner = new Scanner(file); 40 | int state = 0; 41 | HashMap d = new HashMap(); 42 | int count = 0; 43 | int i = 0; 44 | while (scanner.hasNextLine()) { 45 | String line = scanner.nextLine(); 46 | if (state == 0) { 47 | langs[count] = line; 48 | i = 0; 49 | d = new HashMap(536, .75f); // 400 items per language 50 | state = 1; 51 | } else if (line.equals("******")) { 52 | data.add(d); 53 | count++; 54 | state = 0; 55 | } else { 56 | d.put(line, i); 57 | i++; 58 | } 59 | } 60 | scanner.close(); 61 | } catch (FileNotFoundException e) { 62 | e.printStackTrace(); 63 | } 64 | } 65 | 66 | public void setMinDocSize(int i) { 67 | minDocSize = i; 68 | if (minDocSize < 1) { 69 | minDocSize = 25; 70 | } 71 | } 72 | 73 | public void setThresholdValue(double d) { 74 | thresholdValue = d; 75 | if (thresholdValue < 1) { 76 | thresholdValue = 1.03; 77 | } 78 | } 79 | 80 | public void setMaxCandidates(int i) { 81 | maxCandidates = i; 82 | if (maxCandidates < 1) { 83 | maxCandidates = 5; 84 | } 85 | } 86 | 87 | public String[] classify(String text) { 88 | 89 | if (text.length() < minDocSize) { 90 | String[] r = new String[1]; 91 | r[0] = "SHORT"; 92 | return r; 93 | } 94 | 95 | List scores = new ArrayList(langs.length); 96 | 97 | String[] patt = getPatterns(text); 98 | for (int idx = 0; idx < langs.length; idx++) { 99 | String lang = langs[idx]; 100 | HashMap dat = data.get(idx); 101 | int score = 0; 102 | for (int n = 0; n < patt.length; n++) { 103 | String p = patt[n]; 104 | int i = maxPatterns; 105 | if (dat.containsKey(p)) { 106 | i = dat.get(p); 107 | } 108 | if (n > i) { 109 | score += n - i; 110 | } else { 111 | score += i - n; 112 | } 113 | } 114 | scores.add(new countType(lang, score)); 115 | } 116 | 117 | int minScore = maxPatterns * maxPatterns; 118 | for (int i = 0; i < langs.length; i++) { 119 | countType ct = scores.get(i); 120 | if (ct.i < minScore) { 121 | minScore = ct.i; 122 | } 123 | } 124 | double threshold = minScore * thresholdValue; 125 | int nCandidates = 0; 126 | for (int i = 0; i < langs.length; i++) { 127 | if (scores.get(i).i <= threshold) { 128 | nCandidates++; 129 | } 130 | } 131 | if (nCandidates > maxCandidates) { 132 | String[] r = new String[1]; 133 | r[0] = "UNKNOWN"; 134 | return r; 135 | } 136 | 137 | List lowScores = new ArrayList(nCandidates); 138 | for (int i = 0; i < langs.length; i++) { 139 | countType ct = scores.get(i); 140 | if (ct.i <= threshold) { 141 | lowScores.add(ct); 142 | } 143 | } 144 | Collections.sort(lowScores, new Comparator() { 145 | @Override 146 | public int compare(countType o1, countType o2) { 147 | return o1.i - o2.i; 148 | } 149 | }); 150 | String[] languages = new String[lowScores.size()]; 151 | for (int i = 0; i < languages.length; i++) { 152 | languages[i] = lowScores.get(i).s; 153 | } 154 | return languages; 155 | } 156 | 157 | private String[] getPatterns(String s) { 158 | HashMap ngrams = new HashMap(s.length() * 6); 159 | String[] words = s.toLowerCase().split("[^\\p{L}]+"); 160 | for (int w = 0; w < words.length; w++) { 161 | String word = "_" + words[w] + "____"; 162 | int n = word.length() - 4; 163 | for (int i = 0; i < n; i++) { 164 | for (int j = 1; j < 6; j++) { 165 | String ng = word.substring(i, i+j); 166 | if (!ng.endsWith("__")) { 167 | if (!ngrams.containsKey(ng)) { 168 | ngrams.put(ng, 0); 169 | } 170 | ngrams.put(ng, ngrams.get(ng) + 1); 171 | } 172 | } 173 | } 174 | } 175 | int size = ngrams.size(); 176 | List counts = new ArrayList(size); 177 | for (Map.Entry item : ngrams.entrySet()) { 178 | counts.add(new countType(item.getKey(), item.getValue())); 179 | } 180 | Collections.sort(counts, new Comparator() { 181 | @Override 182 | public int compare(countType o1, countType o2) { 183 | return o2.i - o1.i; 184 | } 185 | }); 186 | if (size > maxPatterns) { 187 | size = maxPatterns; 188 | } 189 | String[] result = new String[size]; 190 | for (int i = 0; i < size; i++) { 191 | result[i] = counts.get(i).s; 192 | } 193 | return result; 194 | } 195 | } 196 | -------------------------------------------------------------------------------- /patterns.go: -------------------------------------------------------------------------------- 1 | package textcat 2 | 3 | import ( 4 | "regexp" 5 | "sort" 6 | "strings" 7 | ) 8 | 9 | const ( 10 | MaxPatterns = 400 11 | ) 12 | 13 | var ( 14 | reInvalid = regexp.MustCompile("[^\\p{L}]+") 15 | ) 16 | 17 | type countType struct { 18 | S string 19 | I int 20 | } 21 | 22 | type countsType []*countType 23 | 24 | func (c countsType) Len() int { 25 | return len(c) 26 | } 27 | 28 | func (c countsType) Swap(i, j int) { 29 | c[i], c[j] = c[j], c[i] 30 | } 31 | 32 | func (c countsType) Less(i, j int) bool { 33 | if c[i].I != c[j].I { 34 | return c[i].I > c[j].I 35 | } 36 | return c[i].S < c[j].S 37 | } 38 | 39 | func GetPatterns(s string, useRunes bool) []*countType { 40 | ngrams := make(map[string]int) 41 | if useRunes { 42 | s = strings.ToLower(reInvalid.ReplaceAllString(s, " ")) 43 | for _, word := range strings.Fields(s) { 44 | b := []rune("_" + word + "____") 45 | n := len(b) - 4 46 | for i := 0; i < n; i++ { 47 | for j := 1; j < 6; j++ { 48 | s = string(b[i : i+j]) 49 | if !strings.HasSuffix(s, "__") { 50 | ngrams[s] += 1 51 | } 52 | } 53 | } 54 | } 55 | } else { 56 | for _, word := range strings.Fields(s) { 57 | b := []byte("_" + word + "____") 58 | n := len(b) - 4 59 | for i := 0; i < n; i++ { 60 | for j := 1; j < 6; j++ { 61 | s = string(b[i : i+j]) 62 | if !strings.HasSuffix(s, "__") { 63 | ngrams[s] += 1 64 | } 65 | } 66 | } 67 | } 68 | } 69 | size := len(ngrams) 70 | counts := make([]*countType, 0, size) 71 | for i := range ngrams { 72 | counts = append(counts, &countType{i, ngrams[i]}) 73 | } 74 | sort.Sort(countsType(counts)) 75 | if size > MaxPatterns { 76 | counts = counts[:MaxPatterns] 77 | } 78 | return counts 79 | } 80 | -------------------------------------------------------------------------------- /samples-raw/README: -------------------------------------------------------------------------------- 1 | Samples in this directory will only be used to generate raw text patterns. 2 | -------------------------------------------------------------------------------- /samples-utf8/README: -------------------------------------------------------------------------------- 1 | Samples in this directory will be used to generate utf-8 text patterns. 2 | -------------------------------------------------------------------------------- /samples/README: -------------------------------------------------------------------------------- 1 | Samples in this directory will be used to generate both utf-8 and raw text patterns. 2 | These samples must be utf-8. 3 | -------------------------------------------------------------------------------- /samples/eo.txt: -------------------------------------------------------------------------------- 1 | La unua segmento de la metroo estis testa segmento de la linio U4 inter 2 | Heiligenstadt kaj Friedensbrücke, en la nordo de la urbo, malfermita en 3 | 1976. Tiu ĉi segmento, kiel la tuta linio U4, estas rekonstruo de la 4 | antaŭa urbfervoja sistemo. La unua nove konstruita segmento malfermiĝis 5 | du jarojn pli malfrue, en 1978, sur la linio U1. En la sama jaro, la 6 | linio U4 transprenis la urbfervojon ĝis Karlsplatz, en du ŝtupoj, kaj la 7 | linio U1 ekatingis la placon Stephansplatz, la centron de Vieno. Dum la 8 | konstruado de la metroo sub la Stephansplatz, oni malkovris subteran 9 | mezepokan kapelon nomatan Virgilkapelle, kiun oni povas hodiaŭ vidi el 10 | la stacio. En 1979, la U1 ricevis dustacian etendon norden kun la 11 | stacioj Schwedenplatz kaj Nestroyplatz. En 1980, ne nur la linio U4 12 | estis eĉ plu etendita al Meidling Hauptstraße, sed ankaŭ la linio U2 13 | inter Karlsplatz kaj Schottenring estis malfermita; parto de ĝi uzis 14 | tramtunelon sub la strato neoficiale nomata Zweierlinie. 15 | 16 | En 1981, denove en du ŝtupoj, la metrolinio U4 estis finkonstruita kaj 17 | la urbfervojo laŭ la Vieno-rivero kaj la Danuba Kanalo finanstataŭigita; 18 | samjare la linio U1 atingis la placon Praterstern kaj do la Vienan 19 | Prater. En tiu jaro, trafikis dum nur 17 tagoj, de la 5a ĝis la 25a de 20 | septembro, la linio U2/4 (alidirekte nomata U4/2), kiu servis la (tiam) 21 | tutan linion U2 kaj en la stacio Schottenring transiris al la linio U4 22 | kaj pluiris laŭ ĝi ĝis ties tiama finstacio Hietzing; ĝi konsistigis do 23 | interalie plenan cirklon ĉirkaŭ la urbocentro. Tiu linio kaŭzis 24 | diversajn operaciajn problemojn kaj tial denove - ĝis nun sola inter 25 | ĉiuj vienaj metrolinioj - ĉesis funkcii. 26 | 27 | Kvankam origine ne estis planite plukonstrui la linion U1 al la 28 | maldekstra flanko de Danubo, ĉar en 1976 estis disfalinta la ponto 29 | Reichsbrücke, necesis konstrui novan ponton tuj nordoriente de la 30 | planita finstacio de la linio U1. Oni do konstruis duetaĝan ponton, kies 31 | suban etaĝon uzis la metroetendo al Kagran en 1982, kiu finis la unuan 32 | konstrufazon kaj la konstruadon de la baza reto. 33 | 34 | La komenco de la dua konstrufazo entute nuligis la urbfervojan sistemon; 35 | la urbfervojo laŭ la Viena Zono (linioj G kaj GD) estis etendita suden, 36 | signale modernigita kaj alinomita U6 en 1989, tamen la vagonoj restis la 37 | samaj. De 1989 ĝis 1991 ĝi ankoraŭ, kiel la antaŭa urbfervojo, trafikis 38 | en la nordo alterne al Heiligenstadt kaj al Friedensbrücke, sed en 1991 39 | la branĉo al Friedensbrücke estis fermita. En la sama jaro, la unua 40 | segmento de la orienta-okcidenta linio U3 estis malfermita; sur sia 41 | tiama vojo de Erdberg al Volkstheater ĝi estas de tiam la dua linio 42 | krucanta la urbocentron. Tiuj du linioj estis ankoraŭ etenditaj al ambaŭ 43 | direktoj por alveni al siaj hodiaŭaj (2012) vojoj; la branĉo de la U6 de 44 | Nussdorfer Straße al Heiligenstadt fariĝis dum tio la dua fermita 45 | metrosegmento, ĉar anstataŭe la U6 nun ektrafikis norden al Floridsdorf 46 | kaj fariĝis do la dua linio transiranta Danubon. 47 | 48 | En Vieno oni ĝenerale fermas tramajn kaj busajn liniojn, kiuj alie kurus 49 | paralele al metrolinioj. Tio ĉi signifas, ke fojfoje tute detruiĝas 50 | ebloj vojaĝi mallongajn vojojn. Ekstrema ekzemplo estas la Interna 51 | Mariahilfer Straße, kie estis ankoraŭ en 1986 kvar tramhaltejoj inter la 52 | Viena Zono kaj la Zweierlinie, dum hodiaŭ sur la sama segmento troviĝas 53 | nur du metrostacioj. La linio 8 estis fermita malgraŭ protestoj, kiam la 54 | urbfervoja linio laŭ la Viena Zono fariĝis la metrolinio U6; la 55 | paraleleco de tramo kaj urbfervojo estis antaŭe ekzistinta dum jardekoj. 56 | En Leopoldstadt, post la fermo de la tramlinio 21 pro etendo de la linio 57 | U2 en 2008, oni instalis, etendis kaj alivojigis plurajn busliniojn por 58 | vere anstataŭigi la tramon ankaŭ por mallongaj distancoj. 59 | 60 | La plej malnova tute novkonstruita linio estas la linio U1, de Leopoldau 61 | en la 21a distrikto al Reumannplatz en la 10a distrikto. 62 | 63 | Ĝi komenciĝas en la subtera stacio Leopoldau proksime al la limo de 64 | Vieno, kie trafikas ankaŭ S-Bahn-aj kaj regionaj trajnoj al la nordaj 65 | kaj nordorientaj antaŭurboj de Vieno. Poste ĝi atingas la stacion 66 | Großfeldsiedlung, ĉe samnoma slabokonstruaĵa kvartalo. Tuj antaŭ la 67 | haltejo Aderklaaer Straße ĝi eliras la tunelon. 68 | 69 | Post la limo inter la 21a kaj la 22a distrikto troviĝas la stacio 70 | Rennbahnweg. De tie ĉi, la linio U1 plejparte sekvas la straton Wagramer 71 | Straße (B8) ĝis la urbocentro (la strato havas tamen en la internaj 72 | distriktoj aliajn nomojn). La sekva stacio - nun denove subtera - estas 73 | Kagraner Platz, la historia centro de la eksvilaĝo Kagran. 74 | 75 | Tuj antaŭ la stacio Kagran la linio denove eliras la tunelon. Tiu ĉi 76 | stacio estas unu el la plej gravaj trafikaj nodoj de la 22a distrikto, 77 | kaj apud ĝi troviĝas ankaŭ la plej grava vendejaro de Vieno, la Donau 78 | Zentrum (Danuba Centro). 79 | 80 | Poste la trajnoj veturas sur viadukto tra dometa kvartalo, transiras la 81 | Malnovan Danubon kaj atingas la stacion Alte Donau (Malnova Danubo). 82 | Sekvas ĝin la stacio Kaisermühlen-VIC, kiu troviĝas tuj apud la Vienna 83 | International Centre, la UNO-sidejo en Vieno. De tiu ĉi stacio oni povas 84 | atingi ankaŭ la Danuban Parkon, kaj estas busoj al la proksima 85 | Gänsehäufel, la plej granda naĝejo de Vieno. 86 | 87 | Transirante Novan Danubon, la Danuban Insulon kaj Danubon per la ponto 88 | Reichsbrücke, la trajnoj haltas ankaŭ en la stacio Donauinsel (Danuba 89 | Insulo) antaŭ denova - kaj nun fina - subteriĝo en la 2a distrikto de 90 | Vieno. Post tiu subteriĝo estas la stacio Vorgartenstraße. Nun la U1 91 | pluveturas sub la strato Lassallestraße kaj atingas la stacion 92 | Praterstern sub la samnoma placo. Tiu ĉi stacio estas la unua kun eblo 93 | transiri al alia metrolinio, la U2. Krome haltas tie ĉi S-Bahn-aj kaj 94 | regionaj trajnoj, tramoj kaj busoj. 95 | -------------------------------------------------------------------------------- /samples/eu.txt: -------------------------------------------------------------------------------- 1 | eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta eta 2 | da da da da da da da da da da da da da da da da da da da da da da da da da da da da da da da da da da da da da da da da da da da da da da da da 3 | zen zen zen zen zen zen zen zen zen zen zen zen zen zen zen zen zen zen zen zen zen zen zen zen zen zen zen zen zen zen zen zen zen 4 | zuen zuen zuen zuen zuen zuen zuen zuen zuen zuen zuen zuen zuen zuen zuen zuen zuen zuen zuen zuen zuen zuen zuen 5 | izan izan izan izan izan izan izan izan izan izan izan izan izan izan izan izan izan izan izan izan izan izan 6 | bat bat bat bat bat bat bat bat bat bat bat bat bat bat bat bat bat bat bat bat bat 7 | bere bere bere bere bere bere bere bere bere bere bere bere bere bere bere bere bere 8 | ere ere ere ere ere ere ere ere ere ere ere ere ere ere ere ere 9 | dira dira dira dira dira dira dira dira dira dira dira dira dira 10 | du du du du du du du du du du du du 11 | ez ez ez ez ez ez ez ez ez ez ez ez 12 | a a a a a a a a a a a 13 | edo edo edo edo edo edo edo edo edo edo edo 14 | ziren ziren ziren ziren ziren ziren ziren ziren ziren ziren 15 | zuten zuten zuten zuten zuten zuten zuten zuten zuten zuten 16 | zituen zituen zituen zituen zituen zituen zituen zituen 17 | egin egin egin egin egin egin egin 18 | k k k k k k k 19 | beste beste beste beste beste beste beste 20 | dago dago dago dago dago dago dago 21 | baina baina baina baina baina baina 22 | hau hau hau hau hau hau 23 | ditu ditu ditu ditu ditu ditu 24 | den den den den den den 25 | dute dute dute dute dute 26 | bi bi bi bi bi 27 | bezala bezala bezala bezala bezala 28 | de de de de de 29 | artean artean artean artean artean 30 | arabera arabera arabera arabera arabera 31 | lehen lehen lehen lehen 32 | egiten egiten egiten egiten 33 | ondoren ondoren ondoren ondoren 34 | izena izena izena izena 35 | biztanle biztanle biztanle biztanle 36 | euskal euskal euskal euskal 37 | dagoen dagoen dagoen dagoen 38 | egun egun egun egun 39 | baino baino baino baino 40 | duen duen duen duen 41 | behar behar behar behar 42 | baten baten baten baten 43 | arte arte arte arte 44 | oso oso oso 45 | gaur gaur gaur 46 | urte urte urte 47 | hauek hauek hauek 48 | sortu sortu sortu 49 | bertan bertan bertan 50 | hartu hartu hartu 51 | batean batean batean 52 | batzuk batzuk batzuk 53 | daude daude daude 54 | hasi hasi hasi 55 | hainbat hainbat hainbat 56 | diren diren diren 57 | erabiltzen erabiltzen erabiltzen 58 | urtean urtean urtean 59 | udalerria udalerria udalerria 60 | eman eman eman 61 | batera batera batera 62 | honek honek honek 63 | zituzten zituzten zituzten 64 | honen honen honen 65 | hala hala hala 66 | hil hil hil 67 | azken azken azken 68 | bizi bizi bizi 69 | duten duten 70 | lortu lortu 71 | hiru hiru 72 | zion zion 73 | arteko arteko 74 | dela dela 75 | baita baita 76 | bigarren bigarren 77 | dena dena 78 | zela zela 79 | erroldaren erroldaren 80 | san san 81 | i i 82 | herri herri 83 | izeneko izeneko 84 | honetan honetan 85 | handia handia 86 | hartzen hartzen 87 | estatu estatu 88 | urtarrilaren urtarrilaren 89 | batek batek 90 | hori hori 91 | nagusia nagusia 92 | izango izango 93 | nafarroako nafarroako 94 | nahi nahi 95 | daiteke daiteke 96 | batez batez 97 | dituzte dituzte 98 | lan lan 99 | ematen ematen 100 | zegoen zegoen 101 | joan joan 102 | ii ii 103 | la la 104 | osatzen osatzen 105 | zehar zehar 106 | gain gain 107 | gero gero 108 | asko asko 109 | historia historia 110 | ondorioz ondorioz 111 | esan esan 112 | aurkitu aurkitu 113 | zenbait zenbait 114 | espainiako espainiako 115 | alde alde 116 | egon egon 117 | arren arren 118 | talde talde 119 | bidez bidez 120 | nahiz nahiz 121 | gerra gerra 122 | parte parte 123 | hamarkada 124 | bitartean 125 | garai 126 | km 127 | dituen 128 | agertzen 129 | lehenengo 130 | gehiago 131 | errege 132 | kilometro 133 | bihurtu 134 | zena 135 | berriz 136 | gabe 137 | aldiz 138 | duena 139 | hizkuntza 140 | lau 141 | inguruan 142 | mendean 143 | utzi 144 | dagoena 145 | aurrera 146 | euren 147 | gainera 148 | inguru 149 | urteko 150 | eskualdean 151 | guztiak 152 | bai 153 | azalera 154 | non 155 | erabili 156 | iparraldean 157 | aurka 158 | izen 159 | mende 160 | antzinako 161 | herriko 162 | egiteko 163 | hiri 164 | sistema 165 | izaten 166 | musika 167 | zati 168 | hegoaldean 169 | eraiki 170 | hiria 171 | herrian 172 | ari 173 | horrela 174 | bera 175 | batzuetan 176 | mundu 177 | aita 178 | beraz 179 | gutxi 180 | horretan 181 | daitezke 182 | milioi 183 | dauka 184 | bakarra 185 | ohi 186 | zuena 187 | hain 188 | hiriburua 189 | ezagutzen 190 | hasieran 191 | egungo 192 | berean 193 | iii 194 | sortzen 195 | zein 196 | taldea 197 | adibidez 198 | munduko 199 | mendebaldean 200 | gisa 201 | -------------------------------------------------------------------------------- /samples/fa.txt: -------------------------------------------------------------------------------- 1 | و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و و 2 | در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در در 3 | به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به به 4 | از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از از 5 | را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را را 6 | با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با با 7 | که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که که 8 | این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این این 9 | است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است است 10 | می می می می می می می می می می می می می می می می می می می می می می می می می می می می می می می می می می می می می می می می می می می می می می می می می می می می می می می می می می می می 11 | اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين اين 12 | كه كه كه كه كه كه كه كه كه كه كه كه كه كه كه كه كه كه كه كه كه كه كه كه كه كه كه كه كه كه كه كه كه كه كه كه كه كه كه كه كه 13 | های های های های های های های های های های های های های های های های های های های های های های های های های های های های های های های های های های های های 14 | آن آن آن آن آن آن آن آن آن آن آن آن آن آن آن آن آن آن آن آن آن آن آن آن آن آن آن آن آن آن آن آن آن آن آن 15 | مي مي مي مي مي مي مي مي مي مي مي مي مي مي مي مي مي مي مي مي مي مي مي مي مي مي مي مي مي مي مي مي مي 16 | هاي هاي هاي هاي هاي هاي هاي هاي هاي هاي هاي هاي هاي هاي هاي هاي هاي هاي هاي هاي هاي هاي هاي هاي هاي هاي هاي هاي هاي هاي هاي هاي هاي 17 | شده شده شده شده شده شده شده شده شده شده شده شده شده شده شده شده شده شده شده شده شده شده شده شده شده شده شده شده شده شده شده شده 18 | خود خود خود خود خود خود خود خود خود خود خود خود خود خود خود خود خود خود خود خود خود خود خود خود خود خود خود خود خود خود 19 | برای برای برای برای برای برای برای برای برای برای برای برای برای برای برای برای برای برای برای برای برای برای برای برای برای برای برای برای 20 | گفت گفت گفت گفت گفت گفت گفت گفت گفت گفت گفت گفت گفت گفت گفت گفت گفت گفت گفت گفت گفت گفت گفت گفت گفت 21 | سال سال سال سال سال سال سال سال سال سال سال سال سال سال سال سال سال سال سال سال سال سال سال سال 22 | بر بر بر بر بر بر بر بر بر بر بر بر بر بر بر بر بر بر بر بر بر بر بر بر 23 | یک یک یک یک یک یک یک یک یک یک یک یک یک یک یک یک یک یک یک یک یک یک 24 | تا تا تا تا تا تا تا تا تا تا تا تا تا تا تا تا تا تا تا تا تا 25 | براي براي براي براي براي براي براي براي براي براي براي براي براي براي براي براي براي براي براي براي 26 | اسلامي اسلامي اسلامي اسلامي اسلامي اسلامي اسلامي اسلامي اسلامي اسلامي اسلامي اسلامي اسلامي اسلامي اسلامي اسلامي اسلامي اسلامي اسلامي اسلامي 27 | شود شود شود شود شود شود شود شود شود شود شود شود شود شود شود شود شود شود شود 28 | شد شد شد شد شد شد شد شد شد شد شد شد شد شد شد شد شد شد شد 29 | جمهوري جمهوري جمهوري جمهوري جمهوري جمهوري جمهوري جمهوري جمهوري جمهوري جمهوري جمهوري جمهوري جمهوري جمهوري جمهوري جمهوري 30 | روز روز روز روز روز روز روز روز روز روز روز روز روز روز روز روز روز 31 | هم هم هم هم هم هم هم هم هم هم هم هم هم هم هم هم 32 | دو دو دو دو دو دو دو دو دو دو دو دو دو دو دو 33 | مردم مردم مردم مردم مردم مردم مردم مردم مردم مردم مردم مردم مردم مردم 34 | كرد كرد كرد كرد كرد كرد كرد كرد كرد كرد كرد كرد كرد كرد 35 | كشور كشور كشور كشور كشور كشور كشور كشور كشور كشور كشور كشور كشور كشور 36 | ايران ايران ايران ايران ايران ايران ايران ايران ايران ايران ايران ايران ايران ايران 37 | ای ای ای ای ای ای ای ای ای ای ای ای ای ای 38 | قرار قرار قرار قرار قرار قرار قرار قرار قرار قرار قرار قرار قرار قرار 39 | دولت دولت دولت دولت دولت دولت دولت دولت دولت دولت دولت دولت دولت 40 | ما ما ما ما ما ما ما ما ما ما ما ما ما 41 | گزارش گزارش گزارش گزارش گزارش گزارش گزارش گزارش گزارش گزارش گزارش گزارش گزارش 42 | بود بود بود بود بود بود بود بود بود بود بود بود بود 43 | وي وي وي وي وي وي وي وي وي وي وي وي وي 44 | ها ها ها ها ها ها ها ها ها ها ها ها ها 45 | استان استان استان استان استان استان استان استان استان استان استان استان 46 | خواهد خواهد خواهد خواهد خواهد خواهد خواهد خواهد خواهد خواهد خواهد خواهد 47 | مورد مورد مورد مورد مورد مورد مورد مورد مورد مورد مورد مورد 48 | کشور کشور کشور کشور کشور کشور کشور کشور کشور کشور کشور کشور 49 | نیز نیز نیز نیز نیز نیز نیز نیز نیز نیز نیز نیز 50 | هر هر هر هر هر هر هر هر هر هر هر هر 51 | سازمان سازمان سازمان سازمان سازمان سازمان سازمان سازمان سازمان سازمان سازمان سازمان 52 | ایران ایران ایران ایران ایران ایران ایران ایران ایران ایران ایران ایران 53 | اما اما اما اما اما اما اما اما اما اما اما 54 | عنوان عنوان عنوان عنوان عنوان عنوان عنوان عنوان عنوان عنوان عنوان 55 | آنها آنها آنها آنها آنها آنها آنها آنها آنها آنها آنها 56 | تهران تهران تهران تهران تهران تهران تهران تهران تهران تهران تهران 57 | نيز نيز نيز نيز نيز نيز نيز نيز نيز نيز نيز 58 | يك يك يك يك يك يك يك يك يك يك يك 59 | دارد دارد دارد دارد دارد دارد دارد دارد دارد دارد دارد 60 | هزار هزار هزار هزار هزار هزار هزار هزار هزار هزار 61 | او او او او او او او او او او 62 | بخش بخش بخش بخش بخش بخش بخش بخش بخش بخش 63 | اي اي اي اي اي اي اي اي اي 64 | اعلام اعلام اعلام اعلام اعلام اعلام اعلام اعلام اعلام 65 | یا یا یا یا یا یا یا یا یا 66 | طرح طرح طرح طرح طرح طرح طرح طرح طرح 67 | برنامه برنامه برنامه برنامه برنامه برنامه برنامه برنامه برنامه 68 | صورت صورت صورت صورت صورت صورت صورت صورت صورت 69 | دست دست دست دست دست دست دست دست دست 70 | انجام انجام انجام انجام انجام انجام انجام انجام انجام 71 | وجود وجود وجود وجود وجود وجود وجود وجود وجود 72 | پس پس پس پس پس پس پس پس پس 73 | منطقه منطقه منطقه منطقه منطقه منطقه منطقه منطقه 74 | همه همه همه همه همه همه همه همه 75 | سه سه سه سه سه سه سه سه 76 | گذشته گذشته گذشته گذشته گذشته گذشته گذشته گذشته 77 | نظر نظر نظر نظر نظر نظر نظر نظر 78 | باید باید باید باید باید باید باید باید 79 | کرده کرده کرده کرده کرده کرده کرده کرده 80 | حضور حضور حضور حضور حضور حضور حضور حضور 81 | ادامه ادامه ادامه ادامه ادامه ادامه ادامه ادامه 82 | توجه توجه توجه توجه توجه توجه توجه توجه 83 | توسعه توسعه توسعه توسعه توسعه توسعه توسعه توسعه 84 | اند اند اند اند اند اند اند اند 85 | مجلس مجلس مجلس مجلس مجلس مجلس مجلس مجلس 86 | حال حال حال حال حال حال حال حال 87 | شهر شهر شهر شهر شهر شهر شهر 88 | اشاره اشاره اشاره اشاره اشاره اشاره اشاره 89 | راه راه راه راه راه راه راه 90 | گروه گروه گروه گروه گروه گروه گروه 91 | درصد درصد درصد درصد درصد درصد درصد 92 | خبرگزاري خبرگزاري خبرگزاري خبرگزاري خبرگزاري خبرگزاري خبرگزاري 93 | ايرنا ايرنا ايرنا ايرنا ايرنا ايرنا ايرنا 94 | دیگر دیگر دیگر دیگر دیگر دیگر دیگر 95 | استفاده استفاده استفاده استفاده استفاده استفاده استفاده 96 | داشته داشته داشته داشته داشته داشته داشته 97 | جامعه جامعه جامعه جامعه جامعه جامعه جامعه 98 | کار کار کار کار کار کار کار 99 | اگر اگر اگر اگر اگر اگر اگر 100 | جهان جهان جهان جهان جهان جهان جهان 101 | كند كند كند كند كند كند كند 102 | داشت داشت داشت داشت داشت داشت داشت 103 | باشد باشد باشد باشد باشد باشد باشد 104 | ماه ماه ماه ماه ماه ماه ماه 105 | تيم تيم تيم تيم تيم تيم تيم 106 | بوده بوده بوده بوده بوده بوده 107 | کرد کرد کرد کرد کرد کرد 108 | بايد بايد بايد بايد بايد بايد 109 | بين بين بين بين بين بين 110 | داده داده داده داده داده داده 111 | انقلاب انقلاب انقلاب انقلاب انقلاب انقلاب 112 | من من من من من من 113 | اسلامی اسلامی اسلامی اسلامی اسلامی اسلامی 114 | رييس رييس رييس رييس رييس رييس 115 | كرده كرده كرده كرده كرده كرده 116 | كنند كنند كنند كنند كنند كنند 117 | هستند هستند هستند هستند هستند هستند 118 | نفر نفر نفر نفر نفر نفر 119 | بین بین بین بین بین بین 120 | وزارت وزارت وزارت وزارت وزارت وزارت 121 | تیم تیم تیم تیم تیم تیم 122 | نمی نمی نمی نمی نمی نمی 123 | چه چه چه چه چه چه 124 | گرفته گرفته گرفته گرفته گرفته گرفته 125 | برگزار برگزار برگزار برگزار برگزار برگزار 126 | پیش پیش پیش پیش پیش 127 | داد داد داد داد داد 128 | شرکت شرکت شرکت شرکت شرکت 129 | وی وی وی وی وی 130 | مختلف مختلف مختلف مختلف مختلف 131 | قانون قانون قانون قانون قانون 132 | شدن شدن شدن شدن شدن 133 | خبرنگار خبرنگار خبرنگار خبرنگار خبرنگار 134 | نشان نشان نشان نشان نشان 135 | آغاز آغاز آغاز آغاز آغاز 136 | امام امام امام امام امام 137 | شركت شركت شركت شركت شركت 138 | آموزش آموزش آموزش آموزش آموزش 139 | نسبت نسبت نسبت نسبت نسبت 140 | یکی یکی یکی یکی یکی 141 | زمان زمان زمان زمان زمان 142 | تنها تنها تنها تنها تنها 143 | عراق عراق عراق عراق عراق 144 | دوره دوره دوره دوره دوره 145 | امور امور امور امور امور 146 | کند کند کند کند کند 147 | فوتبال فوتبال فوتبال فوتبال فوتبال 148 | ملي ملي ملي ملي ملي 149 | گفته گفته گفته گفته گفته 150 | اظهار اظهار اظهار اظهار اظهار 151 | دانشگاه دانشگاه دانشگاه دانشگاه دانشگاه 152 | توسط توسط توسط توسط توسط 153 | امروز امروز امروز امروز امروز 154 | اول اول اول اول اول 155 | چند چند چند چند چند 156 | توان توان توان توان توان 157 | نظام نظام نظام نظام نظام 158 | جمهوری جمهوری جمهوری جمهوری جمهوری 159 | آب آب آب آب آب 160 | آنان آنان آنان آنان آنان 161 | درباره درباره درباره درباره درباره 162 | رئیس رئیس رئیس رئیس رئیس 163 | ملی ملی ملی ملی 164 | آمريكا آمريكا آمريكا آمريكا 165 | ديگر ديگر ديگر ديگر 166 | جمله جمله جمله جمله 167 | تلاش تلاش تلاش تلاش 168 | نفت نفت نفت نفت 169 | آمریکا آمریکا آمریکا آمریکا 170 | هفته هفته هفته هفته 171 | روابط روابط روابط روابط 172 | دارند دارند دارند دارند 173 | نام نام نام نام 174 | تواند تواند تواند تواند 175 | دهد دهد دهد دهد 176 | شنبه شنبه شنبه شنبه 177 | تاكيد تاكيد تاكيد تاكيد 178 | اينكه اينكه اينكه اينكه 179 | غزه غزه غزه غزه 180 | همین همین همین همین 181 | تمام تمام تمام تمام 182 | دوم دوم دوم دوم 183 | سیاسی سیاسی سیاسی سیاسی 184 | انتخابات انتخابات انتخابات انتخابات 185 | افزایش افزایش افزایش افزایش 186 | همچنين همچنين همچنين همچنين 187 | jpg jpg jpg jpg 188 | مهم مهم مهم مهم 189 | بعد بعد بعد بعد 190 | اقتصادی اقتصادی اقتصادی اقتصادی 191 | حدود حدود حدود حدود 192 | اقتصادي اقتصادي اقتصادي اقتصادي 193 | افراد افراد افراد افراد 194 | جهت جهت جهت جهت 195 | بهره بهره بهره بهره 196 | فرهنگي فرهنگي فرهنگي فرهنگي 197 | نقش نقش نقش نقش 198 | بار بار بار بار 199 | نه نه نه نه 200 | سطح سطح سطح سطح 201 | سوی سوی سوی سوی 202 | موضوع موضوع موضوع موضوع 203 | وزير وزير وزير وزير 204 | بی بی بی بی 205 | روی روی روی روی 206 | شهرستان شهرستان شهرستان شهرستان 207 | بدون بدون بدون بدون 208 | كار كار كار كار 209 | زمینه زمینه زمینه زمینه 210 | روزنامه روزنامه روزنامه روزنامه 211 | طور طور طور طور 212 | سفر سفر سفر سفر 213 | مقام مقام مقام مقام 214 | ایجاد ایجاد ایجاد ایجاد 215 | اجتماعی اجتماعی اجتماعی 216 | خصوص خصوص خصوص 217 | میان میان میان 218 | الله الله الله 219 | شورای شورای شورای 220 | کنند کنند کنند 221 | همچنین همچنین همچنین 222 | تن تن تن 223 | بسیار بسیار بسیار 224 | زمينه زمينه زمينه 225 | وارد وارد وارد 226 | هدف هدف هدف 227 | حاضر حاضر حاضر 228 | لازم لازم لازم 229 | بیشتر بیشتر بیشتر 230 | مدت مدت مدت 231 | افزايش افزايش افزايش 232 | جهانی جهانی جهانی 233 | عمل عمل عمل 234 | کشورهای کشورهای کشورهای 235 | ارائه ارائه ارائه 236 | رشد رشد رشد 237 | میلیون میلیون میلیون 238 | شما شما شما 239 | پيش پيش پيش 240 | منابع منابع منابع 241 | قابل قابل قابل 242 | حوزه حوزه حوزه 243 | ساخت ساخت ساخت 244 | كردند كردند كردند 245 | هیچ هیچ هیچ 246 | كشورهاي كشورهاي كشورهاي 247 | قبل قبل قبل 248 | اقدام اقدام اقدام 249 | شوراي شوراي شوراي 250 | تولید تولید تولید 251 | اینکه اینکه اینکه 252 | زندگی زندگی زندگی 253 | خبر خبر خبر 254 | حقوق حقوق حقوق 255 | حتی حتی حتی 256 | بيان بيان بيان 257 | نشست نشست نشست 258 | دلیل دلیل دلیل 259 | المللي المللي المللي 260 | فرهنگی فرهنگی فرهنگی 261 | تحت تحت تحت 262 | چنین چنین چنین 263 | بیش بیش بیش 264 | مناطق مناطق مناطق 265 | کردن کردن کردن 266 | خواهند خواهند خواهند 267 | همراه همراه همراه 268 | بازار بازار بازار 269 | بازی بازی بازی 270 | سياسي سياسي سياسي 271 | هایی هایی هایی 272 | تعداد تعداد تعداد 273 | کاهش کاهش کاهش 274 | شوند شوند شوند 275 | ولی ولی ولی 276 | اسلام اسلام اسلام 277 | نقل نقل نقل 278 | دلار دلار دلار 279 | دفاع دفاع دفاع 280 | فرانسه فرانسه فرانسه 281 | مسابقات مسابقات مسابقات 282 | گونه گونه گونه 283 | برخی برخی برخی 284 | دانش دانش دانش 285 | چون چون چون 286 | برابر برابر برابر 287 | اساس اساس اساس 288 | رژيم رژيم رژيم 289 | مصرف مصرف مصرف 290 | خدمات خدمات خدمات 291 | قدرت قدرت قدرت 292 | عمومی عمومی عمومی 293 | مطرح مطرح مطرح 294 | ملت ملت ملت 295 | آمده آمده آمده 296 | مواد مواد مواد 297 | برخي برخي برخي 298 | جوانان جوانان جوانان 299 | جدید جدید جدید 300 | حل حل حل 301 | انتخاب انتخاب انتخاب 302 | حزب حزب حزب 303 | ك ك ك 304 | امر امر امر 305 | اطلاعات اطلاعات اطلاعات 306 | چهار چهار چهار 307 | آثار آثار آثار 308 | نامه نامه نامه 309 | معاون معاون معاون 310 | همان همان همان 311 | شدند شدند شدند 312 | صنعت صنعت صنعت 313 | زنان زنان زنان 314 | سر سر سر 315 | مراسم مراسم مراسم 316 | ايجاد ايجاد ايجاد 317 | يكي يكي يكي 318 | پایان پایان پایان 319 | پنج پنج پنج 320 | جشنواره جشنواره جشنواره 321 | نخست نخست نخست 322 | نمي نمي نمي 323 | امسال امسال امسال 324 | بررسی بررسی بررسی 325 | ضمن ضمن ضمن 326 | واقع واقع واقع 327 | ميليون ميليون ميليون 328 | اجتماعي اجتماعي اجتماعي 329 | عدم عدم عدم 330 | مربوط مربوط مربوط 331 | آزاد آزاد آزاد 332 | بيش بيش بيش 333 | پاسخ پاسخ پاسخ 334 | جلسه جلسه جلسه 335 | محل محل محل 336 | اداره اداره اداره 337 | وزیر وزیر وزیر 338 | خانه خانه خانه 339 | جمعه جمعه جمعه 340 | فیلم فیلم فیلم 341 | ساعت ساعت ساعت 342 | فرهنگ فرهنگ فرهنگ 343 | بودن بودن بودن 344 | افغانستان افغانستان افغانستان 345 | آینده آینده آینده 346 | خارجه خارجه خارجه 347 | هيات هيات هيات 348 | ديدار ديدار ديدار 349 | بي بي بي 350 | براساس براساس براساس 351 | سوم سوم سوم 352 | اروپا اروپا اروپا 353 | پرداخت پرداخت پرداخت 354 | مقابل مقابل مقابل 355 | واحد واحد واحد 356 | بسیاری بسیاری بسیاری 357 | مرحله مرحله مرحله 358 | اجراي اجراي اجراي 359 | بودجه بودجه بودجه 360 | خارج خارج خارج 361 | بزرگ بزرگ بزرگ 362 | اضافه اضافه اضافه 363 | هنوز هنوز هنوز 364 | گرفت گرفت گرفت 365 | فراهم فراهم فراهم 366 | گسترش گسترش 367 | منظور منظور 368 | بودند بودند 369 | موجود موجود 370 | نیست نیست 371 | موجب موجب 372 | اجرا اجرا 373 | دور دور 374 | نوع نوع 375 | سوي سوي 376 | پايان پايان 377 | قیمت قیمت 378 | همكاري همكاري 379 | دستگاه دستگاه 380 | حمايت حمايت 381 | عضو عضو 382 | خانواده خانواده 383 | حق حق 384 | محمد محمد 385 | سرمایه سرمایه 386 | طی طی 387 | اقتصاد اقتصاد 388 | ريال ريال 389 | ميليارد ميليارد 390 | جمع جمع 391 | طول طول 392 | دانست دانست 393 | حفظ حفظ 394 | رشته رشته 395 | كاهش كاهش 396 | يا يا 397 | فعاليت فعاليت 398 | جام جام 399 | خارجي خارجي 400 | جهاني جهاني 401 | رسانه رسانه 402 | دنبال دنبال 403 | دیگری دیگری 404 | اجرای اجرای 405 | چرا چرا 406 | اثر اثر 407 | فقط فقط 408 | ویژه ویژه 409 | توليد توليد 410 | ارتباط ارتباط 411 | کل کل 412 | رو رو 413 | تشکیل تشکیل 414 | روند روند 415 | ارزش ارزش 416 | دهند دهند 417 | ملل ملل 418 | هسته هسته 419 | البته البته 420 | مسائل مسائل 421 | انسان انسان 422 | عرصه عرصه 423 | برگزاري برگزاري 424 | حمله حمله 425 | باشند باشند 426 | میزان میزان 427 | کتاب کتاب 428 | یعنی یعنی 429 | اصلی اصلی 430 | دهه دهه 431 | شرایط شرایط 432 | مجموعه مجموعه 433 | خارجی خارجی 434 | جنگ جنگ 435 | گاز گاز 436 | فعالیت فعالیت 437 | پرورش پرورش 438 | تاکید تاکید 439 | گذاری گذاری 440 | عمومي عمومي 441 | مشکلات مشکلات 442 | المللی المللی 443 | خاطر خاطر 444 | ويژه ويژه 445 | طرف طرف 446 | صهيونيستي صهيونيستي 447 | ساله ساله 448 | دیروز دیروز 449 | نشده نشده 450 | توانند توانند 451 | تصريح تصريح 452 | گو گو 453 | زبان زبان 454 | لبنان لبنان 455 | ندارد ندارد 456 | اصلاح اصلاح 457 | آينده آينده 458 | جديد جديد 459 | كل كل 460 | حضرت حضرت 461 | علاوه علاوه 462 | دوشنبه دوشنبه 463 | ترین ترین 464 | بررسي بررسي 465 | نيست نيست 466 | میلیارد میلیارد 467 | مانند مانند 468 | سرمايه سرمايه 469 | فروش فروش 470 | نتیجه نتیجه 471 | كشتي كشتي 472 | جمهور جمهور 473 | شامل شامل 474 | علت علت 475 | چهارشنبه چهارشنبه 476 | مناسب مناسب 477 | علوم علوم 478 | ي ي 479 | اصفهان اصفهان 480 | علمی علمی 481 | مطبوعات مطبوعات 482 | آنچه آنچه 483 | مركز مركز 484 | نژاد نژاد 485 | خط خط 486 | بيشتر بيشتر 487 | بسيار بسيار 488 | جای جای 489 | رقابت رقابت 490 | کمک کمک 491 | ورزش ورزش 492 | اكنون اكنون 493 | نظارت نظارت 494 | دوران دوران 495 | كردن كردن 496 | نیاز نیاز 497 | فرهنك فرهنك 498 | طریق طریق 499 | شهرداری شهرداری 500 | چاپ چاپ 501 | باز باز 502 | بلکه بلکه 503 | نيروهاي نيروهاي 504 | بحران بحران 505 | پروژه پروژه 506 | همايش همايش 507 | مبارزه مبارزه 508 | ثبت ثبت 509 | صلح صلح 510 | دیدار دیدار 511 | اهداف اهداف 512 | تاریخ تاریخ 513 | ژاپن ژاپن 514 | گل گل 515 | اختصاص اختصاص 516 | آلمان آلمان 517 | فلسطين فلسطين 518 | دادن دادن 519 | هیات هیات 520 | مشخص مشخص 521 | باشگاه باشگاه 522 | خبرگزاری خبرگزاری 523 | آماده آماده 524 | فارس فارس 525 | انتقال انتقال 526 | شب شب 527 | شکل شکل 528 | جاري جاري 529 | كمك كمك 530 | وگو وگو 531 | خبرنگاران خبرنگاران 532 | غرب غرب 533 | خواستار خواستار 534 | حمایت حمایت 535 | باعث باعث 536 | اکنون اکنون 537 | طي طي 538 | بزرك بزرك 539 | ریال ریال 540 | ميان ميان 541 | كشاورزي كشاورزي 542 | زیادی زیادی 543 | دليل دليل 544 | كنيم كنيم 545 | استقلال استقلال 546 | اطلاع اطلاع 547 | مشكلات مشكلات 548 | تامین تامین 549 | سیاست سیاست 550 | تغییر تغییر 551 | فصل فصل 552 | دادگاه دادگاه 553 | صنايع صنايع 554 | زمین زمین 555 | ورزشي ورزشي 556 | تامين تامين 557 | آتش آتش 558 | همکاری همکاری 559 | یافته یافته 560 | سهام سهام 561 | مسئولان مسئولان 562 | آقای آقای 563 | موفق موفق 564 | مقاومت مقاومت 565 | هزینه هزینه 566 | علمي علمي 567 | حالی حالی 568 | امنيت امنيت 569 | حمل حمل 570 | آیا آیا 571 | جوان جوان 572 | صادرات صادرات 573 | شش شش 574 | مساله مساله 575 | کم کم 576 | برق برق 577 | پیدا پیدا 578 | اسراييل اسراييل 579 | عامل عامل 580 | ارتش ارتش 581 | سياست سياست 582 | برتر برتر 583 | روسيه روسيه 584 | نگاه نگاه 585 | مسابقه مسابقه 586 | اساسی اساسی 587 | سازي سازي 588 | مشکل مشکل 589 | اقدامات اقدامات 590 | بحث بحث 591 | اش اش 592 | معظم معظم 593 | تشكيل تشكيل 594 | زیر زیر 595 | وضعیت وضعیت 596 | گیری گیری 597 | مسوولان مسوولان 598 | ممکن ممکن 599 | وقتی وقتی 600 | علی علی 601 | جنوب جنوب 602 | نماينده نماينده 603 | زن زن 604 | ميزان ميزان 605 | ورود ورود 606 | رياست رياست 607 | فعال فعال 608 | نوشته نوشته 609 | عرضه عرضه 610 | جاری جاری 611 | ساخته ساخته 612 | اصل اصل 613 | تر تر 614 | چشم چشم 615 | شروع شروع 616 | خاطرنشان خاطرنشان 617 | خاص خاص 618 | ایرانی ایرانی 619 | بازي بازي 620 | اعضای اعضای 621 | برخورد برخورد 622 | برخوردار برخوردار 623 | هيچ هيچ 624 | اخیر اخیر 625 | بیان بیان 626 | ستاد ستاد 627 | پيروزي پيروزي 628 | نیروهای نیروهای 629 | رفع رفع 630 | اعتبار اعتبار 631 | خوب خوب 632 | همين همين 633 | وقت وقت 634 | فرد فرد 635 | ماده ماده 636 | ايراني ايراني 637 | مرکز مرکز 638 | دولتی دولتی 639 | جنك جنك 640 | رسد رسد 641 | شمال شمال 642 | کردند کردند 643 | علي علي 644 | دارای دارای 645 | مثل مثل 646 | هايي هايي 647 | کننده کننده 648 | نظامي نظامي 649 | مدیریت مدیریت 650 | نمايشگاه نمايشگاه 651 | گذاري گذاري 652 | شاهد شاهد 653 | صنایع صنایع 654 | رابطه رابطه 655 | خواست 656 | روش 657 | يكشنبه 658 | کنیم 659 | انجمن 660 | روي 661 | زمانی 662 | رود 663 | پی 664 | سازی 665 | بهداشت 666 | بالا 667 | داخلي 668 | برداري 669 | احساس 670 | مسئله 671 | آزادی 672 | مقامات 673 | شماره 674 | هند 675 | دکتر 676 | پاكستان 677 | دفتر 678 | نرخ 679 | شمار 680 | تصمیم 681 | نخواهد 682 | رهبر 683 | فرصت 684 | علاقه 685 | اجرايي 686 | اجلاس 687 | خودرو 688 | تجربه 689 | داخلی 690 | سمت 691 | عليه 692 | سایر 693 | كميته 694 | بورس 695 | ابراز 696 | مشارکت 697 | ليك 698 | داخل 699 | انتظار 700 | کسی 701 | گيرد 702 | احمدي 703 | منتشر 704 | حد 705 | اولین 706 | فکر 707 | موسیقی 708 | بهتر 709 | تازه 710 | چين 711 | گسترده 712 | تحقق 713 | عوامل 714 | تعیین 715 | مالی 716 | نياز 717 | تاكنون 718 | شهری 719 | تومان 720 | نیروی 721 | بینی 722 | شرايط 723 | فيلم 724 | همچنان 725 | طبیعی 726 | متر 727 | امنیت 728 | مواجه 729 | امکان 730 | صنعتی 731 | حرکت 732 | دریافت 733 | کنار 734 | رفت 735 | مرکزی 736 | مسكن 737 | نهم 738 | شهروندان 739 | هشت 740 | يافت 741 | ولي 742 | بانك 743 | عمده 744 | پنجشنبه 745 | پرونده 746 | لحاظ 747 | کودکان 748 | سهم 749 | شبکه 750 | كتاب 751 | گرفتن 752 | زاده 753 | آموزان 754 | هنر 755 | شاید 756 | هزينه 757 | قيمت 758 | اخير 759 | درمان 760 | جریان 761 | موارد 762 | همواره 763 | استقبال 764 | نمایش 765 | عهده 766 | محصولات 767 | ارايه 768 | شبكه 769 | خراسان 770 | تصویب 771 | اصلي 772 | درست 773 | صحنه 774 | نخستین 775 | محیط 776 | نظامی 777 | اعمال 778 | يافته 779 | تبدیل 780 | نمایندگان 781 | رسيد 782 | هفت 783 | عصر 784 | زیرا 785 | فجر 786 | تاکنون 787 | نزدیک 788 | مقدس 789 | دچار 790 | بانک 791 | داشتند 792 | همشهری 793 | هنگام 794 | مطلب 795 | درآمد 796 | دعوت 797 | سراسر 798 | كسب 799 | ضرورت 800 | علم 801 | قم 802 | خصوصی 803 | اجازه 804 | قرآن 805 | الاسلام 806 | حادثه 807 | اهمیت 808 | حداقل 809 | مجمع 810 | نمايندگان 811 | جان 812 | دسته 813 | آموزشي 814 | پوشش 815 | اعضاي 816 | روسیه 817 | سخن 818 | شدت 819 | چیزی 820 | عالی 821 | عدالت 822 | زمين 823 | آنجا 824 | نمونه 825 | برگزاری 826 | صنعتي 827 | انرژي 828 | اتحاديه 829 | یاد 830 | جدی 831 | مقابله 832 | خیلی 833 | مدارس 834 | رئيس 835 | رهبري 836 | کاری 837 | سرعت 838 | عربستان 839 | دستور 840 | قوه 841 | علیه 842 | طبق 843 | رقم 844 | همدان 845 | انگليس 846 | زیست 847 | سپس 848 | وضعيت 849 | قانونی 850 | بیشتری 851 | فضای 852 | اشتغال 853 | صدور 854 | فني 855 | فشار 856 | جمعیت 857 | استاد 858 | افزود 859 | زير 860 | بروز 861 | ام 862 | تجارت 863 | كميسيون 864 | غير 865 | جنوبي 866 | کمتر 867 | آباد 868 | بسياري 869 | مدرسه 870 | بسته 871 | خدمت 872 | انتشار 873 | کشاورزی 874 | محسوب 875 | اجرایی 876 | کامل 877 | صادر 878 | روشن 879 | چین 880 | حاصل 881 | عمليات 882 | منافع 883 | سرویس 884 | کنترل 885 | سابق 886 | مالي 887 | فدراسيون 888 | تركيه 889 | داشتن 890 | تهیه 891 | آنکه 892 | دولتي 893 | فوق 894 | رسیده 895 | خوبی 896 | قالب 897 | قصد 898 | ریزی 899 | پول 900 | برد 901 | ساختمان 902 | بشر 903 | تمامی 904 | آمار 905 | چهارم 906 | همچون 907 | مديريت 908 | دادند 909 | جذب 910 | شهيد 911 | مركزي 912 | ترين 913 | ارسال 914 | طريق 915 | اختیار 916 | خون 917 | بخشی 918 | سالن 919 | ناشی 920 | گذاشته 921 | سیستم 922 | کسانی 923 | بهمن 924 | نبود 925 | معرفي 926 | کمیسیون 927 | سخنان 928 | انواع 929 | نسل 930 | ساز 931 | داراي 932 | سالانه 933 | وحدت 934 | مدير 935 | شرق 936 | حسن 937 | زيادي 938 | رساني 939 | درخواست 940 | دنیا 941 | نداشته 942 | نتيجه 943 | پشت 944 | گردشگري 945 | پليس 946 | چگونه 947 | ریاست 948 | تاریخی 949 | تلفن 950 | آورده 951 | کسب 952 | سبب 953 | نحوه 954 | ديگري 955 | آموزشی 956 | وزن 957 | پیروزی 958 | متاسفانه 959 | نقطه 960 | حفاظت 961 | نقاط 962 | برداری 963 | صبح 964 | کشتی 965 | همزمان 966 | نماینده 967 | خوبي 968 | بهترین 969 | حملات 970 | دراين 971 | آمد 972 | ارشاد 973 | خبري 974 | نمایشگاه 975 | آهن 976 | گيري 977 | پزشكي 978 | کودک 979 | مثبت 980 | مسئول 981 | خاتمی 982 | انسانی 983 | فاصله 984 | جز 985 | موسسه 986 | مجموع 987 | جلوگیری 988 | نيروي 989 | شیوه 990 | مصر 991 | اتفاق 992 | میدان 993 | تاثیر 994 | صندوق 995 | رفته 996 | توافق 997 | مشترك 998 | ترتیب 999 | سي 1000 | ريزي 1001 | -------------------------------------------------------------------------------- /samples/fy.txt: -------------------------------------------------------------------------------- 1 | De wie in eardere perioade yn de skiednis fan de , tusken it en it yn. 2 | Yn dat tiidrek waakste Rome út fan in stêd dy't lokale krigen útfjocht 3 | mei buorsteden oant in wrâldryk. De republyk sette útein mei de earste 4 | ferkiezing fan de konsuls yn 509 f. Kr. en einige 478 jierren letter 5 | doe't Oktavianus de earste keizerlike dynasty fêstige. It tiidrek moat 6 | net betize wurde letter koarte tiid besteand hawwende republiken út de 7 | Moderne Tiid, sjoch dêrfoar de fan 1798-1799 en de fan 1849. 8 | 9 | It begjin fan de skiednis leit yn de ferieniging fan Paltinus en de 10 | Quirinalis, de âldst bewenne heuvels fan Rome. De stêd dy't hjirút 11 | ûntstie kaam al gau ûnder Etruskyske hearskippij te lizzen. Neidat de de 12 | Etruskyske kening Tarkwinius yn 496 f. Kr. ferdreaunen, sletten en 13 | Latinen in ferbûn. Nei de ferovering fan Feji (396 f. Kr.) wreide Rome 14 | har macht út oer de omhinne lizzende krite, nettsjinsteande de 15 | ûnderlinge striid tusken patrysjers en pebejers. De ekspânsje stagnearre 16 | lykwols yn 387 f. Kr. doe ynfallende Galjers Rome oermasteren en de in 17 | fernederjende frede opleinen. It gefolch wie dat de buorfolken yn opstân 18 | kamen. De opstân waard betwongen nei jierrenlange striid; yn de 19 | Samnityske Krigen (326-304 en 298-290 f. Kr.) slaggen de , 20 | nettsjinsteande earst nederlagen (pas fan Caudium, 321 f. Kr.), harren 21 | macht fierder út te wreidzjen yn Kampanje en Samnium. Sy rekken dêr yn 22 | konflikt mei Tarente, dat de help ynrop fan kening Pyrrus fan Epirus, dy 23 | yn 275 f. Kr. by Beneventum ferslein waard. Fan dat stuit ôf stie it 24 | Súd- en Midden-Itaalje ûnder hegemony. 25 | 26 | Troch in systeem fan wegen en koloanjes hanthavenjen de harren gesach. 27 | De ûnderwurpen folken waarden "socii" (bûnsmaten). Oan inkele Latynske 28 | steden waard it boargerrjocht ferline. Troch de feroveringen yn 29 | Súd-Itaalje kaam Rome yn kontakt mei de Kartagers. Nei de Earste Punyske 30 | Oarloch (264-241 f. Kr.) ferkrigen de Sysylje en anneksearen Sardynje en 31 | Korsika (238 f. Kr.). Nei de Twadde Punyske Oarloch waard Kartago en 32 | Korinte ferwoast; Masedoanje en Grikelân waarden ien provinsje. Pergamum 33 | (westlik Lyts Aazje) waard de provinsje Aazje (133 f. Kr.) 34 | 35 | Troch de rige oermasteringen feroare stadich de sosjale struktuer fan it 36 | ryk. De belêstingpachters yn de provinsjes (de publicani) waarden ryk en 37 | kochten lân, benammen yn Itaalje. De boerebefolking luts nei Rome en 38 | foarmde it proletariaat dat mei sosjale maatregels yn libben hâlde wurde 39 | moast. 40 | 41 | Besikings fan de bruorren Grakkus om herfoarmingen troch te fieren 42 | mislearen (133-121 f. Kr.) en it die al gau bliken dat de Senaat gjin 43 | oerwicht mear hienen. Yn de kriich tsjin Jugarta (111-105 f. Kr.) dy't 44 | troch Marius wûn waard, waarden proletaarjers as berôpsoldaten yn it 45 | leger opnommen. Nei de Bûnsmatenkriich (91-89 f. Kr.) ferkrige hja it 46 | boargerrjocht. De Earste Boargerkriich (88-81 f. Kr.) tusken de 47 | oanhingers fan de populêre Marius en de Senaatsgesinde Sulla einige yn 48 | in oerwinning fan Sulla. 49 | 50 | Nei de dea fan Sulla yn 79 f. Kr. besochten Pompejus en Krassus mei 51 | stipe fan it folk de macht te krijen. Pompejus fersloech Mitridates VI 52 | fan Pontos en wreide it grûngebiet út oant de Eufraat. By syn weromkomst 53 | yn Rome yn 63 f. Kr. kaam it Earste Trijmanskip tussen Krassus, Pompejus 54 | en Julius Caesar ta stân. 55 | 56 | Hja wisten de senaat nei harren hân te setten. Caesar gie yn 59 f. Kr. 57 | nei Galje dat hy yn tsien jier tiid ûnderwurp. Krassus sneuvele tsjin de 58 | Parten (53 f. Kr.). It oerheljen fan Pompejus troch de senaat late ta de 59 | saneamde Twadde Boargerkiich (49-45 f. Kr.). Pompejus waard troch Caesar 60 | ferlein dy't dêrtroch allinnich hearsker wurden wie. Hy soe de basis 61 | lizze foar it lettere keizerskip. Nei syn fermoardzjen troch guons fan 62 | de senaat kaam yn 43 f. Kr. it Twadde Trijmanskip ta stân tusken 63 | Oktavianus, Lepidus en Markus Antonius. Lepidus waard oan de kant skowe, 64 | Oktavianus krige it westen, Antonius it easten. Antonius rekke ûnder 65 | ynfloed fan de Egyptyske keninginne Kleopatra en foar ferstuts er syn 66 | eigen frou dy't in suster wie fan Oktavianus. In Tredde Boargerkriich 67 | bruts út yn 31 f. Kr. en Antonius en Kleopatra waarden ferslein troch 68 | Oktavianus. Dizze ferwurf no de allinnich hearskippij en dat soe de ein 69 | betsjutte fan de Republyk. 70 | 71 | In is in iepen, rjochtenfrije ensyklopedy, dy't troch eltsenien bewurke 72 | wurde kin. It wurd is in kombinaasje fan wiki en ensyklopedy. In is in 73 | taalferzje fan it fan de Foundation, in yn Florida fêstige organisaasje. 74 | bestiet op it stuit, desimber 2008, út 265 . Mei de wurdt almeast doeld 75 | op de Fryske . 76 | 77 | Om't in de foarm hat fan in wiki, kin eltsenien siden yn in feroarje. 78 | Dit is tagelyk de krêft en it swakke stee fan in : Eltsenien kin 79 | flaters ferbetterje, mar eltsenien kin ek nije flaters meitsje. 80 | Algemien wurdt troch de mienskip oannaam dat it foardiel grutter is as 81 | it neidiel. 82 | 83 | Op de measte binne út en troch problemen mei fandalisme: bewurkings dy't 84 | mei sin de minder meitsje. Troch dat de skiednis fan eltse side bewarre 85 | bliuwt kinne sokke feroarings lykwols gau genôch tebekdraaid wurde. 86 | 87 | Eltse hat in foarkar foar dàt gebiet dêr't de taal fan dy it meast praat 88 | wurdt. Lykwols binne it generale ensyklopedyen: hoe mear at der skreaun 89 | wurdt hoe mear der ek oer gebieten fierder fuort skreaun wurdt. 90 | 91 | De stêd waard stifte yn 1679 troch de gûverneur fan de Kaapkoloanje, 92 | Simon van der Stel. Hy joech syn eigen namme oan it plak, (Van der Stel 93 | syn Bosk). It gebiet stie dêrfoar noch bekend as Wildenbosch. It leit 94 | oan de igge fan de Eerste Rivier, dat sa neamd waard omdat it de earste 95 | rivier wie dy’t berikt waard en dy’t hy ek folge neidat Jan van Riebeeck 96 | him der op útstjoerde om it gebiet te ferkennen. Van der Stel wie bot 97 | ûnder de yndruk fan it skientme en de fruchtberens fan it lân. Noch yn 98 | 1679 setten harren de earste kolonisten dêr ta wenjen. It is dêrmei nei 99 | Kaapstêd de âldste Jeropeeske delsetting yn Afrika. De stêd groeide sa 100 | hurd dat it in wichtige lokale stêd waard yn 1682. Yn 1685 kaam de 101 | rjochterlike macht yn . 102 | 103 | De Nederlanners wienen goed mei wetterboukunde en makken in systeem dat 104 | it wetter út de Eerste Rivier helle en troch de Van Riebeeck Strjitte 105 | nei de mûne yn de Mûne Strjitte brocht.[1] 106 | 107 | Yn de jierren 1710, 1803[2] en 1875 hie it doarp te krijen mei grutte 108 | brânen en geregeld rûn de Eerste Rivier oer. Stadichoan mear minsken 109 | lutsen fuort, ek omdat minsken meidienen oan de Grutte Trek, rjochting 110 | it easten. Dizze efterútgong yn wichtigens waard stoppe mei it jaan fan 111 | de universiteitsstatus oan it Gymnasium yn 1918. 112 | 113 | is tsjintwurdich in wichtich sintrum fan de Súd-Afrikaanske wynbou 114 | wurden. Dat begûn al gau nei de stifting fan de delsetting. Frânske 115 | Hugenoaten planten dêr druven yn de fruchtbere boaiem, al gau waard it 116 | doarp it sintrum fan de wynyndustry fan Súd-Afrika. De iken yn de stêd 117 | binne noch in oerbliuwsel fan de begjinjierren fan de wynhannel yn . De 118 | wyn moast bewarre wurde yn ikehouten fetten, sa wienen de boeren út 119 | Jeropa dat wend, dat der wie grut ferlet oan ikehout. Tûzenen iken 120 | binne yn de begjinjierren plante troch Simon van der Stel en syn soan 121 | Willem Adriaan van der Stel. wurdt dêrom ek wol de Ikestêd neamd. Omdat 122 | de iken troch it Súd-Afrikaanske klimaat in stik hurder groeiden as yn 123 | Jeropa, wie it ikehout al gau te spûnseftich, en dus net te brûken foar 124 | it meitsjen fan wynfetten. De âldste iik is no mear as 200 jier âld. 125 | 126 | Yn de tiid fan de Twadde Boere Oarloch (1899-1902) wie in Britske 127 | militêre basis. 128 | 129 | Foar toeristen is benammen aardich om de talrike âlde huzen dy’t yn 130 | Kaapsk-Hollânske styl boud binne. Benammen de doarpsstrjitte is 131 | bekoarlik foar it each mei ûnder oare ‘‘Oom Samie se winkel’’. 132 | 133 | Yn is ek it Technopark fêstige. 134 | 135 | hat in populaasje fan likernôch 117.000 (2001), útsein de studinten 136 | dy’t op de kampus fan de universiteit wenje. It giet hjir om in telling 137 | fan formeel-behuze ynwenners, en is dus in ûnderskatting fan it wiere 138 | tal ynwenners, omdat yn de omkriten fan ek in tal ynformele delsettings 139 | steane. 140 | 141 | Der wurdt benammen Afrikaansk sprutsen yn de omkriten fan , mei grutte 142 | Ingelske en Xhosa minderheden. De swarte ynwenners fan it gebiet sprekke 143 | benammen Xhosa as memmetaal, wite minsken hawwe Afrikaansk en Ingelsk as 144 | memmetaal en de kleurde minsken, dy’t yn de mearderheid binne, sprekke 145 | Afrikaansk. 146 | 147 | By de telling fan 1833 wennen der 16.137 minsken yn it distrikt. Dêrfan 148 | wienen 8.555 slaven, 6.066 wyt, 1.220 Hottentotten en 296 Frije 149 | Swarten.[3] 150 | 151 | leit op justjes 55 kilometer eastlik fan Kaapstêd, sa’n 114 meter boppe 152 | de seespegel. leit yn it heuveleftige lân fan de Kaapske Wynlannen, it 153 | leit yn in delte, mei oan de westkante de Papegaaiberch, dat eins in 154 | heuvel is. Yn it suden en easten lizze hege bergen, mei de Berch súdlik 155 | fan en de Simonsberch, de Jonkershoekberch en de Drakenstein Bergen yn 156 | it easten en súdeasten. De Tweeling Pieke (1.494 meter) foarmet in 157 | herkenningspunt fan de regio. De Victoria Pyk is mei 1.590 meter it 158 | heechste plak fan it gebiet. 159 | 160 | De boaiem bestiet út donkere klaai en soarget der tegearre mei it goed 161 | drainearre en heuveleftige terrein en it mediterraanske klimaat foar dat 162 | it in goed gebiet is foar de wynbou. De simmers yn it gebiet binne 163 | droech en waarm oant hjit. Yn de moannen febrewaris en maart komt it dan 164 | geregeld boppe de 30°C. De winters binne koel, reineftich en somtiden 165 | stekt de wyn bot op yn dy perioade. Yn dy tiid is de temperatuer 166 | trochstrings 16°C. Snie komt eins net foar yn de West Kaap, allinnich op 167 | de ferskate bergen yn de omkriten fan wurdt it wol sjoen. Yn de maitiid 168 | en mei de hjerst is it trochstrings 20°C. 169 | -------------------------------------------------------------------------------- /samples/ga.txt: -------------------------------------------------------------------------------- 1 | Is minic a deirtear gurbh é Walter Scott a chuir tús leis an seánra seo, 2 | ach scríobhadh leabhair ar féidir úrscéalta stairiúla a thabhairt orthu 3 | i gcultúir eile seachas an cultúr Iartharach i bhfad roimh lá Scott. 4 | Sampla de seo is ea "Rómáns na dTrí Ríochtaí", le Luo Guanzhong, a 5 | bhreac síos an scéal sa cheathrú haois déag. Áirítear an "Rómáns" seo ar 6 | ceann de "Cheithre Úrscéalta Clasaiceacha na Síne". 7 | 8 | Cé nárbh é Scott a chéadcheap an t-úrscéal stairiúil, is léir gur chuir 9 | sé an-chor i bhforbairt an tseánra. Dúirt an léirmheastóir Georg Lukács 10 | gurbh é Scott an chéad duine a thuig nach maisíocht amháin a bhí i 11 | gceist leis an suíomh stairiúil, ach gur chóir don scríbhneoir taighde 12 | agus aithris a dhéanamh ar atmaisféar iomlán na tréimhse. 13 | 14 | Ba é Waverley, or 'tis Sixty Years Since (1814) an chéad úrscéal sa stíl 15 | seo a tháinig i gcló ó Scott, agus d'éirigh sé coitianta Waverley novels 16 | a thabhairt ar a chuid úrscéalta stairiúla. I saothair ar nós Waverley 17 | nó Rob Roy roghnaigh Scott lárcharachtar a tháinig go nádúrtha i 18 | dteagmháil le daoine ó aicmí agus grúpaí sóisialta éagsúla, rud a chuir 19 | ar chumas an scríbhneora cur síos cuimsitheach a thabhairt ar atmaisféar 20 | na tréimhse. Nuair a d'fhoilsigh sé Ivanhoe, chuir na daoine suim nua i 21 | stair na Meánaoise faoi thionchar an úrscéil. 22 | 23 | Tháinig scríbhneoirí eile sna sálaí ag Scott. Scríobh Aleksandr Pushkin, 24 | file náisiúnta na Rúise, a úrscéal stairiúil féin, Капитанская 25 | дочка/Kapitanskaya dochka ("Iníon an Chaptaein"), mar iarracht 26 | mheabhrach aithris a dhéanamh ar stíl úrscéalaíochta Scott, ach ansin 27 | d'éirigh le Lev Tolstoy máistreacht an tseánra a bhaint amach leis an 28 | mórúrscéal eipiceach Война и мир/Voyna i mir ("Cogadh agus Síocháin"). 29 | 30 | San Fhionlainn, bhreac Zachris Topelius síos Fältskärns berättelser 31 | ("Scéalta an Mháinlia Airm"), úrscéal i bhfoirm sraithe a thug cur síos 32 | ar chora cinniúna mhuintir Bertelsköld in imeachtaí staire na Sualainne 33 | thar na glúnta. As Sualainnis a scríobh Topelius an t-úrscéal, ach bhí 34 | an-bhaint ag na scéalta leis an bhFionlainn. San fhichiú haois, bhain 35 | Fionlannach eile, Mika Waltari, amach clú domhanda lena chuid úrscéalta 36 | faoin Éigipteach Sinuhe (Sinuhe egyptiläinen - "Sinuhe, an 37 | tÉigipteach"), faoi fhear óg ón bhFionlainn sa Mheánaois agus é ag 38 | taisteal ar fud ríochtaí móra na linne (Mikael Karvajalka agus Mikael 39 | Hakim), faoi thús na Críostaíochta sa tsean-Róimh (Valtakunnan salaisuus 40 | - "Rún na Ríochta" - agus Ihmiskunnan viholliset - "Naimhde an Chine 41 | Dhaonna"), faoi theagmháil na Críostaíochta agus an Ioslaim (Johannes 42 | Angelos) agus faoi na hÉatrúscaigh (Turms kuolematon - "Turms 43 | Neamhbhásmhar"). 44 | 45 | Sa Pholainn, ba é Henryk Sienkiewicz máistir an tseánra, nó bhain sé 46 | amach Duais Nobel sa litríocht leis an úrscéal Quo Vadis, a chaitheann 47 | súil ar chruachás na gCríostaithe i ré na ngéarleanúintí sa tsean-Róimh. 48 | 49 | San Iodáil, glactar leis gurbh é I Promessi Sposi, úrscéal stairiúil le 50 | hAlessandro Manzoni, a chuir tús leis an úrscéalaíocht nua-aimseartha ar 51 | fad sa tír sin. 52 | 53 | Glactar leis gurbh é Niamh leis an Athair Peadar Ua Laoghaire an chéad 54 | úrscéal stairiúil sa teanga. Bhí an leabhar ina chnámh spairne idir an 55 | Athair Peadar agus Conradh na Gaeilge, nó nuair a d'fhéach sé le 56 | bloghanna as an úrscéal nó sceitsí a raibh baint acu leis an úrscéal a 57 | fhoilsiú ar An Claidheamh Soluis, iris Chonradh na Gaeilge, ní raibh sé 58 | sásta leis an sceanairt a rinne na heagarthóirí ar a chuid scríbhinní. 59 | Sa deireadh chuaigh sé i muinín The Irish Book Company leis an úrscéal a 60 | fhoilsiú. Bhí Norma Borthwick agus Maighréad Ní Raghallaigh, 61 | bunaitheoirí an tí foilsitheoireachta seo, fonnmhar chun Niamh a chur i 62 | gcló ar choinníollacha an scríbhneora, agus sa deireadh tháinig an 63 | t-úrscéal i bprionta sa bhliain 1907. 64 | 65 | Is é is ábhar don úrscéal ná cath Chluain Tairbh agus tréimhse na 66 | hargana agus na foghla a bhíodh na Lochlannaigh ag déanamh ar Éirinn. 67 | Tharraing an tAthair Peadar ar Chogadh Gaedhel re Gallaibh agus ar an 68 | aistriúchán Béarla a rinne George Webbe Dasent ar Njáls Saga le haghaidh 69 | an chúlra stairiúil, ach mar a d'iompaigh an scéal amach, cé go ndearna 70 | an tAthair Peadar a dhicheall leis an stair seo a insint i "gcaint na 71 | ndaoine", ní raibh sé in ann é féin a shaoradh ó bhráca na bhfoinsí, 72 | agus chuaigh an t-úrscéal chun leadráin. Ag tabhairt óráidí tura 73 | teagascúla uathu a bhíonn na carachtair, agus níor éirigh leis an 74 | scríbhneoir carachtair bheo bhíogúla a chruthú ná a bhforbairt a léiriú. 75 | 76 | Ba é an tAthair Pádraig Ua Duinnín, fear eagair an fhoclóra, a scríobh 77 | Cormac Ua Conaill, úrscéal gairid stairiúil agus é suite in Éirinn faoi 78 | dheireadh na séú haoise déag. Ach oiread leis an Athair Peadar ní 79 | chuireann an Duinníneach an bhéim is cuí ar charachtracht na laochra, 80 | agus is cuma nó vaits leis faoi chuspóirí na naimhde, Laochra gan on gan 81 | cháim iad na laochra, agus bithiúnaigh chruthanta gan mhaith iad lucht 82 | leanúna na Banríona. Téann an scríbhneoir i muinín comhtharlúintí agus 83 | deus ex machina le haghaidh plotála is nach bhfágann sé craiceann 84 | inchreidte ar bith ar an scéal. Ní raibh teanga an Duinnínigh chomh 85 | líofa foirfe leis an gcanúint Mhuimhneach lenar tógadh an tAthair 86 | Peadar, nó cé nach raibh caill ar a stór focal, níor thuig sé chomh 87 | tábhachtach is a bhí an chomhréir, is é sin, dul ceart nádúrtha na 88 | bhfocal. 89 | -------------------------------------------------------------------------------- /samples/gd.txt: -------------------------------------------------------------------------------- 1 | Mar a chunnacas anns na Fuadaichean, cha robh còraichean oifigeil aig na 2 | croitearan air an fhearann aca gus 1886, bha e ceadaichte gam fuadach 3 | a-mach às na bailtean croitearachd aca gun dragh sam bith. Thòisich strì 4 | nan croitearan ann an 1874, air sgàth 's gun robh iad ag iarraidh na 5 | còraichean tradaiseanta air an fhearann air ais. 6 | 7 | Tha adhbharan na strìthe rin lorg ann an eachdraidh siostam nan 8 | cinnidhean, a chaidh a stèidheachadh ann na Meadhan Aoisean. Tro 9 | leasachaidhean eaconomach is poileataigeach chaidh seallaidhean 10 | eadar-dhealaichte a chruthachadh eadar na daoine uasail agus an tuath: 11 | 12 | Thòisich strì nan croitearan air sgàth an gluasad "Home Rule" ann an 13 | Èirinn agus na beachdan aca a chaidh a thoirt do na h-Eileanan Siar leis 14 | na h-iasgairean. Chleachd iad stailcean màil agus chuir iad an sprèidh 15 | aca air a’ choitcheann. Bha na croitearan den bheachd gum b’ ann leotha 16 | a bha còraichean air a' choitcheann, ach bha na uachdaran gan iarraidh 17 | airson nan caoraich mòra agus mar oighreachdan seilg. Dh'fhàs an strì na 18 | bu mhiosa, dh'iarr na uachdaran bàtaichean-chogaidh airson an dìon an 19 | aghaidh nan croitearan. Bho àm gu àm bha ùpraidean is sàbaidean cruaidh 20 | eatorra. 21 | 22 | Aig ìre phoileataigeach bhathar ag iarraidh fuasgladh laghail, mar sin 23 | chaidh Comunn Gàidhealach Ath-Leasachadh an Fhearainn (Highland Land Law 24 | Reform Association) a chur air bhonn 1885 ann an Lunnainn. Cuideachd 25 | chaidh Pàrtaidh nan Croitearan a stèidheachadh, bha còignear bhuil 26 | phàrlamaid aca ann an 1885. 'S e 'Is Treasa Tuath na Tighearna' an 27 | sluagh-ghairm a bha aca. 28 | 29 | Bha eagal air an riaghaltas gum biodh an gluasad "Home Rule" a' sguabadh 30 | thairis air a' Ghàidhealtachd cuideachd. Le agallamhan leis na 31 | croitearan air feadh na Gàidhealtachd rinn an Coimisean Napier sgrùdadh 32 | mionaideach air suidheachadh nan croitearan. Chuir iad aithisg a-mach 33 | ann an 1884. Dh’fhiach William Gladstone lagh ùr a chur tron phàrlamaid 34 | ach chaidh e a dhiùltadh san Chèitean 1885. Leig Gladstone an dreuchd 35 | aige dheth san Ògmhios 1885, ach dh'fhairlich na pàrtaidhean eile 36 | riaghaltas ùr a chruthachadh. Nuair bha Gladstone air ais san 37 | Fhaoilleach 1886 thug e an achd a-mach san 25mh den Ògmhios 1886. 38 | 39 | A rèir an lagha chaidh Coimisean nan Croitearan a chur air bhonn. B' 40 | urrainnear dol ann nan robh trioblaidean eadar na h-uachdaran agus na 41 | croitearan. A-measg na ciad dleastanasan a bha aig a' choimisean bha e 42 | ri ràdh dè na sgìrean a bha nan sgìrean croitearachd agus mar sin a' 43 | tighinn fon achd ùr. B’ e sin na Siorrachdan tràidiseanta na h-Alba a 44 | leanas Sealtainn, Àrcaibh, Gallaibh, Cataibh, Siorrachd Rois, Cromba, 45 | Inbhir Nis is Earra-Ghàidheal. 'S e coimhearsnachd croitearachd a bha 46 | ann anns na sgìrean far an robh croitearan ann fad 's 80 bliadhna gun 47 | chùmhnant màil agus a' pàigheadh màl na b' ìsle na £30 gach bliadhna 48 | agus aig an robh coitcheann. 49 | 50 | A-measg na dleastanasan eile den choimisean bha e aca ri màl cothromach 51 | a stèidheachadh agus ath-sgrùdadh a dhèanamh gach seachd bliadhna. Nan 52 | robh croitearan dhen bheachd gun robh e a' pàigheadh màl ro àrd bha 53 | cothrom aca dol don choimisean airson am màl a' cothromachadh. Gu math 54 | tric chaidh am màl a ghearradh sìos no a dhubhachd às, nan robh an 55 | croitearan a' pàigheadh cus roimhe sin. Bha cumhachd aig an coimisean an 56 | achd seo a leasachadh agus achdan ùra eile a chur air bhonn. Bha 57 | cumhachd aca cuideachd talamh feurach a thoirt do na croitearan airson 58 | croitean beaga a leudachadh. 59 | 60 | Bha beachdan eadar-dhealaichte ann mun achd seo. Air an dàrna làimh bha 61 | na croitearan a' caoineadh nach deach an achd fada gu leòr, air sgàth 's 62 | nach robh cothrom aca greim fhaighinn air fearann torrach airson na 63 | croitean beaga aca a leudachadh. Agus na b' mhiosa, cha robh an achd a' 64 | dèiligeadh le suidheachadh nan coitearan, aig nach robh fearann idir. 65 | Ach an dèidh greis chunnaic iad gun robh an coimisean deònach na 66 | còirichean aca a chur gu bhuill, gu h-àraidh a thaobh tèarainteachd 67 | màil. Gu mì-fhortanach bha cion-airgid aig a' choimisean agus cha robh 68 | fearann gu leòr ann airson a thoirt do na croitearan cuideachd. Cha robh 69 | an achd a' dèiligeadh leis an duilgheadas a bu mhotha: am fearann a 70 | thoirt air ais do na croitearan. Cha robh fuasgladh ann do na cùisean 71 | far an robh an t-uachdaran agus na croitearan ag iarraidh an dearbh pìos 72 | fearainn. 73 | 74 | Air an làimh eile thuirt na h-uachdaran gun robh "...communism looming 75 | in the future agus sgrìobh am pàipear-naidheachd The Scotsman gum b' e 76 | "great infringement on the rights of private property" a bha anns an 77 | achd seo. 78 | 79 | Cha do chuir an achd crìoch air strì nan croitearan, air sgàth' s gun 80 | robh Arthur Balfour dhen bheachd gun tug an achd seo ùghdarras mhoralta 81 | dha gach ùpraid a chur sìos le armachd airson Law and order a 82 | stèidheachadh a-rithist. Mar sin thàinig bàtaichean-cogaidh air ais don 83 | Eilean Sgitheanach agus Tiriodh. 84 | 85 | Anns na bliadhnaichean an dèidh na h-achda chaill Comunn Gàidhealach 86 | Ath-Leasachadh an Fhearainn (a-nise fon ainm: Dionnasg an Fhearainn) 87 | agus Pàrtaidh nan Croitearan a' chumhachd phoileataigeach aca, air sgàth 88 | 's nach b' urrainn dhaibh aontachadh air ceist an fhearainn agus dè cho 89 | fad 's am biodh iad a' leantainn a' ghluasaid "Home rule" ann an Èirinn 90 | a thaobh seilbh an fhearainn. 91 | -------------------------------------------------------------------------------- /samples/hi.txt: -------------------------------------------------------------------------------- 1 | मॉनमाउथ रेजिमेंटल संग्रहालय (औपचारिक नाम: कासल और रेजिमेंटल संग्रहालय मॉनमाउथ) 2 | कासल हिल, मॉनमाउथ, मॉनमाउथशायर, वेल्स में स्थित एक सैन्य संग्रहालय है। संग्रहालय ग्रेट 3 | कासल हाउस की एक शाखा है, जो ग्रेड प्रथम इमारत होने के साथ-साथ मॉनमाउथ हेरिटेज 4 | ट्रेल के चौबीस स्थलों में से भी एक है। संग्रहालय में प्रदर्शित वस्तुएँ ब्रिटिश प्रादेशिक सेना 5 | में सबसे अधिक एवं सबसे वरिष्ठ रेजिमेंट रॉयल मॉनमाउथशायर रॉयल इंजीनियर्स (मिलिशिया) 6 | पर केंद्रित हैं। ग्रेट कासल हाउस रॉयल मॉनमाउथशायर रॉयल इंजीनियर्स का कार्यालय है और 7 | संग्रहालय रेजिमेंट के अभिलेखागार का कार्य करता है। संग्रहालय 1989 में राजकुमार रिचर्ड, 8 | ग्लौस्टर के ड्यूक, द्वारा स्थापित किया गया था। मॉनमाउथ शहर को अपने योगदान के लिए 9 | संग्रहालय प्रिंस ऑफ वेल्स पुरस्कार से सम्मानित किया जा चुका है। संग्रहालय में विभन्न 10 | प्रकार की कलाकृतियाँ उपस्थित हैं जिनका ध्यान रॉयल मॉनमाउथशायर रॉयल इंजीनियर्स पर 11 | मुख्य तौर से है। यहाँ मॉनमाउथ कासल के खंडहरों के अवशेषों से लेकर उन्नीसवीं सदी व द्वितीय 12 | विश्व युद्ध तक की कई वस्तुएँ हैं। ऐतिहासिक वस्तुओं को प्रदर्शित करने के साथ-साथ संग्रहालय 13 | मिलिशिया के रिकॉर्ड के लिए एक भण्डार के रूप में भी कार्य करता है। इसमें मिले पुरालेखों 14 | से यह स्पष्ट होता है कि कैसे रॉयल मॉनमाउथशायर रॉयल इंजीनियर्स के नाम में अनूठे तौर पर 15 | दो "रॉयल" हैं। संग्रहालय अपने कुछ रिकॉर्ड इंटरनेट पर खोज डेटाबेस के रूप में भी उपलब्ध 16 | कराता है। 17 | 18 | अधिक औपचारिक रूप से संग्रहालय कासल एण्ड रेजिमेंटल म्यूज़ियम, मॉनमाउथ के नाम से जाना 19 | जाता है। संग्रहालय कासल हिल पर स्थित है, जो शहर के केंद्र का सबसे अधिक ऊंचाई वाला 20 | हिस्सा है। यह उन्नीसवीं सदी की शाखा में स्थित है जो सत्रहवीं सदी की इमारत ग्रेट कासल 21 | हाउस का हिस्सा है। एजिंकोर्ट स्क्वायर के एकदम उत्तर-पश्चिम में स्थित ग्रेट कासल हाउस 22 | संयुक्त राजशाही की ग्रेड प्रथम इमारत है। यह मॉनमाउथ हेरिटेज ट्रेल के चौबीस स्थलों में से 23 | एक है जहाँ इस सम्मान को दर्शाती एक नीली पट्टिका लगी हुई है। हाउस का निर्माण हेनरी 24 | सोमरसेट, ब्यूफ़ोर्ट के प्रथम ड्यूक, जो उस समय वुस्टर के तीसरे मार्क्विस थे, के द्वारा सन् 25 | 1673 में मॉनमाउथ किले के खंडहरों से किया गया था, जब वह बैडमिंटन और ट्रॉय हाउस का 26 | पुनर्निर्माण कर रहें थे। इसका निर्माण टाउन हाउस के तौर पर किया गया था। तीन मंजिला 27 | यह इमारत निवर्तमान समय में ब्रिटिश प्रादेशिक सेना में सबसे वरिष्ठ रेजिमेंट रॉयल 28 | मॉनमाउथशायर रॉयल इंजीनियर्स का मुख्यालय है। 29 | 30 | बीबीसी वर्ल्डवाइड के स्वामित्व वाली मार्गदर्शिका किताब लोनली प्लैनेट संग्रहालय को इस 31 | प्रकार वर्णित करती है: "अ लेबर ऑफ लव स्क्वीज़ड इनटू अ कपबोर्ड-साइज़ड स्पेस"। कासल और 32 | रेजिमेंटल संग्रहालय (कासल एण्ड रेजिमेंटल म्यूज़ियम) 1989 में राजकुमार रिचर्ड, ग्लौस्टर के 33 | ड्यूक, द्वारा स्थापित किया गया था। यह आखिरी बार, अब निष्क्रिय हो चुके, संग्रहालय, 34 | पुस्तकालय और अभिलेखागार परिषद (म्यूज़ियम, लायब्रेरीज़ एण्ड आर्काइव्स काउंसिल) द्वारा 35 | 2010 में प्रत्यायित हुआ था। संग्रहालय मॉनमाउथ को अपने योगदान के लिए प्रिंस ऑफ वेल्स 36 | पुरस्कार से सम्मनित हो चुका है। मॉनमाउथ रेजिमेंटल संग्रहालय स्वयंसेवक कर्मचारियों द्वारा 37 | संचालित किया जाता है तथा इसमें प्रवेश निशुल्क है। 38 | 39 | प्रारंभ में एक स्थानीय मिलिशिया, रॉयल मॉनमाउथशायर रॉयल इंजीनियर्स अब ब्रिटिश सेना 40 | की केवल शेष बची मिलिशिया इकाई है और प्रादेशिक सेना के आरक्षित बलों का एक महत्वपूर्ण 41 | घटक भी है। प्रादेशिक सेना स्वयंसेवकों के द्वारा बनती है, जिन्हें आंतरायिक तौर पर साथ 42 | लाकर प्रशिक्षित किया जाता है और यदि आवश्यक हो तो इनकी सेवा भी ली जाती है। 1539 43 | में अपने प्रारंभिक निरीक्षण के बाद इकाई अन्ततः पोसी कमिटाटस बन गई। इसने अपने को 44 | अंग्रेज़ी गृहयुद्ध के दौरान घेराबंदी से बचाया और दो ​​शताब्दियों के लिए मिलिशिया इकाई 45 | बनी रही। 1877 से 1896 तक यह एक अभियंता रेजिमेंट थी जिसके बाद इसे रॉयल इंजीनियर 46 | रेजिमेंट के नाम से जाने जाना लगा। 1896 में रॉयल मॉनमाउथशायर रॉयल इंजीनियर्स ने अपने 47 | नाम में दो "रॉयल्स" होने की एकमात्र इकाई होने का गौरव प्राप्त किया। ब्रिगेड बिल्ला 48 | या पिन के स्थान पर रेजिमेंट के सैनिक केवल एकमात्र रॉयल इंजीनियर्स हैं जो प्रिंस ऑफ वेल्स 49 | डिवीजन टोपी बिल्ला और मिलिशिया फ़्लैश पहनते हैं। दिसंबर 2010 में बीबीसी न्यूज़ ने 50 | रिपोर्ट दी थी कि रॉयल मॉनमाउथशायर रॉयल इंजीनियर्स सबसे हाल ही की तैनाती के 51 | दौरान 21 वीं इंजीनियर रेजिमेंट थी। रेजिमेंट के सदस्यों ने अफ़ग़ानिस्तान युद्ध में ब्रिटिश 52 | अभियान ऑपरेशन हॅरिक के दौरान अपनी सेवा हेलमंद प्रान्त में दी थी। अफगानिस्तान से अपनी 53 | वापसी के बाद सैनिकों को मॉनमाउथ भर में परेड द्वारा सम्मानित किया गया था, शायर 54 | हॉल के पास इन्हें सलामी दी गई, विशेष चर्च सेवा आयोजित की गई तथा बाद में इन्हें अपने 55 | सेवा पदक प्राप्त हुए। 56 | 57 | संग्रहालय में प्रदर्शित कलाकृतियाँ मिलिशिया संरचना और ब्यूफ़ोर्ट के ड्यूक्स की महत्ता सहित 58 | कई विभिन्न विषयों को कवर करती हैं। अन्य रॉयल मॉनमाउथशायर रॉयल इंजीनियर्स से 59 | सम्बंधित विशिष्ट विषयों में शामिल हैं: नाम में दोहरा "रॉयल", इकाई के रंग, फ्रीडम, और 60 | आरक्षित सेना की सबसे वरिष्ठ रेजिमेंट होने का वर्तमान दर्जा। छोटे अनुभाग पुराने समय में 61 | मॉनमाउथ और इसके कासल की रक्षा (पुरातात्विक कलाकृतियों सहित), होम फ्रंट, एचएमएस 62 | मॉनमाउथ और हाल ही के बाल्कन और इराक युद्धों को कवर करते हैं। उन्नीसवीं सदी के अंत के 63 | रेजिमेंट ढोल के साथ-साथ संग्रहालय में द्वितीय विश्व युद्ध के समय की भी कई वस्तुएँ शामिल 64 | है जैसे एक जल परीक्षण किट, ऑफिसर स्वोर्डस्टिक, डिब्बाबंद केक राशन तथा बाइबल, न्यू 65 | टैस्टमैंट व बुक ऑफ कॉमन प्रेयर का एक सॅट। अन्य विषयों में मॉनमाउथ की मध्यकालीन दीवारें 66 | और गढ़ पुरातात्विक प्रदर्शनी के साथ शामिल हैं। संग्रहालय में प्रदर्शित एक मध्यकालीन 67 | कलाकृति अग्निरोधक खाना पकाने का बर्तन भी है जिसकी खोज कासल हिल पर हुई थी। भोजन 68 | पकाने का यह बर्तन देखने में आधुनिक समय के विद्युत से चलने वाले धीमे कुकर का मध्यकालीन 69 | संस्करण प्रतीत होता है। 70 | 71 | इमारत के सामने संग्रहालय द्वितीय विश्व युद्ध के ब्रिटिश बख़्तरबंद युद्ध वाहन जैसे कई तरह 72 | के विशाल सैन्य उपकरणों को प्रदर्शित करता है। इनके अलावा ग्रेड द्वितीय सूचीबद्ध रॉयल 73 | मॉनमाउथशायर रॉयल इंजीनियर्स का युद्ध स्मारक संग्रहालय के नजदीक कासल हिल पर मौजूद 74 | है। 75 | 76 | ऐतिहासिक वस्तुओं को प्रदर्शित करने के साथ-साथ मॉनमाउथ रेजिमेंटल संग्रहालय रॉयल 77 | मॉनमाउथशायर रॉयल इंजीनियर्स के रिकॉर्ड के लिए एक भण्डार के रूप में भी कार्य करता है। 78 | दस्तावेज़ 1786 से 1991 के बीच की अवधि से सम्बंधित हैं। अभिलेखागार से पता चलता है कि 79 | कैसे रेजिमेंट का वर्तमान शीर्षक सदियों में विकसित हुआ है। 1660 और 1793 के बीच यह 80 | मॉनमाउथशायर मिलिशिया के रूप में जानी जाती थी। उसके बाद यह संक्षिप्त अवधि के लिए 81 | (1804 तक) मॉनमाउथ और ब्रैकन मिलिशिया के रूप में जानी जाने लगी। इकाई ने पहली बार 82 | 1804 में रॉयल नाम को अपनाया जिसके बाद इसका नाम रॉयल मॉनमाउथ और ब्रैकन 83 | मिलिशिया हो गया। 1852 से 1877 के बीच रेजिमेंट को रॉयल मॉनमाउथशायर (लाइट 84 | इन्फैन्ट्री) मिलिशिया की उपाधि मिली। इसके बाद इकाई को एक पैदल सेना की भूमिका से 85 | इंजीनियर रेजिमेंट में बदल दिया गया जिससे यह रॉयल मॉनमाउथशायर इंजीनियर्स 86 | (मिलिशिया) शीर्षक वाली रिजर्व इंजीनियर रेजिमेंट बन गई। 1896 में जब यह एक रॉयल 87 | इंजीनियर इकाई बन गई तो अंततः इसे इसका वर्तमान नाम रॉयल मॉनमाउथशायर रॉयल 88 | इंजीनियर्स (मिलिशिया) मिला। 89 | -------------------------------------------------------------------------------- /samples/ia.txt: -------------------------------------------------------------------------------- 1 | In 1500 Pedro Alvarez Cabral comenciava un viage verso India Levava duas 2 | caravelas e 13 naus, e por volta de 1 500 homens. Le corona portugese 3 | voleva que ille usava le route maritime aperite per Vasco da Gama circum 4 | le Capa de Bon Sperantia. Pro evitar un zona de calmas in le golfo de 5 | Guinea, ille navigava verso le west e su flotta incontrava ventos que 6 | finalmente lo pulsava usque le continente sudamerican in april 1500. 7 | 8 | Ben que un pauco antea le espaniol Vincente Yánnez Pinzón habeva toccate 9 | le costa brasilian, Portugal habeva le derecto a ille territorio a causa 10 | del Tractato de Tordesillas, que divideva le continente american inter 11 | Espania e Portugal. Portugal recipeva le derecto de controlar le 12 | territorio al est de un linea divisori inter 48 e 49 grados al west de 13 | Greenwich; e Espania, le territorio al west de iste linea. Durante le 14 | duo decennios sequente, Portugal esseva interessate principalmente in su 15 | colonias oriental a causa del grande contributiones a su economia 16 | derivate del commercio in le condimentos de ille region, le quales 17 | Portugal poteva provider a Europa a un costo multo plus economic proque 18 | le transporto marin esseva multo plus facile e costava multo minus que 19 | le transporto terrestre. 20 | 21 | Durante le annos inter 1533 e 1549 le corona portugese divideva Brasil 22 | in 15 divisiones territorial, nominate "capitanias", que le rege dava a 23 | homines portugese ric (donatórios), qui, a cambio de multe poteres e 24 | privilegios, debeva usar lor proprie capital pro colonisar iste 25 | territorios e disveloppar lor ressources economic. 26 | 27 | Penetrante le interior del pais, le brasilianos anque expandeva le 28 | territorio de lor pais ultra le linea occidental fixate per le tractato 29 | de Tordesillas. Pro converter le indianos brasilian al christianitate, 30 | le missionarios del seculo XVII penetrava le nord e navigava al west sur 31 | le fluvio Amazon. Le homines del nordest qui elevava bestial bovin 32 | cercava nove pasturas al west del fazendas de sucre, penetrante le 33 | interior usque lo que nunc es Piauí, Maranhão, e Goiás. Le colonos de 34 | São Paulo organisava expeditiones pro capturar indianos e cercar auro. 35 | 36 | Alcunes de iste expeditiones resultava in migrationes de varie annos de 37 | duration. Iste gruppos de paulistas sempre exprimeva lor identitate con 38 | un bandiera ("bandeira" in portugese), e le brasilianos les nominava 39 | "bandeirantes". 40 | 41 | Le brasilianos arrivava usque le minas de argento del Peru e anque 42 | penetrava le region presso Bogotá, Colombia. Altere simile gruppos 43 | explorava Mato Grosso e attaccava le villages de indianos establite per 44 | le jesuitas in le sud. Illes anque penetrava le provincia argentin de 45 | Misiones. Generalmente le indianos e lor protectores, le jesuitas, 46 | opponeva iste incursiones. Le colonos espaniol les opponeva solmente in 47 | le region de lo que nunc es Uruguay. Un serie de tractatos con Espania 48 | durante le seculo XVIII legalisava iste conquestas per le brasilianos. 49 | 50 | In le secunde medietate de iste seculo le marchese de Pombal, le prime 51 | ministro de José I de Portugal, un administrator capabile e energetic, 52 | inaugurava diverse reformas social, administrative, e religiose in le 53 | colonia. A causa de lor fallimento economic e administrative, multe 54 | donatários del 15 capitanias perdeva a Pombal le pauc derectos que illes 55 | habeva potite preservar. Le sud de Brasil habeva disveloppate un 56 | crescente importantia economic, e Pombal moveva le capital del pais de 57 | Bahia a Rio de Janeiro pro rationes logistic. Ille anque expelleva le 58 | jesuitas, opponite per altere sectores del societate brasilian, a causa 59 | de lor protection del indianos e de lor activitates commercial. 60 | 61 | Le vita economic de Brasil initialmente se basava sur le exploitation 62 | del ligno brasil. Le portugeses usava le indianos local pro taliar iste 63 | ligno e transportar lo usque le Atlantic. Ma le indianos les resisteva 64 | fortemente. Postea le production del sucro de canna deveniva le plus 65 | importante activitate economic. Le production de sucro tamen requireva 66 | labor multo plus intensive que le production del ligno, e le indianos 67 | resisteva iste labor tanto tenacemente que le portugeses tosto debeva 68 | importar sclavos african pro facer lo. Con le tempore, le tabaco e le 69 | elevamento de bestial bovin deveniva activitates con crescente 70 | importantia economic. Iste duo activitates anque requireva terra, que le 71 | proprietarios de iste interprisas incontrava al west del terrenos 72 | occupate con le production de sucro, que remaneva le activitate economic 73 | le plus importante durante le major parte del era colonial. Como 74 | consequentia del grande investimentos in terra e in machinas requirite 75 | pro le production de sucro, omne iste industria se concentrava in le 76 | manos de un numero de familias reducite. Le café e le coton, producite 77 | primo per parve proprietarios, contribueva substantialmente al 78 | exportationes del seculo XVIII. 79 | 80 | Ille immediatemente recognosceva le position de Brasil como sede de su 81 | imperio e aboliva le monopolio commercial portugese, aperiente le portos 82 | brasilian al commercio de altere paises. Post installar se in Rio de 83 | Janeiro, le corte portugese creava diverse organismos politic, judicial, 84 | e cultural. Le angleses derivava le major beneficios del novemente 85 | liberate commercio, que reduceva le pression economic sur lor pais 86 | causate per su exclusion per Napoleon ex le commercio europee, e 87 | numerose companias commercial britannic aperiva officios in Brasil. In 88 | 1816, le prince regente deveniva le rege João VI del imperio portugese. 89 | Ille habeva un certe popularitate personal, ma su governamento inspirava 90 | odio a causa de su politicas corrupte e arbitrari. In 1789 José Joaquim 91 | da Silva Xavier (cognoscite como Tiradentes--un dentista cuje nomine 92 | significa "extractor de dentes") dirigeva le prime rebellion contra le 93 | autoritate portugese. Le portugeses supprimeva su rebellion e le 94 | occideva, e ille deveniva un heroe national inter le brasilianos. 95 | -------------------------------------------------------------------------------- /samples/ja.txt: -------------------------------------------------------------------------------- 1 | 専門家によるオンライン百科事典プロジェクト(ヌーペディア)を前身と 2 | して2001年1月、ラリー・サンガー(英: )とジミー・ウェールズ 3 | (英: )により英語でプロジェクトが開始された。ウェ 4 | ブサイトには広告は一切掲載せず、資金的には個人や団体などからの寄付により 5 | 運営している。記事の自由な複製・改変を認める「GFDL」というコピーレフトな 6 | ライセンスとインターネットを通じ自由に文章の編集が行えるウィキシステムを 7 | 採用し、誰もが新規記事の執筆や既存の記事の編集を行えるようになっている。 8 | 9 | 編集への参加に関しては一切無料であり、アカウント(匿名で可)を取得するこ 10 | とが推奨されるが、なくても参加できる。参加者の共同作業で記事は日々追加・ 11 | 更新され、記事のジャンルは幅広く、一般の百科事典にはない項目(トピック) 12 | も多い。 13 | 14 | インターネットのニュースでも、ウィキペディアが参考資料として紹介されるこ 15 | ともある。人物や団体などの公式サイトに比べ、詳細かつ網羅的な情報を知るこ 16 | とができるということから「調べ物」という目的で利用するインターネットユー 17 | ザーも多い。なお、池田信夫は、日本のウィキペディアは非常に質が悪く2ちゃん 18 | ねる化しており、これは匿名性に起因しそれにより責任意識が希薄でいい加減な 19 | 記述が多く、品質管理をきびしくすべきと指摘している。 20 | 21 | 基本的に専門家による査読がなく、不特定多数の利用者が投稿するというシステ 22 | ムゆえに、情報の信頼性・信憑性や公正さなどは一切保証されておらず 23 | (Wikipedia:免責事項)、ウィキペディアの方針に沿わない利用者の編集により 24 | 問題が起こることもあり、いくつかの問題や課題も指摘されている(詳細は#問題 25 | 点の節を参照)。 26 | 27 | また米国において、ネット上での組織的情報工作が行なわれウィキペディアもそ 28 | の対象と成っていたことが報じられている。の記者と編集者の仕事上の 29 | 評判を落とすため、WikipediaやTwitterを使用し大量の批判コメントなどが組織 30 | 的に書き込まれ情報工作として行なわれたことが報じられた。この工作活動は、 31 | 米国が他国へのプロパガンダ活動を担う情報作戦チームが、米国人を標的に活動 32 | した可能性があるとして報じられた。 33 | 34 | 2001年1月15日に英語版が発足、その後多くの言語へ展開し、2010年8月30日現在、 35 | 273言語で執筆が行われている。ただしこのうち継続的な活動が行われ1000項目以 36 | 上に達しているものは、190言語ほどである。ウィキペディアは多言語展開に力を 37 | 入れており、常に新しい言語プロジェクトが立ち上げられてきたが、初期には比 38 | 較的簡単にそれが行われていたために、参加者が集まらない・いなくなった、な 39 | どの理由で閉鎖されたり凍結されたプロジェクトもある。現在では、新たな言語 40 | でウィキペディアを設立する前にウィキメディア・インキュベーターというサイ 41 | ト内で試験運用を行うことになっており、2010年8月現在で約300言語の「試験版 42 | ウィキペディア」がある。 43 | 44 | 2010年8月現在、約270の言語版の記事数の総計は1600万以上に上り、最も多い英 45 | 語版が約340万件、英語を除く諸言語版の合計が約1320万件となっている。また 46 | Alexa.com の全インターネットを対象とするアクセスランキングでは、20位以内 47 | に入っている。 48 | 49 | 活動規模が最も大きい英語版では1300万のアカウントが登録されている。しかし、 50 | アカウント登録なしで編集に参加できることと、作成されたアカウントの数割が 51 | 実際には使用されないことから、正確な利用者数は把握できない。すべての言語 52 | 版を合わせると2500万を越えるアカウントが作成されているものの、言語版ごと 53 | に重複してカウントされているため、これも実際の執筆者数とは関係ない。デー 54 | タベース・ファイルを分析したエーリック・ザクテ の統計によれ 55 | ば、5回以上編集・投稿に携わったユーザーの総数はプロジェクト発足以来2004年 56 | 12月30日までで3万2000人強とされるが、この統計でも未登録ユーザーの活動量が 57 | 未集計のほか、古いバージョンのソフトウェアを用いて活動しているウィキペディ 58 | アについては分析の対象外としている。 59 | 60 | 参加者が何らかの編集・投稿を行い、データベースへ保存した回数を参考にする 61 | と、プロジェクト発足以来、9億回以上の編集・投稿が行われてきたことになる 62 | (これは未登録ユーザーによるものも含まれるが、ソフトウェアのバージョンの 63 | 差から来るデータの欠落がある)。 64 | 65 | ウィキペディアに関する統計については、 :全言語版の統計を参照。当 66 | 該記事は随時更新されている。 67 | 68 | また の統計によれば、 の閲覧数のうち 60% 前後が英語 69 | 版へのアクセスである。日本語版、スペイン語版、ドイツ語版へのアクセスがこ 70 | れに次ぐ。とはいえ英語版と他言語版の規模の差は、プロジェクトの進展ととも 71 | に漸進的に埋まりつつある。英語版の項目数と、2位以下の言語版の項目数合計を 72 | 比較すると、かつては10位までを合計してようやく英語版に並んだものが、2007 73 | 年1月には2位から5位までの4プロジェクト合計と等しくなっている。現在英語を 74 | 含む35の言語が10万項目以上を保有している。ただしこの中にはヴォラピュク版 75 | のように、注目を集めることを目的として、ほとんど内容のない粗末な記事を、 76 | プログラム (bot) を使って数万項目も濫造しているところもある。 77 | 78 | 中立的な観点から書かれるべきだとする方針も、ウェールズによって全ウィキペ 79 | ディアの共通方針だと定められた。また、ウェールズは、後述するプロジェクト 80 | 全体の問題についての議論に参加し、質問や意見を述べ、あるいは採決に加わる。 81 | 彼の発言は必ずしも議論を終結させるものではないが、その意見は他の参加者の 82 | 意見よりも尊重される傾向にある。 83 | 84 | ウェールズはまた英語版の運営については比較的具体的な問題に関しても意見を 85 | 述べる傾向がある。英語版の初期には、登録済ユーザーのアカウントを停止する 86 | 場合には、彼の了承を得るようにとの要請があった(2004年以降、この決定は選 87 | 任されたユーザ代表に任されている)。他言語のウィキペディアで同様の問題が 88 | 発生した場合にどうなるべきかについては特に明確にされていない。一方ウェー 89 | ルズが英語以外の言語は話さないこと、利用者の自治を尊重することもあり、英 90 | 語以外の言語版の運営にウェールズが積極的な関与を行うことはほとんどない。 91 | ただしウェールズが利用者の紛争の調停に当たったり、あるいは利用者のアクセ 92 | ス権限についての決定を行う場合もある。これは関係者がみな英語を解する場合、 93 | かつ自治の枠組が問題の解決においてうまく機能していない場合に行なわれるこ 94 | とが多い。 95 | 96 | 「ウィキペディアはウェールズを「寛大な独裁者」として戴くコミュニティ自治 97 | の集団である」、と形容されたり、ソフトウェア開発のモデルである「善意の独 98 | 裁者」をウィキペディアに当てはめることがしばしば行われる。ウェールズはこ 99 | れを否定しないが、一方でウィキペディアが常に編集可能であることにより、自 100 | 身の関与が常に及ぶわけではないことをもって、自分は厳密な意味でこうしたモ 101 | デルにはあてはまらないと述べている。 102 | 103 | プロジェクト全体の問題は、公開のメーリングリストで扱われる。基本的には全 104 | て英語で、ごく稀にフランス語などが混ざる。議題には、各言語のウィキペディ 105 | アの記事数の集計方法、新しい言語のウィキペディアの発足、デザインや機能の 106 | 変更、運営上の方針やユーザー間の争いの調整、法律問題などが含まれる。この 107 | 議論は複数のリストで行われるが、誰でも参加、発言できるようになっている。 108 | またアーカイブはインターネット上で公開されている。 109 | 110 | ウィキペディア全体の話題を扱うメーリングリストのほか、各言語プロジェクト 111 | 固有の話題を扱うメーリングリストが存在する場合もある。 112 | 113 | 執筆方針については、項目名の付け方、フォーマットや表記上の諸問題に関して 114 | 多くの方針が存在している。これらの大半は利用者間の話し合いで決定、改変さ 115 | れるもので、各言語によって異なる。また、これらの内にはガイドラインという 116 | 位置付けになっており、必ずしも万人が常に従うべきルールであるとはされてい 117 | ないものがある。これは部分的には、これらの方針を知らない参加者からの投稿 118 | も積極的に受け付けるためであり、ガイドラインに通じた常連投稿者などが新規 119 | 参加者の投稿を編集することが比較的容易であるからでもある。 120 | 121 | 記事の内容について関係者間で論争が起きた場合には基本的にトークページでの 122 | 話し合いが行われる。最終的にはウィキペディアの最も重要なガイドラインの一 123 | つ「中立的な観点」に従い“両論併記”によって決着することが求められる。 124 | 125 | ジミー・ウェールズはインターネット関連会社「」の前最高経営責任者 126 | () であり、ウィキペディア発足当初からプロジェクトの出資者であり、サー 127 | バやインターネット・トラフィック(通信量)の料金などを支払ってきた。プロ 128 | ジェクトに協力している同社の関係者の中には、他にもティム・シェル(同社の 129 | 共同創立者、現最高経営責任者、ウィキメディア財団理事)や、プログラマのジェ 130 | イソン・リッチー(後に退社、現Wikia)、トアン・ヴォーがいる。 131 | 132 | 2006年10月にウェールズはプロジェクトの運営母体ウィキメディア財団理事長の 133 | 職を退いて終身名誉理事長となり、後任としてフロランス・ドゥヴアールが理事 134 | 長に就任した。フロランスは任期の切れる2008年6月の理事選挙に立候補せず、翌 135 | 7月に理事を退任するとともに理事長の席をマイケル・スノウに譲った(理事会メ 136 | ンバーについてはmeta:理事会参照) 137 | 138 | ラリー・サンガーはプロジェクトの発足から1年と数か月の間、「Bomis」から賃 139 | 金の支払いを受けた参加者だった。このせいもあって、彼は折に触れてほかのメ 140 | ンバーから仲裁役を頼まれることもあったとされる。また彼は、ウィキペディア 141 | に先立って発足した査読制度付のオンライン百科事典作成プロジェクト 142 | 「(ヌーペディア)」の編集主幹も勤めた。2003年の初め、景気の低迷に 143 | より支払い能力をなくした、「」社からサンガーは解雇され「」は 144 | 2004年に活動を停止した。 145 | 146 | ウィキペディアの着想は、ヌーペディアの主幹編集者ラリー・サンガー () 147 | とコンピュータ・プログラマ、ベン・コヴィッツ () が2001 148 | 年1月2日にカリフォルニア州サンディエゴで行った会話に端を発するとされる。 149 | 150 | ウィキウィキウェブのインターフェースを積極的に使っていたコヴィッツは当時 151 | の常連であり、夕食の席でその基本的なコンセプトをサンガーに説 152 | 明したとされる。サンガーはそれを聞き、ウィキが「よりオープンでよりカジュ 153 | アルな百科事典を作る」というプロジェクトに相応しいものと考えたという。そ 154 | れに先立つ数か月の間、サンガーと彼の上司、有限会社 “” の ジミー・ 155 | ウェールズ () はヌーペディアをよりオープンな形で補完するプロジェ 156 | クトについて討議を重ねていた。 157 | 158 | サンガーはウィキをヌーペディアに利用しようと考え、ウェールズを説得し、同 159 | 年1月10日にはヌーペディアにウィキが登場することになった。 160 | 161 | しかし、ウィキのウェブページをヌーペディアに利用するという案に対しては、 162 | ヌーペディアの執筆者と査読者から強硬な反対意見があったため、「ウィキペディ 163 | ア」と名付けた新たなプロジェクトを立ち上げ、独自のアドレス()である 164 | にて同年1月15日から開始することになった。 165 | 166 | ネットワーク帯域と、カリフォルニア州サンディエゴに設置したサーバはウェー 167 | ルズが資金を提供した。また、2002年1月まで、サンガーは の主幹編集 168 | 員兼ウィキペディアの非公式管理人として “” に雇われていた。資金の枯渇 169 | から、2002年3月にサンガーへの給与打ち切りが決まり、サンガーはウィキペディ 170 | アを含むプロジェクトでの活動を停止した。 171 | -------------------------------------------------------------------------------- /samples/kk.txt: -------------------------------------------------------------------------------- 1 | Археологиялық зерттеулер қазіргі Барнауылдағы алғашқы қоныстар тас 2 | ғасырында пайда болғандығын көрсетеді. Қала аумағында осы күнге дейін 63 3 | археологиялық ескерткіш сақталған. Олар көбіне көне заманнан орта 4 | ғасырға дейін сақталған қалашықтар, қорғандар, тұрақтар және мекендер. 5 | Бұл тұрақтардың көпшілігі Обь өзенінің сол жағалауында, Барнауылдың 6 | таулы жақтарында, Мохнатушка, Казённая Заимка, Гоньба және Научный 7 | Городок сияқты жерлерінде орналасқан. Алтын Орда дәуірінде, орыстардың 8 | Сібірге қоныс аударуына дейін, мұнда Абакша деген қамал-қала тұрған. Осы 9 | қаладан төлеуіттер көршілес халықтарға шабуыл жасады. 10 | 11 | Барнауылдың қала болып қаланған ресми уақыты 1730-жылы деп есептеледі. 12 | Мұны кен өндіруші Акинфий Демидовтың Алтай өңіріне завод салу мақсатында 13 | 200 шаруаны алып келуімен байланыстырады. Алайда, қаланың құжаттық 14 | мақұлданған жылы 1739-жылы болып саналады. Себебі, аталмыш жылы Демидов 15 | Барнауылда күміс балқыту зауытының құрылысын бастаған еді. Осы саяхат 16 | қаланың дамуына оң әсерін тигізді. Соның әсерінен Баранауылға Орталық 17 | Ресей және Уралдан қоныс аударушылар көптеп келе бастады. 18 | 19 | Қала атауының шығу төркініне байланысты түрлі гипотезалар көп. Белгілі 20 | жазушы және өлкетанушы ғалым Марк Юдалевич өзінің мақалаларында атаудың 21 | шығуына байланысты әртүрлі ғалымдардың зерттеулерін жинаған. 22 | Зерттеушілер жұмысының жалпы ойы, гипотезасы «Барнауыл» атауының 23 | түркілік немесе моңғолдық шығу тарихы бар, бірақ атаудың тәржімасы 24 | бірнеше нұсқалылығымен ерекшеленеді деген пікірге саяды. 25 | 26 | Барнауылдың алғашқы елтаңбасы 1846 жылы бекітілді. Елтаңба қалқаны 27 | француздық геральдикалық форманың (тәжі және лентасы жоқ) қалпын береді. 28 | Қалқан көлденеңнен 2 бөлікке бөлінген. Жоғарғы бөлігі қалқанның үштен 29 | бірін алады. Онда Томск губерниясының негізгі элементі (наместниктік 30 | елтаңба) — жасыл фондағы шауып бара жатқан ақ аттың бейнесі орналасқан. 31 | Ат — губерния шаруашылығында, таулы өнеркәсіптегі көлік қызметтерін 32 | атқаратын негізгі символ және шаруашылық үшін таптырмайтын жануар. 33 | Елтаңбаның төменгі бөлігінде ашықкөк фонда тұтанып тұрған қызыл түсті 34 | күміс домна пеші орналасқан. Ол өз кезегінде елдегі күмісбалқыту 35 | өнеркәсібінің символы ретінде көрсетілген. Қазіргі заманғы елтаңба 1995 36 | жылы 16 қарашада қабылданды. Оның түпнұсқасы (түрлі түсті және қара-ақ 37 | суреттер) Барнауыл қаласының әкімшілігінде тұр және қызыққан азаматтарға 38 | қолжетімді. 39 | 40 | Барнауылдың туындағы ашық көк түс қаланың орналасқан жері — Обь өзенінің 41 | символы. Тудың ортасында қаланың елтаңбасы орналасқан. 42 | 43 | 1748 жылың 16 ақпанынан бастап императордың рұқсатымен таулы аймақтың 44 | канцеляриясы Колываньнан (Алтай өңірі) Барнауыл заводына көшірілді. 1766 45 | жылы орыс өнертапқышы Иван Ползунов Барнаулка өзенінің бойында Ресейдегі 46 | ең алғашқы бу машинасын ойлап тапты, ал 1771 жылы Барнауылға «таулы 47 | қала» мәртебесі берілді (басқа деректер бойынша 1828 жылы). Қалаға 48 | берілген мәртебеге байланысты (астанадан алшақтығына қарамастан) өте 49 | жылдам өсті. 1835 жылдары қалада 9 мың адам тұрды. Қала құрылысы 50 | Санкт-Петербург архитектурасының ықпалымен дамыды. 51 | 52 | 1764 жылы техникалық кітапхана, 1776 жылы —Барнауыл «театр үйі», ал 1827 53 | жылы — алғашқы типография ашылды. П. К. Фролов Алтай мемлекеттік 54 | өлкетану мұражайының жұмысын ұйымдастырады. Аталмыш мұражай Сібірдегі 55 | бірінші мұражай болып саналады. 56 | 57 | Қазба байлықтарының азаюы және крепостнойлық құқықтың алынып 58 | тасталғандығы —1893 жылы Барнауылдағы күміс балқыту зауытының жабылуына 59 | әкеліп соқты. Соның салдарына Барнауыл ірі сауда қаласына айналды. 60 | Өнеркәсіптің жаңа түрлері: тері илеу, кірпіш жасау, сыра дайындау, ас 61 | тұзын игеру, орман шаруашылығы және т.б. пайда бола бастады. 62 | 63 | 1917 жылы 2 мамырда Барнауылда үлкен өрт болады. 40-қа жуық кварталдар, 64 | қала архитектурасы, әсіресе ағаш үйлердің барлығы да жанып кетеді. 65 | Қаланың қайта тұрғызылуына сол кезеңде Ресейде басталған Азаматтық соғыс 66 | кедергі болады. 67 | 68 | 1917 жылы 7 желтоқсанда қалада Кеңес үкіметі орнады. Алайда, 1918 жылы 69 | 18 маусымда ақгвардяшылдар бұл үкіметті қолдамай, төңкеріс жасады. 1919 70 | жылы 9-11 желтоқсанда Барнауыл қаласы Ефим Мамотовтың партизандық 71 | армиясының күшімен алынды. Ақгвардияшылдар Новоникольскіге (қазіргі 72 | Новосибирск) жету мақсатында қаланы тастап кетті. Қалада қалу өте 73 | қауіпті еді: әр тұстан Қызыл армия өкілдері қаптады, ал қаланың өзінде 74 | партиялық ұйымдар төңкеріс ұйымдастырып жатты. Ақгвардияшылдар 75 | М.Ворожцовтың басқаруымен Бірінші Чумық Кеңестік партизандар 76 | дивизиясының торуылына тап болып, кейін шегінді. 77 | 78 | ХХ ғасырдың 20—40-шы жылдары Барнауылдың дамуы индустрияландыру және 79 | ұжымдастыру үрдістерінің дамуымен анықталды. Қалаға кіші ауылдар мен 80 | қыстақтардан тұрғындар көшіп келе бастады. Кейіннен Барнауыл қаласы 81 | агроөнеркәсіптік аймақ мәртебесіне ие болды. 1932 жылы Батыс Сібірдегі 82 | ең ірі Барнауыл мата комбинаты салынды. 83 | 84 | 1937 жылы Алтай өңірінің қалыптасуына байланысты Барнауылға Алтайдың 85 | әкімшілік орталығы мәртебесі берілді. Ұлы Отан соғысы жылдарында қалаға 86 | Мәскеуден, Ленинградтан, Одессадан, Харьков және басқа да қалалардан 87 | неміс әскерлерімен оккупацияланған (басып алынған) жүзге жуық өндірістік 88 | өнеркісіп орындар көшірілді. Олар қаланың негізгі өнеркәсібіне айналды. 89 | Кей деректерге қарағанда, Қызыл армия соғыста пайдаланған оқ-дәрілердің 90 | тең жартысына жуығы Барнауылдағы станок жасап шығаратын зауытта 91 | шығарылған. 92 | 93 | Соғыстан кейінгі жылдар қаладағы өнеркәсіптік «бум» және қала 94 | құрылысының дамуымен ерекшеленді. Бұл кезеңде Барнауылдың территориясы 2 95 | есеге өсті. Қаланың қайта тұрғызылуына, дамуына, яғни жаңа үйлер 96 | құрылысы үшін солтүстік және солтүстік-батыс бөліктері таңдап алынды. 97 | -------------------------------------------------------------------------------- /samples/ko.txt: -------------------------------------------------------------------------------- 1 | 고대 로마(라틴어: , 古代 -)는 기원전 8세기경 이탈리아 중부의 2 | 작은 마을에서 시작해 지중해를 아우르는 거대한 제국을 이룬 고대 문명이다. 3 | 수백 년 동안 확장을 거듭하며 고대 로마 문명은 왕정에서 과두 공화정으로, 4 | 또 점차 제정으로 변모하였다. 5 | 6 | 기원전 7세기경 로마는 지역 중심지로 번영하던 도시 국가로 왕의 지배를 7 | 받았다. 기원전 500년경에는 왕정이 무너지고 귀족과 평민 계급이 공화정을 8 | 세웠다. 평민 계급은 자신의 권리를 확보하기 위해 귀족과 투쟁을 벌여, 로마 9 | 사람들은 200여 년이 넘는 오랜 세월 동안 투쟁과 타협을 반복하며 점진적으로 10 | 로마 특유의 과두정 체제를 이루었다. 내부에서 신분 투쟁을 벌이는 가운데 11 | 로마는 바깥의 침입에 맞서 주변 지역을 복속하였으며, 기원전 272년경 로마 12 | 공화정은 게누아(제노바)에서 이탈리아 남단까지 이탈리아 반도 전체를 13 | 포괄하는 거대한 동맹 체제를 이끌었다. 그 뒤 로마는 150여 년 동안 여러 14 | 전쟁을 치르면서 갈리아, 삼니움, 카르타고와 같은 강적을 무찌르고 점차 15 | 이탈리아를 넘어 지중해 전역을 침략하여 정복하였다. 16 | 17 | 기원전 1세기 말 아우구스투스가 제정 시대를 열었다. 제정 초기의 로마 18 | 제국은 강력한 패권을 바탕으로 '팍스 로마나'로 불리는 태평성대를 19 | 구가하였으며, 라틴어 문학의 전성기를 이루었다. 트라야누스 황제 20 | 시대(98년~117년)에 제국은 최대의 영토를 확보하여, 그 패권이 21 | 스코틀랜드에서 수단까지, 포르투갈의 대서양 연안에서 캅카스 지방까지 22 | 미쳤는데, 이 영역은 오늘날 미국 영토 면적의 2/3에 해당하고, 인구는 연구에 23 | 따르면 현 미국의 절반에 약간 못 미칠 정도의 규모였을 것으로 추측된다. 24 | 하나의 세계를 이룬 이 거대한 제국 안에서, 그리스, 오리엔트, 셈족, 서유럽 25 | 등 고대 세계의 여러 문화가 융화되고 다시 확산되었다. 고대 로마는 서구 26 | 세계의 법, 정치, 전쟁, 예술, 문학, 건축, 기술, 언어 분야의 발전에 크게 27 | 기여하였으며, 그 영향은 오늘날까지도 이어지고 있다. 28 | 29 | 이후 로마 제국은 이민족의 침략으로 쇠퇴기에 접어들었으며, 5세기경 서로마 30 | 제국은 몰락하고 게르만족의 여러 독립 국가로 갈라진다. 한편 동로마 제국은 31 | 외침을 막아내면서 계속 존속하였는데, 중세 시대의 동부 제국은 보통 32 | 비잔티움 제국으로 칭한다. 33 | 34 | 기원전 약 10세기를 전후로 하여, 이탈리아 반도의 중부에 정착하여 살던 여러 35 | 부족은 약 2-300년에 걸쳐 서로 교류하거나 전쟁을 벌였으며 융화와 추방을 36 | 반복했다. 고대 로마 문명의 초기 역사는 이 시기를 기점으로 하고 있다. 37 | 38 | 8세기 경 라티움에는 라티움인들이 정착해 살고 있었다. 이 땅은 티베리스 강 39 | 이남 중부 이탈리아 서해안에 자리잡아 물이 넉넉하고 비옥한 평야였다. 40 | 이들은 후기 청동기 시대와 초기 철기 시대에 인도-유럽어 족이 이탈리아 41 | 전역에 흩어질 때 형성된 일개 인도-유럽어권 집단이었다. 이들은 분명 농경과 42 | 목축으로 먹고 살았을 것이며, 손으로 짠 투박한 옷을 입었고, 손으로 조야한 43 | 도자기를 만들어 썼는데, 이들의 집은 화로와 대문 밖에 없는 원형 나무 44 | 오두막이었다. 몇몇 보석 장신구와 청동 혹은 철 연장을 제외하면 이들은 45 | 해외에서 물건을 수입해서 쓴 적이 거의 없었던 것 같다. 46 | 47 | 고대 로마의 역사가들은 기원전 753년에 로마라는 이름의 도시가 로물루스에 48 | 의해 건설되었다고 쓰고 있다. 그러나 로마의 기원 전설은 거의 대부분 49 | 비역사적인 허구이므로, 지리적 혹은 고고학적 증거를 통해 검증이 필요하다. 50 | 기원전 750년경에는 팔라티누스 언덕을 비롯한 로마의 여러 언덕에 농촌 51 | 촌락들이 들어섰는데, 이들 산지 촌락들은 저마다 독특한 방언과 관습이 52 | 있었던 것 같다. 53 | 54 | 이탈리아의 대다수 사람들은 상대적으로 미개한 상태였는데, 이 곳에 복합 55 | 문명이 발달하게끔 깊은 영향을 준 두 집단이 있다. 하나는 라티움에서 테베레 56 | 강을 건너 에트루리아에 정착한 에트루리아인들이었고, 다른 한 집단은 기원전 57 | 8세기 중엽에 이탈리아 남부와 시칠리아(마그나 그라이키아)에 정착한 58 | 그리스인들이었다. 이들은 이후 이탈리아를 통일하게 될 도시 로마의 발전에 59 | 있어 각별히 중요한 민족이었다. 60 | 61 | 왕정 시대는 공화정 이전 시대로 기원전 753년부터 508년까지이다. 로마는 62 | 기원전 753년 4월 21일에 로물루스가 세운 것으로 후대에 전해지고 있다. 이 63 | 날짜는 기원전 1세기 말에 로마의 역사가 마르쿠스 테렌티우스 바로가 설정한 64 | 것으로, 그는 구체적인 과학적 증거 없이 고대 로마에 관한 신화들과 전설들을 65 | 연구하여 이 날짜를 도출했다. 현대 학자들은 로마에 사람들이 본격적으로 66 | 살기 시작한 것은 기원전 750년경으로 거슬러 올라간다고 확증하고 있다. 67 | 68 | 기원전 7세기 말에 에트루리아인들은 이 지역에 귀족·왕족 계급을 이루어 69 | 피지배층을 정치적으로 다스린 것으로 보인다. 에트루리아인들은 기원전 6세기 70 | 말경에 이곳의 지배권을 잃은 것이 확실하며, 이 시점에 라티움과 사비니 71 | 부족이 권력 집중을 억제하는 공화정 체제를 세웠다. 72 | 73 | 에트루리아가 캄파니아에서 패배하고, 라티움인들이 반란을 일으키며, 게다가 74 | 산지 종족들이 라티움을 침공하는 등 몇 차례에 걸친 군사적 패배로 로마에 75 | 사회ㆍ정치적 위기가 일어나면서 왕정이 몰락하게 된 것으로 보인다. 그러나 76 | 여러 학자들은 연대 목록(fasti)에 기록된 기원전 509~507년을 왕정 몰락의 77 | 시점으로 보기도 한다. 초기에는 군사 위원회 에 의한 78 | 공동통치의 형태였다가 독재관을 자주 선출하는 문제가 생기자 2명의 집정관 79 | 제도로 바꾸었다. 로마의 정체는 견제와 균형, 권력 분점으로 구성된다. 가장 80 | 중요한 정무관은 두 집정관으로 군사 통솔권인 명령권 을 통해 집행 81 | 권력을 함께 행사했다. 집정관직은 오랜 기간의 실험과 발전을 거친뒤에야 82 | 비로소 정착된 것으로 보이며, 기원전 5세기 중엽쯤에는 공화정의 고위 83 | 정무관직을 집정관이라 하였다. 집정관은 원래 귀족들의 자문 회의였던 84 | 원로원과 협조했는데, 시간이 지나면서 원로원은 양적으로 확대되었다. 85 | 공화정의 다른 정무관으로는 법무관, 조영관, 재무관이 있었다. 86 | 정무관직은 원래 귀족 출신으로 제한되었으나 나중에는 평민에게도 87 | 개방되었다. 공화정의 민회로는 왕정 시대에 기원을 두며, 전쟁과 화의 88 | 여부를 결정하고 요직 관리를 선출하는 켄투리아회, 89 | 하위직 주요 관리를 선출하는 트리부스회 가 있었다. 90 | 91 | 로마는 점차 에트루리아 등 이탈리아 반도의 다른 나라를 정복하게 92 | 되었다. 그 중 베이 점령은 라티움 밖으로 영향력을 확대하는 징표가 93 | 되었으며 그 이후 로마는 이탈리아 내에서 팽창을 거듭한다. 이후 삼니움 족의 94 | 캄파니아 칩입에 개입하여 3차 삼니움 전쟁을 치루었고 여기서 승리한 로마는 95 | 중부 이탈리아의 패자가 된다. 96 | 97 | 이탈리아 반도 통일을 앞두고 로마의 지배권에 마지막 도전장을 던진 세력은 98 | 그리스 식민시 타렌툼이었다. 기원전 281년 타렌툼은 에페이로스의 피로스를 99 | 끌어들여 로마와 싸웠으나 결국 패배했다. 로마는 정복을 통해 전략 100 | 요충지에 로마의 식민시를 건설하여 이탈리아에 안정적인 지배권을 101 | 확립했다. 기원전 3세기 후반에 로마는 포에니 전쟁에서 카르타고와 102 | 격돌했다. 로마는 이 전쟁에서 처음으로 해외 영토인 시칠리아나 에스파냐 103 | 등지를 정복했으며 이 지역의 패권을 거머쥐었다. 기원전 2세기에는 104 | 마케도니아 왕국와 셀레우코스 왕국을 물리쳐 지중해 세계를 105 | 재패했다. 106 | 107 | 해외 팽창은 내분을 불렀다. 원로원 의원은 로마 속주의 부를 통해 108 | 부유해졌지만 주로 소농 출신의 병사들은 고향을 오래 떠나있었기 때문에 109 | 자신의 땅을 지키지 못했으며, 임금 노동 대신 외국 노예에 크게 의존하게 110 | 되어 대농장이 발달했다. 전리품 수입 덕분에 새로 확보한 속주에서 111 | 상업이 발달하였고, 세금 징수 할당 제도로 신흥 상인 계급인 기사 계급은 112 | 경제적 이익을 거머쥘 기회를 얻었다. 클라우디우스 법 으로 113 | 원로원 의원의 상업 행위가 금지되면서 이론상 원로원에 진출할 수 있었던 114 | 기사 계급은 정치 권력에 심각한 제약을 받게 된다. 원로원은 115 | 끊임없이 정쟁을 일삼아 계속 토지 개혁에 발목을 잡았고, 기사 계급에 정치 116 | 발언권 확대를 거부했다. 원로원의 정적들끼리 도시 실업자 출신의 폭력배를 117 | 조종하여 완력으로 유권자를 위협했다. 이런 상황은 기원전 2세기 말 평민에게 118 | 주로 귀족이 소유한 토지를 재분배하려는 토지 개혁 입법을 시도한 그라쿠스 119 | 형제 시대에 극에 달했다. 두 형제는 살해당했는데, 여기에 원로원은 불만을 120 | 품은 평민과 기사 계급을 달래고자 그라쿠스 형제가 추진한 개혁의 일부 121 | 입법을 통과시켰다. 또 이탈리아 동맹국에 로마 시민권 확대를 거부하면서 122 | 기원전 91~88년에 동맹국 전쟁이 일어났다. 가이우스 마리우스의 군제 123 | 개혁으로 병사들이 국가에 대한 충성심을 잃고 점차 사병화(私兵化)되었으며, 124 | 유력한 장군이 국가와 원로원을 장악하게 된다. 이로써 마리우스와 그의 125 | 부하 술라는 내전을 벌였으며, 결국 기원전 81년~79년에 술라가 독재 권력을 126 | 휘두르게 되었다. 127 | 128 | 기원전 1세기 중반에 율리우스 카이사르, 폼페이우스 마그누스, 크라수스 세 129 | 사람이 삼두정을 이루어 공화국을 농단했다. 카이사르가 갈리아를 정복한 130 | 뒤(갈리아 전쟁) 원로원과 대립하던 카이사르는 폼페이우스가 이끄는 원로원파 131 | 군대와 내전을 일으킨다. 내전에서 승리한 카이사르는 종신 독재관이 132 | 되었다. 기원전 44년 카이사르는 독재 의혹을 받다가 공화제 헌정을 133 | 복원하려는 정적에 암살당한다. 그러나 그 직후 카이사르의 상속자 134 | 옥타비아누스, 카이사르의 수하 마르쿠스 안토니우스, 레피두스의 제2차 135 | 삼두정치가 권력을 잡는다. 그러나 이 정치적 동맹은 권력 투쟁으로 136 | 기운다. 레피두스는 추방되며, 옥타비아누스는 기원전 31년 악티움 해전에서 137 | 안토니우스와 클레오파트라를 격퇴하여 로마의 유일 지배자가 되었다. 138 | 139 | 정상에 오른 옥타비아누스는 아우구스투스의 칭호를 받고 거의 절대적인 140 | 권력을 잡았지만, 공화정을 가장했다. 후계자 티베리우스는 심각한 반대 141 | 없이 권좌에 올라 율리우스-클라우디우스 황조를 이루었고, 이 황조는 기원후 142 | 68년 네로가 죽을 때까지 이어진다. 제정 시대에도 영토 확장은 143 | 이어졌으며 안정을 유지했지만, 흔히 저열하고 타락했다고 평가받는 144 | 황제도 몇몇 있었다.(가령 혹자는 칼리굴라를 정신이상자로 보기도 하며, 145 | 네로는 국가 정사보다 개인 관심사에 더 몰두하며 잔인했다는 평판을 146 | 받는다.) 그리고 플라비우스 황조가 뒤를 잇는다. 오현제 147 | 시대(네르바-안토니누스 황조에서 콤모두스 재위 이전)에 제국은 영토나 148 | 경제ㆍ문화면에서 정점을 이루었다. 국가는 대내외적으로 안정을 149 | 이루었고, 로마의 평화 시대에 제국은 번영했다. 트라야누스 시대에 150 | 다키아가 정복되면서, 제국은 최대 영토로, 그 지배 지역이 650만km²에 151 | 이르렀다. 152 | -------------------------------------------------------------------------------- /samples/la.txt: -------------------------------------------------------------------------------- 1 | parentibus Iudaeis genitus, in East Oak Lane, uberi Philadelphiae 2 | Pennsilvaniensis vicinia, die 7 Decembris 1928 in lucem editus est. 3 | Pater eius, Gulielmus Chomsky (1896–1977), oriundus ex Ucraina, munere 4 | professoris linguae Hebraicae apud Gratz College fungebatur ac socius 5 | societatis IWW erat. Elsie Chomsky mater — Simonofsky nata in regione 6 | quae postmodo Ruthenia Alba facta est — in Civitatibus Foederatis 7 | adoleverat et, quod de marito non dici potest, "communi dialecto Anglica 8 | Neo-Eboracensi" loquebatur. Parentium autem amborum sermo patrius 9 | Iudaeogermanicus erat, sed Chomsky dixit vetitum fuisse hoc sermone 10 | loqui. Chomsky, quamquam mater activismi radicalis annorum 1930 11 | particeps fuit, potius ab avunculo affectus est, qui, cum nunquam 12 | quartam classem praeterierit, actorum diurnorum tabernulam possidebat, 13 | quae "fori intellectualis" loco fungebatur, ubi "professores huius et 14 | illius rei omnem per noctem inter se certabant." Chomsky etiam affectus 15 | est rebus radicalibus Hebraicis Zionisticisque, et in librariis versando 16 | anarchisticis. 17 | 18 | Familiam in "gettone Iudaeo" habitavisse describit, qui in partibus 19 | Iudaeogermanica et Hebraica scissus sit, suamque familiam huic 20 | pertinuisse eumque "in cultura et litteris Hebraicis mers," licet potius 21 | de "vico clauso culturali quam physico" loquatur. Contentionem quoque 22 | describit Chomsky cum Catholicis Hibernicis et Theodiscis et 23 | antisemitismo mediis annibus 1930. Memoria "convivia cervisialia" tenet, 24 | casum Lutetiae Theodiscis celebrantium. De ironia, in Domu Iesuitica in 25 | America Centrali annibus 1980 habitandi, inter puertiam, inquit Chomsky, 26 | "Sola eramus familia Iudaea. Magno Catholicorum in terrore adolevi, 27 | quippe qui, cum ad scholam is, te feriant. Eos sciebam, cum ab illo 28 | aedificio extrema via venirent, quod Iesuitica schola erat, dementes 29 | esse antisemitistas. Longo tempore opus fuit, ut puertiae memorias 30 | convincerem." 31 | 32 | Commentarium primum Chomsky, cum annum decimum gerebat discipulusque in 33 | Oak Lane Country Day School erat, de fascismi extensionis comminatione 34 | post Barcinonis casum inter Bellum Civile Hispanicum scripsit. Ex quo 35 | annum duodecimum tertiumve decimum egit, plenius se ad res civiles 36 | anarchistas convertit. 37 | 38 | Cum apud Central High School of Philadelphia gradum acceperit, Chomsky 39 | philosophiae linguisticaeque anno 1945 apud Universitatem 40 | Pennsylvaniensem studere coepit, talibus philosophis qualibus C. West 41 | Churchman et Nelson Goodman linguistaque Zellig Harris docentibus. Inter 42 | Harris doctrinas erat transformationem munere fungentem analysis 43 | mathematicae structurae linguarum. Chomsky de legibus morphophonemicis 44 | in anni 1951 thesi magistri, The Morphophonemics of Modern Hebrew (sc. 45 | "de Morphophonemica Linguae Hebraicae Hodiernae") appellata, locutus 46 | est. Notiones civiles quoque Harris partes gesserunt in eis Chomsky 47 | formandis. Chomsky anno 1949 Artium Baccalaureum accepit, annoque 1951 48 | Magistrum Artium. 49 | 50 | Anno 1949, Carolam Schatz linguistam in matrimonium duxit, annosque 59 51 | una remanserunt, usque ad mortem illius cancere mense Decembre 2008 52 | effectam. Duas genuerunt filias, Avivam (n. 1957) et Dianam (n. 1960), 53 | et filium unum, Harry (n. 1967). Una cum uxore, Chomsky tempus anno 1953 54 | habuit in HaZore'a, kibbutz in Israël sito. Ipse, colloquio utrum mansio 55 | ei erat frustrationi rogatus, inquit, "Non ita, id amavi," quamquam 56 | "nationalismum ferventem" et "atmosphaeram ideologicam subire nequieba" 57 | ineuntibus annis 1950, cum Stalin a multis sinistrarum partium 58 | defenderetur, qui rebus et illius aetatis et futuris Sovieticis speciem 59 | dare pulchram solebant. Chomsky se dicit vidisse multa bona in kibbutz, 60 | in quo genitores liberique una habitabant in domibus divisis, et rogatus 61 | an sint "praecepta discenda ab historia kibbutzim," respondit, "non 62 | nullis modis, kibbutzim proprius ad perfectionem anarchistam ierunt quam 63 | ullus conatus alius, qui longius quam momentum breve superaverit ante 64 | eius deletionem, aut qui tam magnus fuerit. His modis, apprime suaves et 65 | prosperos eos puto fuisse; nisi casu personali, sine dubio ipse ibi 66 | vixissem — quanto temporis, difficile coniectu." 67 | 68 | Chomsky PhD in linguistica ab Universitate Pennsylvaniensi anno 1955 69 | accepit. Partem exquaesitionis doctoralis apud Universitatem 70 | Harvardianam tamquam Harvard Junior Fellow egit. In thesi sua, rationes 71 | linguisticas confirmare coepit, quas extendit in anni 1957 libro 72 | Syntactic Structures, uno ex illustrissimis operibus linguisticis eius. 73 | 74 | cohorti Massachusettensis Instituti Technologiae (MIT) anno 1955 se 75 | adiunxit, et anno 1961 professor confertus in Facultate Linguarum 76 | Hodiernarum et Linguisticae (hodie Facultate Linguisticae et 77 | Philosophiae) factus est. Ab anno 1966 ad annum 1976, Ferrari P. Ward 78 | Professorship of Modern languages and Linguistics tenebat, et anno 1976 79 | munus Institute Professor ei datum est. Anno 2012, continue apud MIT 57 80 | annos docuit. 81 | 82 | Mense Februario 1967, Chomsky unus ex principibus adversariis Belli 83 | Vietnamiensis factus est propter commentarium suum, The Responsibility 84 | of Intellectuals ("de Responsabilitate Intellectualium"), in The New 85 | York Review of Books proditum. Secuta est American Power and the New 86 | Mandarins, anni 1969 commentariorum collectio. Critica eius civilitatis 87 | rerum externarum Civitatum Foederatarum et ad legitimitatem potestatis 88 | Americanae spectantia multas controversias creaverunt, et 89 | publicationibus et nuntiorum emissariis internationalibus quaeri solet 90 | ut sententias suas explanet. Anno 1997, Acroasin Huizinga Lugduni 91 | Batavorum protulit, eo titulo: Intellectuals and the State ("de 92 | Intellectualibus et Statu"). 93 | 94 | Mortis minas Chomsky propter critica eius civilitatis rerum externarum 95 | Americanae concepit. Theodori Kaczynski, fortasse melius nomine 96 | Unabomber noti, indici interficiendorum intererat; eo spatio, quo 97 | Kaczynski liber erat, Chomsky omnes epistulas et mandata ne materiae 98 | displosivae eis inesset indagari habebat. Se dicit vigilum tectorum 99 | custodia solere uti, praecipue cum in campis MIT versatur, licet de hac 100 | re abnuat. 101 | -------------------------------------------------------------------------------- /samples/lb.txt: -------------------------------------------------------------------------------- 1 | Enzyklopedie (algriichesch ἐγκύκλιος παιδεία = "enkyklios paideia", 2 | enkýklios = kreesfërmeg a paideía = Léier, Bildung) beschreift 3 | ursprénglech (ca. -5. Joerhonnert) eng universal Bildung am Sënn vun 4 | engem "studium generale". 5 | 6 | Eréischt am Zäitalter vun de Lumières ass an der Neizäit duerch 7 | d'Aarbechte vun den franséischen Enzyklopedisten Denis Diderot a Jean 8 | d'Alembert de Begrëff vun enger "scientia generalis" (Allgemengwëssen, 9 | Allgemengwëssenschaft) entstanen. Vun elo un bezeechent de Begrëff 10 | Enzyklopedie souwuel esou eng Wëssenschaft wéi hiert Resultat, (de 11 | Versuch vun der) d'Duerstellung vum komplette Wëssen. 12 | 13 | Wéi déi franséisch Enzyklopedisten dunn hiert gesammelt Wëssen a Form 14 | vun alphabeteschen Noschlowierker zougänglech gemaach hunn, gouf de 15 | Begrëff Enzyklopedie séier zur Bezeechnung vun engem enzyklopedesche 16 | Lexikon. 17 | 18 | Am Géigesaz zur Enzyklopedie erhiewe weder Dictionnaire, nach Lexikon a 19 | Fachlexikon den Usproch, vollstänneg Wierker ze sinn. 20 | 21 | Déi eelste schrëftlech Zeie vun der Sprooch si mykenesch Texter an der 22 | Linearschrëft B. Während der klassescher Zäit gëtt et schonn eng jett 23 | Dialekter, zu de wichtegsten zielen d'Attesch-Ionescht (wat hautdesdaags 24 | an de Schoulen als "Algriichesch" geléiert gëtt), 25 | d'Dorescht-Nordwestgriichescht, d'Aeolescht, an d'Arkadesch-Kyprescht. 26 | 27 | D'politesch, wirtschaftlech a kulturell Positioun vun Athen am 5. 28 | Joerhonnert v. Chr. hunn deen do geschwaten atteschen Dialekt zur 29 | iwwerregionaler Allgemengsprooch (Koinè) gi gelooss. Duerch 30 | d'Eruewerunge vum Alexander de Groussen am 4. Joerhonnert v. Chr. gouf 31 | et zu enger Weltsprooch an Lingua franca. Och am Réimesche Räich blouf 32 | Griichesch nieft Latäin eng Amtssprooch. Den Afloss vu Friemsproochen 33 | huet ëmmer erëm zu Beméiunge gefouert, d'griichesch Sprooch ze botzen a 34 | sech op d'klassescht Attesch ze baséieren. Esoueng "gebotzte" Versioun 35 | gouf e puer Joerhonnerte méi spéit zur Amts- a Literatursprooch vum 36 | Byzantinesche Räich. 37 | 38 | Während der Besatzung duerch d'Osmanescht Räich war d'Ënnerriichte vu 39 | Griichesch offiziell verbueden. Allerdéngs huet d'Sprooch weidergelieft, 40 | am Alldag vun de Griichen, a bei de Paschtéier, déi et trotzdem heemlech 41 | geléiert hunn. D'Sprooch huet sech awer während dëser Zäit staark 42 | verännert. No der moderner Staatsfondatioun gouf d'Katharevousa 43 | (καθαρευουσα = Reng Sprooch) offiziell Sprooch, eng Konschtsprooch, déi 44 | awer de Wuertschaz vum Attesche konservéiert hat, mee neigriichesch 45 | grammatesch Strukturen hat. Eréischt 1976 gouf d'Vollekssprooch 46 | ("Dimotiki", gr. δημοτικη) definitiv zur Sprooch vun der Verwaltung an 47 | der Wëssenschaft. 48 | 49 | Am Laf vun de Joerdausenden huet d'Griichesch Sprooch vill Verännerungen 50 | an der Aussprooch matgemaach, d'Orthographie ass awer zum groussen Deel 51 | konstant bliwwen. Dëst ass ënner anerem op déi sélleche "Botzaktiounen" 52 | zeréckzeféieren. Déi an hellenistescher Zäit agefouert Accente goufen 53 | nach bis viru kuerzem benotzt. Duerch en Dekret vum griichesche 54 | President vum 29. Abrëll 1982 goufen den accent grave, den accent 55 | circonflexe, den Spiritus asper an den Spiritus lenis ofgeschaaft. Am 56 | Neigriichesche gëtt et hautdesdaags nëmmen nach den accent aigu, deen 57 | déi betounte Silb markéiert. 58 | 59 | D'griichesch Sprooch a Schrëft haten e groussen Afloss op Europa: 60 | d'laténgescht genee sou wéi d'kyrillescht Alphabet goufen op der Basis 61 | vum griicheschen Alphabet entwéckelt, an a villen europäesche Sprooche 62 | fënnt een nach d'Wuerzele vu griichesche Wierder. 63 | 64 | Un den Ufere vun der Ägäis ass eng vun den éischten europäeschen 65 | Zivilisatiounen entstanen, nämlech déi vun de Minoer an d'mykenesch 66 | Zivilisatioun. No hirem Ënnergank koumen däischter Joërhonnerten, eng 67 | Zäit iwwer déi mer nëmmen ganz wéineg wëssen, éier et ëm 800 v. Chr. 68 | nees biergop geet. Et ass d'Zäit vun de griicheschen Stadstaaten, der 69 | polis. Kolonien gi ronderëm d'Mëttelmier gegrënnt, an si verdeedegen 70 | sech couragéiert géint d'Perser. Nom Peloponnesesche Krich gëtt 71 | Griicheland vum Philipp II. vu Mazedonien, respektiv vu sengem Jong dem 72 | Alexander de Groussen eruewert a mir befannen eis am hellenistesche 73 | Griicheland. 74 | 75 | Op militäreschem Plang hat Griicheland allerdéngs wéineg opweises a vun 76 | 168 v. Chr. un ginn d'Griiche vun de Réimer eruewert. Allerdengs ass et 77 | mat der Kultur genee ëmgedréint gelaf, do huet nämlech déi griichesch 78 | d'Réimer eruewert. Als Provënz vum Réimesche Räich hat Griicheland 79 | weiderhin e staarken Afloss op kulturellem Plang, an nom Fall vum 80 | westréimesche Räich huet Griicheland d'ëstlecht oder Byzantinescht Räich 81 | mat Konstantinopel weiderhin dominéiert. Nom Fall vu Konstantinopel de 82 | 29. Mee 1453, gëtt Griicheland lues awer sécher vum Ottomanesche Räich 83 | ageholl. 84 | 85 | D'Ottomane bleiwen a Griicheland bis an d'19. Joerhonnert. 1821 86 | rebelléieren d'Griichen an erklären hir Onofhängegkeet déi se 1829 87 | akkordéiert kréien. Während dem 19. Joerhonnert huet Griicheland sech 88 | duerch eng Rei vu Kricher ëmmer méi vergréissert a seng haiteg Form huet 89 | d'Land zënter 1947. 90 | 91 | Nom Zweete Weltkrich gouf et a Griicheland e Biirgerkrich dee bis 1949 92 | ugehalen huet. 1967 gouf no engem Coup d'état de Régime des Colonels 93 | agefouert, deen 1973 d'Monarchie ofgeschaf huet. 1975 gëtt no engem 94 | Plebiscite eng demokratesch Republik gegrënnt. 1981 trëtt Griicheland 95 | der EU bäi an hëlt 2001 den Euro un. 96 | 97 | Bei der Vollekszielung vun 2001 goufen am Ganze 10.964.020 Griiche 98 | gezielt. Vun dëse liewen der 58,8% a Stied, 28,4% um Land. D'Awunnerzuel 99 | vun den zwou gréisste griichesche Stied, Athen an Thessaloniki, louch 100 | bei bal 4 Milliounen. 101 | 102 | A Griicheland liewen hautdesdaags och eng ganz Partie Immigranten. Ronn 103 | 65% kommen aus Albanien, mee et wanderen och Bulgaren, Rumänen, 104 | Pakistaner, Polen oder Georgier an. Allerdéngs si vun dëse keng reell 105 | Zuele bekannt, well eng grouss Partie illegal agewandert ass. 106 | 107 | -------------------------------------------------------------------------------- /samples/sw.txt: -------------------------------------------------------------------------------- 1 | Amekuwa mashuhuri kutokana na nadharia yake ya maendeleo ya uhai mageuko 2 | ya spishi. 3 | 4 | Nadharia hii yasema kuwa spishi zote za viumbehai vimetokana na spishi 5 | asilia zilizogeuka baada ya muda. Mageuko haya hufuata uteuzi asilia 6 | yaani viumbehai wanaolingana vizuri zaidi na mazingira wanaishi na kuzaa 7 | kushinda viumbehai wasiolingana nayo. 8 | 9 | Kwa njia hiyo tabia za viumbehai wanaofaa vizuri zaidi zinazidi 10 | kuendelezwa kwa sababu watoto wao hurithi tabia hizi. Lakini tabia za 11 | viumbehai wasiofaa sana zinaweza kutoweka kwa sababu wanakufa mapema na 12 | hawana watoto wengi wanaoendeleza tabia zao. 13 | 14 | Alizaliwa mjini Shrewsbury (Uingereza) kama mtoto wa tano wa daktari 15 | Robert Darwin na Susannah Darwin (née Wedgwood). Baada ya kumaliza shule 16 | alijiunga na chuo kikuu cha Edinburgh (Uskoti) 1825 akajiandikisha 17 | katika idara ya tiba lakini hakupenda upasuaji. Alitumia muda mwngi 18 | kufuata kozi za biolojia, jiografia na jiolojia nje ya masomo ya tiba. 19 | Alifuatana mara nyingi na wataalamu walipofanya uchunguzi wa wanyama, 20 | mimea au mawe. 21 | 22 | Baba baada ya kuona hafai kuwa daktari alimwandikisha katika masomo ya 23 | teolojia kwa shabaha ya kuwa mchungaji wa kanisa la kianglikana 24 | aliyomaliza mwaka 1831. 25 | 26 | Baada ya kumaliza masomo haya Darwin alipata nafasi ya kujiunga kama 27 | mshiriki na safari ya kisayansi ya jahazi MS Beagle iliyotakiwa 28 | kuzunguka dunia yote kwa kusudi la kuboresha ramani hasa za pwani la 29 | Amerika Kusini. Darwin alipewa nafasi ya mwanaviumbe bila malipo ya 30 | kuongozana na kushauriana na nahodha na kiongozi wa safari kuhusu 31 | wanyama na mimea visivyojulikana na vitakavyopatikana safarini. 32 | 33 | Katika safari hii Darwin aliona Amerika Kusini na visiwa vya Pasifiki. 34 | Akaona mengi na kushika kumbukumbu yake akakusanya mimea na miili ya 35 | wanyama na kuibeba naye kwa ajili ya maonyesho katika jumba la 36 | makumbusha la historia ya viumbe. 37 | 38 | Kwenye visiwa vya Galapagos aliona ya kwamba kila kisiwa kilikuwa na 39 | spishi za ndege pia kobe zilivyotofautiana kidogo kati ya kisiwa na 40 | kisiwa. 41 | 42 | Baada ya kurudi Uingereza mwaka 1836 Darwin alianza kuchunguza sampuli 43 | zote alizokusanya. Alipata kazi kama katibu wa shirika la jiolojia. 44 | 45 | Alipochungulia sampuli za Galapagos hasa alipata dhana ya kwamba spishi 46 | hizi zote za karibu zilitokana na aina moja tu iliyowahi kufika kwenye 47 | visiwa hivyo lakini baadaye zilianza kuwa tofauti katika kila kisiwa na 48 | kuwa spishi ya pekee. Kama hiyo ilikuwa kweli spishi hizi hazikuumbwa 49 | hivyo tangu mwanzo. 50 | 51 | Darwin aliendelea na utafiti wa sampuli zake na kutoa masomo mbalimbali 52 | na kuyatafakari. 1859 alitoa kitabu kuhusu mageuko ya spishi kwa njia ya 53 | uteuzi asilia (On the Origin of Species by Means of Natural Selection, 54 | or the Preservation of Favoured Races in the Struggle for Life) 55 | alimoeleza nadharia yake. 56 | 57 | Kitabu kilikuwa kama bomu kati ya watu wa sayansi na wa dini. 58 | 59 | Darwin alishambuliwa mara nyingi ya kuwa mafundisho yake yanapinga 60 | taarifa ya uumbaji katika Biblia. Lakini hiyo inategemea jinsi 61 | masimulizi yake yanavyosomwa: si lazima mwamini achukue kila kitu kama 62 | ilivyoandikwa, kwa sababu Biblia hailengi kutufundisha sayansi, bali 63 | njia ya wokovu. 64 | 65 | Leo hii nadharia yake inakubaliwa na wanasayansi karibu wote hata kama 66 | bado kuna kiasi cha upingamizi dhidi yake kwa sababu za kisayansi na za 67 | kidini. 68 | 69 | Spishi (kutoka Kilatini "species" yaani aina, maumbile) katika biolojia 70 | ni jina la kutaja kundi la wanyama au mimea wa aina moja. Spishi ni 71 | Kitengo muhimu katika uainishaji wa kisayansi. 72 | 73 | Kwa kuhesabiwa katika spishi ileile haitoshi kama viumbe vinafanana sana 74 | ni lazima ya kwamba vinaweza kuzaa pamoja na kuwa na watoto ambao 75 | wanaweza kuzaa tena. 76 | 77 | Kwa mfano farasi na punda ni spishi mbili tofauti zinazoweza kuzaa 78 | lakini watoto wao wanaoitwa baghala hawazai tena. Mbwa wote ni spishi 79 | moja hata kama wanaonekana na maumbile tofauti kutokana na historia ya 80 | ufugaji wa kuteua sifa kadhaa tu kwa kuzaana. Lakini hata mbwa mkubwa 81 | kabisa anaweza kuzaa na mbwa mdogo na watoto wao wanazaa tena. 82 | 83 | Spishi za karibu hupangwa pamoja katika jenasi. 84 | 85 | Mfano: mbwa, mbweha, mbweha wa Ethiopia na koyote wa Marekani wote ni 86 | spishi mbalimbali wa jenasi inayoitwa "canis". 87 | 88 | Nususpishi ni aina ndani ya spishi moja inayoonesha tofauti za wazi na 89 | spishi kwa jumla. Viumbe vya nususpishi moja wanaweza kuzaa na viumbe 90 | vya nususpishi nyingine lakini hii haitokei kwa kawaida; mfano moja ni 91 | ya kwamba eneo la nususpishi lipo mbali kwa hiyo hawakutani. 92 | 93 | Nususpishi inapewa neno la tatu ndani ya jina lake. 94 | 95 | Kila spishi inaweza kupewa jina la kisayansi kufuatana na kanuni za 96 | uainishaji. Hali halisi wanyama wakubwa wameshaainishwa karibu wote 97 | lakini bado kuna wadudu, viumbehai wa baharini wengi na bakteria wengi 98 | ambao hawakuainishwa bado. 99 | 100 | Jina la spishi huwa na maneno mawili: Kwanza jina la jenasi (linaloanza 101 | kwa herufi kubwa) halafu neno la pili la kutofautisha spishi (linaloanza 102 | kwa herufi ndogo). 103 | 104 | Kwa mfano paka ni "Felis silvestris". Felis ni jenasi na paka yumo 105 | pamoja na wanyama wengine wanaofanana naye kama simba, tiger au chui. 106 | Ndani ya spishi la Felis silvestris kuna nususpishi kadhaa; kwa mfano 107 | paka wa porini wa Afrika Kaskazini (Felis silvestris lybica) 108 | anayeaminiwa kuwa asili cha paka wa nyumbani (Felis silvestris catus). 109 | 110 | -------------------------------------------------------------------------------- /samples/ta.txt: -------------------------------------------------------------------------------- 1 | இந்தியா சுதந்திரம் அடைவதற்கு நூறாண்டுகளுக்கு முன்பாகவே, நீதிமன்றங்களை பிரித்தானிய 2 | அரசு இந்தியாவில் நிறுவியது. அப்படி நிறுவப்பட்ட மூன்று நீதிமன்றங்களில் ஒன்றுதான் 3 | சென்னை உயர்நீதி மன்றம். மற்ற இரண்டு நீதிமன்றங்களில் ஒன்று மும்பையிலும் மற்றொன்று 4 | கொல்கத்தாவிலும் நிறுவப்பட்டது. சென்னை உயர்நீதிமன்றம் சூன் 26, 1862, ஆம் ஆண்டு 5 | இந்தியாவின் மூன்று உயர்நீதிமன்றங்களில் ஒன்றாக (மற்றவை மும்பை, கொல்கத்தா), சென்னை 6 | இராஜதானி நகரத்திற்கு விக்டோரியா பேரரசியின் அரசாட்சியில் வழங்கப்பட்ட 7 | காப்புரிமையின்படி நிறுவப்பட்டது. இதன் நீதிபரிபாலணை தமிழ்நாடு மற்றும் புதுவையை 8 | (பாண்டிச்சேரி) உள்ளடக்கியது. 9 | 10 | தொடக்கத்தில், 'சுப்ரீம் கோர்ட் ஆஃப் மெட்ராஸ்' என்றுதான் அழைக்கப்பட்டது. அதன் பிறகு உயர் 11 | நீதிமன்ற சட்ட வரைவுகள் ஏற்படுத்தப்பட்டு, 1862- ஆகஸ்ட் 15-ம் நாள் முதல் 'மெட்ராஸ் ஹை 12 | கோர்ட்' என்ற பெயர் மாற்றம் பெற்றது. தற்போதைய சென்னை உயர் நீதிமன்றக் கட்டடத்துக்கு முன் 13 | கொய்யா தோப்பு (ஜார்ஜ் டவுன்) என்ற இடத்தில் சென்னை உயர் நீதிமன்றம் இயங்கிவந்தது. 14 | பிரிட்டிஷ் நீதிபதி ஹாலி ஹார்மன் உயர் நீதிமன்றத்துக்கு தனிக் கட்டடம் வேண்டும் என்று 15 | எழுப்பிய கோரிக்கையை ஏற்று, விக்டோரியா மகாராணி ஒப்புதல் அளித்த பின்பே, தற்போதைய 16 | உயர் நீதிமன்றக் கட்டடம் கட்டப்பட்டது. 17 | 18 | 1996 ஆம் ஆண்டு மதராசு என்பது சென்னை என்று சட்டப்பூர்வமாக பெயர் மாற்றம் கண்டபொழுது 19 | உயர்நீதிமன்றம் அதிலிருந்து விலக்கு பெற்று அதன் பாரம்பரியப் பெருமைக்காக மதராசு 20 | உயர்நீதிமன்றம் (Madras High Court) என்றே வழங்கப்படுகின்றது. இதனோடு சேர்ந்து 21 | அமைக்கப்பட்ட மூன்று உயர்நீதி மன்றங்களில் மற்ற இரண்டான மும்பை, கொல்கத்தா நீதிமன்றங்கள் 22 | உச்சநீதிமன்றங்களாக, 1861 உயர்நீதிமன்ற சட்ட வரைவிற்கு முன்பு வரை 23 | செயல்பட்டுக்கொண்டிருந்தன. 24 | 25 | இதன் கட்டுமானம் இந்தோ-சார்சியனிக் முறையில் 1892 ல் என்றி இர்வின் வழிகாட்டுதலின்படி 26 | கட்டப்பட்டது. இதன் கட்டுமானம் செப்டம்பர் 22, 1914 இல் முதல்உலகப்போரின் துவக்கத்தின்போது 27 | செர்மனின் எசு எம் எசு எம்டன் போர்க்கப்பலின் தாக்குதலினால் சேதமடைந்தது. உயர் நீதிமன்றக் 28 | கட்டடத்தை அமைப்பதற்கு அப்போது ஆன செலவு 13 லட்ச ரூபாய். உலகின் இரண்டாவது பெரிய 29 | நீதிமன்றமாகவும் (உலகின் முதலாவது பெரிய நீதிமன்றமாக இருப்பது லண்டன், பெய்லி 30 | நீதிமன்றம்) இந்தியாவில் முதல் பெரிய உயர் நீதிமன்றமாகவும் சென்னை உயர் நீதிமன்றம் 31 | திகழ்கிறது. 32 | 33 | அழகாக வண்ணம் தீட்டப்பட்ட கட்டிடத்தின் கூரைகளும் வண்ணக் கண்ணாடிகள் பொதிந்த கதவுகளும் மிக்க 34 | கலைவண்ணத்துடன் வடிவமைக்கப்பட்டுள்ளன. இங்கு மிக உயரமான மாடகோபுரத்தில் கலங்கரை விளக்கு 35 | செயல்பட்டு வந்தது. சரியான பராமரிப்பின்றியும் மெரினாக் கடற்கரையில் புதிய கலங்கரை 36 | விளக்கு அமைக்கப்பட்டதாலும் தற்போது இது செயல்படாது உள்ளது. 37 | 38 | 1870கு முன் இதன் நீதிபரிபாலணையில் பிரித்தானியர் மட்டுமே வழக்கறிஞராக பங்குபெற 39 | முடியும் என்றிருந்த நிலை, பிரித்தானிய முடியாட்சியினரிடமிருந்து வழங்கப்பட்ட 40 | ஆணையினால் இந்திய வழக்குரைஞர்களும் பங்கு பெற முடியும் என்ற நிலையை அடைந்தது. சென்னை 41 | உயர் நீதிமன்றத்தில் வழக்கறிஞராகப் பணியாற்றிப் பின் நீதிபதியாக உயர்ந்த முத்துச்சாமி ஐயர் 42 | வழங்கிய நுட்பமான தீர்ப்புகள் நாடு கடந்தும் புகழ் பெற்றவை. அவருடைய தீர்ப்புகளை லண்டன் 43 | பிரிவியூ கவுன்சில் தொடர்ந்து கவனித்துப் பாராட்டி உள்ளது. சென்னை உயர் நீதிமன்றத்தின் 44 | தீர்ப்புகள்தான் மற்ற மாநில உயர் நீதிமன்றங்களுக்கு முன் உதாரணமாக உள்ளன. முன்னாள் 45 | குடியரசுத் தலைவர் ஆர். வெங்கட்ராமன், மெட்ராஸ் மாகாணத்தின் முதலமைச்சராக இருந்த 46 | டி.பிரகாசம், தமிழகத்தின் முதலமைச்சராக இருந்த பக்தவத்சலம், சுதந்திர இந்தியாவில் 47 | செயல்பட்ட உயர்நீதிமன்றத்தின் இரண்டாவது தலைமை நீதிபதி பதஞ்சலி சாஸ்திரி போன்றவர்கள் 48 | வழக்கறிஞர்களாக சென்னை உயர் நீதிமன்றத்தில் பயிற்சி பெற்றுள்ளனர் என்பது குறிப்பிடத் 49 | தக்கதாகும். 50 | 51 | தந்தை பெரியார் மீது இந்தியாவின் பிரதமராக இருந்த ஜவஹர்லால் நேரு தொடர்ந்த நீதிமன்ற 52 | அவமதிப்பு வழக்கு, தடுப்புக் காவல் சட்டத்தை எதிர்த்து பசும்பொன் முத்துராமலிங்கத் தேவர் 53 | நடத்திய வழக்கு, நேருவுக்குக் கறுப்புக் கொடி காட்டியதற்காக அண்ணாதுரை மீது தொடரப்பட்ட 54 | வழக்கு, தமிழ்த் திரை உலகில் புகழ்பெற்ற தியாகராஜ பாகவதர் மற்றும் என். எஸ். கிருஷ்ணன் 55 | மீதான லட்சுமிகாந்தன் கொலைவழக்கு ஆகியவை இவ்வுயர்நீதிமன்றத்தில் நடைபெற்ற சில முக்கிய 56 | வழக்குகளாகும் 57 | 58 | சென்னை உயர் நீதிமன்றத் தலைமை நீதிபதி, இந்திய உச்ச நீதிமன்றத் தலைமை நீதிபதியால் 59 | நியமிக்கப்படுபவர் ஆவர். இவரே தமிழக அரசின் தலைமை நீதிபதி ஆவார். இவரின் நீதி முறைமை 60 | எல்லைகள் தமிழ்நாடு மாநிலம் முழுவதையும் புதுவைப் பிரதேசப் பகுதிகளையும் 61 | உள்ளடக்கியது. இவருடன் துணை சேர்ந்து 40 உயர் நீதிமன்ற நீதிபதிகள் நீதிமுறைமை புரிவர். 62 | தலைமை நீதிபதியின் வழிகாட்டுதலின்படி இதன் நீதி நிர்வாகங்களைச் செயல்படுத்தும் மன்றங்களாக 63 | உரிமையியல் மற்றும் குற்றவியல் நீதிமன்றங்கள் செயல்படுகின்றன. 64 | 65 | அரசுத் தலைமை வழக்குரைஞர் (அட்வகேட் ஜென்ரல்) (அ) சென்னை உயர் நீதிமன்றத் தலைமை 66 | வழக்குரைஞர் (அ) வழக்குரைஞர் தலைவர் மாநில ஆளுநரால் நியமிக்கப் பெற்றவராவார். இவர் 67 | தமிழக அரசு சார்பில் வாதாடுபவர் மற்றும் அரசுக்கு ஆலோசனைகள் வழங்குபவர். இவர் உயர் 68 | நீதிமன்ற நீதிபதி நியமனத்துக்குரியத் தகுதிகளை உடையவர். தமிழகத்தின் தற்பொழுதய தலைமை 69 | வழக்குரைஞர் திரு ஏ. நவநீதகிருஷ்ணன். இவருக்கு துணை புரிகின்ற வகையில் இரு கூடுதல் 70 | தலைமை வழக்குரைஞர்கள் செயல்படுகின்றனர். 71 | 72 | இக்கிளை உயர்நீதிமன்றம்ஜூலை 24 2004 முதல் அப்பொழுதய இந்திய உச்ச நீதிமன்றத் தலைமை 73 | நீதிபதி திரு ஆர் சி லகோத்தியால், சென்னை உயர்நீதிமன்றத் தலைமை நீதிபதி திரு பி. 74 | சுபாஷன் ரெட்டியின் தலைமையில் மற்றும் உச்ச நீதிமன்ற நீதிபதிகளான நீதியரசர்கள் திரு 75 | சிவராஜ் வி பாட்டீல், திரு. கே.ஜி. பாலகிருஷ்ணன், நீதியரசர் முனைவர் திரு ஏ.ஆர். 76 | லட்சுமணன், மாண்புமிகு மத்திய சட்டத்துறை அமைச்சர் எச். ஆர். பரத்வாஜ் , மற்றும் மாநில 77 | சட்டத்துறை அமைச்சர் மாண்புமிகு திரு. டி. ஜெயக்குமார் , முன்னிலையில் 78 | துவக்கிவைக்கப்பெற்று இயங்கிவருகின்றது. 79 | -------------------------------------------------------------------------------- /samples/tl.txt: -------------------------------------------------------------------------------- 1 | Ipinanganak si Chiune Sugihara noong Enero 1, 1900, sa Yaotsu, isang 2 | areang rural sa Prepekturang Gipu ng rehiyong Chūbu sa Hapon, sa isang 3 | panggitnang-antas na ama, si Yoshimizu Sugihara, at Yatsu Sugihara, 4 | isang uring-samurai na ina. Ikalawa siya sa limang magkakapatid na 5 | lalaki at iisang babae. 6 | 7 | Noong 1912, nagtapos siya ng may mga karangalan mula sa Paaralang 8 | Furuwatari, at pumasok sa Nagoya Daigo Chugaku (mataas na paaralang 9 | Zuiryo ngayon), isang magkasanib na mataas na paaralang pang-diyunyor at 10 | senyor. Gusto ng tatay ni Sugiharang sundin ang nito ang mga yakap niya 11 | bilang isang manggagamot, ngunit sinadyang ibagsak ni Sugihara ang 12 | sarili mula sa pagsusulit para makapasok sa paaralang mangmedisina sa 13 | pamamagitan ng pagsulat lamang ng kaniyang pangalan sa mga papel ng 14 | pagsusulit. Sa halip, nagpatala siya sa Pamantasang Waseda noong 1918 at 15 | nagkaroon ng degri sa panitikang Ingles. Noong 1919, pumasa siya sa 16 | pagsusulit ng pang-iskolar ng Ministeryo ng Ugnayang Panlabas. Kinuha 17 | siya ng Ministeryo ng Ugnayang Panlabas ng Hapon at itinalaga siya sa 18 | Harbin, Tsina, kung saan nag-aral din siya ng mga wikang Ruso at Aleman, 19 | at naging isang dalubhasa sa pakikipag-ugnayang pang-Ruso sa kalaunan. 20 | 21 | Nang magsilbi si Sugihara sa Tanggapan ng Ugnayang Panlabas sa 22 | Manchuria, nakilahok siya sa pakikipag-usap sa Unyong Sobyet hinggil sa 23 | Dulong Silangang Daanang Riles ng Tsina (Riles ng Hilagang Manchuria). 24 | Nagbitiw siya mula sa tungkulin bilang Pangalawang Ministro ng Ugnayang 25 | Panlabsa sa Manchuria bilang pagprotesta laban sa pagmamaltrato ng mga 26 | Hapones sa mga katutubong Intsik. Habang nasa Harbin, nagpalit siya ng 27 | relihiyon at naging isang kasapi ng Silanganing Simbahang Ortodokso 28 | (Kristiyanong Ortodokso), at pinakasalan ang isang Belarusang si 29 | Klaudia. Nagdiborsiyo sila noong 1935, bago bumalik sa Hapon, kung saan 30 | pinakasalan naman niya si Yukiko Kikuchi, na naging Yukiko Sugihara (杉原 31 | 幸子 Sugihara Yukiko) pagkatapos ng kasal; nagkaroon sila ng apat na mga 32 | anak. Sa kasawiang-palad, namatay ang pangatlo nilang anak na lalaking 33 | si Haruki. Naglingkod din si Chiune Sugihara sa Kagawaran ng Impormasyon 34 | ng Ministreryo ng Ugnayang Panlabas at bilang isang tagapagsalinwika 35 | para sa lagasyong Hapones sa Helsinki, Pinlandiya. 36 | 37 | Noong 1939, naging pangalawang-konsul siya ng Konsuladong Hapones sa 38 | Kaunas, Litwaniya. Isa pa sa kaniyang mga tungkulin ang mag-ulat ukol sa 39 | mga kilos ng mga Sobyet at mga Aleman. 40 | 41 | Sinasabing nakiisa si Sugihara sa intelihensiya ng Polonya, bilang 42 | bahagi ng isang mas malaking planong pakikiisa ng mga Hapones at mga 43 | Polako. Hindi pa rin malinawa ang mga detalye, ngunit pagkaraan ng 44 | pananakop na isinagawa ng mga Sobyet sa Lithuani noong 1940, maraming 45 | mga Hudyong tumatakas sa panganib mula sa Polonya (mga Hudyong Polako), 46 | maging mga Hudyong Litwaniyano ang sumubok na makakuha ng bisa para 47 | makalabas ng bansa. Kapag walang mga bisa, mapanganib ang maglakbay at 48 | imposibleng makakita ng mga bansang gustong magbigay ng mga ito. 49 | Daan-daang mga Hudyong ibig tumakas ang pumunta sa konsuladong Hapones 50 | sa Kaunas, na sumusubok humingi ng bisa patungong Hapon. Nagbigay ng 51 | ilan ang konsul ng Nederland na si Jan Zwartendijk na may opisyal na 52 | pangatlong destinasyon patungong Curaçao, isang pulong Karibe at 53 | kolonyang Olandes na hindi nangangailangan ng bisa para makapasok, o 54 | Guianang Olandes (na, nang lumaya, naging Suriname). Noong panahong 55 | iyon, itinakda ng pamahalaang Hapones na magbigay lamang ng mga bisa sa 56 | mga nagdaan na sa nararapat na prosesong pang-imigrasyon at may sapat na 57 | pondong pananalapi. Karamihan sa mga ibig lumikas ang hindi nakatupad sa 58 | mga panuntunang ito. May pagsunod sa tungkuling kinausap ni Sugihara ang 59 | Ugnayang Panlabas ng Hapon ng may tatlong ulit para makatanggap ng mga 60 | kautusan. Bawat ulit, tumugon ang Ministeryong dapat na may dagdag na 61 | bisa pa ang mga binigyan ng bisang pang-Hapon patungo sa ikatlong 62 | destinasyon, para makalabas ng bansang Hapon, at walang ililiban. 63 | 64 | Mula Hulyo 31 hanggang Agosto 28, 1940, nagsimulang magbigay ng mga bisa 65 | si Sugihara sa sarili niyang pagkukusa, makaraang kausapin ang kaniyang 66 | mag-anak. Maraming ulit niyang binalewala ang mga kailangan at 67 | pinahintulutan niyang magkaroon ang mga Hudyo ng bisang tatagal ng 68 | sampung araw sa Hapon, isang tuwirang paglabag sa mga kautusan sa kaniya 69 | ng kaniyang pamahalaan. Kahit sa mababa niyang antas sa tungkulin at sa 70 | kalinangan o gawi ng mga burokrata sa Palingkuran ng Ugnayang Panlabas 71 | ng Hapon, pambihirang pagkilos ito ng pagsuway sa utos. Nakipag-ugnayan 72 | siya sa mga opisyal ng mga Sobyet na pumayag namang paglakbayin ang mga 73 | Hudyo sa loob ng bansa sa pamamagitan ng riles na Trans-Siberiano sa may 74 | limang ulit na halaga ng karaniwang tarhetang panlakbay. 75 | 76 | Nagpatuloy si Sugihara sa pamimigay ng mga bisa sa pamamagitan ng 77 | sariling kamay (inulat na gumugol ng 18-20 oras bawat araw para sa mga 78 | ito, na nakagawa ng katumbas ng dami ng bisang pang-isang buwan bawat 79 | araw) hanggang Setyembre 4, kung kailan kinailangan niyang lisanin ang 80 | kaniyang himpilan bago isara ang konsulado. Sa panahong iyon, 81 | nakapagbigay na siya ng mgay libu-libong mga bisa sa mga Hudyo, marami 82 | sa kanila ang mga ulo ng tahanang maisasama ang kanilang mga mag-anak sa 83 | pagbibiyahe. Ayon sa mga nakasaksi, nagsusulat pa siya ng mga bisa 84 | habang nakahintil sa hotel at makaraang makasakay sa tren, naghahagis ng 85 | mga bisa mula sa bintana ng tren, patungo sa mga nakaabang na mga kamay 86 | ng mga madlang ibig lumikas at kaawaawa, kahit na nagsimula nang umandar 87 | ang tren. Iniisip din ni Sugihara ang magiging opisyal na reaksiyon 88 | hinggil sa libu-libong mga bisang ipinamahagi niya. Maraming taon ang 89 | nakalipas, sa muli niyang pagtunghay sa nakaraan, "Walang sinuman ang 90 | bumanggit ng patungkol dito. Natatadaan kong nag-iisip ako na maaaring 91 | hindi nila naliliwanagan kung ilan talaga ang naipamahagi ko. 92 | -------------------------------------------------------------------------------- /samples/vi.txt: -------------------------------------------------------------------------------- 1 | Thần thoại Hy Lạp là tập hợp những huyền thoại và truyền thuyết của 2 | người Hy Lạp cổ đại liên quan đến các vị thần, các anh hùng, bản chất 3 | của thế giới, và nguồn gốc cũng như ý nghĩa của các tín ngưỡng, nghi lễ 4 | tôn giáo họ. Chúng là một phần của tôn giáo Hy Lạp cổ đại và nay là một 5 | phần của một tôn giáo hiện đại lưu hành ở Hy Lạp và trên thế giới gọi là 6 | Hellenismos. Các học giả hiện đại tham khảo và nghiên cứu các truyện 7 | thần thoại này để rọi sáng vào các thể chế tôn giáo, chính trị Hy Lạp cổ 8 | đại, nền văn minh của nó cũng như để tìm hiểu về bản thân sự hình thành 9 | huyền thoại. 10 | 11 | Thần thoại Hy Lạp được thể hiện rõ ràng trong tập hợp đồ sộ những truyện 12 | kể, và trong các tác phẩm nghệ thuật tượng trưng Hy Lạp, chẳng hạn các 13 | tranh vẽ trên bình gốm và các đồ tế lễ. Thần thoại Hy Lạp cố gắng giải 14 | thích nguồn gốc của thế giới, và kể tỉ mỉ về cuộc đời và các cuộc phiêu 15 | lưu của một tập hợp đa dạng những vị thần, nữ thần, anh hùng và những 16 | sinh vật thần thoại. Những truyện kể này đầu tiên được truyền miệng bằng 17 | thơ ca; ngày nay các thần thoại Hy Lạp chủ yếu được biết thông qua văn 18 | học Hy Lạp. 19 | 20 | Những tư liệu văn học Hy Lạp lâu đời nhất được biết, hai anh hùng ca 21 | Illiad và Odyssey của Hómēros, tập trung vào các sự kiện liên quan tới 22 | Cuộc chiến thành Troia. Hai trường ca của người gần như cùng thời với 23 | Hómēros là Hesiod, Thần phả và Công việc và Ngày, chứa những ghi chép về 24 | nguồn gốc của thế giới, sự kế tục quyền lực của các vị thần, các thế hệ 25 | loài người, nguồn gốc các tai họa của con người cũng như gốc tích của 26 | các nghi lễ hiến tế. Những truyện thần thoại cũng được bảo tồn trong các 27 | bài ca cùng thời Hómēros (Homeric Hymns), các đoạn của “Tập Anh hùng ca” 28 | (Epikos Kyklos) liên quan tới chiến tranh Troia, các vở bi kịch ở thế kỉ 29 | V trước CN, các bài viết và thơ của các học giả thời Hy Lạp hóa và cả 30 | các tài liệu trong thời đại đế quốc La Mã bởi các nhà văn như Plutarchus 31 | và Pausanias. 32 | 33 | Các phát hiện khảo cổ học là một nguồn cung cấp nữa về các chi tiết 34 | trong thần thoại Hy Lạp, với các thần và anh hùng được mô tả nổi bật 35 | trong trang trí của nhiều đồ tạo tác. Các họa tiết trên đồ gốm của thế 36 | kỉ 8 trước CN mô tả những cảnh trong cuộc chiến thành Troia cũng như các 37 | kỳ công của Herakles, nhiều trong số đó có niên đại sớm hơn các tư liệu 38 | văn học trong cùng chủ đề. Thần thoại Hy Lạp đã có một ảnh hưởng bao 39 | trùm trên văn hóa, văn học, nghệ thuật phương Tây và vẫn duy trì như một 40 | phần của di sản và ngôn ngữ phương Tây. Nhiều nhà thơ và nghệ sĩ từ các 41 | thời kỳ từ cổ đại tới hiện đại đã lấy cảm hứng từ thần thoại Hy Lạp và 42 | khám phá những ý nghĩa và tính thích đáng đương thời trong những chủ đề 43 | thần thoại này. 44 | 45 | Các truyện kể thần thoại đóng một vai trò quan trọng trong hấu hết mọi 46 | thể loại của văn học cổ Hy Lạp. Tuy nhiên, chỉ có một cuốn sổ tay ghi 47 | chép thần thoại tổng quát duy nhất của thời Hy Lạp cổ đại còn tồn tại 48 | đến ngày nay, đó là cuốn Bibliothēkē ("thư viện") của Ngụy Appollodorus. 49 | Công trình này nỗ lực giải hòa những sự tích mâu thuẫn nhau của các nhà 50 | thơ đương thời và cung cấp một tóm tắt lớn về thần thoại Hy Lạp truyền 51 | thống và các truyền thuyết anh hùng. Apollodorus của Athena sống trong 52 | khoảng 180–120 tr.CN và viết nhiều bài về chủ đề này. Các bài viết của 53 | ông được cho là làm nên nền tảng của tuyển tập; tuy nhiên cuốn Thư viện 54 | này thảo luận những sự kiện xảy ra rất lâu sau khi ông qua đời, do đó 55 | được gọi là tác phẩm Ngụy Appollodorus (Pseudo-Apollodorus). 56 | 57 | Trong số các nguồn tư liệu văn học sớm nhất có hai anh hùng ca của 58 | Hómēros, Iliad và Odyssey. Các nhà thơ khác tạo nên tuyển tập gọi là Tập 59 | anh hùng ca (Epikos Kyklos), nhưng các trường ca ra đời sau và ngắn hơn 60 | này ngày nay đã thất lạc toàn bộ. Ngoài ra còn có "Những bài ca Hómēros 61 | " ("Homeric Hymns"), tuy tên như vậy nhưng không có mối liên hệ trực 62 | tiếp nào với Hómēros. Chúng là những bài hát hợp xướng trong giai đoạn 63 | đầu của một thời kì gọi là "Kỉ nguyên thơ trữ tình" ("lyric poetry"). 64 | Hesiod, một người có thể cùng thời với Hómēros, cung cấp trong Theogonía 65 | (Nguồn gốc các vị thần) bản ghi chép đầy đủ nhất về các huyền thoại Hy 66 | Lạp đầu tiên, liên quan tới sự sáng tạo thế giới; nguồn gốc các vị thần, 67 | các Titan, và các thần khổng lồ Giant; cũng như đánh giá phả hệ, truyện 68 | dân gian, và các huyền thoại khởi thủy. Hesiod cũng là tác giả của Ἔργα 69 | καὶ Ἡμέραι, Erga kai Hēmerai (Công việc và Ngày), một trường ca có tính 70 | cách giáo dục về đời sống trồng trọt, và cũng bao gồm các thần thoại về 71 | Prometheus, Pandora, và Các Thời Đại Người. Nhà thơ đưa ra những lời 72 | khuyên về cách tốt nhất để thành công trong một thế giới ngặt ngèo, thậm 73 | chí còn bị làm cho ngặt nghèo hơn nữa bởi các vị thần. 74 | 75 | Các bài thơ trữ tình thường mượn chất liệu từ thần thoại, nhưng cách xử 76 | lí của nó ít mang tính tường thuật mà mang tính tượng trưng nhiều hơn. 77 | Các nhà thơ của trào lưu này bao gồm Pindar, Bacchylides, Simonides, các 78 | nhà thơ điền viên như Theocritus và Bion, liên quan tới các đoạn thần 79 | thoại riêng lẻ. Thêm nữa, huyền thoại đã là trung tâm của sân khấu 80 | Athena cổ điển. Các tác gia bi kịch Aeschylus, Sophocles, và Euripides 81 | lấy hầu hết các cốt truyện của họ từ thần thoại của thời đại anh hùng và 82 | chiến tranh Troia. Nhiều câu chuyện bi kịch vĩ đại (ví dụ Agamemnon và 83 | lũ trẻ, Oedipus, Jason, Medea, vân vân) mang lấy hình thức kinh điển của 84 | chúng trong những vở bi kịch này. Nhà hài kịch Aristophanes cũng sử dụng 85 | thần thoại, trong vở Những con chim và Những con ếch. 86 | -------------------------------------------------------------------------------- /samples/vo.txt: -------------------------------------------------------------------------------- 1 | Jenav binon stud jenetas e dunotas menikas. Do süvo padadilädon kobü 2 | tikäla- u sogädanolavs, kanon i palelogön as pon bevü ons, labü metods 3 | se jäfüds bofik at. As jäfüd, jenav keninükon donajäfüdis e yufajäfüdis 4 | mödik, soäs timav, jenotemipenav, genealog, vönapenav e vönamafav. 5 | Geböfiko, jenavans esteifülons ad tuvedön säkädis jenavik medü stud 6 | dokümas pepenöl, do vestig jenavik no pamiedükon te fa fonäts at. 7 | Valemo, fonäts nola jenavik kanons pateilön ad klads kil: utos, kelos 8 | pepenon, utos, kelos pesagon, ed utos, kelos pekipedon, e jenavans süvo 9 | gebons kilis valik. Jenavas kösömiko kazetons veüti fonätas pepenöl, 10 | kels primons pos datik penama. Kazet at edavedükon vödi: rujenav, kel 11 | tefon timi bü gebid fonätas pepenöl. Ibä penam ädavedon ün tims difik zi 12 | vol, dist vü jenav e rujenav süvo sekidon de top u de yegäd. 13 | 14 | Gretot pasetatima menik ekoedon vilön jäfüdisevanis dilädön oni ad 15 | dilots fasilikum ad studön e vestigön. Dabinons mods mödik, ön kels 16 | paset kanon padilädön: ma timav, ma kuliv, e ma yegäds. Dadiläds kil at 17 | no fakipons odis; kevobam komon süvo, a. s. in studs soäs „Vobanamuf 18 | Largäntänik ün Cenamatimäd, 1930-1945“. Mögos jenavanes ad bejäfön 19 | topis, timis u yegädis e go patädikis, e go valemikis, do klien nulädik 20 | binon patädikumam vestigas. Votans lesagons, das jenav evedon vöd 21 | „valemik“ keninükamü stud „valikosa“, kelosi sevoy dö paset menik, ab i 22 | mied at paletodon fa jäfüds nulik soäs jenav gretik. Jenav geböfiko 23 | pestudon zeilü bos plagik u teorik, ab atimo pastudon i te sekü nuläl 24 | täläktik. 25 | 26 | Geböfiko, stud jenava pämiedükon ad ut vöda pepenöl u pespiköla. Daved 27 | calima e jäfüdas nolavik nulik dü tumyels 19id e 20id äblinon ye mödi 28 | legretik nünas nulik, kels äkoedons padöbatön geböfi at. Vönotav, menav 29 | e sogädanolavs votik äprodons nünis äsi teorodis nulik dö jenotem menik. 30 | Jenavans anik ädotons, va jäfüds e studs nuliks at ädutons jenöfo lü 31 | jenav, ibä fonäts onsik no pämiedükons ad vöd pepenöl. Vöd nulik: 32 | rujenav pämekon ad sinifön sekis studajäfüdas nulik at, ven äprodons 33 | nünis dö tims bü daved penama. 34 | 35 | Ün tumyel 20id, distid vü jenav e rujenav äsäkädikon. Krüts mödik 36 | ädavedons sekü plödakipam fa jenav kulivas semik, soäs uts Frikopa 37 | Dissaharänik e Meropa bü hiel Colombo. Zuo, rujenavans, äs hiel Vere 38 | Gordon Childe e vönotavans jenavik äs hiel James Deetz, äprimons ad 39 | gebön vönotavi ad plänön jenetis veütik, kels büo äbinons te yegäds 40 | jäfüda jenavik. Jenavans äprimons ad logedön etflaniü jenotems bolitik 41 | vönaoloveik de stanöps nulik: jenav konömavik, sogädik e kulivik, kels 42 | valiks sekidons de fonäts nulik klülabotas. Ün tims nuik, mieds kurätik 43 | vü jenav e rujenav jiniko smalikons. 44 | 45 | Leceds difik dabinons tefü miedet primöpa jenotema. Anans kredons, das 46 | jenotem menik äprimon ün tumyel 34id b. K., timü koinapenät. Vödems 47 | koinapenätik päpenons su taimaplatotils me rid nejäpik stylus pänemöl. 48 | Mals ela stylus äbinons koinafomiks, kelos äkodon nemi: koinapenät. 49 | Penamasit di Sumeria pälasumon i pro püks votik (hetit, e püks di 50 | Akkadia, Elam, Luw, Hurriah, Urarti), ed äbinon stab pro lafabs netik 51 | Vöna-Pärsänik e di Ugarit.. 52 | 53 | Fonäts, kels kanons kleilükön paseti (se jäfüds äs stud konotemas 54 | vönaoloveik, pükav e geredav), nu pelasumons fa jenavans mödikün. Too, 55 | vönotavans distidons nog jenavi (jenotemi) e rujenavi (rujenotemi) in 56 | topäd alik stabü daved usik dokümas pepenöl. Distid at blebon veütik pro 57 | vönotavans, bi gebid fonäts pepenöl jafon säkädis vemo difikis pro 58 | plänädam kulivas edadeadöl. 59 | 60 | In Volapük, vöd: jenav pedefomon de vöd jen (jiniko de Deutänapük: 61 | ge-schehen „jenön“) dub lenlägam poyümota: -av; klu sinif binon nolav 62 | jena u jenotas (pasetik). Vöd votik: jenotem pedefomon de jenot (jen + 63 | -ot) dub lenlägam poyümota: -em; o. b., grup u konlet (leodik; valemik u 64 | no) jenotas. Kösömiko pagebon, ven tefos konoti (a. s. ma sökaleod 65 | timavik) jenotas veratik, stabü klülabots: fonäts jenavik. Kanoy sagön, 66 | das jenav binon nolav, kel bejäfon jenotemi (a.s. bepenon oni, u studon 67 | oni, u mobon teorodis dö on). 68 | 69 | In püks mödik, nolav at panemon stabü vöd Grikänapükik: ιστορία (a.s. 70 | Linglänapük: History, Fransänapük: Histoire, Litaliyänapük: Istoria, e 71 | r.). Vöd Grikänapükik at pädefomon de värb: ιστορείν „säkön“, „dasäkön“, 72 | „seividön“; äsinifon kluo „nol, lärnam medü säkam, seividam, a. s. stabü 73 | konots vönaoloveik“. Värb it pädefomon de ίστωρ „sapan“, „temunan“, u 74 | „cödan“. Vöd at licinon de vul Lindäna-Yuropik *wid-tor-, se *weid- 75 | „sevön“, „logön“ (l. vödi Linglänapükik: wit, vödi latinik: video, vödi 76 | sanskritik: veda, e r.; stelül nilü vöds dientifons oni as foms teorik 77 | fa pükav jenavik pemoböls). Vöd ιστορία äsinifon primo noe jenavi, abi 78 | filosopi e nolavi; labü nem at, nolavs Grikänik päpropagidons primo in 79 | Grikän klatädik, e poso zi läns valik fa Grikän piflunöls („vol 80 | Helänik“). 81 | 82 | „Fatan jenava“ valemo palecedom hiel Herodotos se Halicarnassus (484 bK 83 | - za 425 bK). Timakompenan omik: hiel Thucydides ye ädagetom fami ad 84 | binön utan, kel äprimom studi nolavik jenava me vobot okik: Jenotem 85 | kriga di Peloponnesos. El Thucydides, distü el Herodotos e jenavans 86 | relöfik votik, äcedom jenotemi as prod välas e dunas menik (e kluo 87 | ävestigom kodis e sekis onas), no as sek fluna godik. In metod okik, el 88 | Thucydides äkazetom timavi, leced nepaletik, e jenöfoti, das vol menik 89 | äsekon de dunas menik. Jenavans Grikänik äcedoms jenotemi sirkülamik, o. 90 | b. jenots nomiko ädönuons okis. 91 | -------------------------------------------------------------------------------- /samples/yi.txt: -------------------------------------------------------------------------------- 1 | װ‫יקיפּעדיע איז אַ פֿילשפּראַכיקער פּראָיעקט (לעת עתה:250 שפּראַכן) צו שאַפֿן אַ 2 | גענױע און פֿולשטענדיקע ענציקלאָפּעדיע. איר נאָמען איז אַ צוזאַמען שטעלונג פֿון 3 | צװײ װערטער: וויקי און "פּעדיע". 4 | 5 | עס ‫קומט אין אָפֿענעם פֿרײַען פֿאָרמאַט, געבױט אױף אַ ספּעציעלער פּראָגראַם מיטן 6 | נאָמען וויקי (מײנענדיק שנעל און געשװינד אױף האַװײַיִש), װאָס מאַכט די 7 | ענציקלאָפּעדיע װי אַ רשות הרבים װאָס יעדער אײנער קען זיך באַטײליקן, ענדערן, 8 | רעדאַקטירן, רעאַגירן, מעקן, און אַלײנס אָפּשרײַבן כל מיני אַרטיקלען. 9 | 10 | די וויקיפעדיע פראיעקט האט אנגעהויבן מיט דער ענגלישער וויקיפעדיע 15 11 | יאנואר 2001. נאכהער זענען געקומען די וויקיפעדיעס אויף אסאך אנדערע 12 | שפראכן. 13 | 14 | אום 12 יולי 2007 זענען געווען אין דער ענציקלאפעדיע 7.83 מיליאן ארטיקלען 15 | אין אלע שפראכן געשאפֿן דורך 8.04 מיליאן באניצערס כולל בערך צוויי מיליאן 16 | ארטיקלען אין ענגליש. צוזאמען אנטהאלטן די וויקיפעדיעס 1.40 מיליאן פֿרייע 17 | בילדער. 18 | 19 | דער גרינדער און פרעזידענט איז איינער אין סאן פראנסיסקא זשימי וועילס, דאס 20 | איז קודם צושטאנד געקומען דורך א קאמפאני וואס איז געווען אן ענציקלאפידיע, 21 | אבער נאכן איינזעהן אז דער אידיאל איז א פאטענציאל פון אומגעהוירע סוקסעס, 22 | האבן זיי דאס געמוזט אויפגעבן און מאכן פאר א נחלת הכלל א רשות הרבים וואס 23 | יעדער איינער איז אייניג בעל הבית, און עס באלאנגט נישט פאר קיינעם. די 24 | ענגלישע אפטיילונג איז געווען די ערשטע וויקיפעדיע שפראך, עס האט זיך 25 | געפענט יאנואר 26 | 27 | היינט צוטאג איז דאס פובליק און איז נישט קיין רכוש פרטי, עס האט אינגאנצן 28 | דריי באצאלטע ארבעטערס. דעריבער טראגט דאס א דאמיין אדרעסע, וויקיפידיע 29 | דאט. ארג —אנשטאט דאט. קאם — ווייל עס איז א ארגאניזאציע און נישט קיין 30 | ביזנעס. דאס אז סאיז נישט קיין ביזנעס פארענטפערט פארוואס וויקיפעדיע 31 | אטראקט אזויפיל באנוצער, ווייל דער נדבן פון אינפארמאציע ווייסט אז קיינער 32 | ווערט נישט רייך אויף זיין חשבון. 33 | 34 | די גרינדער ווילן נישט אויסשליסן אז זיי גייען קיינמאל נישט אנעמען קיין 35 | עדווערטייזמענטס, ווייל צו ראנען אזויפיל סערווערס קאסט הון תועפות, 36 | דערווייל מאכן זיי די פארלאנגטע פאר הונדערט טויזענט דאלער פון נדבות, און 37 | זיי ווייסן אז דער רגע וואס זייי וועלן דאס אנהייבן מאכן א ביזנעס ווי 38 | גוגעל, וועלן די מיליאנען באנוצער פארלאנגן זייער אייניגער טייל און וועלן 39 | נישט ווייטער ארבייטן אויב איינער וועט מאכן געלט אויף זייער רוקען. 40 | 41 | דאס באזארגט אבער נישט די מיליאנען וואלונטירן וואס שרייבן אין דער 42 | וויקיפעדיע ווייל דער רגע וואס "זשימי" מאכט דאס פאר א ביזנעס קען מען געבן 43 | א קאפי דאס גאנצער דאטעבאזע צו אנדערער דאמיין, ווייל בשעתן שרייבן ערקלערט 44 | מען אז די אינפארמאציע איז מופקר פאר יעדן און קיינער קען נישט פֿאדערן 45 | בעלות אויף גארנישט פון וויקיפעדיע. 46 | 47 | פֿאַרשידענע סארטן און טיפן מענטשן נעמען אָנטײל אין בױען דעם װיקיפּעדיע, 48 | שרײַבער, בעלי מחלוקת, טײַפּיסטן, מנובלים, אינטערנעט שװימער, לײדיקגײער, 49 | אַרבעטסלאָזע, פֿרומע קנאָיִם, משוגעים, אָפֿיקורסים, אײנזײַטיקע פֿאַנאַטיקער, 50 | אױפֿגעקלערטע פֿילאָזאָפֿן, פּאָליטיקאָנטן, ביזנעסלײַט, אינטערדרוקטע, חסידים, 51 | קולטיסטן, צעבראָכענע, אידיִאָלאָגיסטן, לערער, נײגעריגע, און אַזױ װײַטער. אַלעס 52 | איז דאָ פֿאַראײניקט. 53 | 54 | ‫אַלע האָבן לכתחילה אַרײַן געבלאָנדזשעט אַהער נישט צו בױען אַ "ענציקלאָפּעדיע", ־ 55 | קײנער איז דאָך נישט משוגע צו אױסװײלן אַזאַ שװערן באָרינג זשאָב פֿאַר בחנם, ־ 56 | נאָר מיר האָבן פּשוט געװאָלט מיטטײלן מיט אַנדערע איבער זאַכן װאָס מיר שפּירן זיך 57 | נאַנט און ענטוזיאַסטיש, דערנאָך האָבן מיר געלײענט װאָס אַנדערע שרײַבן און מיר 58 | האָבן דאָס פּאַראַכטן ־ און איצט זען מיר זיך דאָ פֿאַראײניקט אין אַן אחריותדיקע 59 | מיסיע, געפֿיל און אױפֿגאַבע, װאָס מיר טײלן זיך מיטן כלל צו לערנען און 60 | פֿאָרצײלן מיט אַנדערע װאָס מיר װײסן און גלײבן און אָבסעסירן. 61 | 62 | דאס איז ווי א בשותפות'דיגע ראלע אין טרייב קראפט, די פרומע טראכטן דערביי 63 | לאמיך לערנען מיט אנדער אידן תורה ביז ומלאה הארץ דעה את ה', און די פרייע 64 | טראכטן לאמיך לערנען מיט אנדערע דעם אמת: יעדער איינער מיינט טאקע זיין 65 | גאט, און פארקויפט זיין אייגענארטיגער וועג אין עבדות ה', אבער אויפן וועג 66 | ליינט מען וועגן אייער גאט אויכט און דער זעלבסט-אבסעסיע קראנקייט, וואס 67 | האט אונז אהער געטריבן איבער פארציילן און זיך קאכן נאר אין אייין טרעק 68 | שמאלע אגענדע ריכטונג, ווערט אויסגעהיילט, און אונזער אינטערעסע האט זיך 69 | פארברייטערט און פארגרעסערט, מער און מער וואקסט דער וויקיפעדיע באזע, מיט 70 | א פאטענציאל אומבאגרייפבאר. 71 | 72 | דער גרעסטער אינטערנעט זוך מאשין גוגל לייגט רוב מאל די רעזולטאטן פון 73 | ווערטער קודם די ווייקיפעדיע ארטיקלן פון דעם ווארט, ווייל די וועג וואיזוי 74 | גוגול ארבייט, זיי לינקן לויט די סדר פון בלאט ראנק ווער סהאט די מערסטע 75 | לינקס צו אים איז אויבן אן. און וויבאלד וויקיפעדיע לינקט דאס מערסטע צו 76 | זייערע בלעטער ווערט עס אנערקענט אלס זייער פאפולער און גוגל לייגט דאס פון 77 | די ערשטע ליין'ס. 78 | 79 | דורכשניטלעך האט זי אין אן אלגעמיינער טאג ציילן אירע באזוכער ארום 80 | 912,000. 81 | 82 | אויך איז דאס ציענד, ווייל עס געט יעדן א געלגענהייט צו זיין א שפילער אין 83 | די אינפארמאציע אנדערשט ווי א נארמאלער אנציקלאפידיע וואס איז נאר א איין 84 | וועג קאמיוניקאציע פון ליינען, איז דאס די געלעגנהייט פארן ליינער צו 85 | אויסבעסערן און מעקן און עדיטן וואס ער האלט אז עס איז נישט גוט אדער קען 86 | זיין בעסער. 87 | 88 | דער יסוד פון וויקיפעידע, איז אז מיר זענען א פרייע פלאץ, קיינער קען נישט 89 | מעקן אן אנדערן אן קיין צופרידענשטעלנדער אויפקלער און הסבר, און דאס וואס 90 | איינער איז א דירעקטאר, אנטוויקילער אדער העכער, מיינט נאר צו האלטן די 91 | סיסטעם טעכניש אין סדר, און נישט אז זיין מיינוג האט מער האפט און ווערט 92 | לגבי די טעמעס. 93 | 94 | אויב איינער האלט אז דער אנדערער האט געשריבן צו עקסטרעמיסטיש בעסערט מען 95 | דאס אויס, און דער אנדערע קען נאכעדעם צוריקומען און צוריק פארבעסערן לויט 96 | זיין שכל, קיינער קען נישט זאגן אז יענער איז עקסטרעם, - און מעקן אן קיין 97 | ספעציפישער הסבר ווי און וואס ער איז נישט גערעכט, אין רעדן בלאט פון 98 | ארטיקל אדער באנוצער. דאס איז דער גאנצער געדאנק פון וויקיפעדיע אין 99 | קאנטראסט פון ענציקלאפעדיע. 100 | 101 | דאס דער איינציגסטער און הויפט מעלה וואס וויקיפידיע האט איז אז זי איז 102 | פריי, אויב איז דא דיקטאטארשאפט איז דאס אן אנציקליפידיע, און אויב 103 | מ'באמערקט דיקטאטורשאפט פון א באנוצער אדער דירעקטאר, דארף מען קענען 104 | ענגליש און בארכיטען די פארברעך צו העכערע אנפירערס אין וויקיפידיע, זיי 105 | וועלן יענעם אומשעדליך מאכן, און העלפן בויען און אטראקטן נאך שרייבער און 106 | ליינער וואס וועלן איינזעהן אז סאיז זייער א זאך און זיי זענען פולע און 107 | גלייכע שותפים צו דעם פראיעקט און זייער מוה פלאג הארוואניע און צייט גייט 108 | נישט לטמיון. 109 | 110 | מיר מאכן וואלן אויף יעדן איינציגן חילוקי דעות וואס ווערט געבוירן. 111 | 112 | וויאזוי מיר היטן אויף די נייטראלקייט פון יעדן ארטיקל? זעהט: נייטראלקייט 113 | 114 | איז וויקיפעדיע באגלייבט? זעט: באגלייבטקייט און קראנטשאפט פון וויקיפעדיע 115 | -------------------------------------------------------------------------------- /samples/yo.txt: -------------------------------------------------------------------------------- 1 | Nelson Mandela je ara eka kekere iran oba Thembu dynasty, to joba ni 2 | awon Ileagbegbe Transkei ni Igberiko Cape Guusu Afrika. O je bibi ni 3 | Mvezo, abule kekere kan to budo si agbegbe Umtata, to je oluilu 4 | Transkei. He has Khoisan ancestry on his mother's side. Baba unla-unla 5 | baba re Ngubengcuka (to ku ni 1832), joba gege bi Inkosi Enkhulu, tabi 6 | oba, awon Thembu. Ikan ninu awon omokunrin oba ohun to nje Mandela, ni 7 | baba unla re ati ibi ti oruko idile re ti wa. Sibesibe nitoripe o je omo 8 | Inkosi's child latodo iyawo iran Ixhiba (eyun "idile olowo osi"), awon 9 | omoomo eka ebi oba re ko le gori ite ni Thembu. 10 | 11 | Baba Mandela, Gadla Henry Mphakanyiswa, je oloye ni ilu Mvezo. Sugbon 12 | nitori aigboran si ijoba alamusin lenu, won yo Mphakanyiswa kuro ni ipo 13 | oye re won si ko ebi re lo si Qunu. Sibesibe, Mphakanyiswa ko kose lati 14 | je omo egbe Adamoran Inkosi, beesini o kopa gidi lat ri pe Jongintaba 15 | Dalindyebo gun ori ite Thembu. Lojowaju Dalindyebo san ore yi paa nipa 16 | gbigba Mandela sodo bi omo nigbati Mphakanyiswa ku. Baba Mandela fe 17 | iyawo merin, pelu won o bi omo metala (okunrin merin ati obinrin mesan). 18 | Mandela je omo iyawo keta, Nosekeni Fanny. Fanny je omobinrin Nkedama 19 | lati iran Mpemvu Xhosa, Otun Oba, ninu ile eni ti Mandela ti lo igba 20 | omode re. Oruko abiso re Rolihlahla tumosi "fa eka igi", "onijangbon". 21 | 22 | Rolihlahla Mandela lo je omo akoko ninu ebi re to lo si ile-eko nibi ti 23 | oluko re Miss Mdingane ti fun ni oruko Geesi "Nelson". 24 | 25 | Nigbati Mandela to omo odun mesan, baba re ku nipa aisan tuberculosis, 26 | nitorie Jongintaba, di alagbato re. Mandela lo si ile-eko ti o jinna si 27 | afin Jogintaba. Pelu bi asa Thembu se lasile, o je sisodagba nigba to to 28 | omo odun merindinlogun, o si losi ile-eko Clarkebury Boarding Institute. 29 | Mandela pari ile-eko odo ni arin odun meji, kaka odun meta to ye. Leyi 30 | to je yiyan lati jogun ipo baba re gege bi alamora oba, ni 1937 Mandela 31 | ko lo si Healdtown Comprehensive School, koleji awon elesin Wesley ni 32 | Fort Beaufort ti opo awon awon omo oloye ni Thembu ti lo si ile-eko. 33 | Nigba to di omo odun mokandinlogun o feran lati ja ese ati eresisa ni 34 | ile-eko. 35 | 36 | Leyin to to de koleji, Mandela bere si keko fun iwe-eri Bachelor Ise-Ona 37 | ni Fort Hare University, nibi to ti pade Oliver Tambo. Tambo ati Mandela 38 | di ore ati elegbe. Mandela tun di ore pelu Kaiser ("K.D.") Matanzima eni 39 | to je gege bi oloye Otunba Thembu wa lori ila fun ite ni Transkei, eyi 40 | ti yio fa lojo iwaju lati tewogba eto Bantustan. Itileyin re fun awon 41 | eto yi fa ilodi larin ohun ati Mandela. Ni eyin odun kn ni koleji 42 | Mandela kopa ninu boikotu ti Igbimo awon Asoju Akeko se nitori awon eto 43 | yunifasiti, nitorie won le kuro nibe. Lojowaju nigba to wa ni ogba ewon, 44 | Mandela keko fun Iwe-eri Bachelor Ofin lati ibi eto okere Yunifasiti 45 | Londonu. 46 | 47 | Dere to kuro ni Fort Hare, Jongintaba so fun Mandela ati Justice (to je 48 | omo Jogintaba ati eni to kan lati joba) pe ohun ti seto igbeyawo fun 49 | awon mejeeji. Sugbo awon mejeeji nitoripe won ko feran eto igbeyawo yi, 50 | won kora won si ko lo si Johannesburg. Nigba to de be, Mandela nibere 51 | koko ri ise bi asona ninu koto alumoni. Sugbon, eni to gba sise tete 52 | yara le kuro nigba to gbo pe Mandela je alagbato Oba. Mandela leyin na 53 | bere ise bi akowe ni ile-ise agbejoro to wa ni Johannesburg, Witkin, 54 | Sidelsky ati Edelman, lati odo ore ati alawose re, Walter Sisulu. Bo se 55 | unsise ni Witkin, Sidelsky ati Edelman, Mandela pari iwe-eri B.A. re ni 56 | Yunifasiti Guusu Afrika pelu ifiranse, leyin na lo wa bere si ni gbeko 57 | ofin ni Yunifasiti Witwatersrand, nibi to ti bere si ni sore awon elegbe 58 | akoko re ati awon alakitiyan olodi apartheid lojowaju Joe Slovo, Harry 59 | Schwarz ati Ruth First. Slovo yio wa di Alakoso Oro Ile ninu ijoba 60 | Mandela lojowaju, nigbati Schwarz yio di Olusoju Guusu Afrika ni 61 | Amerika. Ni asiko yi, Mandela gbe ni Alexandra, to wa ni ariwa 62 | Johannesburg. 63 | 64 | Leyin ibori Egbe Omoorile-ede awon Afrikaner ninu idiboyan 1948, 65 | nitoripe awon wonyi fowo mo eto apartheid iseloto eya, Mandela bere si 66 | ni kopa gidigidi ninu oselu. O lewaju ninu Kampein Agidi ti ANC se ni 67 | 1952 ati ninu Kongresi awon Eniyan ni 1955 ti Ipinu Idanide re je ipile 68 | eto ilodi apartheid cause. Larin asiko yi, Mandela ati elegbe agbejoro 69 | re Oliver Tambo da ile-ise agbejoro Mandela ati Tambo sile lati pese 70 | imoran ofin ofe fun opo awon alawodudu ti won ko ni agbejoro. 71 | 72 | Mahatma Gandhi nipa lori iha Mandela, ati bi be awon ona ti awon 73 | alakitiyan olodi apartheid Guusu Afrika fi koju re. (nitorie Mandela 74 | kopa ninu ajoro 29–30 January 2007 ni New Delhi to sajodun odun 100k ti 75 | Gandhi se akose satyagraha (ilodi alainijagidijagan) ni Guusu Afrika). 76 | 77 | Oluilu je ilu ti ijoba orile-ede kan fi se ibujoko. O tun le tumo si Ilu 78 | ti o Ba tobi ju lo, tabi ti o se pataki Ju lo Ni Agbegbe, Orile-Ede, 79 | Tabi Ipinle kankan. Fun Apere, Awon Olu Ile ti o se Pataki Julo Ni Aiye 80 | Je New York, Ni Orile Ede Amerika, ati London ni orile Ede awon Geesi. 81 | Ni Ile Erekusu{Continent} Africa , Ilu Eko Lagos Je Olu Ilu Iwo-Oorun 82 | Afrika, Beeni Nairobi ni Orile Ede Kenya ati Addis ababa ni Orile Ede 83 | Ityopiya, Je Olu Ile Ni Apa Ila-Oorun, Ni Guusu-Afrika, Ilu Johannesburg 84 | ni Orile Ede Guusu Africa Ni Olu Ilu-u Guusa-Afrika, ati Gbogbo Afrilka 85 | pelu, Nitori wipe Ilu Johannesbuurg Ni O Ni Idagbasoke ati Itesiwaju 86 | Julo Ni Eya Owo sise, Idanilaraya, Asa, Iseda Ohun elo, ati bee bee lo 87 | ni Afrika. Ni Ariwa Afrika, Ilu Casablanca ni Orile Ede Morocco, Cairo 88 | ni Ijybiti/Egypt, ati Algiers ni Algeria, Je Olu-Ilu ni ona tiwon. 89 | -------------------------------------------------------------------------------- /samples/zh.txt: -------------------------------------------------------------------------------- 1 | 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 我 2 | 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 你 3 | 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 的 4 | 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 5 | 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 了 6 | 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 他 7 | 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 么 8 | 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 们 9 | 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 10 | 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 有 11 | 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 这 12 | 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 那 13 | 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 不 14 | 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 什 15 | 个 个 个 个 个 个 个 个 个 个 个 个 个 个 个 个 个 个 个 个 个 个 个 个 个 个 个 个 个 个 个 个 个 个 个 个 个 个 个 个 个 个 个 个 个 个 个 个 个 个 个 个 个 个 16 | 来 来 来 来 来 来 来 来 来 来 来 来 来 来 来 来 来 来 来 来 来 来 来 来 来 来 来 来 来 来 来 来 来 来 来 来 来 来 来 来 来 来 来 来 来 来 来 来 来 来 17 | 要 要 要 要 要 要 要 要 要 要 要 要 要 要 要 要 要 要 要 要 要 要 要 要 要 要 要 要 要 要 要 要 要 要 要 要 要 要 要 要 要 要 要 要 要 要 要 要 要 18 | 就 就 就 就 就 就 就 就 就 就 就 就 就 就 就 就 就 就 就 就 就 就 就 就 就 就 就 就 就 就 就 就 就 就 就 就 就 就 就 就 就 就 就 就 就 就 19 | 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 20 | 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 21 | 里 里 里 里 里 里 里 里 里 里 里 里 里 里 里 里 里 里 里 里 里 里 里 里 里 里 里 里 里 里 里 里 里 里 里 里 里 里 22 | 会 会 会 会 会 会 会 会 会 会 会 会 会 会 会 会 会 会 会 会 会 会 会 会 会 会 会 会 会 会 会 会 会 会 会 会 会 会 23 | 没 没 没 没 没 没 没 没 没 没 没 没 没 没 没 没 没 没 没 没 没 没 没 没 没 没 没 没 没 没 没 没 没 没 没 没 24 | 她 她 她 她 她 她 她 她 她 她 她 她 她 她 她 她 她 她 她 她 她 她 她 她 她 她 她 她 她 她 她 她 她 她 她 她 25 | 吗 吗 吗 吗 吗 吗 吗 吗 吗 吗 吗 吗 吗 吗 吗 吗 吗 吗 吗 吗 吗 吗 吗 吗 吗 吗 吗 吗 吗 吗 吗 吗 吗 26 | 去 去 去 去 去 去 去 去 去 去 去 去 去 去 去 去 去 去 去 去 去 去 去 去 去 去 去 去 去 去 去 去 去 27 | 也 也 也 也 也 也 也 也 也 也 也 也 也 也 也 也 也 也 也 也 也 也 也 也 也 也 也 也 也 也 也 也 28 | 说 说 说 说 说 说 说 说 说 说 说 说 说 说 说 说 说 说 说 说 说 说 说 说 说 说 说 说 说 说 说 说 29 | 为 为 为 为 为 为 为 为 为 为 为 为 为 为 为 为 为 为 为 为 为 为 为 为 为 为 为 为 为 为 为 30 | 好 好 好 好 好 好 好 好 好 好 好 好 好 好 好 好 好 好 好 好 好 好 好 好 好 好 好 好 好 好 好 31 | 吧 吧 吧 吧 吧 吧 吧 吧 吧 吧 吧 吧 吧 吧 吧 吧 吧 吧 吧 吧 吧 吧 吧 吧 吧 吧 吧 吧 吧 吧 32 | 知道 知道 知道 知道 知道 知道 知道 知道 知道 知道 知道 知道 知道 知道 知道 知道 知道 知道 知道 知道 知道 知道 知道 知道 知道 知道 知道 知道 知道 33 | 我的 我的 我的 我的 我的 我的 我的 我的 我的 我的 我的 我的 我的 我的 我的 我的 我的 我的 我的 我的 我的 我的 我的 我的 我的 我的 我的 我的 我的 34 | 和 和 和 和 和 和 和 和 和 和 和 和 和 和 和 和 和 和 和 和 和 和 和 和 和 和 和 和 35 | 你的 你的 你的 你的 你的 你的 你的 你的 你的 你的 你的 你的 你的 你的 你的 你的 你的 你的 你的 你的 你的 你的 你的 你的 你的 你的 你的 36 | 想 想 想 想 想 想 想 想 想 想 想 想 想 想 想 想 想 想 想 想 想 想 想 想 想 想 37 | 只 只 只 只 只 只 只 只 只 只 只 只 只 只 只 只 只 只 只 只 只 只 只 只 只 只 38 | 很 很 很 很 很 很 很 很 很 很 很 很 很 很 很 很 很 很 很 很 很 很 很 很 很 39 | 都 都 都 都 都 都 都 都 都 都 都 都 都 都 都 都 都 都 都 都 都 都 都 都 都 40 | 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 对 41 | 把 把 把 把 把 把 把 把 把 把 把 把 把 把 把 把 把 把 把 把 把 把 把 把 42 | 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 啊 43 | 怎 怎 怎 怎 怎 怎 怎 怎 怎 怎 怎 怎 怎 怎 怎 怎 怎 怎 怎 怎 怎 怎 怎 44 | 得 得 得 得 得 得 得 得 得 得 得 得 得 得 得 得 得 得 得 得 得 得 得 45 | 还 还 还 还 还 还 还 还 还 还 还 还 还 还 还 还 还 还 还 还 还 还 46 | 过 过 过 过 过 过 过 过 过 过 过 过 过 过 过 过 过 过 过 过 过 过 47 | 不是 不是 不是 不是 不是 不是 不是 不是 不是 不是 不是 不是 不是 不是 不是 不是 不是 不是 不是 不是 不是 不是 48 | 到 到 到 到 到 到 到 到 到 到 到 到 到 到 到 到 到 到 到 到 到 49 | 样 样 样 样 样 样 样 样 样 样 样 样 样 样 样 样 样 样 样 样 样 50 | 能 能 能 能 能 能 能 能 能 能 能 能 能 能 能 能 能 能 能 能 能 51 | 事 事 事 事 事 事 事 事 事 事 事 事 事 事 事 事 事 事 事 事 52 | 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看 看 53 | 我們 我們 我們 我們 我們 我們 我們 我們 我們 我們 我們 我們 我們 我們 我們 我們 我們 我們 我們 54 | 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 55 | 给 给 给 给 给 给 给 给 给 给 给 给 给 给 给 给 给 给 56 | 可以 可以 可以 可以 可以 可以 可以 可以 可以 可以 可以 可以 可以 可以 可以 可以 可以 可以 57 | 现 现 现 现 现 现 现 现 现 现 现 现 现 现 现 现 现 现 58 | 斯 斯 斯 斯 斯 斯 斯 斯 斯 斯 斯 斯 斯 斯 斯 斯 斯 斯 59 | 做 做 做 做 做 做 做 做 做 做 做 做 做 做 做 做 做 做 60 | 儿 儿 儿 儿 儿 儿 儿 儿 儿 儿 儿 儿 儿 儿 儿 儿 儿 61 | 时 时 时 时 时 时 时 时 时 时 时 时 时 时 时 时 时 62 | 点 点 点 点 点 点 点 点 点 点 点 点 点 点 点 点 63 | 开 开 开 开 开 开 开 开 开 开 开 开 开 开 开 开 64 | 让 让 让 让 让 让 让 让 让 让 让 让 让 让 让 让 65 | 就是 就是 就是 就是 就是 就是 就是 就是 就是 就是 就是 就是 就是 就是 就是 就是 66 | 但 但 但 但 但 但 但 但 但 但 但 但 但 但 但 67 | 呢 呢 呢 呢 呢 呢 呢 呢 呢 呢 呢 呢 呢 呢 呢 68 | 着 着 着 着 着 着 着 着 着 着 着 着 着 着 着 69 | 它 它 它 它 它 它 它 它 它 它 它 它 它 它 它 70 | 這 這 這 這 這 這 這 這 這 這 這 這 這 這 71 | 如果 如果 如果 如果 如果 如果 如果 如果 如果 如果 如果 如果 如果 如果 72 | 跟 跟 跟 跟 跟 跟 跟 跟 跟 跟 跟 跟 跟 跟 73 | 邪 邪 邪 邪 邪 邪 邪 邪 邪 邪 邪 邪 邪 邪 74 | 听 听 听 听 听 听 听 听 听 听 听 听 听 听 75 | 克 克 克 克 克 克 克 克 克 克 克 克 克 克 76 | 再 再 再 再 再 再 再 再 再 再 再 再 再 77 | 快 快 快 快 快 快 快 快 快 快 快 快 快 78 | 嗎 嗎 嗎 嗎 嗎 嗎 嗎 嗎 嗎 嗎 嗎 嗎 嗎 79 | 被 被 被 被 被 被 被 被 被 被 被 被 被 80 | 是的 是的 是的 是的 是的 是的 是的 是的 是的 是的 是的 是的 81 | 大 大 大 大 大 大 大 大 大 大 大 大 82 | 先生 先生 先生 先生 先生 先生 先生 先生 先生 先生 先生 先生 83 | 别 别 别 别 别 别 别 别 别 别 别 别 84 | 告 告 告 告 告 告 告 告 告 告 告 85 | 真的 真的 真的 真的 真的 真的 真的 真的 真的 真的 真的 86 | 谢 谢 谢 谢 谢 谢 谢 谢 谢 谢 谢 87 | 哦 哦 哦 哦 哦 哦 哦 哦 哦 哦 哦 88 | 话 话 话 话 话 话 话 话 话 话 话 89 | 械 械 械 械 械 械 械 械 械 械 械 90 | 见 见 见 见 见 见 见 见 见 见 见 91 | 当 当 当 当 当 当 当 当 当 当 当 92 | 芯 芯 芯 芯 芯 芯 芯 芯 芯 芯 芯 93 | 该 该 该 该 该 该 该 该 该 该 该 94 | 西 西 西 西 西 西 西 西 西 西 95 | 子 子 子 子 子 子 子 子 子 子 96 | 已 已 已 已 已 已 已 已 已 已 97 | 會 會 會 會 會 會 會 會 會 會 98 | 小 小 小 小 小 小 小 小 小 小 99 | 爱 爱 爱 爱 爱 爱 爱 爱 爱 爱 100 | 特 特 特 特 特 特 特 特 特 特 101 | 不要 不要 不要 不要 不要 不要 不要 不要 不要 不要 102 | 些 些 些 些 些 些 些 些 些 些 103 | 不知道 不知道 不知道 不知道 不知道 不知道 不知道 不知道 不知道 不知道 104 | 不能 不能 不能 不能 不能 不能 不能 不能 不能 105 | 因 因 因 因 因 因 因 因 因 106 | 觉 觉 觉 觉 觉 觉 觉 觉 觉 107 | 发 发 发 发 发 发 发 发 发 108 | 像 像 像 像 像 像 像 像 像 109 | 太 太 太 太 太 太 太 太 太 110 | 但是 但是 但是 但是 但是 但是 但是 但是 但是 111 | 多 多 多 多 多 多 多 多 多 112 | 打 打 打 打 打 打 打 打 打 113 | 机 机 机 机 机 机 机 机 机 114 | 來 來 來 來 來 來 來 來 來 115 | 好了 好了 好了 好了 好了 好了 好了 好了 好了 116 | 用 用 用 用 用 用 用 用 用 117 | 他的 他的 他的 他的 他的 他的 他的 他的 他的 118 | 诉 诉 诉 诉 诉 诉 诉 诉 诉 119 | 德 德 德 德 德 德 德 德 德 120 | 叫 叫 叫 叫 叫 叫 叫 叫 121 | 什麼 什麼 什麼 什麼 什麼 什麼 什麼 什麼 122 | 真 真 真 真 真 真 真 真 123 | 干 干 干 干 干 干 干 干 124 | 心 心 心 心 心 心 心 心 125 | 走 走 走 走 走 走 走 走 126 | 比 比 比 比 比 比 比 比 127 | 死 死 死 死 死 死 死 死 128 | 嘿 嘿 嘿 嘿 嘿 嘿 嘿 嘿 129 | 出 出 出 出 出 出 出 出 130 | 车 车 车 车 车 车 车 车 131 | 一下 一下 一下 一下 一下 一下 一下 一下 132 | 中 中 中 中 中 中 中 中 133 | 好吧 好吧 好吧 好吧 好吧 好吧 好吧 好吧 134 | 需要 需要 需要 需要 需要 需要 需要 需要 135 | 经 经 经 经 经 经 经 经 136 | 妈 妈 妈 妈 妈 妈 妈 妈 137 | 候 候 候 候 候 候 候 候 138 | 长 长 长 长 长 长 长 长 139 | 而 而 而 而 而 而 而 而 140 | 错 错 错 错 错 错 错 错 141 | 好的 好的 好的 好的 好的 好的 好的 好的 142 | 间 间 间 间 间 间 间 143 | 又 又 又 又 又 又 又 144 | 国 国 国 国 国 国 国 145 | 起 起 起 起 起 起 起 146 | 动 动 动 动 动 动 动 147 | 杀 杀 杀 杀 杀 杀 杀 148 | 于 于 于 于 于 于 于 149 | 种 种 种 种 种 种 种 150 | 生 生 生 生 生 生 生 151 | 回 回 回 回 回 回 回 152 | 可 可 可 可 可 可 可 153 | 东 东 东 东 东 东 东 154 | 尔 尔 尔 尔 尔 尔 尔 155 | 欢 欢 欢 欢 欢 欢 欢 156 | 很好 很好 很好 很好 很好 很好 很好 157 | 他們 他們 他們 他們 他們 他們 他們 158 | 进 进 进 进 进 进 进 159 | 地 地 地 地 地 地 地 160 | 孩子 孩子 孩子 孩子 孩子 孩子 孩子 161 | 帮 帮 帮 帮 帮 帮 帮 162 | 离 离 离 离 离 离 离 163 | 找 找 找 找 找 找 找 164 | 尼 尼 尼 尼 尼 尼 尼 165 | 从 从 从 从 从 从 从 166 | 下 下 下 下 下 下 下 167 | 马 马 马 马 马 马 马 168 | 以 以 以 以 以 以 以 169 | 利 利 利 利 利 利 170 | 所以 所以 所以 所以 所以 所以 171 | 关 关 关 关 关 关 172 | 哪 哪 哪 哪 哪 哪 173 | 懈 懈 懈 懈 懈 懈 174 | 行 行 行 行 行 行 175 | 家 家 家 家 家 家 176 | 拉 拉 拉 拉 拉 拉 177 | 才 才 才 才 才 才 178 | 看到 看到 看到 看到 看到 看到 179 | 說 說 說 說 說 說 180 | 手 手 手 手 手 手 181 | 法 法 法 法 法 法 182 | 噢 噢 噢 噢 噢 噢 183 | 谁 谁 谁 谁 谁 谁 184 | 头 头 头 头 头 头 185 | 无 无 无 无 无 无 186 | 嗯 嗯 嗯 嗯 嗯 嗯 187 | 工作 工作 工作 工作 工作 工作 188 | 可能 可能 可能 可能 可能 可能 189 | 薪 薪 薪 薪 薪 薪 190 | 朋友 朋友 朋友 朋友 朋友 朋友 191 | 请 请 请 请 请 请 192 | 许 许 许 许 许 许 193 | 年 年 年 年 年 年 194 | 那些 那些 那些 那些 那些 那些 195 | 一個 一個 一個 一個 一個 一個 196 | 一起 一起 一起 一起 一起 197 | 然 然 然 然 然 198 | 吃 吃 吃 吃 吃 199 | 写 写 写 写 写 200 | 带 带 带 带 带 201 | 地方 地方 地方 地方 地方 202 | 沒有 沒有 沒有 沒有 沒有 203 | 有人 有人 有人 有人 有人 204 | 嗨 嗨 嗨 嗨 嗨 205 | 看看 看看 看看 看看 看看 206 | 自己 自己 自己 自己 自己 207 | 一定 一定 一定 一定 一定 208 | 事情 事情 事情 事情 事情 209 | 屑 屑 屑 屑 屑 210 | 希望 希望 希望 希望 希望 211 | 所 所 所 所 所 212 | 褉 褉 褉 褉 褉 213 | 感 感 感 感 感 214 | 气 气 气 气 气 215 | 不想 不想 不想 不想 不想 216 | 嘛 嘛 嘛 嘛 嘛 217 | 实 实 实 实 实 218 | 始 始 始 始 始 219 | 給 給 給 給 給 220 | 然后 然后 然后 然后 然后 221 | 個 個 個 個 個 222 | 相信 相信 相信 相信 相信 223 | 结 结 结 结 结 224 | 今天 今天 今天 今天 今天 225 | 几 几 几 几 几 226 | 题 题 题 题 题 227 | 放 放 放 放 放 228 | 讓 讓 讓 讓 讓 229 | 确 确 确 确 确 230 | 意思 意思 意思 意思 意思 231 | 成 成 成 成 成 232 | 所有 所有 所有 所有 所有 233 | 喜 喜 喜 喜 喜 234 | 對 對 對 對 對 235 | 之 之 之 之 之 236 | 一切 一切 一切 一切 一切 237 | 记 记 记 记 记 238 | 抱歉 抱歉 抱歉 抱歉 抱歉 239 | 一直 一直 一直 一直 一直 240 | 天 天 天 天 天 241 | 褌 褌 褌 褌 褌 242 | 钱 钱 钱 钱 钱 243 | 面 面 面 面 面 244 | 更 更 更 更 更 245 | 学 学 学 学 学 246 | 現在 現在 現在 現在 現在 247 | 边 边 边 边 边 248 | 你們 你們 你們 你們 你們 249 | 不起 不起 不起 不起 不起 250 | 等 等 等 等 等 251 | 变 变 变 变 252 | 准 准 准 准 253 | 查 查 查 查 254 | 阿 阿 阿 阿 255 | 卡 卡 卡 卡 256 | 這個 這個 這個 這個 257 | 在哪 在哪 在哪 在哪 258 | 定 定 定 定 259 | 处 处 处 处 260 | 真是 真是 真是 真是 261 | 保 保 保 保 262 | 想要 想要 想要 想要 263 | 安 安 安 安 264 | 并 并 并 并 265 | 拿 拿 拿 拿 266 | 情 情 情 情 267 | 爸爸 爸爸 爸爸 爸爸 268 | 褋 褋 褋 褋 269 | 您 您 您 您 270 | 美 美 美 美 271 | 非常 非常 非常 非常 272 | 办 办 办 办 273 | 前 前 前 前 274 | 格 格 格 格 275 | 场 场 场 场 276 | 体 体 体 体 277 | 大家 大家 大家 大家 278 | 呀 呀 呀 呀 279 | 系 系 系 系 280 | 后 后 后 后 281 | 亲 亲 亲 亲 282 | 明白 明白 明白 明白 283 | 备 备 备 备 284 | 布 布 布 布 285 | 计 计 计 计 286 | 恩 恩 恩 恩 287 | 找到 找到 找到 找到 288 | 她的 她的 她的 她的 289 | 老 老 老 老 290 | 艾 艾 艾 艾 291 | 意 意 意 意 292 | 门 门 门 门 293 | 啦 啦 啦 啦 294 | 米 米 米 米 295 | 本 本 本 本 296 | 问 问 问 问 297 | 上帝 上帝 上帝 上帝 298 | 必 必 必 必 299 | 沒 沒 沒 沒 300 | 等等 等等 等等 等等 301 | 伙 伙 伙 伙 302 | 哈 哈 哈 哈 303 | 罗 罗 罗 罗 304 | 难 难 难 难 305 | 两 两 两 两 306 | 一些 一些 一些 一些 307 | 這樣 這樣 這樣 這樣 308 | 自 自 自 自 309 | 女人 女人 女人 310 | 向 向 向 311 | 最好 最好 最好 312 | 走了 走了 走了 313 | 褬 褬 褬 314 | 胁 胁 胁 315 | 明 明 明 316 | 理 理 理 317 | 加 加 加 318 | 枪 枪 枪 319 | 万 万 万 320 | 员 员 员 321 | 妳 妳 妳 322 | 玩 玩 玩 323 | 分 分 分 324 | 作 作 作 325 | 巴 巴 巴 326 | 而且 而且 而且 327 | 物 物 物 328 | 伤 伤 伤 329 | 官 官 官 330 | 道 道 道 331 | 出去 出去 出去 332 | 力 力 力 333 | 总 总 总 334 | 者 者 者 335 | 先 先 先 336 | 最 最 最 337 | 很多 很多 很多 338 | 医 医 医 339 | 一次 一次 一次 340 | 报 报 报 341 | 名字 名字 名字 342 | 将 将 将 343 | 迪 迪 迪 344 | 到了 到了 到了 345 | 解 解 解 346 | 新 新 新 347 | 队 队 队 348 | 识 识 识 349 | 死了 死了 死了 350 | 飞 飞 飞 351 | 远 远 远 352 | 身 身 身 353 | 任何 任何 任何 354 | 生活 生活 生活 355 | 够 够 够 356 | 号 号 号 357 | 兰 兰 兰 358 | 瑞 瑞 瑞 359 | 达 达 达 360 | 或 或 或 361 | 愿 愿 愿 362 | 蒂 蒂 蒂 363 | 別 別 別 364 | 军 军 军 365 | 正 正 正 366 | 是不是 是不是 是不是 367 | 证 证 证 368 | 不用 不用 不用 369 | 三 三 三 370 | 乐 乐 乐 371 | 吉 吉 吉 372 | 男人 男人 男人 373 | 告訴 告訴 告訴 374 | 路 路 路 375 | 搞 搞 搞 376 | 可是 可是 可是 377 | 与 与 与 378 | 次 次 次 379 | 狗 狗 狗 380 | 决 决 决 381 | 金 金 金 382 | 史 史 史 383 | 姆 姆 姆 384 | 部 部 部 385 | 正在 正在 正在 386 | 活 活 活 387 | 刚 刚 刚 388 | 回家 回家 回家 389 | 贝 贝 贝 390 | 如何 如何 如何 391 | 须 须 须 392 | 战 战 战 393 | 不會 不會 不會 394 | 夫 夫 夫 395 | 喂 喂 喂 396 | 父 父 父 397 | 亚 亚 亚 398 | 肯定 肯定 肯定 399 | 女孩 女孩 女孩 400 | 世界 世界 世界 401 | 师 师 师 402 | 高 高 高 403 | 莉 莉 莉 404 | 坏 坏 坏 405 | 电 电 电 406 | 警察 警察 警察 407 | 件 件 件 408 | 誰 誰 誰 409 | 兄弟 兄弟 兄弟 410 | 之前 之前 之前 411 | 谈 谈 谈 412 | 送 送 送 413 | 森 森 森 414 | 伊 伊 伊 415 | 以前 以前 以前 416 | 房 房 房 417 | 婚 婚 婚 418 | 喝 喝 喝 419 | 怎麼 怎麼 怎麼 420 | 今晚 今晚 今晚 421 | 兴 兴 兴 422 | 疯 疯 疯 423 | 因為 因為 因為 424 | 住 住 住 425 | 内 内 内 426 | 轻 轻 轻 427 | 约 约 约 428 | 声 声 声 429 | 或者 或者 或者 430 | 不行 不行 不行 431 | 到底 到底 432 | 雷 雷 433 | 维 维 434 | 条 条 435 | 明天 明天 436 | 不好 不好 437 | 已經 已經 438 | 天啊 天啊 439 | 洛 洛 440 | 护 护 441 | 塔 塔 442 | 运 运 443 | 接 接 444 | 球 球 445 | 得到 得到 446 | 穿 穿 447 | 音 音 448 | 從 從 449 | 為 為 450 | 去了 去了 451 | 担 担 452 | 名 名 453 | 混蛋 混蛋 454 | 礼 礼 455 | 幹 幹 456 | 不了 不了 457 | 有些 有些 458 | 過 過 459 | 後 後 460 | 击 击 461 | 漂亮 漂亮 462 | 神 神 463 | 多少 多少 464 | 海 海 465 | 每 每 466 | 哥 哥 467 | 教 教 468 | 走吧 走吧 469 | 好像 好像 470 | 单 单 471 | 公 公 472 | 林 林 473 | 女 女 474 | 忙 忙 475 | 火 火 476 | 钟 钟 477 | 家伙 家伙 478 | 科 科 479 | 回去 回去 480 | 最后 最后 481 | 水 水 482 | 不管 不管 483 | 麦 麦 484 | 泻 泻 485 | 鬼 鬼 486 | 還 還 487 | 船 船 488 | 永 永 489 | 安全 安全 490 | 那個 那個 491 | 在一起 在一起 492 | 回事 回事 493 | 圣 圣 494 | 還有 還有 495 | 小心 小心 496 | 月 月 497 | 信 信 498 | 位 位 499 | 划 划 500 | 纳 纳 501 | 我喜 我喜 502 | 弗 弗 503 | 尽 尽 504 | 耶 耶 505 | 喔 喔 506 | 褍 褍 507 | 掉 掉 508 | 书 书 509 | 其他 其他 510 | 派 派 511 | 士 士 512 | 器 器 513 | 松 松 514 | 数 数 515 | 光 光 516 | 其 其 517 | 想我 想我 518 | 极 极 519 | 合 合 520 | 完全 完全 521 | 做了 做了 522 | 影 影 523 | 室 室 524 | 受 受 525 | 奇 奇 526 | 试 试 527 | 装 装 528 | 晚上 晚上 529 | 恶 恶 530 | 应 应 531 | 小姐 小姐 532 | 整 整 533 | 强 强 534 | 业 业 535 | 类 类 536 | 复 复 537 | 奥 奥 538 | 梦 梦 539 | 曾 曾 540 | 嘴 嘴 541 | 认 认 542 | 如此 如此 543 | 爸 爸 544 | 照 照 545 | 杰 杰 546 | 為什麼 為什麼 547 | 入 入 548 | 睡 睡 549 | 都不 都不 550 | 脑 脑 551 | 呃 呃 552 | 论 论 553 | 曼 曼 554 | 點 點 555 | 普 普 556 | 第一 第一 557 | 通 通 558 | 棒 棒 559 | 线 线 560 | 很高 很高 561 | 买 买 562 | 求 求 563 | 束 束 564 | 哇 哇 565 | 指 指 566 | 张 张 567 | 文 文 568 | 锌 锌 569 | 重 重 570 | 菲 菲 571 | 目 目 572 | 根本 根本 573 | 联 联 574 | 丹 丹 575 | 愛 愛 576 | 不到 不到 577 | 這些 這些 578 | 自己的 自己的 579 | 笑 笑 580 | 闭 闭 581 | 基 基 582 | 唯一 唯一 583 | 要是 要是 584 | 提 提 585 | 调 调 586 | 丽 丽 587 | 女士 女士 588 | 校 校 589 | 公司 公司 590 | 况 况 591 | 烦 烦 592 | 停 停 593 | 英 英 594 | 警 警 595 | 险 险 596 | 東西 東西 597 | 不可能 不可能 598 | 坐 坐 599 | 区 区 600 | 果 果 601 | 主 主 602 | 謝謝 謝謝 603 | 應該 應該 604 | 静 静 605 | 弹 弹 606 | 改 改 607 | 酒 酒 608 | 伦 伦 609 | 裏 裏 610 | 花 花 611 | 续 续 612 | 天哪 天哪 613 | 這裡 這裡 614 | 房子 房子 615 | 何 何 616 | 由 由 617 | 药 药 618 | 同 同 619 | 早上 早上 620 | 波 波 621 | 弄 弄 622 | 务 务 623 | 原 原 624 | 失 失 625 | 考 考 626 | 岁 岁 627 | 统 统 628 | 斜 斜 629 | 拜托 拜托 630 | 跑 跑 631 | 不在 不在 632 | 害 害 633 | 麽 麽 634 | 日 日 635 | 妮 妮 636 | 凯 凯 637 | 衣服 衣服 638 | 治 治 639 | 便 便 640 | 客 客 641 | 议 议 642 | 好好 好好 643 | 們 們 644 | 覺得 覺得 645 | 谢谢 谢谢 646 | 托 托 647 | 赛 赛 648 | 任 任 649 | 色 色 650 | 爾 爾 651 | 這麼 這麼 652 | 满 满 653 | 风 风 654 | 皮 皮 655 | 威 威 656 | 据 据 657 | 鲁 鲁 658 | 转 转 659 | 相 相 660 | 服 服 661 | 节 节 662 | 顿 顿 663 | 了解 了解 664 | 根 根 665 | 蛋 蛋 666 | 紧 紧 667 | 麻 麻 668 | 很快 很快 669 | 游 游 670 | 忘了 忘了 671 | 戴 戴 672 | 莎 莎 673 | 故事 故事 674 | 视 视 675 | 真正 真正 676 | 蟹 蟹 677 | 费 费 678 | 靠 靠 679 | 全 全 680 | 反 反 681 | 字 字 682 | 度 度 683 | 甚至 甚至 684 | 局 局 685 | 莫 莫 686 | 命 命 687 | 语 语 688 | 性 性 689 | 常 常 690 | 莱 莱 691 | 之后 之后 692 | 可不 可不 693 | 母 母 694 | 留下 留下 695 | 外 696 | 當 697 | 此 698 | 惊 699 | 伯 700 | 口 701 | 一樣 702 | 害怕 703 | 杰克 704 | 迎 705 | 绝 706 | 開始 707 | 生命 708 | 王 709 | 助 710 | 乔 711 | 义 712 | 回到 713 | 救 714 | 清楚 715 | 冷 716 | 原因 717 | 却 718 | 付 719 | 管 720 | 狂 721 | 早 722 | 一天 723 | 超 724 | 怀 725 | 使 726 | 断 727 | 演 728 | 外面 729 | 四 730 | 楼 731 | 另一 732 | 玩笑 733 | 好啊 734 | 裡 735 | 院 736 | 空 737 | 娜 738 | 將 739 | 下去 740 | 传 741 | 時間 742 | 感到 743 | 懂 744 | 血 745 | 失去 746 | 终 747 | 還是 748 | 价 749 | 包 750 | 脸 751 | 责 752 | 你自己 753 | 回來 754 | 歌 755 | 星 756 | 权 757 | 术 758 | 显 759 | 幸 760 | 交 761 | 不同 762 | 聪 763 | 随 764 | 登 765 | 班 766 | 二 767 | 录 768 | 武器 769 | 热 770 | 才能 771 | 當然 772 | 晚 773 | 晚安 774 | 成功 775 | 未 776 | 参 777 | 瓦 778 | 饭 779 | 殺 780 | 帕 781 | 待 782 | 是否 783 | 勒 784 | 射 785 | 表 786 | 卫 787 | 太太 788 | 接受 789 | 跳 790 | 象 791 | 灵 792 | 真不 793 | 破 794 | 夫人 795 | 操 796 | 诺 797 | 萨 798 | 卖 799 | 选 800 | 注意 801 | 不過 802 | 猜 803 | 福 804 | 打算 805 | 适 806 | 危 807 | 连 808 | 怕 809 | 化 810 | 不需要 811 | 争 812 | 则 813 | 狱 814 | 越 815 | 小子 816 | 有趣 817 | 喜歡 818 | the 819 | 在做 820 | 那麼 821 | 請 822 | 五 823 | 标 824 | 画 825 | 身上 826 | 以后 827 | 至少 828 | 亞 829 | 脱 830 | 消息 831 | 不喜 832 | 块 833 | 快走 834 | 著 835 | 各位 836 | 算 837 | 問題 838 | 沒事 839 | 导 840 | 州 841 | 老兄 842 | 抓 843 | 代 844 | 蒙 845 | 抓住 846 | 山 847 | 拍 848 | 沙 849 | 妻子 850 | 独 851 | 眼睛 852 | 黑 853 | 华 854 | 放在 855 | 城 856 | 的時候 857 | 站 858 | 小孩 859 | 住在 860 | 咖啡 861 | 换 862 | 才是 863 | 褕 864 | 周 865 | 控制 866 | 言 867 | 敢 868 | 赢 869 | 半 870 | 白 871 | 释 872 | 能不能 873 | 生了 874 | 而已 875 | 图 876 | 該 877 | 怪 878 | 字幕 879 | 對不起 880 | 去看 881 | 像是 882 | 保持 883 | 替 884 | 拜 885 | 一件 886 | 錢 887 | 想知道 888 | 時 889 | 讲 890 | 新的 891 | 希 892 | 炸 893 | 择 894 | 知 895 | 說的 896 | 码 897 | 戏 898 | 塞 899 | 碰 900 | 放下 901 | 历 902 | 脚 903 | 丝 904 | 少 905 | 工 906 | 密 907 | 鱼 908 | 验 909 | 不再 910 | 检 911 | 骗 912 | 必須 913 | a 914 | 自由 915 | 杯 916 | 馆 917 | 完 918 | 追 919 | 际 920 | 产 921 | 想到 922 | 收 923 | 探 924 | 直到 925 | 酷 926 | 乱 927 | 资 928 | 毁 929 | 要求 930 | 急 931 | 玛 932 | 方 933 | 完成 934 | 照片 935 | 收到 936 | 所有人 937 | 博士 938 | 媽媽 939 | you 940 | 父母 941 | 奇怪 942 | 男孩 943 | 攻 944 | 店 945 | 埃 946 | 多久 947 | 红 948 | 太多 949 | 咱 950 | 眼 951 | 媽的 952 | 第一次 953 | 離開 954 | 忘 955 | 我自己 956 | 谐 957 | 严 958 | 且 959 | 帶 960 | 赶 961 | 太棒 962 | 佛 963 | 直 964 | 認為 965 | 老婆 966 | 索 967 | 除了 968 | 承 969 | 泰 970 | 建 971 | 欧 972 | 然後 973 | 级 974 | 昨晚 975 | 石 976 | 有了 977 | 都有 978 | 磲 979 | 差 980 | 思 981 | 啥 982 | 過來 983 | 努力 984 | 丈夫 985 | 任何人 986 | 城市 987 | 死亡 988 | 全部 989 | 组 990 | i 991 | 也許 992 | 最近 993 | 倒 994 | 领 995 | 顾 996 | 市 997 | 六 998 | 行了 999 | 滚 1000 | 好嗎 1001 | -------------------------------------------------------------------------------- /textcat.go: -------------------------------------------------------------------------------- 1 | package textcat 2 | 3 | import ( 4 | "errors" 5 | "fmt" 6 | "sort" 7 | "strings" 8 | "unicode/utf8" 9 | 10 | "github.com/pebbe/util" 11 | ) 12 | 13 | const ( 14 | defaultThresholdValue = 1.03 15 | defaultMaxCandidates = 5 16 | defaultMinDocSize = 25 17 | ) 18 | 19 | var ( 20 | errShort = errors.New("SHORT") 21 | errUnknown = errors.New("UNKNOWN") 22 | errAvail = errors.New("NOPATTERNS") 23 | ) 24 | 25 | type TextCat struct { 26 | utf8 bool 27 | raw bool 28 | lang map[string]bool 29 | thresholdValue float64 30 | maxCandidates int 31 | minDocSize int 32 | extra map[string]map[string]int 33 | verbose bool 34 | } 35 | 36 | type resultType struct { 37 | score float64 38 | lang string 39 | } 40 | 41 | type resultsType []*resultType 42 | 43 | func (r resultsType) Len() int { 44 | return len(r) 45 | } 46 | 47 | func (r resultsType) Swap(i, j int) { 48 | r[i], r[j] = r[j], r[i] 49 | } 50 | 51 | func (r resultsType) Less(i, j int) bool { 52 | if r[i].score != r[j].score { 53 | return r[i].score < r[j].score 54 | } 55 | return r[i].lang < r[j].lang 56 | } 57 | 58 | func NewTextCat() *TextCat { 59 | tc := &TextCat{ 60 | lang: make(map[string]bool), 61 | thresholdValue: defaultThresholdValue, 62 | maxCandidates: defaultMaxCandidates, 63 | minDocSize: defaultMinDocSize, 64 | } 65 | for d := range data { 66 | tc.lang[d] = false 67 | } 68 | tc.extra = make(map[string]map[string]int) 69 | return tc 70 | } 71 | 72 | func (tc *TextCat) SetThresholdValue(thresholdValue float64) { 73 | tc.thresholdValue = thresholdValue 74 | } 75 | 76 | func (tc *TextCat) GetThresholdValue() float64 { 77 | return tc.thresholdValue 78 | } 79 | 80 | func (tc *TextCat) SetMaxCandidates(maxCandidates int) { 81 | tc.maxCandidates = maxCandidates 82 | } 83 | 84 | func (tc *TextCat) GetMaxCandidates() int { 85 | return tc.maxCandidates 86 | } 87 | 88 | func (tc *TextCat) SetMinDocSize(minDocSize int) { 89 | tc.minDocSize = minDocSize 90 | } 91 | 92 | func (tc *TextCat) GetMinDocSize() int { 93 | return tc.minDocSize 94 | } 95 | 96 | func (tc *TextCat) SetVerbose(verbose bool) { 97 | tc.verbose = verbose 98 | } 99 | 100 | func (tc *TextCat) ActiveLanguages() []string { 101 | a := make([]string, 0, len(tc.lang)) 102 | for lang := range tc.lang { 103 | if tc.lang[lang] { 104 | a = append(a, lang) 105 | } 106 | } 107 | sort.Strings(a) 108 | return a 109 | } 110 | 111 | func (tc *TextCat) AvailableLanguages() []string { 112 | a := make([]string, 0, len(tc.lang)) 113 | for lang := range tc.lang { 114 | a = append(a, lang) 115 | } 116 | sort.Strings(a) 117 | return a 118 | } 119 | 120 | func (tc *TextCat) DisableLanguages(language ...string) { 121 | for _, lang := range language { 122 | if _, exists := tc.lang[lang]; exists { 123 | tc.lang[lang] = false 124 | } 125 | } 126 | tc.raw = false 127 | tc.utf8 = false 128 | for lang := range tc.lang { 129 | if tc.lang[lang] { 130 | if !tc.raw && strings.HasSuffix(lang, ".raw") { 131 | tc.raw = true 132 | } else if !tc.utf8 && strings.HasSuffix(lang, ".utf8") { 133 | tc.utf8 = true 134 | } 135 | if tc.raw && tc.utf8 { 136 | break 137 | } 138 | } 139 | } 140 | } 141 | 142 | func (tc *TextCat) DisableAllRawLanguages() { 143 | tc.raw = false 144 | for lang := range tc.lang { 145 | if strings.HasSuffix(lang, ".raw") { 146 | tc.lang[lang] = false 147 | } 148 | } 149 | } 150 | 151 | func (tc *TextCat) DisableAllUtf8Languages() { 152 | tc.utf8 = false 153 | for lang := range tc.lang { 154 | if strings.HasSuffix(lang, ".utf8") { 155 | tc.lang[lang] = false 156 | } 157 | } 158 | } 159 | 160 | func (tc *TextCat) EnableLanguages(language ...string) { 161 | for _, lang := range language { 162 | if _, exists := tc.lang[lang]; exists { 163 | tc.lang[lang] = true 164 | if strings.HasSuffix(lang, ".raw") { 165 | tc.raw = true 166 | } else if strings.HasSuffix(lang, ".utf8") { 167 | tc.utf8 = true 168 | } 169 | } 170 | } 171 | } 172 | 173 | func (tc *TextCat) EnableAllRawLanguages() { 174 | for lang := range tc.lang { 175 | if strings.HasSuffix(lang, ".raw") { 176 | tc.lang[lang] = true 177 | tc.raw = true 178 | } 179 | } 180 | } 181 | 182 | func (tc *TextCat) EnableAllUtf8Languages() { 183 | for lang := range tc.lang { 184 | if strings.HasSuffix(lang, ".utf8") { 185 | tc.lang[lang] = true 186 | tc.utf8 = true 187 | } 188 | } 189 | } 190 | 191 | func (tc *TextCat) Classify(text string) (languages []string, err error) { 192 | var mydata map[string]int 193 | 194 | languages = make([]string, 0, tc.maxCandidates) 195 | 196 | rawsize := len(text) 197 | utfsize := utf8.RuneCountInString(strings.TrimSpace(reInvalid.ReplaceAllString(text, " "))) 198 | 199 | if tc.raw && rawsize < tc.minDocSize { 200 | err = errShort 201 | return 202 | } 203 | if tc.utf8 && utfsize < tc.minDocSize { 204 | err = errShort 205 | return 206 | } 207 | 208 | scores := make([]*resultType, 0, len(tc.lang)) 209 | pattypes := make([]bool, 0, 2) 210 | if tc.utf8 { 211 | pattypes = append(pattypes, true) 212 | } 213 | if tc.raw { 214 | pattypes = append(pattypes, false) 215 | } 216 | for _, utf8 := range pattypes { 217 | patt := GetPatterns(text, utf8) 218 | suffix := ".raw" 219 | if utf8 { 220 | suffix = ".utf8" 221 | } 222 | for lang := range tc.lang { 223 | if !tc.lang[lang] || !strings.HasSuffix(lang, suffix) { 224 | continue 225 | } 226 | if _, ok := tc.extra[lang]; ok { 227 | mydata = tc.extra[lang] 228 | } else { 229 | mydata = data[lang] 230 | } 231 | score := 0 232 | for n, p := range patt { 233 | i, ok := mydata[p.S] 234 | if !ok { 235 | i = MaxPatterns 236 | } 237 | if n > i { 238 | score += n - i 239 | } else { 240 | score += i - n 241 | } 242 | } 243 | scores = append(scores, &resultType{float64(score) / float64(len(patt)), lang}) 244 | } 245 | } 246 | if len(scores) == 0 { 247 | err = errAvail 248 | return 249 | } 250 | 251 | minScore := float64(MaxPatterns) 252 | for _, sco := range scores { 253 | if sco.score < minScore { 254 | minScore = sco.score 255 | } 256 | } 257 | threshold := float64(minScore) * tc.thresholdValue 258 | nCandidates := 0 259 | for _, sco := range scores { 260 | if sco.score <= threshold { 261 | nCandidates += 1 262 | } 263 | } 264 | if nCandidates > tc.maxCandidates { 265 | err = errUnknown 266 | return 267 | } 268 | 269 | lowScores := make([]*resultType, 0, nCandidates) 270 | for _, sco := range scores { 271 | if sco.score <= threshold { 272 | lowScores = append(lowScores, sco) 273 | } 274 | } 275 | sort.Sort(resultsType(lowScores)) 276 | for _, sco := range lowScores { 277 | if tc.verbose { 278 | languages = append(languages, fmt.Sprintf("%s|%.2f", sco.lang, sco.score)) 279 | } else { 280 | languages = append(languages, sco.lang) 281 | } 282 | } 283 | 284 | return 285 | } 286 | 287 | // Add language created by 'textpat' in package github.com/pebbe/textcat/textpat 288 | func (tc *TextCat) AddLanguage(language, filename string) error { 289 | rawlines := make([]string, 0, MaxPatterns) 290 | utf8lines := make([]string, 0, MaxPatterns) 291 | target := 0 292 | r, err := util.NewLinesReaderFromFile(filename) 293 | if err != nil { 294 | return err 295 | } 296 | for line := range r.ReadLines() { 297 | if line == "[[[RAW]]]" { 298 | target = 1 299 | } else if line == "[[[UTF8]]]" { 300 | target = 2 301 | } else { 302 | fields := strings.Fields(line) 303 | if len(fields) > 0 { 304 | if target == 1 { 305 | rawlines = append(rawlines, fields[0]) 306 | } else if target == 2 { 307 | utf8lines = append(utf8lines, fields[0]) 308 | } 309 | } 310 | } 311 | } 312 | if len(rawlines) == 0 && len(utf8lines) == 0 { 313 | return errors.New("No patterns found in file \"" + filename + "\"") 314 | } 315 | 316 | if len(rawlines) > 0 { 317 | a := make(map[string]int) 318 | for i, p := range rawlines { 319 | if i == MaxPatterns { 320 | break 321 | } 322 | a[p] = i 323 | } 324 | l := language + ".raw" 325 | tc.extra[l] = a 326 | if _, ok := tc.lang[l]; !ok { 327 | tc.lang[l] = false 328 | } 329 | } 330 | 331 | if len(utf8lines) > 0 { 332 | a := make(map[string]int) 333 | for i, p := range utf8lines { 334 | if i == MaxPatterns { 335 | break 336 | } 337 | a[p] = i 338 | } 339 | l := language + ".utf8" 340 | tc.extra[l] = a 341 | if _, ok := tc.lang[l]; !ok { 342 | tc.lang[l] = false 343 | } 344 | } 345 | 346 | return nil 347 | } 348 | -------------------------------------------------------------------------------- /textcat/textcat.go: -------------------------------------------------------------------------------- 1 | /* 2 | The program `textcat` is for classifying text by language. 3 | 4 | Usage: 5 | 6 | textcat [-f=textfile] [-i=patternnames] [-p=patternfiles] [-a] [-b|-r] [-l] [-v] [-z] [text] 7 | 8 | The text to be classified is the first applicable of these: 9 | 1) text from a file, loaded with option: -f=filename; 10 | 2) text on the command line, following any options; 11 | 3) text read from standard input. 12 | 13 | By default, only utf-8 patterns are used. Options to change this are: 14 | 15 | -b : both raw and utf-8 patterns 16 | -r : raw patterns, instead of utf-8 17 | 18 | You can load additional language patterns with option -p: 19 | 20 | -p=language1,language2 21 | 22 | Here, both `language1` and `language2` are pattern files create with the 23 | `textpat` program. Note: pattern files are listed with commas in 24 | between, and no spaces. 25 | 26 | You can omit built-in patterns with the option -i: 27 | 28 | -i=af.utf8,fy.utf8 29 | 30 | Note: pattern names are listed with commas in between, and no spaces. 31 | 32 | You can omit all built-in patterns with the option -z. 33 | 34 | By default, `textcat` classifies the whole input document as a single 35 | text. To classify individual lines instead, use option -l 36 | 37 | Use option -a to get a list of all available languages (after processing 38 | options -b, -r, -p, -i and -z). 39 | */ 40 | package main 41 | 42 | import ( 43 | "bytes" 44 | "flag" 45 | "fmt" 46 | "io" 47 | "io/ioutil" 48 | "os" 49 | "path" 50 | "strings" 51 | 52 | "github.com/pebbe/textcat" 53 | "github.com/pebbe/util" 54 | ) 55 | 56 | var ( 57 | opt_a = flag.Bool("a", false, "list all languages, and exit") 58 | opt_b = flag.Bool("b", false, "both raw and utf-8 patterns") 59 | opt_r = flag.Bool("r", false, "raw patterns, instead of utf-8") 60 | opt_l = flag.Bool("l", false, "classify individual lines instead of whole document") 61 | opt_f = flag.String("f", "", "file name") 62 | opt_p = flag.String("p", "", "pattern file names, separated by comma's (no spaces)") 63 | opt_i = flag.String("i", "", "languages to ignore, separated by comma's (no spaces)") 64 | opt_v = flag.Bool("v", false, "verbose: show scores") 65 | opt_z = flag.Bool("z", false, "ignore all built-in languages") 66 | ) 67 | 68 | func main() { 69 | flag.Parse() 70 | 71 | if *opt_f == "" && flag.NArg() == 0 && util.IsTerminal(os.Stdin) && !*opt_a { 72 | fmt.Fprintf(os.Stderr, "\nUsage: %s [args] [text]\n\nargs with default values are:\n\n", os.Args[0]) 73 | flag.PrintDefaults() 74 | fmt.Fprintf(os.Stderr, "\nIf both -f and text are missing, read from stdin\n\n") 75 | return 76 | } 77 | 78 | extras := make([]string, 0) 79 | tc := textcat.NewTextCat() 80 | tc.SetVerbose(*opt_v) 81 | if *opt_p != "" { 82 | for _, i := range strings.Split(*opt_p, ",") { 83 | name := strings.Split(path.Base(i), ".")[0] 84 | extras = append(extras, name) 85 | e := tc.AddLanguage(name, i) 86 | util.CheckErr(e) 87 | } 88 | } 89 | if *opt_z { 90 | if *opt_r || *opt_b { 91 | for _, extra := range extras { 92 | tc.EnableLanguages(extra + ".raw") 93 | } 94 | } 95 | if *opt_b || !*opt_r { 96 | for _, extra := range extras { 97 | tc.EnableLanguages(extra + ".utf8") 98 | } 99 | } 100 | } else { 101 | if *opt_r || *opt_b { 102 | tc.EnableAllRawLanguages() 103 | } 104 | if *opt_b || !*opt_r { 105 | tc.EnableAllUtf8Languages() 106 | } 107 | } 108 | if *opt_i != "" { 109 | tc.DisableLanguages(strings.Split(*opt_i, ",")...) 110 | } 111 | 112 | if *opt_a { 113 | for _, i := range tc.ActiveLanguages() { 114 | fmt.Println(i) 115 | } 116 | return 117 | } 118 | 119 | if *opt_l { 120 | var r *util.Reader 121 | if *opt_f != "" { 122 | fp, err := os.Open(*opt_f) 123 | util.CheckErr(err) 124 | defer fp.Close() 125 | r = util.NewReader(fp) 126 | } else if flag.NArg() > 0 { 127 | b := bytes.NewBufferString(strings.Join(flag.Args(), " ")) 128 | r = util.NewReader(b) 129 | } else { 130 | r = util.NewReader(os.Stdin) 131 | } 132 | for { 133 | line, err := r.ReadLineString() 134 | if err == io.EOF { 135 | break 136 | } 137 | util.CheckErr(err) 138 | l, err := tc.Classify(line) 139 | if err != nil { 140 | fmt.Print(err) 141 | } else { 142 | fmt.Print(strings.Join(l, ",")) 143 | } 144 | fmt.Println("\t" + line) 145 | } 146 | return 147 | } 148 | 149 | var text string 150 | if *opt_f != "" { 151 | t, err := ioutil.ReadFile(*opt_f) 152 | util.CheckErr(err) 153 | text = string(t) 154 | } else if flag.NArg() > 0 { 155 | text = strings.Join(flag.Args(), " ") 156 | } else { 157 | t, err := ioutil.ReadAll(os.Stdin) 158 | util.CheckErr(err) 159 | text = string(t) 160 | } 161 | 162 | l, e := tc.Classify(text) 163 | if e != nil { 164 | fmt.Println(e) 165 | } else { 166 | fmt.Println(strings.Join(l, "\n")) 167 | } 168 | } 169 | -------------------------------------------------------------------------------- /textpat/textpat.go: -------------------------------------------------------------------------------- 1 | /* 2 | The program `textpat` creates language patterns that can be loaded into 3 | running Go programs that are using the textcat library. 4 | 5 | See function `AddLanguage` in library `textcat`. 6 | 7 | Usage: 8 | 9 | textpat [-r|-u] < sample data 10 | 11 | Reads text samples from standard input, write to standard output 12 | text patterns for package github.com/pebbe/textcat 13 | 14 | Options: 15 | 16 | -r : raw patterns only 17 | -u : utf8 patterns only 18 | */ 19 | package main 20 | 21 | import ( 22 | "fmt" 23 | "github.com/pebbe/textcat" 24 | "github.com/pebbe/util" 25 | "io/ioutil" 26 | "os" 27 | ) 28 | 29 | func main() { 30 | doUtf8 := true 31 | doRaw := true 32 | 33 | if util.IsTerminal(os.Stdin) { 34 | syntax() 35 | return 36 | } 37 | 38 | for _, arg := range os.Args[1:] { 39 | switch arg { 40 | case "-r": 41 | doUtf8 = false 42 | case "-u": 43 | doRaw = false 44 | default: 45 | syntax() 46 | return 47 | } 48 | } 49 | if !doUtf8 && !doRaw { 50 | syntax() 51 | return 52 | } 53 | 54 | data, err := ioutil.ReadAll(os.Stdin) 55 | util.CheckErr(err) 56 | str := string(data) 57 | 58 | if doRaw { 59 | fmt.Println("[[[RAW]]]") 60 | n := 0 61 | for i, p := range textcat.GetPatterns(str, false) { 62 | if i == textcat.MaxPatterns { 63 | break 64 | } 65 | n += 1 66 | fmt.Printf("%s\t%d\n", p.S, p.I) 67 | } 68 | if n < textcat.MaxPatterns { 69 | fmt.Fprintf(os.Stderr, "Warning: there are less than %d raw patterns\n", textcat.MaxPatterns) 70 | } 71 | } 72 | 73 | if doUtf8 { 74 | fmt.Println("[[[UTF8]]]") 75 | n := 0 76 | for i, p := range textcat.GetPatterns(str, true) { 77 | if i == textcat.MaxPatterns { 78 | break 79 | } 80 | n += 1 81 | fmt.Printf("%s\t%d\n", p.S, p.I) 82 | } 83 | if n < textcat.MaxPatterns { 84 | fmt.Fprintf(os.Stderr, "Warning: there are less than %d utf8 patterns\n", textcat.MaxPatterns) 85 | } 86 | } 87 | 88 | } 89 | 90 | func syntax() { 91 | fmt.Fprintf(os.Stderr, ` 92 | Usage: %s [-r|-u] < sample data 93 | 94 | Reads text samples from standard input, write to standard output 95 | text patterns for package github.com/pebbe/textcat 96 | 97 | Options: 98 | 99 | -r : raw patterns only 100 | -u : utf8 patterns only 101 | 102 | `, os.Args[0]) 103 | } 104 | -------------------------------------------------------------------------------- /v2/LICENSE.txt: -------------------------------------------------------------------------------- 1 | This license is for the language models only, as copied from 2 | https://github.com/LibreOffice/libexttextcat 3 | 4 | ================================================================ 5 | 6 | Copyright (c) 2003, WiseGuys Internet B.V. 7 | 8 | All rights reserved. 9 | 10 | Redistribution and use in source and binary forms, with or without 11 | modification, are permitted provided that the following conditions are 12 | met: 13 | 14 | - Redistributions of source code must retain the above copyright 15 | notice, this list of conditions and the following disclaimer. 16 | 17 | - Redistributions in binary form must reproduce the above copyright 18 | notice, this list of conditions and the following disclaimer in the 19 | documentation and/or other materials provided with the distribution. 20 | 21 | - Neither the name of the WiseGuys Internet B.V. nor the names of its 22 | contributors may be used to endorse or promote products derived from 23 | this software without specific prior written permission. 24 | 25 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 26 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 27 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 28 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 29 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 30 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 31 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 32 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 33 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 34 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 35 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 36 | -------------------------------------------------------------------------------- /v2/README.md: -------------------------------------------------------------------------------- 1 | A Go package for n-gram based text categorization, with support for utf-8 and raw text. 2 | 3 | Version 2 of this package has a different, much larger set of language 4 | models than version 1. The language models come from 5 | https://github.com/LibreOffice/libexttextcat version 3.4.7. These models 6 | are utf-8 only. 7 | 8 | List of languages: 9 | 10 | ab, ace, ada, af, ak, alt, am, ar, arn, ast, ay, az-Cyrl, az, ban, be, bem, bg, 11 | bho, bi, bik, bm, bn, bo, br, bs, buc, ca, ckb, cs, cv, cy, da, de, dv, dz, ee, 12 | el, emk-Latn, en, eo, es, et, eu, fa, fi, fj, fkv, fo, fon, fr, fur, fy, ga, 13 | gd, gl, grc, gu, gug, gv, ha-NG, haw, he, hi, hil, hr, hsb, ht, hu, hy, ia, id, 14 | is, it, ja, ka, kbd, kk, kl, km, kn, kng, ko, koi, ktu, ky, la, lb, lg, lij, 15 | lld, ln, lo, lt, lv, mai, mi, min, mk, ml, mn, mos, mr, ms, mt, my, nb, nds, 16 | ne, nio, nl, nn, nr, nso, ny, oc, om, pa, pap, pl, plt, pt, quh, quz, rm, ro, 17 | ru, rue, rw, sa, sc, sco, sd, se, sg, shs, si, sk, sl, so, sq, sr-Cyrl, 18 | sr-Latn, ss, st, sun, sv, sw, swb, ta, tet, tg, th, ti, tk, tl, tn, tpi, tr, 19 | ts, tt, ty, tzm-Latn, ug, uk, ur, uz-Cyrl, uz, ve, vec, vep, vi, wa, xh, yi, 20 | yo, zh-Hans, zh-Hant, zu 21 | -------------------------------------------------------------------------------- /v2/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | A Go package for n-gram based text categorization, with support for utf-8 and raw text. 3 | 4 | This uses the language models from https://github.com/LibreOffice/libexttextcat version 3.4.7. 5 | 6 | The included models are utf-8 only. 7 | 8 | List of languages: 9 | 10 | ab, ace, ada, af, ak, alt, am, ar, arn, ast, ay, az-Cyrl, az, ban, be, bem, bg, 11 | bho, bi, bik, bm, bn, bo, br, bs, buc, ca, ckb, cs, cv, cy, da, de, dv, dz, ee, 12 | el, emk-Latn, en, eo, es, et, eu, fa, fi, fj, fkv, fo, fon, fr, fur, fy, ga, 13 | gd, gl, grc, gu, gug, gv, ha-NG, haw, he, hi, hil, hr, hsb, ht, hu, hy, ia, id, 14 | is, it, ja, ka, kbd, kk, kl, km, kn, kng, ko, koi, ktu, ky, la, lb, lg, lij, 15 | lld, ln, lo, lt, lv, mai, mi, min, mk, ml, mn, mos, mr, ms, mt, my, nb, nds, 16 | ne, nio, nl, nn, nr, nso, ny, oc, om, pa, pap, pl, plt, pt, quh, quz, rm, ro, 17 | ru, rue, rw, sa, sc, sco, sd, se, sg, shs, si, sk, sl, so, sq, sr-Cyrl, 18 | sr-Latn, ss, st, sun, sv, sw, swb, ta, tet, tg, th, ti, tk, tl, tn, tpi, tr, 19 | ts, tt, ty, tzm-Latn, ug, uk, ur, uz-Cyrl, uz, ve, vec, vep, vi, wa, xh, yi, 20 | yo, zh-Hans, zh-Hant, zu 21 | */ 22 | package textcat 23 | -------------------------------------------------------------------------------- /v2/go.mod: -------------------------------------------------------------------------------- 1 | module github.com/pebbe/textcat/v2 2 | 3 | go 1.16 4 | 5 | require github.com/pebbe/util v0.9.0 6 | -------------------------------------------------------------------------------- /v2/go.sum: -------------------------------------------------------------------------------- 1 | github.com/pebbe/util v0.9.0 h1:PMZd+CpWb8GbWEmFGlL3qd6XPuywl6xFIbrXWi870OA= 2 | github.com/pebbe/util v0.9.0/go.mod h1:ynWl/SFX4+Seb9fpjVlYevr1f4TP7FrCmyZHiBCg69Q= 3 | -------------------------------------------------------------------------------- /v2/mkData.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | # usage: python3 ./mkData.py /path/to/libexttextcat/*.lm | gofmt > data.go 4 | 5 | import os.path 6 | import re 7 | import sys 8 | 9 | reMore = re.compile('[ \t\n\r].*') 10 | 11 | sys.stdout.buffer.write(b'''// THIS IS A GENERATED FILE 12 | // DO NOT EDIT 13 | 14 | package textcat 15 | 16 | var data = map[string]map[string]int{ 17 | ''') 18 | 19 | for filename in sys.argv[1:]: 20 | lineno = 0 21 | with open(filename, "rt", encoding='utf-8') as fp: 22 | fname = os.path.basename(filename).replace('.lm', '') 23 | sys.stdout.buffer.write('"{}.utf8": {{\n'.format(fname).encode('utf8')) 24 | for line in fp: 25 | line = reMore.sub('', line).replace('"', '\\"') 26 | sys.stdout.buffer.write('"{}": {},\n'.format(line, lineno).encode('utf8')) 27 | lineno += 1 28 | sys.stdout.buffer.write(b'},\n') 29 | 30 | sys.stdout.buffer.write(b'}\n') 31 | -------------------------------------------------------------------------------- /v2/patterns.go: -------------------------------------------------------------------------------- 1 | package textcat 2 | 3 | import ( 4 | "regexp" 5 | "sort" 6 | "strings" 7 | ) 8 | 9 | const ( 10 | MaxPatterns = 400 11 | ) 12 | 13 | var reInvalid = regexp.MustCompile("[ \t\f\r\n_0-9]+") 14 | 15 | type countType struct { 16 | S string 17 | I int 18 | } 19 | 20 | type countsType []*countType 21 | 22 | func (c countsType) Len() int { 23 | return len(c) 24 | } 25 | 26 | func (c countsType) Swap(i, j int) { 27 | c[i], c[j] = c[j], c[i] 28 | } 29 | 30 | func (c countsType) Less(i, j int) bool { 31 | if c[i].I != c[j].I { 32 | return c[i].I > c[j].I 33 | } 34 | return c[i].S < c[j].S 35 | } 36 | 37 | func GetPatterns(s string, useRunes bool) []*countType { 38 | ngrams := make(map[string]int) 39 | if useRunes { 40 | s = reInvalid.ReplaceAllString(s, " ") 41 | for _, word := range strings.Fields(s) { 42 | b := []rune("_" + word + "____") 43 | n := len(b) - 4 44 | for i := 0; i < n; i++ { 45 | for j := 1; j < 6; j++ { 46 | s = string(b[i : i+j]) 47 | if !strings.HasSuffix(s, "__") { 48 | ngrams[s] += 1 49 | } 50 | } 51 | } 52 | } 53 | } else { 54 | for _, word := range strings.Fields(s) { 55 | b := []byte("_" + word + "____") 56 | n := len(b) - 4 57 | for i := 0; i < n; i++ { 58 | for j := 1; j < 6; j++ { 59 | s = string(b[i : i+j]) 60 | if !strings.HasSuffix(s, "__") { 61 | ngrams[s] += 1 62 | } 63 | } 64 | } 65 | } 66 | } 67 | size := len(ngrams) 68 | counts := make([]*countType, 0, size) 69 | for i := range ngrams { 70 | counts = append(counts, &countType{i, ngrams[i]}) 71 | } 72 | sort.Sort(countsType(counts)) 73 | if size > MaxPatterns { 74 | counts = counts[:MaxPatterns] 75 | } 76 | return counts 77 | } 78 | -------------------------------------------------------------------------------- /v2/textcat.go: -------------------------------------------------------------------------------- 1 | package textcat 2 | 3 | import ( 4 | "errors" 5 | "fmt" 6 | "sort" 7 | "strings" 8 | "unicode/utf8" 9 | 10 | "github.com/pebbe/util" 11 | ) 12 | 13 | const ( 14 | defaultThresholdValue = 1.03 15 | defaultMaxCandidates = 5 16 | defaultMinDocSize = 25 17 | ) 18 | 19 | var ( 20 | errShort = errors.New("SHORT") 21 | errUnknown = errors.New("UNKNOWN") 22 | errAvail = errors.New("NOPATTERNS") 23 | ) 24 | 25 | type TextCat struct { 26 | utf8 bool 27 | raw bool 28 | lang map[string]bool 29 | thresholdValue float64 30 | maxCandidates int 31 | minDocSize int 32 | extra map[string]map[string]int 33 | verbose bool 34 | } 35 | 36 | type resultType struct { 37 | score float64 38 | lang string 39 | } 40 | 41 | type resultsType []*resultType 42 | 43 | func (r resultsType) Len() int { 44 | return len(r) 45 | } 46 | 47 | func (r resultsType) Swap(i, j int) { 48 | r[i], r[j] = r[j], r[i] 49 | } 50 | 51 | func (r resultsType) Less(i, j int) bool { 52 | if r[i].score != r[j].score { 53 | return r[i].score < r[j].score 54 | } 55 | return r[i].lang < r[j].lang 56 | } 57 | 58 | func NewTextCat() *TextCat { 59 | tc := &TextCat{ 60 | lang: make(map[string]bool), 61 | thresholdValue: defaultThresholdValue, 62 | maxCandidates: defaultMaxCandidates, 63 | minDocSize: defaultMinDocSize, 64 | } 65 | for d := range data { 66 | tc.lang[d] = false 67 | } 68 | tc.extra = make(map[string]map[string]int) 69 | return tc 70 | } 71 | 72 | func (tc *TextCat) SetThresholdValue(thresholdValue float64) { 73 | tc.thresholdValue = thresholdValue 74 | } 75 | 76 | func (tc *TextCat) GetThresholdValue() float64 { 77 | return tc.thresholdValue 78 | } 79 | 80 | func (tc *TextCat) SetMaxCandidates(maxCandidates int) { 81 | tc.maxCandidates = maxCandidates 82 | } 83 | 84 | func (tc *TextCat) GetMaxCandidates() int { 85 | return tc.maxCandidates 86 | } 87 | 88 | func (tc *TextCat) SetMinDocSize(minDocSize int) { 89 | tc.minDocSize = minDocSize 90 | } 91 | 92 | func (tc *TextCat) GetMinDocSize() int { 93 | return tc.minDocSize 94 | } 95 | 96 | func (tc *TextCat) SetVerbose(verbose bool) { 97 | tc.verbose = verbose 98 | } 99 | 100 | func (tc *TextCat) ActiveLanguages() []string { 101 | a := make([]string, 0, len(tc.lang)) 102 | for lang := range tc.lang { 103 | if tc.lang[lang] { 104 | a = append(a, lang) 105 | } 106 | } 107 | sort.Strings(a) 108 | return a 109 | } 110 | 111 | func (tc *TextCat) AvailableLanguages() []string { 112 | a := make([]string, 0, len(tc.lang)) 113 | for lang := range tc.lang { 114 | a = append(a, lang) 115 | } 116 | sort.Strings(a) 117 | return a 118 | } 119 | 120 | func (tc *TextCat) DisableLanguages(language ...string) { 121 | for _, lang := range language { 122 | if _, exists := tc.lang[lang]; exists { 123 | tc.lang[lang] = false 124 | } 125 | } 126 | tc.raw = false 127 | tc.utf8 = false 128 | for lang := range tc.lang { 129 | if tc.lang[lang] { 130 | if !tc.raw && strings.HasSuffix(lang, ".raw") { 131 | tc.raw = true 132 | } else if !tc.utf8 && strings.HasSuffix(lang, ".utf8") { 133 | tc.utf8 = true 134 | } 135 | if tc.raw && tc.utf8 { 136 | break 137 | } 138 | } 139 | } 140 | } 141 | 142 | func (tc *TextCat) DisableAllRawLanguages() { 143 | tc.raw = false 144 | for lang := range tc.lang { 145 | if strings.HasSuffix(lang, ".raw") { 146 | tc.lang[lang] = false 147 | } 148 | } 149 | } 150 | 151 | func (tc *TextCat) DisableAllUtf8Languages() { 152 | tc.utf8 = false 153 | for lang := range tc.lang { 154 | if strings.HasSuffix(lang, ".utf8") { 155 | tc.lang[lang] = false 156 | } 157 | } 158 | } 159 | 160 | func (tc *TextCat) EnableLanguages(language ...string) { 161 | for _, lang := range language { 162 | if _, exists := tc.lang[lang]; exists { 163 | tc.lang[lang] = true 164 | if strings.HasSuffix(lang, ".raw") { 165 | tc.raw = true 166 | } else if strings.HasSuffix(lang, ".utf8") { 167 | tc.utf8 = true 168 | } 169 | } 170 | } 171 | } 172 | 173 | func (tc *TextCat) EnableAllRawLanguages() { 174 | for lang := range tc.lang { 175 | if strings.HasSuffix(lang, ".raw") { 176 | tc.lang[lang] = true 177 | tc.raw = true 178 | } 179 | } 180 | } 181 | 182 | func (tc *TextCat) EnableAllUtf8Languages() { 183 | for lang := range tc.lang { 184 | if strings.HasSuffix(lang, ".utf8") { 185 | tc.lang[lang] = true 186 | tc.utf8 = true 187 | } 188 | } 189 | } 190 | 191 | func (tc *TextCat) Classify(text string) (languages []string, err error) { 192 | var mydata map[string]int 193 | 194 | languages = make([]string, 0, tc.maxCandidates) 195 | 196 | rawsize := len(text) 197 | utfsize := utf8.RuneCountInString(strings.TrimSpace(reInvalid.ReplaceAllString(text, " "))) 198 | 199 | if tc.raw && rawsize < tc.minDocSize { 200 | err = errShort 201 | return 202 | } 203 | if tc.utf8 && utfsize < tc.minDocSize { 204 | err = errShort 205 | return 206 | } 207 | 208 | scores := make([]*resultType, 0, len(tc.lang)) 209 | pattypes := make([]bool, 0, 2) 210 | if tc.utf8 { 211 | pattypes = append(pattypes, true) 212 | } 213 | if tc.raw { 214 | pattypes = append(pattypes, false) 215 | } 216 | for _, utf8 := range pattypes { 217 | patt := GetPatterns(text, utf8) 218 | suffix := ".raw" 219 | if utf8 { 220 | suffix = ".utf8" 221 | } 222 | for lang := range tc.lang { 223 | if !tc.lang[lang] || !strings.HasSuffix(lang, suffix) { 224 | continue 225 | } 226 | if _, ok := tc.extra[lang]; ok { 227 | mydata = tc.extra[lang] 228 | } else { 229 | mydata = data[lang] 230 | } 231 | score := 0 232 | for n, p := range patt { 233 | i, ok := mydata[p.S] 234 | if !ok { 235 | i = MaxPatterns 236 | } 237 | if n > i { 238 | score += n - i 239 | } else { 240 | score += i - n 241 | } 242 | } 243 | scores = append(scores, &resultType{float64(score) / float64(len(patt)), lang}) 244 | } 245 | } 246 | if len(scores) == 0 { 247 | err = errAvail 248 | return 249 | } 250 | 251 | minScore := float64(MaxPatterns) 252 | for _, sco := range scores { 253 | if sco.score < minScore { 254 | minScore = sco.score 255 | } 256 | } 257 | threshold := float64(minScore) * tc.thresholdValue 258 | nCandidates := 0 259 | for _, sco := range scores { 260 | if sco.score <= threshold { 261 | nCandidates += 1 262 | } 263 | } 264 | if nCandidates > tc.maxCandidates { 265 | err = errUnknown 266 | return 267 | } 268 | 269 | lowScores := make([]*resultType, 0, nCandidates) 270 | for _, sco := range scores { 271 | if sco.score <= threshold { 272 | lowScores = append(lowScores, sco) 273 | } 274 | } 275 | sort.Sort(resultsType(lowScores)) 276 | for _, sco := range lowScores { 277 | if tc.verbose { 278 | languages = append(languages, fmt.Sprintf("%s|%.2f", sco.lang, sco.score)) 279 | } else { 280 | languages = append(languages, sco.lang) 281 | } 282 | } 283 | 284 | return 285 | } 286 | 287 | // Add language created by 'textpat' in package github.com/pebbe/textcat/textpat 288 | func (tc *TextCat) AddLanguage(language, filename string) error { 289 | rawlines := make([]string, 0, MaxPatterns) 290 | utf8lines := make([]string, 0, MaxPatterns) 291 | target := 0 292 | r, err := util.NewLinesReaderFromFile(filename) 293 | if err != nil { 294 | return err 295 | } 296 | for line := range r.ReadLines() { 297 | if line == "[[[RAW]]]" { 298 | target = 1 299 | } else if line == "[[[UTF8]]]" { 300 | target = 2 301 | } else { 302 | fields := strings.Fields(line) 303 | if len(fields) > 0 { 304 | if target == 1 { 305 | rawlines = append(rawlines, fields[0]) 306 | } else if target == 2 { 307 | utf8lines = append(utf8lines, fields[0]) 308 | } 309 | } 310 | } 311 | } 312 | if len(rawlines) == 0 && len(utf8lines) == 0 { 313 | return errors.New("No patterns found in file \"" + filename + "\"") 314 | } 315 | 316 | if len(rawlines) > 0 { 317 | a := make(map[string]int) 318 | for i, p := range rawlines { 319 | if i == MaxPatterns { 320 | break 321 | } 322 | a[p] = i 323 | } 324 | l := language + ".raw" 325 | tc.extra[l] = a 326 | if _, ok := tc.lang[l]; !ok { 327 | tc.lang[l] = false 328 | } 329 | } 330 | 331 | if len(utf8lines) > 0 { 332 | a := make(map[string]int) 333 | for i, p := range utf8lines { 334 | if i == MaxPatterns { 335 | break 336 | } 337 | a[p] = i 338 | } 339 | l := language + ".utf8" 340 | tc.extra[l] = a 341 | if _, ok := tc.lang[l]; !ok { 342 | tc.lang[l] = false 343 | } 344 | } 345 | 346 | return nil 347 | } 348 | -------------------------------------------------------------------------------- /v2/textcat2/textcat2.go: -------------------------------------------------------------------------------- 1 | /* 2 | The program `textcat` is for classifying text by language. 3 | 4 | Usage: 5 | 6 | textcat [-f=textfile] [-i=patternnames] [-p=patternfiles] [-a] [-b|-r] [-l] [-v] [-z] [text] 7 | 8 | The text to be classified is the first applicable of these: 9 | 1) text from a file, loaded with option: -f=filename; 10 | 2) text on the command line, following any options; 11 | 3) text read from standard input. 12 | 13 | By default, only utf-8 patterns are used. Options to change this are: 14 | 15 | -b : both raw and utf-8 patterns 16 | -r : raw patterns, instead of utf-8 17 | 18 | You can load additional language patterns with option -p: 19 | 20 | -p=language1,language2 21 | 22 | Here, both `language1` and `language2` are pattern files create with the 23 | `textpat` program. Note: pattern files are listed with commas in 24 | between, and no spaces. 25 | 26 | You can omit built-in patterns with the option -i: 27 | 28 | -i=af.utf8,fy.utf8 29 | 30 | Note: pattern names are listed with commas in between, and no spaces. 31 | 32 | You can omit all built-in patterns with the option -z. 33 | 34 | By default, `textcat` classifies the whole input document as a single 35 | text. To classify individual lines instead, use option -l 36 | 37 | Use option -a to get a list of all available languages (after processing 38 | options -b, -r, -p, -i and -z). 39 | */ 40 | package main 41 | 42 | import ( 43 | "bytes" 44 | "flag" 45 | "fmt" 46 | "io" 47 | "io/ioutil" 48 | "os" 49 | "path" 50 | "strings" 51 | 52 | "github.com/pebbe/textcat/v2" 53 | "github.com/pebbe/util" 54 | ) 55 | 56 | var ( 57 | opt_a = flag.Bool("a", false, "list all languages, and exit") 58 | opt_b = flag.Bool("b", false, "both raw and utf-8 patterns") 59 | opt_r = flag.Bool("r", false, "raw patterns, instead of utf-8") 60 | opt_l = flag.Bool("l", false, "classify individual lines instead of whole document") 61 | opt_f = flag.String("f", "", "file name") 62 | opt_p = flag.String("p", "", "pattern file names, separated by comma's (no spaces)") 63 | opt_i = flag.String("i", "", "languages to ignore, separated by comma's (no spaces)") 64 | opt_v = flag.Bool("v", false, "verbose: show scores") 65 | opt_z = flag.Bool("z", false, "ignore all built-in languages") 66 | ) 67 | 68 | func main() { 69 | flag.Parse() 70 | 71 | if *opt_f == "" && flag.NArg() == 0 && util.IsTerminal(os.Stdin) && !*opt_a { 72 | fmt.Fprintf(os.Stderr, "\nUsage: %s [args] [text]\n\nargs with default values are:\n\n", os.Args[0]) 73 | flag.PrintDefaults() 74 | fmt.Fprintf(os.Stderr, "\nIf both -f and text are missing, read from stdin\n\n") 75 | return 76 | } 77 | 78 | extras := make([]string, 0) 79 | tc := textcat.NewTextCat() 80 | tc.SetVerbose(*opt_v) 81 | if *opt_p != "" { 82 | for _, i := range strings.Split(*opt_p, ",") { 83 | name := strings.Split(path.Base(i), ".")[0] 84 | extras = append(extras, name) 85 | e := tc.AddLanguage(name, i) 86 | util.CheckErr(e) 87 | } 88 | } 89 | if *opt_z { 90 | if *opt_r || *opt_b { 91 | for _, extra := range extras { 92 | tc.EnableLanguages(extra + ".raw") 93 | } 94 | } 95 | if *opt_b || !*opt_r { 96 | for _, extra := range extras { 97 | tc.EnableLanguages(extra + ".utf8") 98 | } 99 | } 100 | } else { 101 | if *opt_r || *opt_b { 102 | tc.EnableAllRawLanguages() 103 | } 104 | if *opt_b || !*opt_r { 105 | tc.EnableAllUtf8Languages() 106 | } 107 | } 108 | if *opt_i != "" { 109 | tc.DisableLanguages(strings.Split(*opt_i, ",")...) 110 | } 111 | 112 | if *opt_a { 113 | for _, i := range tc.ActiveLanguages() { 114 | fmt.Println(i) 115 | } 116 | return 117 | } 118 | 119 | if *opt_l { 120 | var r *util.Reader 121 | if *opt_f != "" { 122 | fp, err := os.Open(*opt_f) 123 | util.CheckErr(err) 124 | defer fp.Close() 125 | r = util.NewReader(fp) 126 | } else if flag.NArg() > 0 { 127 | b := bytes.NewBufferString(strings.Join(flag.Args(), " ")) 128 | r = util.NewReader(b) 129 | } else { 130 | r = util.NewReader(os.Stdin) 131 | } 132 | for { 133 | line, err := r.ReadLineString() 134 | if err == io.EOF { 135 | break 136 | } 137 | util.CheckErr(err) 138 | l, err := tc.Classify(line) 139 | if err != nil { 140 | fmt.Print(err) 141 | } else { 142 | fmt.Print(strings.Join(l, ",")) 143 | } 144 | fmt.Println("\t" + line) 145 | } 146 | return 147 | } 148 | 149 | var text string 150 | if *opt_f != "" { 151 | t, err := ioutil.ReadFile(*opt_f) 152 | util.CheckErr(err) 153 | text = string(t) 154 | } else if flag.NArg() > 0 { 155 | text = strings.Join(flag.Args(), " ") 156 | } else { 157 | t, err := ioutil.ReadAll(os.Stdin) 158 | util.CheckErr(err) 159 | text = string(t) 160 | } 161 | 162 | l, e := tc.Classify(text) 163 | if e != nil { 164 | fmt.Println(e) 165 | } else { 166 | fmt.Println(strings.Join(l, "\n")) 167 | } 168 | } 169 | --------------------------------------------------------------------------------