From: Moritz Bunkus Date: Fri, 7 Oct 2005 13:43:23 +0000 (+0000) Subject: Den Parser in locaes.pl so erweitert, dass er auch $text->locale(...)-Funktionsaufruf... X-Git-Tag: release-2.4.0^2~512 X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/kivitendo-erp.git/commitdiff_plain/07d3f9e216ae112930a78dafaeef3cb10ee14236 Den Parser in locaes.pl so erweitert, dass er auch $text->locale(...)-Funktionsaufrufe auswertet, die ueber mehrere Zeilen gehen. Das wurde durch die Verwendung von perltidy akut, das bei sehr langen Zeilen das Argument zu $text->locale() in eine eigene Zeile schreibt. Einige der dadurch neu/wieder gefundenen Ausdruecke uebersetzt bzw. deren urspruengliche Uebersetzung wiederhergestellt. --- diff --git a/locale/de/admin b/locale/de/admin index d3c5be1fc..9b8a658ab 100644 --- a/locale/de/admin +++ b/locale/de/admin @@ -39,6 +39,7 @@ $self{texts} = { 'Hostname missing!' => 'Computername fehlt!', 'Incorrect Password!' => 'Ungültiges Passwort!', 'Language' => 'Sprache', + 'Leave host and port field empty unless you want to make a remote connection.' => 'Für lokale Verbindungen "Rechner" und "Port" freilassen.', 'Lock System' => 'System sperren', 'Lockfile created!' => 'System gesperrt!', 'Lockfile removed!' => 'System entsperrt!', @@ -61,7 +62,7 @@ $self{texts} = { 'Port missing!' => 'Portangabe fehlt!', 'Printer' => 'Drucker', 'Save' => 'Speichern', - 'Setup Menu' => 'Setup Menu', + 'Setup Menu' => 'Menüsetup', 'Setup Templates' => 'Vorlagen auswählen', 'Signature' => 'Unterschrift', 'Steuernummer' => 'Steuernummer', @@ -70,6 +71,8 @@ $self{texts} = { 'Templates' => 'Vorlagen', 'The following Datasets are not in use and can be deleted' => 'Die folgenden Datenbanken sind nicht in Verwendung und können gelöscht werden', 'The following Datasets need to be updated' => 'Folgende Datenbanken müssen aktualisiert werden', + 'This is a preliminary check for existing sources. Nothing will be created or deleted at this stage!' => 'In diesem Schritt werden bestehende Datenbanken gesucht. Es werden noch keine änderungen vorgenommen!', + 'To add a user to a group edit a name, change the login name and save. A new user with the same variables will then be saved under the new login name.' => 'Um einer Gruppe einen neuen Benutzer hinzuzufügen, ändern und speichern Sie am einfachsten einen bestehenden Zugriffsnamen. Unter dem neuen Namen wird dann ein Benutzer mit denselben Einstellungen angelegt.', 'Unlock System' => 'System entsperren', 'Update Dataset' => 'Datenbank aktualisieren', 'Use Templates' => 'benutze Vorlagen', @@ -79,6 +82,7 @@ $self{texts} = { 'Ust-IDNr' => 'USt-IdNr.', 'Version' => 'Version', 'WEBDAV-Zugriff' => 'WEBDAV-Zugriff', + 'You must enter a host and port for local and remote connections!' => '"Rechner" und "Port" müssen für lokale und externe Verbindungen eingetragen werden!', 'does not exist' => 'existiert nicht', 'is already a member!' => 'ist bereits ein Mitglied!', 'localhost' => 'lokaler Rechner', diff --git a/locale/de/all b/locale/de/all index 39dba9882..158672110 100644 --- a/locale/de/all +++ b/locale/de/all @@ -4,6 +4,10 @@ # run locales.pl from this directory to rebuild the translation files $self{texts} = { + ' Date missing!' => ' Datum fehlt!', + ' Number' => '', + ' Part Number missing!' => ' Artikelnummer fehlt!', + ' missing!' => ' fehlt!', 'AP' => 'Einkauf', 'AP Aging' => 'Offene Verbindlichkeiten', 'AP Transaction' => 'Kreditorenbuchung', @@ -27,6 +31,7 @@ $self{texts} = { 'Accrual' => 'Bilanzierung', 'Active' => 'Aktiv', 'Add' => 'Erfassen', + 'Add ' => '', 'Add AP Transaction' => 'Kreditorenbuchung', 'Add AR Transaction' => 'Debitorenbuchung', 'Add Account' => 'Konto erfassen', @@ -270,6 +275,7 @@ $self{texts} = { 'ELSTER-Steuernummer: ' => 'ELSTER-Steuernummer: ', 'EUR' => 'E/Ü-Rechnung', 'Edit' => 'Bearbeiten', + 'Edit ' => '', 'Edit Account' => 'Kontodaten bearbeiten', 'Edit Accounts Payables Transaction' => 'Kreditorenbuchung bearbeiten', 'Edit Accounts Receivables Transaction' => 'Debitorenbuchung bearbeiten', @@ -297,7 +303,11 @@ $self{texts} = { 'Edit Warehouse' => 'Lager bearbeiten', 'Employee' => 'Bearbeiter', 'Enforce transaction reversal for all dates' => 'Gegenbuchungen für jeden Zeitraum aktualisieren', + 'Enter up to 3 letters separated by a colon (i.e CAD:USD:EUR) for your native and foreign currencies' => 'Geben Sie Ihre und weitere Währungen mit bis zu drei Buchstaben pro Währung und Währungen durch Doppelpunkte getrennt ein (z.B. EUR:USD:CAD)', 'Equity' => 'Passiva', + 'Es fehlen Angaben zur Versteuerung. + Wenn Sie Ist Versteuert sind, wählen Sie die Einnahmen/Überschuß-Rechnung aus. + Sind Sie Soll-Versteuert und Bilanzverpflichtet, dann wählen Sie Bilanz aus.' => '', 'Exch' => 'Wechselkurs.', 'Exchangerate' => 'Wechselkurs', 'Exchangerate Difference' => 'Wechselkursunterschied', @@ -417,6 +427,7 @@ $self{texts} = { 'Last Sales Quotation Number' => 'Letzte Angebotsnummer', 'Last Service Number' => 'Letzte Dienstleistungsnr.', 'Last Vendor Number' => 'Letzte Lieferantennummer', + 'Leave host and port field empty unless you want to make a remote connection.' => 'Für lokale Verbindungen "Rechner" und "Port" freilassen.', 'Liability' => 'Passiva', 'License' => 'Lizenz', 'License key' => 'Lizenzschlüssel', @@ -460,7 +471,7 @@ $self{texts} = { 'N/A' => 'N.Z.', 'Name' => 'Name', 'Name missing!' => 'Name fehlt!', - 'New Account' => '', + 'New Account' => 'Neues Konto', 'New Templates' => 'neue Vorlagen', 'No' => 'Nein', 'No Database Drivers available!' => 'Kein Datenbanktreiber verfügbar!', @@ -632,7 +643,7 @@ $self{texts} = { 'Service Items' => 'Dienstleistungen', 'Service Number missing!' => 'Dienstleistungsnummer fehlt!', 'Services' => 'Dienstleistungen', - 'Setup Menu' => '', + 'Setup Menu' => 'Menüsetup', 'Setup Templates' => 'Vorlagen auswählen', 'Ship' => 'Lagerausgang', 'Ship Merchandise' => 'Waren versenden', @@ -690,8 +701,10 @@ $self{texts} = { 'The following Datasets are not in use and can be deleted' => 'Die folgenden Datenbanken sind nicht in Verwendung und können gelöscht werden', 'The following Datasets need to be updated' => 'Folgende Datenbanken müssen aktualisiert werden', 'The licensing module has been deactivated in lx-erp.conf.' => 'Das Lizenzverwaltungsmodul wurde in lx-erp.conf deaktiviert.', + 'This is a preliminary check for existing sources. Nothing will be created or deleted at this stage!' => 'In diesem Schritt werden bestehende Datenbanken gesucht. Es werden noch keine änderungen vorgenommen!', 'Title' => 'Titel', 'To' => 'An', + 'To add a user to a group edit a name, change the login name and save. A new user with the same variables will then be saved under the new login name.' => 'Um einer Gruppe einen neuen Benutzer hinzuzufügen, ändern und speichern Sie am einfachsten einen bestehenden Zugriffsnamen. Unter dem neuen Namen wird dann ein Benutzer mit denselben Einstellungen angelegt.', 'Top 100' => 'Top 100', 'Top 100 hinzufuegen' => 'Top 100 hinzufügen', 'Top Level' => 'Hauptartikelbezeichnung', @@ -759,6 +772,7 @@ $self{texts} = { 'Yes' => 'Ja', 'You are logged out!' => 'Auf Wiedersehen!', 'You did not enter a name!' => 'Sie haben keinen Namen eingegeben!', + 'You must enter a host and port for local and remote connections!' => '"Rechner" und "Port" müssen für lokale und externe Verbindungen eingetragen werden!', 'Zeitraum' => 'Zeitraum', 'Zipcode' => 'PLZ', 'accrual' => 'Bilanzierung (Soll-Versteuerung)', @@ -786,6 +800,7 @@ $self{texts} = { 'number' => 'Nummer', 'posted!' => 'gebucht', 'quarter' => 'vierteljährliche (quartalsweise) Abgabe', + 's' => '', 'save' => 'speichern', 'saved' => 'gespeichert', 'saved!' => 'gespeichert', diff --git a/locale/de/am b/locale/de/am index 0af03053a..e316d6501 100644 --- a/locale/de/am +++ b/locale/de/am @@ -64,6 +64,7 @@ $self{texts} = { 'Edit Template' => 'Vorlage bearbeiten', 'Edit Warehouse' => 'Lager bearbeiten', 'Enforce transaction reversal for all dates' => 'Gegenbuchungen für jeden Zeitraum aktualisieren', + 'Enter up to 3 letters separated by a colon (i.e CAD:USD:EUR) for your native and foreign currencies' => 'Geben Sie Ihre und weitere Währungen mit bis zu drei Buchstaben pro Währung und Währungen durch Doppelpunkte getrennt ein (z.B. EUR:USD:CAD)', 'Equity' => 'Passiva', 'Expense' => 'Aufwandskonto', 'Expense Account' => 'Aufwandskonto', @@ -116,7 +117,7 @@ $self{texts} = { 'Salesman' => 'Vertreter', 'Save' => 'Speichern', 'Service Items' => 'Dienstleistungen', - 'Setup Menu' => 'Setup Menu', + 'Setup Menu' => 'Menüsetup', 'Signature' => 'Unterschrift', 'Standard Industrial Codes' => 'SIC', 'Steuersatz' => 'Steuersatz', diff --git a/locale/de/ct b/locale/de/ct index 5ddd86b12..f83cc9ae8 100644 --- a/locale/de/ct +++ b/locale/de/ct @@ -1,4 +1,5 @@ $self{texts} = { + ' Number' => ' Number', 'Abteilung' => 'Abteilung', 'Account Number' => 'Kontonummer', 'Accounting Menu' => 'Kontoverwaltung', @@ -87,6 +88,7 @@ $self{texts} = { 'Vendors' => 'Lieferanten', 'Zipcode' => 'PLZ', 'days' => 'Tage', + 's' => 's', }; $self{subs} = { diff --git a/locale/de/gl b/locale/de/gl index 15d75107f..1cdbe7143 100644 --- a/locale/de/gl +++ b/locale/de/gl @@ -69,7 +69,7 @@ $self{texts} = { 'May ' => 'Mai', 'Mitarbeiter' => 'Mitarbeiter', 'MwSt. inkl.' => 'MwSt. inkl.', - 'New Account' => 'New Account', + 'New Account' => 'Neues Konto', 'Notes' => 'Bemerkungen', 'Nov' => 'Nov', 'November' => 'November', @@ -147,7 +147,7 @@ $self{subs} = { 'weiter' => 'continue', 'löschen' => 'delete', 'dialogbuchung' => 'gl_transaction', - 'new_account' => 'new_account', + 'neues_konto' => 'new_account', 'buchen' => 'post', 'neu_buchen' => 'post_as_new', 'rechnung' => 'sales_invoice', diff --git a/locale/de/ic b/locale/de/ic index 205ec85e9..31937beec 100644 --- a/locale/de/ic +++ b/locale/de/ic @@ -1,7 +1,10 @@ $self{texts} = { + ' Date missing!' => ' Datum fehlt!', + ' Part Number missing!' => ' Artikelnummer fehlt!', 'Accounting Menu' => 'Kontoverwaltung', 'Active' => 'Aktiv', 'Add' => 'Erfassen', + 'Add ' => 'Add ', 'Add Assembly' => 'Erzeugnis erfassen', 'Add Part' => 'Ware erfassen', 'Add Purchase Order' => 'Lieferantenauftrag erfassen', @@ -44,6 +47,7 @@ $self{texts} = { 'E-mail' => 'eMail', 'E-mail address missing!' => 'eMailadresse fehlt!', 'E-mailed' => 'eMail gesendet.', + 'Edit ' => 'Edit ', 'Edit Assembly' => 'Erzeugnis bearbeiten', 'Edit Part' => 'Ware bearbeiten', 'Edit Service' => 'Dienstleistung bearbeiten', @@ -177,7 +181,6 @@ $self{texts} = { 'button' => '?', 'choice' => 'auswählen', 'choice part' => 'Artikel auswählen', - 'ea' => 'Stk', 'emailed to' => 'gemailt an', 'hr' => 'Stunde', 'list' => 'auflisten', diff --git a/locale/de/io b/locale/de/io index 2d0408501..733b4da9d 100644 --- a/locale/de/io +++ b/locale/de/io @@ -1,4 +1,5 @@ $self{texts} = { + ' Date missing!' => ' Datum fehlt!', 'Add Purchase Order' => 'Lieferantenauftrag erfassen', 'Add Quotation' => 'Angebot erfassen', 'Add Request for Quotation' => 'Anfrage erfassen', diff --git a/locale/de/ir b/locale/de/ir index 86c1984f4..9711484f1 100644 --- a/locale/de/ir +++ b/locale/de/ir @@ -1,4 +1,5 @@ $self{texts} = { + ' Date missing!' => ' Datum fehlt!', 'Account' => 'Konto', 'Accounting Menu' => 'Kontoverwaltung', 'Add Purchase Order' => 'Lieferantenauftrag erfassen', diff --git a/locale/de/is b/locale/de/is index 463636b8c..b4b541bbb 100644 --- a/locale/de/is +++ b/locale/de/is @@ -1,4 +1,5 @@ $self{texts} = { + ' Date missing!' => ' Datum fehlt!', 'Account' => 'Konto', 'Accounting Menu' => 'Kontoverwaltung', 'Add Purchase Order' => 'Lieferantenauftrag erfassen', diff --git a/locale/de/locales.pl b/locale/de/locales.pl index bcf8f0a18..f5cd120b0 100755 --- a/locale/de/locales.pl +++ b/locale/de/locales.pl @@ -212,6 +212,57 @@ exit; # eom +sub extract_text_between_parenthesis { + my ($fh, $line) = @_; + my ($inside_string, $pos, $text, $quote_next) = (undef, 0, "", 0); + + while (1) { + if (length($line) <= $pos) { + $line = <$fh>; + return ($text, "") unless ($line); + $pos = 0; + } + + my $cur_char = substr($line, $pos, 1); + + if (!$inside_string) { + if ((length($line) >= ($pos + 3)) && (substr($line, $pos, 2)) eq "qq") { + $inside_string = substr($line, $pos + 2, 1); + $pos += 2; + + } elsif ((length($line) >= ($pos + 2)) && + (substr($line, $pos, 1) eq "q")) { + $inside_string = substr($line, $pos + 1, 1); + $pos++; + + } elsif (($cur_char eq '"') || ($cur_char eq '\'')) { + $inside_string = $cur_char; + + } elsif ($cur_char eq ")") { + return ($text, substr($line, $pos + 1)); + } + + } else { + if ($quote_next) { + $text .= $cur_char; + $quote_next = 0; + + } elsif ($cur_char eq '\\') { + $text .= $cur_char; + $quote_next = 1; + + } elsif ($cur_char eq $inside_string) { + undef($inside_string); + + } else { + $text .= $cur_char; + + } + } + $pos++; + } +} + sub scanfile { my $file = shift; @@ -262,16 +313,16 @@ sub scanfile { } } - my ($found) = /\$locale->text.*?\W\)/; + my ($found) = /\$locale->text.*?\(/; my $postmatch = $'; if ($found) { - my $string = $&; - $string =~ s/\$locale->text\(\s*[\'\"(q|qq)][\'\/\\\|~]*//; - $string =~ s/\W\)+.*$//; + my $string; + ($string, $_) = extract_text_between_parenthesis($fh, $postmatch); + $postmatch = $_; # if there is no $ in the string record it - unless ($string =~ /\$\D.*/) { + unless (($string =~ /\$\D.*/) || ("" eq $string)) { # this guarantees one instance of string $locale{$string} = 1; diff --git a/locale/de/oe b/locale/de/oe index 2cbec01bc..fe47cc9e0 100644 --- a/locale/de/oe +++ b/locale/de/oe @@ -1,4 +1,6 @@ $self{texts} = { + ' Date missing!' => ' Datum fehlt!', + ' missing!' => ' fehlt!', 'Accounting Menu' => 'Kontoverwaltung', 'Add' => 'Erfassen', 'Add Exchangerate' => 'Wechselkurs erfassen', diff --git a/locale/de/ustva b/locale/de/ustva index 595ad6c71..9989f69a5 100644 --- a/locale/de/ustva +++ b/locale/de/ustva @@ -30,6 +30,11 @@ $self{texts} = { 'Description' => 'Beschreibung', 'ELSTER Export nach Winston' => 'ELSTER Export nach Winston', 'ELSTER-Steuernummer: ' => 'ELSTER-Steuernummer: ', + 'Es fehlen Angaben zur Versteuerung. + Wenn Sie Ist Versteuert sind, wählen Sie die Einnahmen/Überschuß-Rechnung aus. + Sind Sie Soll-Versteuert und Bilanzverpflichtet, dann wählen Sie Bilanz aus.' => 'Es fehlen Angaben zur Versteuerung. + Wenn Sie Ist Versteuert sind, wählen Sie die Einnahmen/Überschuß-Rechnung aus. + Sind Sie Soll-Versteuert und Bilanzverpflichtet, dann wählen Sie Bilanz aus.', 'Fax' => 'Fax', 'Fax. : ' => 'Fax. : ', 'Fax.: ' => 'Fax.: ',