| # Based on Mojolicious::Plugin::Number::Commify |
| my $THOUSAND_SEP_RE = qr/( |
| ^[-+]? # beginning of number. |
| \d+? # first digits before first comma |
| (?= # followed by, (but not included in the match) : |
| (?>(?:\d{3})+) # some positive multiple of three digits. |
| (?!\d) # an *exact* multiple, not x * 3 + 1 or whatever. |
| )| # or: |
| \G\d{3} # after the last group, get three digits |
| (?=\d) # but they have to have more digits after them. |
| )/x; |
| |
| { |
| _ => sub { $_->locale }, |
| de => { |
| numf => sub { |
| shift; |
| my %val = @_; |
| my $num = $val{number} or return 0; |
| $num =~ s/$THOUSAND_SEP_RE/$1\./g; |
| return $num; |
| }, |
| numo => sub { |
| shift; |
| my %val = @_; |
| my $day = $val{day} or return ''; |
| return $day . '.'; |
| }, |
| about => 'Über KorAP', |
| login => 'Anmelden', |
| logout => 'Abmelden', |
| register => 'Registrieren', |
| pwdforgotten => 'Password vergessen?', |
| # TODO: use document.write() refering to vc.getName()! |
| searchjob => '»<%== $q %>« <% if (param("collection")) { %>im definierten Korpus <% } %>mit <%== loc("QL_" . $ql, "unbekannter Anfragesprache") %>', |
| searchtitle => '<%= loc("en_korap_label") %>: Finde <%== loc("searchjob") %>', |
| searchplaceholder => 'Finde ...', |
| go => 'Los!', |
| news => 'Neuigkeiten', |
| in => 'in', |
| by => 'von', |
| page => { |
| -sg => 'S.', |
| pl => 'S.' |
| }, |
| pwd => 'Passwort', |
| email => 'Email', |
| username => 'Benutzername', |
| upload => 'Hochladen', |
| userormail => 'Benutzername oder Email', |
| with => 'mit', |
| glimpse => { |
| desc => 'Zeige nur die ersten Treffer in beliebiger Reihenfolge' |
| }, |
| activateJS => 'Für den vollen Funktionsumfang aktivieren Sie bitte JavaScript!', |
| faq => 'FAQ', |
| citationIntro => 'Wenn Sie die hier bereitgestellten Forschungswerkzeuge und Korpusdaten in Ihrer Forschung verwenden, zitieren Sie bitte mindestens je eine der aufgeführten Publikationen zu KorAP und zur Korpusgrundlage sowie – sofern einschlägig – die relevanten Publikationen zu den verwendeten Annotationen, Klassifikationen und Aufbereitungen:', |
| corpusPub => 'Korpusgrundlage', |
| korapPub => 'KorAP', |
| annotationToolPub => 'Korpusaufbereitung, Annotation und Klassifikation', |
| tutorial => 'Hilfe', |
| tour => 'Tour', |
| notAvailInCorpus => 'Im vorliegenden Korpus nicht verfügbar', |
| pubOn => 'veröffentlicht am', |
| matchCount => 'Treffer', |
| noMatches => 'Es wurden keine Treffer für <%== loc("searchjob") %> gefunden.', |
| moreMatches => { |
| -short => 'mehr als', |
| long => 'Dieser Wert gibt die Mindestanzahl an Treffern wieder. Die tatsächliche Trefferanzahl kann aufgrund von Sucheinschränkungen nicht angezeigt werden.', |
| }, |
| notFound => '404 - Seite nicht gefunden', |
| notIssued => 'Die Aktion konnte nicht durchgeführt werden.', |
| backendNotAvailable => 'Das Backend ist nicht verfügbar unter <code><%= app->korap->api =></code>!', |
| jsFile => 'kalamar-<%= $Kalamar::VERSION %>-de.js', |
| underConstruction => 'In Vorbereitung!', |
| korap => { |
| -short => 'KorAP', |
| desc => '<%= loc "en_korap_label" %> - Korpusanalyseplattform der nächsten Generation', |
| overview => '<%= loc "en_korap_label" %> - Übersicht', |
| keywords => 'KorAP, DeReKo, Korpussuche, IDS Mannheim, Leibniz-Institut für Deutsche Sprache', |
| }, |
| privacy => 'Datenschutz', |
| imprint => 'Impressum', |
| settings => 'Einstellungen', |
| 'oclock' => 'Uhr', |
| maintenanceWork => { |
| time => 'Wartungsfenster', |
| desc => 'Aufgrund von Wartungsarbeiten wird es zu Unterbrechungen des Dienstes kommen.', |
| }, |
| Template => { |
| intro => 'de/intro', |
| doc => { |
| ql => { |
| '.' => 'de/doc/ql', |
| 'poliqarp-plus' => 'de/doc/ql/poliqarp-plus', |
| 'cosmas-2' => 'de/doc/ql/cosmas-2', |
| 'regexp' => 'de/doc/ql/regexp', |
| 'fcsql' => 'de/doc/ql/fcsql', |
| 'cql' => 'de/doc/ql/cql', |
| 'annis' => 'de/doc/ql/annis' |
| }, |
| faq => { |
| '.' => 'de/doc/faq' |
| }, |
| api => { |
| '.' => 'de/doc/api', |
| 'koralquery' => 'de/doc/api/koralquery' |
| }, |
| annotation => { |
| '.' => 'de/doc/annotation' |
| }, |
| data => { |
| 'annotation' => 'de/doc/data/annotation' |
| }, |
| development => { |
| '.' => 'de/doc/development', |
| 'kalamar' => 'de/doc/development/kalamar', |
| 'karang' => 'de/doc/development/karang', |
| 'koral' => 'de/doc/development/koral', |
| 'krill' => 'de/doc/development/krill', |
| 'kustvakt' => 'de/doc/development/kustvakt' |
| } |
| } |
| }, |
| Nav => { |
| 'ql' => 'Anfragesprachen', |
| '#queryterms' => 'Suchbegriffe', |
| '#logical-operators' => 'Logische Operatoren', |
| '#distance-operators' => 'Abstandsoperatoren', |
| '#annotation-operators' => 'Annotationsoperatoren', |
| '#combination-operators'=> 'Kombinationsoperatoren', |
| '#area-operators' => 'Textbereich-Operatoren', |
| '#segments' => 'Einfache Segmente', |
| '#complex' => 'Komplexe Segmente', |
| '#spans' => 'Span-Segmente', |
| '#paradigmatic-operators' => 'Paradigmatische Operatoren', |
| '#syntagmatic-operators' => 'Syntagmatische Operatoren', |
| '#class-operators' => 'Klassen-Operatoren', |
| 'regexp' => 'Reguläre Ausdrücke', |
| 'data' => 'Korpusdaten', |
| 'corpus' => 'Korpora', |
| 'annotation' => 'Annotationen', |
| '#default-foundries' => 'Standard Foundries', |
| 'development' => 'Entwicklung', |
| 'faq' => 'FAQ', |
| } |
| }, |
| -en => { |
| jsFile => 'kalamar-<%= $Kalamar::VERSION %>-en.js', |
| numf => sub { |
| shift; |
| my %val = @_; |
| my $num = $val{number} or return 0; |
| $num =~ s/$THOUSAND_SEP_RE/$1\,/g; |
| return $num; |
| }, |
| numo => sub { |
| shift; |
| my %val = @_; |
| my $day = $val{day} or return ''; |
| if ($day > 3) { |
| return $day . 'th'; |
| } elsif ($day == 3) { |
| return '3rd'; |
| } elsif ($day == 2) { |
| return '2nd'; |
| }; |
| return '1st'; |
| }, |
| about => 'About KorAP', |
| login => 'Login', |
| logout => 'Logout', |
| register => 'Register', |
| pwdforgotten => 'Password forgotten?', |
| go => 'Go!', |
| news => 'News', |
| # TODO: use document.write() refering to vc.getName()! |
| searchjob => '»<%== $q %>« <% if (param("collection")) { %>in the defined corpus <% } %>with <%== loc("QL_". $ql, "unknown query language") %>', |
| searchtitle => '<%= loc("korap_label") %>: Find <%== loc("searchjob") %>', |
| searchplaceholder => 'Find ...', |
| in => 'in', |
| by => 'by', |
| page => { |
| -sg => 'p.', |
| pl => 'pp.', |
| }, |
| pwd => 'Password', |
| email => 'Email', |
| username => 'Username', |
| upload => 'Upload', |
| userormail => 'Username or Email', |
| with => 'with', |
| notAvailInCorpus => 'Not available in the current corpus', |
| pubOn => 'published on', |
| matchCount => '<%= quant($found, "match", "matches") %>', |
| noMatches => 'There were no matches found for <%== loc("searchjob") %>.', |
| moreMatches => { |
| -short => 'more than', |
| long => 'This value represents the minimum number of matches in the database. The exact number cannot be displayed due to search restrictions.', |
| }, |
| |
| notFound => '404 - Page not found', |
| notIssued => 'Unable to perform the action.', |
| backendNotAvailable => 'The backend is not available at <code><%= app->korap->api %></code>!', |
| glimpse => { |
| -short => 'Glimpse', |
| desc => 'Just show the first matches in arbitrary order' |
| }, |
| activateJS => 'To make use of all features, please activate JavaScript!', |
| faq => 'FAQ', |
| citationIntro => 'If you use the research tools and corpus data provided here in your research, please cite at least one of the listed publications on KorAP and on the underlying corpus and, where applicable, the relevant publications on the annotations, classifications and preparation steps used:', |
| corpusPub => 'Corpus basis', |
| korapPub => 'KorAP', |
| annotationToolPub => 'Corpus preparation, annotation and classification', |
| 'oclock' => 'o\'clock', |
| underConstruction => 'Under Construction!', |
| tutorial => 'Help', |
| tour => 'Tour', |
| korap => { |
| -short => 'KorAP', |
| label => '<%= loc "korap_short" %><% if (loc("title_addon")) { %>-<%= loc("title_addon") %><% } %>', |
| desc => '<%= loc "korap_label" %> - Corpus Analysis Platform', |
| overview => '<%= loc "korap_label" %> - Overview', |
| region => 'DE-BW', |
| placename => 'Mannheim', |
| keywords => 'KorAP, DeReKo, Corpus Query Platform, IDS Mannheim, Leibniz Institute for the German Language' |
| }, |
| QL => { |
| poliqarp => 'Poliqarp', |
| cosmas2 => 'Cosmas II', |
| annis => 'Annis QL', |
| cqp => 'CQP', |
| cql => 'CQL v1.2', |
| fcsql => 'FCSQL' |
| }, |
| privacy => 'Privacy', |
| imprint => 'Imprint', |
| settings => 'Settings', |
| maintenanceWork => { |
| time => 'Maintenance', |
| desc => 'Due to maintenance work the service will be interrupted.', |
| }, |
| Template => { |
| intro => 'intro', |
| doc => { |
| ql => { |
| '.' => 'doc/ql', |
| 'poliqarp-plus' => 'doc/ql/poliqarp-plus', |
| 'cosmas-2' => 'doc/ql/cosmas-2', |
| 'regexp' => 'doc/ql/regexp', |
| 'fcsql' => 'doc/ql/fcsql', |
| 'cql' => 'doc/ql/cql', |
| 'annis' => 'doc/ql/annis' |
| }, |
| faq => { |
| '.' => 'doc/faq' |
| }, |
| api => { |
| '.' => 'doc/api', |
| 'koralquery' => 'doc/api/koralquery' |
| }, |
| annotation => { |
| '.' => '/doc/annotation' |
| }, |
| data => { |
| 'annotation' => 'doc/data/annotation' |
| }, |
| development => { |
| '.' => 'doc/development', |
| 'kalamar' => 'doc/development/kalamar', |
| 'karang' => 'doc/development/karang', |
| 'koral' => 'doc/development/koral', |
| 'krill' => 'doc/development/krill', |
| 'kustvakt' => 'doc/development/kustvakt' |
| } |
| } |
| }, |
| Nav => { |
| 'ql' => 'Query Languages', |
| '#queryterms' => 'Query Terms', |
| '#logical-operators' => 'Logical Operators', |
| '#distance-operators' => 'Distance Operators', |
| '#annotation-operators' => 'Annotation Operators', |
| '#combination-operators'=> 'Combination Operators', |
| '#area-operators' => 'Area Operators', |
| '#segments' => 'Simple Segments', |
| '#complex' => 'Complex Segments', |
| '#spans' => 'Span Segments', |
| '#paradigmatic-operators' => 'Paradigmatic Operators', |
| '#syntagmatic-operators' => 'Syntagmatic Operators', |
| '#class-operators' => 'Class Operators', |
| 'regexp' => 'Regular Expressions', |
| 'data' => 'Corpus Data', |
| 'corpus' => 'Corpora', |
| 'annotation' => 'Annotations', |
| '#default-foundries' => 'Default Foundries', |
| 'development' => 'Development', |
| 'faq' => 'FAQ' |
| } |
| }, |
| Piwik => { |
| en => { |
| 'HowToOptOut' => 'How to opt-out from Piwik/Matomo tracking?' |
| }, |
| de => { |
| 'HowToOptOut' => 'Wie kann ich die Weitergabe meiner Daten per Matomo/Piwik unterbinden?' |
| } |
| } |
| }; |