Revision 07d3f9e2
Von Moritz Bunkus vor mehr als 19 Jahren hinzugefügt
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
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.