blob: 9961603e5fd7afa1575f5687ebb8aabed45f6e5d [file] [log] [blame]
Akroncddd1642015-06-10 21:31:53 +02001# Based on Mojolicious::Plugin::Number::Commify
2my $THOUSAND_SEP_RE = qr/(
3 ^[-+]? # beginning of number.
4 \d+? # first digits before first comma
5 (?= # followed by, (but not included in the match) :
6 (?>(?:\d{3})+) # some positive multiple of three digits.
7 (?!\d) # an *exact* multiple, not x * 3 + 1 or whatever.
8 )| # or:
9 \G\d{3} # after the last group, get three digits
10 (?=\d) # but they have to have more digits after them.
11)/x;
12
13{
14 _ => sub { $_->locale },
15 de => {
16 numf => sub {
17 shift;
18 my %val = @_;
19 my $num = $val{number} or return 0;
20 $num =~ s/$THOUSAND_SEP_RE/$1\./g;
21 return $num;
22 },
23 about => 'Über KorAP',
24 login => 'Anmelden',
Akrone5ef4e02017-04-19 17:07:52 +020025 logout => 'Abmelden',
Akrone8235be2016-06-27 11:02:18 +020026 register => 'Registrieren',
27 pwdforgotten => 'Password vergessen?',
Akron1f0521b2018-08-28 13:01:24 +020028 # TODO: use document.write() refering to vc.getName()!
29 searchjob => '»<%== $q %>« <% if (param("collection")) { %>im definierten Korpus <% } %>mit <%== loc("QL_" . $ql, "unbekannter Anfragesprache") %>',
Akron656c5d92015-11-13 21:17:03 +010030 searchtitle => 'KorAP: Finde <%== loc("searchjob") %>',
Akroncddd1642015-06-10 21:31:53 +020031 searchplaceholder => 'Finde ...',
32 go => 'Los!',
33 in => 'in',
34 by => 'von',
Akron189b3592016-01-04 20:56:46 +010035 pwd => 'Passwort',
36 email => 'Email',
Akron2670f5b2017-05-31 17:54:07 +020037 userormail => 'Benutzername oder Email',
Akroncddd1642015-06-10 21:31:53 +020038 with => 'mit',
39 glimpse => {
Akroncddd1642015-06-10 21:31:53 +020040 desc => 'Zeige nur die ersten Treffer in beliebiger Reihenfolge'
41 },
Akrond1741ae2017-11-29 09:58:53 +010042 activateJS => 'Für den vollen Funktionsumfang aktivieren Sie bitte JavaScript!',
Akroncddd1642015-06-10 21:31:53 +020043 faq => 'Häufige Fragen',
44 tutorial => 'Einführung',
Akronf4a7cf42018-01-09 15:58:45 +010045 notAvailInCorpus => 'Im vorliegenden Korpus nicht verfügbar',
Akroncddd1642015-06-10 21:31:53 +020046 pubOn => 'veröffentlicht am',
47 matchCount => 'Treffer',
Akron656c5d92015-11-13 21:17:03 +010048 noMatches => 'Es wurden keine Treffer für <%== loc("searchjob") %> gefunden.',
Akroncddd1642015-06-10 21:31:53 +020049 notFound => '404 - Seite nicht gefunden',
Akron8ea84292018-10-24 13:41:52 +020050 notIssued => 'Die Suche konnte nicht durchgeführt werden.',
51 backendNotAvailable => 'Das Backend ist nicht verfügbar unter <code><%= app->korap->api =></code>!',
Akroncddd1642015-06-10 21:31:53 +020052 jsFile => 'kalamar-<%= $Kalamar::VERSION %>-de.js',
53 underConstruction => 'In Vorbereitung!',
54 korap => {
55 -short => 'KorAP',
56 desc => 'KorAP - Korpusanalyseplattform der nächsten Generation',
57 overview => 'KorAP - Übersicht',
Akrona17bc5b2018-10-05 13:35:01 +020058 keywords => 'KorAP, DeReKo, Korpussuche, IDS Mannheim, Institut für Deutsche Sprache',
Akroncddd1642015-06-10 21:31:53 +020059 },
Akronafeca252018-05-23 15:54:28 +020060 privacy => 'Datenschutz',
61 imprint => 'Impressum',
Akrone5ef4e02017-04-19 17:07:52 +020062 Auth => {
63 loginSuccess => 'Anmeldung erfolgreich',
64 loginFail => 'Anmeldung fehlgeschlagen',
Akronbc213c02017-04-20 16:45:55 +020065 logoutSuccess => 'Abmeldung erfolgreich',
Akron15158e02018-03-19 12:42:46 +010066 logoutFail => 'Abmeldung fehlgeschlagen',
Akron429aeda2018-03-19 16:02:29 +010067 csrfFail => 'Fehlerhafter CSRF Token',
68 openRedirectFail => 'Weiterleitungsfehler'
Akronccd71a42017-06-30 18:09:19 +020069 },
70 Template => {
Akronbd39a432017-09-20 13:57:13 +020071 intro => 'de/intro',
Akronccd71a42017-06-30 18:09:19 +020072 doc => {
73 ql => {
74 'poliqarp-plus' => 'de/doc/ql/poliqarp-plus'
Akron48567812017-09-01 16:49:04 +020075 },
76 api => {
77 'koralquery' => 'de/doc/api/koralquery'
78 },
79 data => {
80 'annotation' => 'de/doc/data/annotation'
81 },
82 korap => {
83 'kalamar' => 'de/doc/korap/kalamar',
84 'karang' => 'de/doc/korap/karang',
85 'koral' => 'de/doc/korap/koral',
86 'krill' => 'de/doc/korap/krill',
87 'kustvakt' => 'de/doc/korap/kustvakt'
Akronccd71a42017-06-30 18:09:19 +020088 }
89 }
Akron0dc10902017-09-01 18:00:16 +020090 },
91 Nav => {
92 'ql' => 'Anfragesprachen',
93 '#segments' => 'Einfache Segmente',
94 '#complex' => 'Komplexe Segmente',
Akronae24e162018-02-13 18:48:44 +010095 '#spans' => 'Span-Segmente',
Akron0dc10902017-09-01 18:00:16 +020096 '#paradigmatic-operators' => 'Paradigmatische Operatoren',
97 '#syntagmatic-operators' => 'Syntagmatische Operatoren',
Akronae24e162018-02-13 18:48:44 +010098 '#class-operators' => 'Klassen-Operatoren',
Akron0dc10902017-09-01 18:00:16 +020099 'regexp' => 'Reguläre Ausdrücke',
100 'data' => 'Daten',
101 'corpus' => 'Korpora',
102 'annotation' => 'Annotationen',
103 '#default-foundries' => 'Standard Foundries',
104 'faq' => 'Häufig gestellte Fragen'
Akroncddd1642015-06-10 21:31:53 +0200105 }
106 },
107 -en => {
Akron43a73092016-02-11 21:52:27 +0100108 jsFile => 'kalamar-<%= $Kalamar::VERSION %>-en.js',
Akroncddd1642015-06-10 21:31:53 +0200109 numf => sub {
110 shift;
111 my %val = @_;
112 my $num = $val{number} or return 0;
113 $num =~ s/$THOUSAND_SEP_RE/$1\,/g;
114 return $num;
115 },
116 about => 'About KorAP',
117 login => 'Login',
Akrona8f56b22017-09-06 16:01:28 +0200118 logout => 'Logout',
Akrone8235be2016-06-27 11:02:18 +0200119 register => 'Register',
120 pwdforgotten => 'Password forgotten?',
Akroncddd1642015-06-10 21:31:53 +0200121 go => 'Go!',
Akron1f0521b2018-08-28 13:01:24 +0200122 # TODO: use document.write() refering to vc.getName()!
123 searchjob => '»<%== $q %>« <% if (param("collection")) { %>in the defined corpus <% } %>with <%== loc("QL_". $ql, "unknown query language") %>',
Akron656c5d92015-11-13 21:17:03 +0100124 searchtitle => 'KorAP: Find <%== loc("searchjob") %>',
Akroncddd1642015-06-10 21:31:53 +0200125 searchplaceholder => 'Find ...',
126 in => 'in',
127 by => 'by',
Akron189b3592016-01-04 20:56:46 +0100128 pwd => 'Password',
129 email => 'Email',
Akron2670f5b2017-05-31 17:54:07 +0200130 userormail => 'Username or Email',
Akroncddd1642015-06-10 21:31:53 +0200131 with => 'with',
Akronf4a7cf42018-01-09 15:58:45 +0100132 notAvailInCorpus => 'Not available in the current corpus',
Akroncddd1642015-06-10 21:31:53 +0200133 pubOn => 'published on',
Akroncf29b222016-10-12 16:53:32 +0200134 matchCount => '<%= quant($found, "match", "matches") %>',
Akron656c5d92015-11-13 21:17:03 +0100135 noMatches => 'There were no matches found for <%== loc("searchjob") %>.',
Akroncddd1642015-06-10 21:31:53 +0200136 notFound => '404 - Page not found',
Akron8ea84292018-10-24 13:41:52 +0200137 notIssued => 'Unable to perform the search.',
138 backendNotAvailable => 'The backend is not available at <code><%= app->korap->api %></code>!',
Akroncddd1642015-06-10 21:31:53 +0200139 glimpse => {
Akrona18ee1a2017-07-06 16:40:26 +0200140 -short => 'Glimpse',
Akroncddd1642015-06-10 21:31:53 +0200141 desc => 'Just show the first matches in arbitrary order'
142 },
Akrond1741ae2017-11-29 09:58:53 +0100143 activateJS => 'To make use of all features, please activate JavaScript!',
Akroncddd1642015-06-10 21:31:53 +0200144 faq => 'F.A.Q.',
145 underConstruction => 'Under Construction!',
146 tutorial => 'Tutorial',
147 korap => {
148 -short => 'KorAP',
149 desc => 'KorAP - Corpus Analysis Platform',
Akrona17bc5b2018-10-05 13:35:01 +0200150 overview => 'KorAP - Overview',
151 region => 'DE-BW',
152 placename => 'Mannheim',
153 keywords => 'KorAP, DeReKo, Corpus Query Platform, IDS Mannheim, Institute for the German Language'
Akron7716f012015-07-01 20:38:32 +0200154 },
155 QL => {
156 poliqarp => 'Poliqarp',
157 cosmas2 => 'Cosmas II',
158 annis => 'Annis QL',
Akronef351fa2017-11-22 19:44:50 +0100159 cql => 'CQL v1.2',
160 fcsql => 'FCSQL'
Akrone5ef4e02017-04-19 17:07:52 +0200161 },
Akronafeca252018-05-23 15:54:28 +0200162 privacy => 'Privacy',
163 imprint => 'Imprint',
Akrone5ef4e02017-04-19 17:07:52 +0200164 Auth => {
165 loginSuccess => 'Login successful',
166 loginFail => 'Access denied',
Akronbc213c02017-04-20 16:45:55 +0200167 logoutSuccess => 'Logout successful',
Akron15158e02018-03-19 12:42:46 +0100168 logoutFail => 'Logout failed',
Akron429aeda2018-03-19 16:02:29 +0100169 csrfFail => 'Bad CSRF token',
170 openRedirectFail => 'Redirect failure'
Akronccd71a42017-06-30 18:09:19 +0200171 },
172 Template => {
Akronbd39a432017-09-20 13:57:13 +0200173 intro => 'intro',
Akronccd71a42017-06-30 18:09:19 +0200174 doc => {
175 ql => {
Akron0dc10902017-09-01 18:00:16 +0200176 'poliqarp-plus' => 'doc/ql/poliqarp-plus'
177 },
178 api => {
179 'koralquery' => 'doc/api/koralquery'
180 },
181 data => {
182 'annotation' => 'doc/data/annotation'
183 },
184 korap => {
185 'kalamar' => 'doc/korap/kalamar',
186 'karang' => 'doc/korap/karang',
187 'koral' => 'doc/korap/koral',
188 'krill' => 'doc/korap/krill',
189 'kustvakt' => 'doc/korap/kustvakt'
Akronccd71a42017-06-30 18:09:19 +0200190 }
191 }
Akron0dc10902017-09-01 18:00:16 +0200192 },
193 Nav => {
194 'ql' => 'Query Languages',
195 '#segments' => 'Simple Segments',
196 '#complex' => 'Complex Segments',
197 '#spans' => 'Span Segments',
198 '#paradigmatic-operators' => 'Paradigmatic Operators',
199 '#syntagmatic-operators' => 'Syntagmatic Operators',
200 '#class-operators' => 'Class Operators',
201 'regexp' => 'Regular Expressions',
202 'data' => 'Data',
203 'corpus' => 'Corpora',
204 'annotation' => 'Annotations',
205 '#default-foundries' => 'Default Foundries',
206 'faq' => 'F.A.Q.'
Akroncddd1642015-06-10 21:31:53 +0200207 }
208 }
209};