Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 07d3f9e2

Von Moritz Bunkus vor etwa 19 Jahren hinzugefügt

  • ID 07d3f9e216ae112930a78dafaeef3cb10ee14236
  • Vorgänger 860f3274
  • Nachfolger 23e9c296

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.

Unterschiede anzeigen:

locale/de/admin
39 39
  'Hostname missing!'           => 'Computername fehlt!',
40 40
  'Incorrect Password!'         => 'Ung?ltiges Passwort!',
41 41
  'Language'                    => 'Sprache',
42
  'Leave host and port field empty unless you want to make a remote connection.' => 'F?r lokale Verbindungen "Rechner" und "Port" freilassen.',
42 43
  'Lock System'                 => 'System sperren',
43 44
  'Lockfile created!'           => 'System gesperrt!',
44 45
  'Lockfile removed!'           => 'System entsperrt!',
......
61 62
  'Port missing!'               => 'Portangabe fehlt!',
62 63
  'Printer'                     => 'Drucker',
63 64
  'Save'                        => 'Speichern',
64
  'Setup Menu'                  => 'Setup Menu',
65
  'Setup Menu'                  => 'Men?setup',
65 66
  'Setup Templates'             => 'Vorlagen ausw?hlen',
66 67
  'Signature'                   => 'Unterschrift',
67 68
  'Steuernummer'                => 'Steuernummer',
......
70 71
  'Templates'                   => 'Vorlagen',
71 72
  'The following Datasets are not in use and can be deleted' => 'Die folgenden Datenbanken sind nicht in Verwendung und k?nnen gel?scht werden',
72 73
  'The following Datasets need to be updated' => 'Folgende Datenbanken m?ssen aktualisiert werden',
74
  '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!',
75
  '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.',
73 76
  'Unlock System'               => 'System entsperren',
74 77
  'Update Dataset'              => 'Datenbank aktualisieren',
75 78
  'Use Templates'               => 'benutze Vorlagen',
......
79 82
  'Ust-IDNr'                    => 'USt-IdNr.',
80 83
  'Version'                     => 'Version',
81 84
  'WEBDAV-Zugriff'              => 'WEBDAV-Zugriff',
85
  '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!',
82 86
  'does not exist'              => 'existiert nicht',
83 87
  'is already a member!'        => 'ist bereits ein Mitglied!',
84 88
  'localhost'                   => 'lokaler Rechner',
