blob: e6332fe2d0434d9eed0b0c16979540a7797bc54c [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!',
Akron9dda34e2020-07-06 11:38:27 +020033 news => 'Neuigkeiten & Ankündigungen',
Akroncddd1642015-06-10 21:31:53 +020034 in => 'in',
35 by => 'von',
Akron189b3592016-01-04 20:56:46 +010036 pwd => 'Passwort',
37 email => 'Email',
Akrone208d302020-11-28 11:14:50 +010038 username => 'Benutzername',
Akron9f2ad342022-05-04 16:16:40 +020039 upload => 'Hochladen',
Akron9fa7cc52022-05-12 11:17:20 +020040 userormail => 'Benutzername oder Email',
Akroncddd1642015-06-10 21:31:53 +020041 with => 'mit',
42 glimpse => {
Akroncddd1642015-06-10 21:31:53 +020043 desc => 'Zeige nur die ersten Treffer in beliebiger Reihenfolge'
44 },
Akrond1741ae2017-11-29 09:58:53 +010045 activateJS => 'Für den vollen Funktionsumfang aktivieren Sie bitte JavaScript!',
Marc Kupietzb82939b2021-09-07 22:45:38 +020046 faq => 'FAQ',
Helge2e434be2023-02-01 16:47:16 +010047 tutorial => 'Hilfe und Dokumentation',
Akronf4a7cf42018-01-09 15:58:45 +010048 notAvailInCorpus => 'Im vorliegenden Korpus nicht verfügbar',
Akroncddd1642015-06-10 21:31:53 +020049 pubOn => 'veröffentlicht am',
50 matchCount => 'Treffer',
Akron656c5d92015-11-13 21:17:03 +010051 noMatches => 'Es wurden keine Treffer für <%== loc("searchjob") %> gefunden.',
Akroncddd1642015-06-10 21:31:53 +020052 notFound => '404 - Seite nicht gefunden',
Akron3c390c42020-03-30 09:06:21 +020053 notIssued => 'Die Aktion konnte nicht durchgeführt werden.',
Akron8ea84292018-10-24 13:41:52 +020054 backendNotAvailable => 'Das Backend ist nicht verfügbar unter <code><%= app->korap->api =></code>!',
Akroncddd1642015-06-10 21:31:53 +020055 jsFile => 'kalamar-<%= $Kalamar::VERSION %>-de.js',
56 underConstruction => 'In Vorbereitung!',
57 korap => {
58 -short => 'KorAP',
59 desc => 'KorAP - Korpusanalyseplattform der nächsten Generation',
60 overview => 'KorAP - Übersicht',
Akrona2d92de2019-02-27 15:51:07 +010061 keywords => 'KorAP, DeReKo, Korpussuche, IDS Mannheim, Leibniz-Institut für Deutsche Sprache',
Akroncddd1642015-06-10 21:31:53 +020062 },
Akronafeca252018-05-23 15:54:28 +020063 privacy => 'Datenschutz',
64 imprint => 'Impressum',
Akronf7ec4442019-10-27 20:01:05 +010065 settings => 'Einstellungen',
Akronccd71a42017-06-30 18:09:19 +020066 Template => {
Akronbd39a432017-09-20 13:57:13 +020067 intro => 'de/intro',
Akronccd71a42017-06-30 18:09:19 +020068 doc => {
69 ql => {
Helgeb4c098c2022-10-04 16:26:38 +020070 'poliqarp-plus' => 'de/doc/ql/poliqarp-plus',
71 'cosmas-2' => 'de/doc/ql/cosmas-2'
Akron48567812017-09-01 16:49:04 +020072 },
73 api => {
74 'koralquery' => 'de/doc/api/koralquery'
75 },
76 data => {
77 'annotation' => 'de/doc/data/annotation'
78 },
Marc Kupietzfcadda62021-09-08 09:06:25 +020079 development => {
80 'kalamar' => 'de/doc/development/kalamar',
81 'karang' => 'de/doc/development/karang',
82 'koral' => 'de/doc/development/koral',
83 'krill' => 'de/doc/development/krill',
84 'kustvakt' => 'de/doc/development/kustvakt'
Akronccd71a42017-06-30 18:09:19 +020085 }
86 }
Akron0dc10902017-09-01 18:00:16 +020087 },
88 Nav => {
89 'ql' => 'Anfragesprachen',
Helgeb4c098c2022-10-04 16:26:38 +020090 '#queryterms' => 'Suchbegriffe',
91 '#logical-operators' => 'Logische Operatoren',
92 '#distance-operators' => 'Abstandsoperatoren',
93 '#annotation-operators' => 'Annotationsoperatoren',
94 '#combination-operators'=> 'Kombinationsoperatoren',
95 '#area-operators' => 'Textbereich-Operatoren',
Akron0dc10902017-09-01 18:00:16 +020096 '#segments' => 'Einfache Segmente',
97 '#complex' => 'Komplexe Segmente',
Akronae24e162018-02-13 18:48:44 +010098 '#spans' => 'Span-Segmente',
Akron0dc10902017-09-01 18:00:16 +020099 '#paradigmatic-operators' => 'Paradigmatische Operatoren',
100 '#syntagmatic-operators' => 'Syntagmatische Operatoren',
Akronae24e162018-02-13 18:48:44 +0100101 '#class-operators' => 'Klassen-Operatoren',
Akron0dc10902017-09-01 18:00:16 +0200102 'regexp' => 'Reguläre Ausdrücke',
Marc Kupietz4689e792021-09-07 23:29:51 +0200103 'data' => 'Korpusdaten',
Akron0dc10902017-09-01 18:00:16 +0200104 'corpus' => 'Korpora',
105 'annotation' => 'Annotationen',
106 '#default-foundries' => 'Standard Foundries',
Marc Kupietzfcadda62021-09-08 09:06:25 +0200107 'development' => 'Entwicklung',
Marc Kupietzb82939b2021-09-07 22:45:38 +0200108 'faq' => 'FAQ'
Akron397552c2023-09-18 12:13:33 +0200109 },
110 QL => {
111 cqp => 'CQP (neu)'
Akroncddd1642015-06-10 21:31:53 +0200112 }
113 },
114 -en => {
Akron43a73092016-02-11 21:52:27 +0100115 jsFile => 'kalamar-<%= $Kalamar::VERSION %>-en.js',
Akroncddd1642015-06-10 21:31:53 +0200116 numf => sub {
117 shift;
118 my %val = @_;
119 my $num = $val{number} or return 0;
120 $num =~ s/$THOUSAND_SEP_RE/$1\,/g;
121 return $num;
122 },
123 about => 'About KorAP',
124 login => 'Login',
Akrona8f56b22017-09-06 16:01:28 +0200125 logout => 'Logout',
Akrone8235be2016-06-27 11:02:18 +0200126 register => 'Register',
127 pwdforgotten => 'Password forgotten?',
Akroncddd1642015-06-10 21:31:53 +0200128 go => 'Go!',
Akron9dda34e2020-07-06 11:38:27 +0200129 news => 'News & Announcements',
Akron1f0521b2018-08-28 13:01:24 +0200130 # TODO: use document.write() refering to vc.getName()!
131 searchjob => '»<%== $q %>« <% if (param("collection")) { %>in the defined corpus <% } %>with <%== loc("QL_". $ql, "unknown query language") %>',
Akron656c5d92015-11-13 21:17:03 +0100132 searchtitle => 'KorAP: Find <%== loc("searchjob") %>',
Akroncddd1642015-06-10 21:31:53 +0200133 searchplaceholder => 'Find ...',
134 in => 'in',
135 by => 'by',
Akron189b3592016-01-04 20:56:46 +0100136 pwd => 'Password',
137 email => 'Email',
Akrone208d302020-11-28 11:14:50 +0100138 username => 'Username',
Akron9f2ad342022-05-04 16:16:40 +0200139 upload => 'Upload',
Akron9fa7cc52022-05-12 11:17:20 +0200140 userormail => 'Username or Email',
Akroncddd1642015-06-10 21:31:53 +0200141 with => 'with',
Akronf4a7cf42018-01-09 15:58:45 +0100142 notAvailInCorpus => 'Not available in the current corpus',
Akroncddd1642015-06-10 21:31:53 +0200143 pubOn => 'published on',
Akroncf29b222016-10-12 16:53:32 +0200144 matchCount => '<%= quant($found, "match", "matches") %>',
Akron656c5d92015-11-13 21:17:03 +0100145 noMatches => 'There were no matches found for <%== loc("searchjob") %>.',
Akroncddd1642015-06-10 21:31:53 +0200146 notFound => '404 - Page not found',
Akron3c390c42020-03-30 09:06:21 +0200147 notIssued => 'Unable to perform the action.',
Akron8ea84292018-10-24 13:41:52 +0200148 backendNotAvailable => 'The backend is not available at <code><%= app->korap->api %></code>!',
Akroncddd1642015-06-10 21:31:53 +0200149 glimpse => {
Akrona18ee1a2017-07-06 16:40:26 +0200150 -short => 'Glimpse',
Akroncddd1642015-06-10 21:31:53 +0200151 desc => 'Just show the first matches in arbitrary order'
152 },
Akrond1741ae2017-11-29 09:58:53 +0100153 activateJS => 'To make use of all features, please activate JavaScript!',
Marc Kupietzb82939b2021-09-07 22:45:38 +0200154 faq => 'FAQ',
Akroncddd1642015-06-10 21:31:53 +0200155 underConstruction => 'Under Construction!',
Helge2e434be2023-02-01 16:47:16 +0100156 tutorial => 'Help and Documentation',
Akroncddd1642015-06-10 21:31:53 +0200157 korap => {
158 -short => 'KorAP',
159 desc => 'KorAP - Corpus Analysis Platform',
Akrona17bc5b2018-10-05 13:35:01 +0200160 overview => 'KorAP - Overview',
161 region => 'DE-BW',
162 placename => 'Mannheim',
Akrona2d92de2019-02-27 15:51:07 +0100163 keywords => 'KorAP, DeReKo, Corpus Query Platform, IDS Mannheim, Leibniz Institute for the German Language'
Akron7716f012015-07-01 20:38:32 +0200164 },
165 QL => {
166 poliqarp => 'Poliqarp',
167 cosmas2 => 'Cosmas II',
168 annis => 'Annis QL',
Akron397552c2023-09-18 12:13:33 +0200169 cqp => 'CQP (new)',
Akronef351fa2017-11-22 19:44:50 +0100170 cql => 'CQL v1.2',
171 fcsql => 'FCSQL'
Akrone5ef4e02017-04-19 17:07:52 +0200172 },
Akronafeca252018-05-23 15:54:28 +0200173 privacy => 'Privacy',
174 imprint => 'Imprint',
Akronf7ec4442019-10-27 20:01:05 +0100175 settings => 'Settings',
Akronccd71a42017-06-30 18:09:19 +0200176 Template => {
Akronbd39a432017-09-20 13:57:13 +0200177 intro => 'intro',
Akronccd71a42017-06-30 18:09:19 +0200178 doc => {
179 ql => {
Helgeb4c098c2022-10-04 16:26:38 +0200180 'poliqarp-plus' => 'doc/ql/poliqarp-plus',
181 'cosmas-2' => 'doc/ql/cosmas-2'
Akron0dc10902017-09-01 18:00:16 +0200182 },
183 api => {
184 'koralquery' => 'doc/api/koralquery'
185 },
186 data => {
187 'annotation' => 'doc/data/annotation'
188 },
Akrondd5ab892021-09-08 12:46:08 +0200189 development => {
Marc Kupietzfcadda62021-09-08 09:06:25 +0200190 'kalamar' => 'doc/development/kalamar',
191 'karang' => 'doc/development/karang',
192 'koral' => 'doc/development/koral',
193 'krill' => 'doc/development/krill',
194 'kustvakt' => 'doc/development/kustvakt'
Akronccd71a42017-06-30 18:09:19 +0200195 }
196 }
Akron0dc10902017-09-01 18:00:16 +0200197 },
198 Nav => {
199 'ql' => 'Query Languages',
Helgeb4c098c2022-10-04 16:26:38 +0200200 '#queryterms' => 'Query Terms',
201 '#logical-operators' => 'Logical Operators',
202 '#distance-operators' => 'Distance Operators',
203 '#annotation-operators' => 'Annotation Operators',
204 '#combination-operators'=> 'Combination Operators',
205 '#area-operators' => 'Area Operators',
Akron0dc10902017-09-01 18:00:16 +0200206 '#segments' => 'Simple Segments',
207 '#complex' => 'Complex Segments',
208 '#spans' => 'Span Segments',
209 '#paradigmatic-operators' => 'Paradigmatic Operators',
210 '#syntagmatic-operators' => 'Syntagmatic Operators',
211 '#class-operators' => 'Class Operators',
212 'regexp' => 'Regular Expressions',
Marc Kupietz4689e792021-09-07 23:29:51 +0200213 'data' => 'Corpus Data',
Akron0dc10902017-09-01 18:00:16 +0200214 'corpus' => 'Corpora',
215 'annotation' => 'Annotations',
216 '#default-foundries' => 'Default Foundries',
Marc Kupietzfcadda62021-09-08 09:06:25 +0200217 'development' => 'Development',
Marc Kupietzb82939b2021-09-07 22:45:38 +0200218 'faq' => 'FAQ'
Akroncddd1642015-06-10 21:31:53 +0200219 }
Akron4c33c622018-11-12 13:43:27 +0100220 },
221 Piwik => {
222 en => {
223 'HowToOptOut' => 'How to opt-out from Piwik/Matomo tracking?'
224 },
225 de => {
226 'HowToOptOut' => 'Wie kann ich die Weitergabe meiner Daten per Matomo/Piwik unterbinden?'
227 }
Akroncddd1642015-06-10 21:31:53 +0200228 }
229};