locale/de/all
4 4
# run locales.pl from this directory to rebuild the translation files
5 5

  
6 6
$self{texts} = {
7
  ' Date missing!'              => ' Datum fehlt!',
8
  ' Number'                     => '',
9
  ' Part Number missing!'       => ' Artikelnummer fehlt!',
10
  ' missing!'                   => ' fehlt!',
7 11
  'AP'                          => 'Einkauf',
8 12
  'AP Aging'                    => 'Offene Verbindlichkeiten',
9 13
  'AP Transaction'              => 'Kreditorenbuchung',
......
27 31
  'Accrual'                     => 'Bilanzierung',
28 32
  'Active'                      => 'Aktiv',
29 33
  'Add'                         => 'Erfassen',
34
  'Add '                        => '',
30 35
  'Add AP Transaction'          => 'Kreditorenbuchung',
31 36
  'Add AR Transaction'          => 'Debitorenbuchung',
32 37
  'Add Account'                 => 'Konto erfassen',
......
270 275
  'ELSTER-Steuernummer: '       => 'ELSTER-Steuernummer: ',
271 276
  'EUR'                         => 'E/?-Rechnung',
272 277
  'Edit'                        => 'Bearbeiten',
278
  'Edit '                       => '',
273 279
  'Edit Account'                => 'Kontodaten bearbeiten',
274 280
  'Edit Accounts Payables Transaction' => 'Kreditorenbuchung bearbeiten',
275 281
  'Edit Accounts Receivables Transaction' => 'Debitorenbuchung bearbeiten',
......
297 303
  'Edit Warehouse'              => 'Lager bearbeiten',
298 304
  'Employee'                    => 'Bearbeiter',
299 305
  'Enforce transaction reversal for all dates' => 'Gegenbuchungen f?r jeden Zeitraum aktualisieren',
306
  '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)',
300 307
  'Equity'                      => 'Passiva',
308
  'Es fehlen Angaben zur Versteuerung.
309
  Wenn Sie Ist Versteuert sind, w?hlen Sie die Einnahmen/?berschu?-Rechnung aus.
310
  Sind Sie Soll-Versteuert und Bilanzverpflichtet, dann w?hlen Sie Bilanz aus.' => '',
301 311
  'Exch'                        => 'Wechselkurs.',
302 312
  'Exchangerate'                => 'Wechselkurs',
303 313
  'Exchangerate Difference'     => 'Wechselkursunterschied',
......
417 427
  'Last Sales Quotation Number' => 'Letzte Angebotsnummer',
418 428
  'Last Service Number'         => 'Letzte Dienstleistungsnr.',
419 429
  'Last Vendor Number'          => 'Letzte Lieferantennummer',
430
  'Leave host and port field empty unless you want to make a remote connection.' => 'F?r lokale Verbindungen "Rechner" und "Port" freilassen.',
420 431
  'Liability'                   => 'Passiva',
421 432
  'License'                     => 'Lizenz',
422 433
  'License key'                 => 'Lizenzschl?ssel',
......
460 471
  'N/A'                         => 'N.Z.',
461 472
  'Name'                        => 'Name',
462 473
  'Name missing!'               => 'Name fehlt!',
463
  'New Account'                 => '',
474
  'New Account'                 => 'Neues Konto',
464 475
  'New Templates'               => 'neue Vorlagen',
465 476
  'No'                          => 'Nein',
466 477
  'No Database Drivers available!' => 'Kein Datenbanktreiber verf?gbar!',
......
632 643
  'Service Items'               => 'Dienstleistungen',
633 644
  'Service Number missing!'     => 'Dienstleistungsnummer fehlt!',
634 645
  'Services'                    => 'Dienstleistungen',
635
  'Setup Menu'                  => '',
646
  'Setup Menu'                  => 'Men?setup',
636 647
  'Setup Templates'             => 'Vorlagen ausw?hlen',
637 648
  'Ship'                        => 'Lagerausgang',
638 649
  'Ship Merchandise'            => 'Waren versenden',
......
690 701
  'The following Datasets are not in use and can be deleted' => 'Die folgenden Datenbanken sind nicht in Verwendung und k?nnen gel?scht werden',
691 702
  'The following Datasets need to be updated' => 'Folgende Datenbanken m?ssen aktualisiert werden',
692 703
  'The licensing module has been deactivated in lx-erp.conf.' => 'Das Lizenzverwaltungsmodul wurde in lx-erp.conf deaktiviert.',
704
  '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!',
693 705
  'Title'                       => 'Titel',
694 706
  'To'                          => 'An',
707
  '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.',
695 708
  'Top 100'                     => 'Top 100',
696 709
  'Top 100 hinzufuegen'         => 'Top 100 hinzuf?gen',
697 710
  'Top Level'                   => 'Hauptartikelbezeichnung',
......
759 772
  'Yes'                         => 'Ja',
760 773
  'You are logged out!'         => 'Auf Wiedersehen!',
761 774
  'You did not enter a name!'   => 'Sie haben keinen Namen eingegeben!',
775
  '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!',
762 776
  'Zeitraum'                    => 'Zeitraum',
763 777
  'Zipcode'                     => 'PLZ',
764 778
  'accrual'                     => 'Bilanzierung (Soll-Versteuerung)',
......
786 800
  'number'                      => 'Nummer',
787 801
  'posted!'                     => 'gebucht',
788 802
  'quarter'                     => 'viertelj?hrliche (quartalsweise) Abgabe',
803
  's'                           => '',
789 804
  'save'                        => 'speichern',
790 805
  'saved'                       => 'gespeichert',
791 806
  'saved!'                      => 'gespeichert',
locale/de/am
64 64
  'Edit Template'               => 'Vorlage bearbeiten',
65 65
  'Edit Warehouse'              => 'Lager bearbeiten',
66 66
  'Enforce transaction reversal for all dates' => 'Gegenbuchungen f?r jeden Zeitraum aktualisieren',
67
  '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)',
67 68
  'Equity'                      => 'Passiva',
68 69
  'Expense'                     => 'Aufwandskonto',
69 70
  'Expense Account'             => 'Aufwandskonto',
......
116 117
  'Salesman'                    => 'Vertreter',
117 118
  'Save'                        => 'Speichern',
118 119
  'Service Items'               => 'Dienstleistungen',
119
  'Setup Menu'                  => 'Setup Menu',
120
  'Setup Menu'                  => 'Men?setup',
120 121
  'Signature'                   => 'Unterschrift',
121 122
  'Standard Industrial Codes'   => 'SIC',
122 123
  'Steuersatz'                  => 'Steuersatz',
locale/de/ct
1 1
$self{texts} = {
2
  ' Number'                     => ' Number',
2 3
  'Abteilung'                   => 'Abteilung',
3 4
  'Account Number'              => 'Kontonummer',
4 5
  'Accounting Menu'             => 'Kontoverwaltung',
......
87 88
  'Vendors'                     => 'Lieferanten',
88 89
  'Zipcode'                     => 'PLZ',
89 90
  'days'                        => 'Tage',
91
  's'                           => 's',
90 92
};
91 93

  
92 94
$self{subs} = {
locale/de/gl
69 69
  'May '                        => 'Mai',
70 70
  'Mitarbeiter'                 => 'Mitarbeiter',
71 71
  'MwSt. inkl.'                 => 'MwSt. inkl.',
72
  'New Account'                 => 'New Account',
72
  'New Account'                 => 'Neues Konto',
73 73
  'Notes'                       => 'Bemerkungen',
74 74
  'Nov'                         => 'Nov',
75 75
  'November'                    => 'November',
......
147 147
  'weiter'                      => 'continue',
148 148
  'l?schen'                     => 'delete',
149 149
  'dialogbuchung'               => 'gl_transaction',
150
  'new_account'                 => 'new_account',
150
  'neues_konto'                 => 'new_account',
151 151
  'buchen'                      => 'post',
152 152
  'neu_buchen'                  => 'post_as_new',
153 153
  'rechnung'                    => 'sales_invoice',
locale/de/ic
1 1
$self{texts} = {
2
  ' Date missing!'              => ' Datum fehlt!',
3
  ' Part Number missing!'       => ' Artikelnummer fehlt!',
2 4
  'Accounting Menu'             => 'Kontoverwaltung',
3 5
  'Active'                      => 'Aktiv',
4 6
  'Add'                         => 'Erfassen',
7
  'Add '                        => 'Add ',
5 8
  'Add Assembly'                => 'Erzeugnis erfassen',
6 9
  'Add Part'                    => 'Ware erfassen',
7 10
  'Add Purchase Order'          => 'Lieferantenauftrag erfassen',
......
44 47
  'E-mail'                      => 'eMail',
45 48
  'E-mail address missing!'     => 'eMailadresse fehlt!',
46 49
  'E-mailed'                    => 'eMail gesendet.',
50
  'Edit '                       => 'Edit ',
47 51
  'Edit Assembly'               => 'Erzeugnis bearbeiten',
48 52
  'Edit Part'                   => 'Ware bearbeiten',
49 53
  'Edit Service'                => 'Dienstleistung bearbeiten',
......
177 181
  'button'                      => '?',
178 182
  'choice'                      => 'ausw?hlen',
179 183
  'choice part'                 => 'Artikel ausw?hlen',
180
  'ea'                          => 'Stk',
181 184
  'emailed to'                  => 'gemailt an',
182 185
  'hr'                          => 'Stunde',
183 186
  'list'                        => 'auflisten',
locale/de/io
1 1
$self{texts} = {
2
  ' Date missing!'              => ' Datum fehlt!',
2 3
  'Add Purchase Order'          => 'Lieferantenauftrag erfassen',
3 4
  'Add Quotation'               => 'Angebot erfassen',
4 5
  'Add Request for Quotation'   => 'Anfrage erfassen',
locale/de/ir
1 1
$self{texts} = {
2
  ' Date missing!'              => ' Datum fehlt!',
2 3
  'Account'                     => 'Konto',
3 4
  'Accounting Menu'             => 'Kontoverwaltung',
4 5
  'Add Purchase Order'          => 'Lieferantenauftrag erfassen',
locale/de/is
1 1
$self{texts} = {
2
  ' Date missing!'              => ' Datum fehlt!',
2 3
  'Account'                     => 'Konto',
3 4
  'Accounting Menu'             => 'Kontoverwaltung',
4 5
  'Add Purchase Order'          => 'Lieferantenauftrag erfassen',
locale/de/locales.pl
212 212

  
213 213
# eom
214 214

  
215
sub extract_text_between_parenthesis {
216
  my ($fh, $line) = @_;
217
  my ($inside_string, $pos, $text, $quote_next) = (undef, 0, "", 0);
218

  
219
  while (1) {
220
    if (length($line) <= $pos) {
221
      $line = <$fh>;
222
      return ($text, "") unless ($line);
223
      $pos = 0;
224
    }
225

  
226
    my $cur_char = substr($line, $pos, 1);
227

  
228
    if (!$inside_string) {
229
      if ((length($line) >= ($pos + 3)) && (substr($line, $pos, 2)) eq "qq") {
230
        $inside_string = substr($line, $pos + 2, 1);
231
        $pos += 2;
232

  
233
      } elsif ((length($line) >= ($pos + 2)) &&
234
               (substr($line, $pos, 1) eq "q")) {
235
        $inside_string = substr($line, $pos + 1, 1);
236
        $pos++;
237

  
238
      } elsif (($cur_char eq '"') || ($cur_char eq '\'')) {
239
        $inside_string = $cur_char;
240

  
241
      } elsif ($cur_char eq ")") {
242
        return ($text, substr($line, $pos + 1));
243
      }
244

  
245
    } else {
246
      if ($quote_next) {
247
        $text .= $cur_char;
248
        $quote_next = 0;
249

  
250
      } elsif ($cur_char eq '\\') {
251
        $text .= $cur_char;
252
        $quote_next = 1;
253

  
254
      } elsif ($cur_char eq $inside_string) {
255
        undef($inside_string);
256

  
257
      } else {
258
        $text .= $cur_char;
259

  
260
      }
261
    }
262
    $pos++;
263
  }
264
}
265

  
215 266
sub scanfile {
216 267
  my $file = shift;
217 268

  
......
262 313
        }
263 314
      }
264 315

  
265
      my ($found) = /\$locale->text.*?\W\)/;
316
      my ($found) = /\$locale->text.*?\(/;
266 317
      my $postmatch = $';
267 318

  
268 319
      if ($found) {
269
        my $string = $&;
270
        $string =~ s/\$locale->text\(\s*[\'\"(q|qq)][\'\/\\\|~]*//;
271
        $string =~ s/\W\)+.*$//;
320
        my $string;
321
        ($string, $_) = extract_text_between_parenthesis($fh, $postmatch);
322
        $postmatch = $_;
272 323

  
273 324
        # if there is no $ in the string record it
274
        unless ($string =~ /\$\D.*/) {
325
        unless (($string =~ /\$\D.*/) || ("" eq $string)) {
275 326

  
276 327
          # this guarantees one instance of string
277 328
          $locale{$string} = 1;
locale/de/oe
1 1
$self{texts} = {
2
  ' Date missing!'              => ' Datum fehlt!',
3
  ' missing!'                   => ' fehlt!',
2 4
  'Accounting Menu'             => 'Kontoverwaltung',
3 5
  'Add'                         => 'Erfassen',
4 6
  'Add Exchangerate'            => 'Wechselkurs erfassen',
locale/de/ustva
30 30
  'Description'                 => 'Beschreibung',
31 31
  'ELSTER Export nach Winston'  => 'ELSTER Export nach Winston',
32 32
  'ELSTER-Steuernummer: '       => 'ELSTER-Steuernummer: ',
33
  'Es fehlen Angaben zur Versteuerung.
34
  Wenn Sie Ist Versteuert sind, w?hlen Sie die Einnahmen/?berschu?-Rechnung aus.
35
  Sind Sie Soll-Versteuert und Bilanzverpflichtet, dann w?hlen Sie Bilanz aus.' => 'Es fehlen Angaben zur Versteuerung.
36
  Wenn Sie Ist Versteuert sind, w?hlen Sie die Einnahmen/?berschu?-Rechnung aus.
37
  Sind Sie Soll-Versteuert und Bilanzverpflichtet, dann w?hlen Sie Bilanz aus.',
33 38
  'Fax'                         => 'Fax',
34 39
  'Fax. : '                     => 'Fax. : ',
35 40
  'Fax.: '                      => 'Fax.: ',

Auch abrufbar als: Unified diff