use Time::HiRes qw(gettimeofday);
+use vars qw(@db_encodings %db_encoding_to_charset);
+
+@db_encodings = (
+ { "label" => "ASCII", "dbencoding" => "SQL_ASCII", "charset" => "ASCII" },
+ { "label" => "UTF-8 Unicode", "dbencoding" => "UNICODE", "charset" => "UTF-8" },
+ { "label" => "ISO 8859-1", "dbencoding" => "LATIN1", "charset" => "ISO-8859-1" },
+ { "label" => "ISO 8859-2", "dbencoding" => "LATIN2", "charset" => "ISO-8859-2" },
+ { "label" => "ISO 8859-3", "dbencoding" => "LATIN3", "charset" => "ISO-8859-3" },
+ { "label" => "ISO 8859-4", "dbencoding" => "LATIN4", "charset" => "ISO-8859-4" },
+ { "label" => "ISO 8859-5", "dbencoding" => "LATIN5", "charset" => "ISO-8859-5" },
+ { "label" => "ISO 8859-15", "dbencoding" => "LATIN9", "charset" => "ISO-8859-15" },
+ { "label" => "KOI8-R", "dbencoding" => "KOI8", "charset" => "KOI8-R" },
+ { "label" => "Windows CP1251", "dbencoding" => "WIN", "charset" => "CP1251" },
+ { "label" => "Windows CP866", "dbencoding" => "ALT", "charset" => "CP866" },
+);
+
+%db_encoding_to_charset = map { $_->{dbencoding}, $_->{charset} } @db_encodings;
+
+use constant DEFAULT_CHARSET => 'ISO-8859-15';
+
sub unique_id {
my ($a, $b) = gettimeofday();
return "${a}-${b}-${$}";
package SL::DBUpgrade2;
+use SL::Common;
+
require Exporter;
@ISA = qw(Exporter);
}
}
+ $control->{charset} ||= Common::DEFAULT_CHARSET;
+
_control_error($form, $file_name,
$locale->text("Missing 'tag' field."))
unless ($control->{"tag"});
use SL::DBUtils;
use SL::Menu;
use SL::User;
+use SL::Common;
use CGI;
sub _input_to_hash {
return;
}
- my ($stylesheet, $favicon, $charset);
+ my ($stylesheet, $favicon);
if ($ENV{HTTP_USER_AGENT}) {
|;
}
- if ($self->{charset}) {
- $charset =
- qq|<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=$self->{charset}">
- |;
- }
+ my $db_charset = $main::dbcharset ? $main::dbcharset : Common::DEFAULT_CHARSET;
+
if ($self->{landscape}) {
$pagelayout = qq|<style type="text/css">
\@page { size:landscape; }
foreach $item (@ { $self->{AJAX} }) {
$ajax .= $item->show_javascript();
}
- print qq|Content-Type: text/html; charset=$self->{charset};
+ print qq|Content-Type: text/html; charset=${db_charset};
<html>
<head>
$stylesheet
$pagelayout
$favicon
- $charset
+ <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=${db_charset}">
$jsscript
$ajax
my $mail = new Mailer;
map { $mail->{$_} = $self->{$_} }
- qw(cc bcc subject message version format charset);
+ qw(cc bcc subject message version format);
+ $mail->{charset} = $main::dbcharset ? $main::dbcharset : Common::DEFAULT_CHARSET;
$mail->{to} = $self->{EMAIL_RECIPIENT} ? $self->{EMAIL_RECIPIENT} : $self->{email};
$mail->{from} = qq|"$myconfig->{name}" <$myconfig->{email}>|;
$mail->{fileid} = "$fileid.";
package Locale;
+use Text::Iconv;
+
use SL::LXDebug;
+use SL::Common;
sub new {
$main::lxdebug->enter_sub();
eval($code);
close(IN);
}
+
+ if (open IN, "<", "locale/$country/charset") {
+ $self->{charset} = <IN>;
+ close IN;
+
+ chomp $self->{charset};
+
+ } else {
+ $self->{charset} = Common::DEFAULT_CHARSET;
+ }
+
+ my $db_charset = $main::dbcharset;
+ $db_charset ||= Common::DEFAULT_CHARSET;
+ $self->{iconv} = Text::Iconv->new($self->{charset}, $db_charset);
+ $self->{iconv_english} = Text::Iconv->new("ASCII", $db_charset);
}
$self->{NLS_file} = $NLS_file;
sub text {
my ($self, $text) = @_;
- return (exists $self->{texts}{$text}) ? $self->{texts}{$text} : $text;
+ if (exists $self->{texts}->{$text}) {
+ return $self->{iconv}->convert($self->{texts}->{$text});
+ }
+
+ return $self->{iconv_english}->convert($text);
}
sub findsub {
package Mailer;
+use SL::Common;
+
sub new {
$main::lxdebug->enter_sub();
$domain =~ s/(.*?\@|>)//g;
my $msgid = "$boundary\@$domain";
- $self->{charset} = "ISO-8859-15" unless $self->{charset};
+ $self->{charset} = Common::DEFAULT_CHARSET unless $self->{charset};
if ($out) {
if (!open(OUT, $out)) {
package User;
+use IO::File;
+use Fcntl qw(:seek);
+use Text::Iconv;
+
use SL::DBUpgrade2;
use SL::DBUtils;
$dbh = DBI->connect($form->{dbconnect}, $form->{dbuser}, $form->{dbpasswd})
or $form->dberror;
+ my $db_charset = $Common::db_encoding_to_charset{$form->{encoding}};
+ $db_charset ||= Common::DEFAULT_CHARSET;
+
# create the tables
- my $filename = qq|sql/lx-office.sql|;
- $self->process_query($form, $dbh, $filename);
+ $self->process_query($form, $dbh, "sql/lx-office.sql", undef, $db_charset);
# load chart of accounts
- $filename = qq|sql/$form->{chart}-chart.sql|;
- $self->process_query($form, $dbh, $filename);
+ $self->process_query($form, $dbh, "sql/$form->{chart}-chart.sql", undef, $db_charset);
$query = "UPDATE defaults SET coa = ?";
do_query($form, $dbh, $query, $form->{chart});
sub process_perl_script {
$main::lxdebug->enter_sub();
- my ($self, $form, $dbh, $filename, $version_or_control) = @_;
+ my ($self, $form, $dbh, $filename, $version_or_control, $db_charset) = @_;
- open(FH, "$filename") or $form->error("$filename : $!\n");
- my $contents = join("", <FH>);
- close(FH);
+ my $fh = IO::File->new($filename, "r") or $form->error("$filename : $!\n");
+
+ my $file_charset = Common::DEFAULT_CHARSET;
+
+ if (ref($version_or_control) eq "HASH") {
+ $file_charset = $version_or_control->{charset};
+
+ } else {
+ while (<$fh>) {
+ last if !/^--/;
+ next if !/^--\s*\@charset:\s*(.+)/;
+ $file_charset = $1;
+ last;
+ }
+ $fh->seek(0, SEEK_SET);
+ }
+
+ my $contents = join "", <$fh>;
+ $fh->close();
+
+ $db_charset ||= Common::DEFAULT_CHARSET;
+
+ my $iconv = Text::Iconv->new($file_charset, $db_charset);
$dbh->begin_work();
sub process_query {
$main::lxdebug->enter_sub();
- my ($self, $form, $dbh, $filename, $version_or_control) = @_;
+ my ($self, $form, $dbh, $filename, $version_or_control, $db_charset) = @_;
- open(FH, "$filename") or $form->error("$filename : $!\n");
+ my $fh = IO::File->new($filename, "r") or $form->error("$filename : $!\n");
my $query = "";
my $sth;
my @quote_chars;
+ my $file_charset = Common::DEFAULT_CHARSET;
+ while (<$fh>) {
+ last if !/^--/;
+ next if !/^--\s*\@charset:\s*(.+)/;
+ $file_charset = $1;
+ last;
+ }
+ $fh->seek(0, SEEK_SET);
+
+ $db_charset ||= Common::DEFAULT_CHARSET;
+
+ my $iconv = Text::Iconv->new($file_charset, $db_charset);
+
$dbh->begin_work();
- while (<FH>) {
+ while (<$fh>) {
+ $_ = $iconv->convert($_);
# Remove DOS and Unix style line endings.
chomp;
}
$dbh->commit();
- close FH;
+ $fh->close();
$main::lxdebug->leave_sub();
}
closedir(SQLDIR);
}
+ my $db_charset = $main::dbcharset;
+ $db_charset ||= Common::DEFAULT_CHARSET;
+
foreach my $db (split(/ /, $form->{dbupdate})) {
next unless $form->{$db};
$main::lxdebug->message(DEBUG2, "Applying Update $upgradescript");
if ($file_type eq "sql") {
$self->process_query($form, $dbh, "sql/" . $form->{"dbdriver"} .
- "-upgrade/$upgradescript", $str_maxdb);
+ "-upgrade/$upgradescript", $str_maxdb, $db_charset);
} else {
$self->process_perl_script($form, $dbh, "sql/" . $form->{"dbdriver"} .
- "-upgrade/$upgradescript", $str_maxdb);
+ "-upgrade/$upgradescript", $str_maxdb, $db_charset);
}
$version = $maxdb;
@upgradescripts = sort_dbupdate_controls($controls);
+ my $db_charset = $main::dbcharset;
+ $db_charset ||= Common::DEFAULT_CHARSET;
+
+ my %converters;
+
foreach my $db (split / /, $form->{dbupdate}) {
next unless $form->{$db};
foreach my $control (@upgradescripts) {
next if ($control->{"applied"});
+ if (!$converters{$control->{charset}}) {
+ $converters{$control->{charset}} = Text::Iconv->new($control->{charset}, $db_charset);
+ }
+ $control->{description} = $converters{$control->{charset}}->convert($control->{description});
+
$control->{"file"} =~ /\.(sql|pl)$/;
my $file_type = $1;
if ($file_type eq "sql") {
$self->process_query($form, $dbh, "sql/" . $form->{"dbdriver"} .
- "-upgrade2/$control->{file}", $control);
+ "-upgrade2/$control->{file}", $control, $db_charset);
} else {
$self->process_perl_script($form, $dbh, "sql/" . $form->{"dbdriver"} .
- "-upgrade2/$control->{file}", $control);
+ "-upgrade2/$control->{file}", $control, $db_charset);
}
}
sub config_vars {
$main::lxdebug->enter_sub();
- my @conf = qw(acs address admin businessnumber charset company countrycode
+ my @conf = qw(acs address admin businessnumber company countrycode
currency dateformat dbconnect dbdriver dbhost dbport dboptions
dbname dbuser dbpasswd email fax name numberformat password
printer role sid signature stylesheet tel templates vclimit angebote
$menufile = "menu.ini";
use DBI;
+use CGI;
+
use SL::Form;
use SL::User;
+use SL::Common;
require "bin/mozilla/common.pl";
+our $cgi = new CGI('');
+
$form = new Form;
$form->{"root"} = "root login";
<th align=right>| . $locale->text('Language') . qq|</th>
<td><select name=countrycode>$countrycodes</select></td>
</tr>
- <tr>
- <th align=right>| . $locale->text('Character Set') . qq|</th>
- <td><input name=charset value="$myconfig->{charset}"></td>
- </tr>
<tr>
<th align=right>| . $locale->text('Stylesheet') . qq|</th>
<td><select name=userstylesheet>$selectstylesheet</select></td>
}
closedir SQLDIR;
- $selectencoding = qq|<option>
- <option value="SQL_ASCII">ASCII
- <option value="EUC_JP">Japanese Extended UNIX Code
- <option value="EUC_CN">Chinese Extended UNIX Code
- <option value="EUC_KR">Korean Extended UNIX Code
- <option value="EUC_TW">Taiwan Extended UNIX Code
- <option value="UNICODE">UTF-8 Unicode
- <option value="MULE_INTERNAL">Mule internal type
- <option selected="selected" value="LATIN1">ISO 8859-1
- <option value="LATIN2">ISO 8859-2
- <option value="LATIN3">ISO 8859-3
- <option value="LATIN4">ISO 8859-4
- <option value="LATIN5">ISO 8859-5
- <option value="LATIN9">ISO 8859-15
- <option value="KOI8">KOI8-R
- <option value="WIN">Windows CP1251
- <option value="ALT">Windows CP866
- |;
+ my (@values, %labels);
+
+ my $default_charset = $dbcharset;
+ $default_charset ||= Common::DEFAULT_CHARSET;
+ my $default_encoding;
+
+ foreach my $encoding (@Common::db_encodings) {
+ push @values, $encoding->{dbencoding};
+ $labels{$encoding->{dbencoding}} = $encoding->{label};
+
+ $default_encoding = $encoding->{dbencoding} if $encoding->{charset} eq $default_charset;
+ }
+
+ $selectencoding =
+ NTI($cgi->popup_menu('-name' => 'encoding',
+ '-values' => \@values,
+ '-labels' => \%labels,
+ '-default' => $default_encoding));
$form->{title} =
"Lx-Office ERP "
<tr>
<th align=right nowrap>| . $locale->text('Multibyte Encoding') . qq|</th>
- <td><select name=encoding>$selectencoding</select></td>
+ <td>$selectencoding</td>
</tr>
$myconfig{address} =~ s/\\n/<br>/g;
$myconfig{dbhost} = $locale->text('localhost') unless $myconfig{dbhost};
- map { $form->{$_} = $myconfig{$_} } qw(charset stylesheet);
+ $form->{stylesheet} = $myconfig{stylesheet};
$form->{title} = $locale->text('About');
'All Datasets up to date!' => 'Alle Datenbanken sind auf aktuellem Stand.',
'Attempt to call an undefined sub named \'%s\'' => 'Es wurde versucht, eine nicht definierte Unterfunktion namens \'%s\' aufzurufen.',
'Back' => 'Zurück',
+ 'Bin List' => 'Lagerliste',
'CANCELED' => 'Storniert',
'Cannot create Lock!' => 'System kann nicht gesperrt werden!',
'Change Admin Password' => 'Administratorpasswort ändern',
'Change Password' => 'Passwort ändern',
- 'Character Set' => 'Zeichensatz',
'Click on login name to edit!' => 'Zum Bearbeiten den Zugriffsnamen anklicken!',
'Company' => 'Firma',
+ 'Confirmation' => 'Auftragsbestätigung',
'Connect to' => 'Als Vorlage verwenden',
'Continue' => 'Weiter',
'Create Chart of Accounts' => 'Kontenplan anlegen',
'Create Dataset' => 'Datenbank anlegen',
+ 'Credit Note' => 'Gutschrift',
'Customer Number' => 'Kundennummer',
'DELETED' => 'Gelöscht',
'DUNNING STARTED' => 'Mahnprozess gestartet',
'Host' => 'Datenbankcomputer',
'Hostname missing!' => 'Computername fehlt!',
'Incorrect Password!' => 'Ungültiges Passwort!',
+ 'Invoice' => 'Rechnung',
'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',
'POSTED' => 'Gebucht',
'POSTED AS NEW' => 'Als neu gebucht',
'PRINTED' => 'Gedruckt',
+ 'Packing List' => 'Lieferschein',
'Part Number' => 'Artikelnummer',
'Part description' => 'Artikelbeschreibung',
'Password' => 'Passwort',
'Password changed!' => 'Passwort geändert!',
'Pg Database Administration' => 'Datenbankadministration',
'Phone' => 'Telefon',
+ 'Pick List' => 'Sammelliste',
'Please enter values' => 'Bitte Werte eingeben',
'Port' => 'Port',
'Port missing!' => 'Portangabe fehlt!',
'Printer' => 'Drucker',
+ 'Proforma Invoice' => 'Proformarechnung',
'Project Number' => 'Projektnummer',
'Project description' => 'Projektbeschreibung',
+ 'Purchase Order' => 'Lieferantenauftrag',
+ 'Quotation' => 'Angebot',
+ 'RFQ' => 'Anfrage',
'Repeat the password' => 'Passwort wiederholen',
'SAVED' => 'Gespeichert',
'SAVED FOR DUNNING' => 'Gespeichert',
'Setup Menu' => 'Menüsetup',
'Setup Templates' => 'Vorlagen auswählen',
'Signature' => 'Unterschrift',
+ 'Storno Invoice' => 'Stornorechnung',
+ 'Storno Packing List' => 'Stornolieferschein',
'Stylesheet' => 'Stilvorlage',
'Supervisor' => 'Supervisor',
'Tax number' => 'Steuernummer',
'Cc' => 'Cc',
'Change Admin Password' => 'Administratorpasswort ändern',
'Change Password' => 'Passwort ändern',
- 'Character Set' => 'Zeichensatz',
'Chart Type' => 'Kontentyp',
'Chart of Accounts' => 'Kontenübersicht',
'Chart of accounts' => 'Kontenrahmen',
'Aufwand EU o. UStId' => 'Aufwand EU o. UStId',
'Aufwand Inland' => 'Aufwand Inland',
'Bestandskonto' => 'Bestandskonto',
+ 'Bin List' => 'Lagerliste',
'Books are open' => 'Die Bücher sind geöffnet.',
'Buchungsgruppe' => 'Buchungsgruppe',
'Buchungsgruppe bearbeiten' => 'Buchungsgruppe bearbeiten',
'Chart of Accounts' => 'Kontenübersicht',
'Close Books up to' => 'Die Bücher abschließen bis zum',
'Company' => 'Firma',
+ 'Confirmation' => 'Auftragsbestätigung',
'Continue' => 'Weiter',
'Cost Center' => 'Kostenstelle',
'Costs' => 'Kosten',
+ 'Credit Note' => 'Gutschrift',
'Customer Number' => 'Kundennummer',
'Customernumberinit' => 'Kunden-/Lieferantennummernkreis',
'DELETED' => 'Gelöscht',
'History Search' => 'Historien Suche',
'Inventory' => 'Inventar',
'Inventory Account' => 'Warenbestand',
+ 'Invoice' => 'Rechnung',
'Language' => 'Sprache',
'Language deleted!' => 'Sprache gelöscht!',
'Language missing!' => 'Sprache fehlt!',
'POSTED' => 'Gebucht',
'POSTED AS NEW' => 'Als neu gebucht',
'PRINTED' => 'Gedruckt',
+ 'Packing List' => 'Lieferschein',
'Part Number' => 'Artikelnummer',
'Part description' => 'Artikelbeschreibung',
'Password' => 'Passwort',
'Payment Terms saved!' => 'Zahlungskonditionen gespeichert!',
'Payment terms deleted!' => 'Zahlungskonditionen gelöscht!',
'Phone' => 'Telefon',
+ 'Pick List' => 'Sammelliste',
'Please enter values' => 'Bitte Werte eingeben',
'Postscript' => 'Postscript',
'Preferences saved!' => 'Einstellungen gespeichert!',
'Printer deleted!' => 'Drucker gelöscht!',
'Printer saved!' => 'Drucker gespeichert!',
'Profit Center' => 'Erfolgsbereich',
+ 'Proforma Invoice' => 'Proformarechnung',
'Project Number' => 'Projektnummer',
'Project description' => 'Projektbeschreibung',
+ 'Purchase Order' => 'Lieferantenauftrag',
'Queue' => 'Warteschlange',
+ 'Quotation' => 'Angebot',
+ 'RFQ' => 'Anfrage',
'Rate' => 'Rate',
'Revenue' => 'Erlöskonto',
'Revenue Account' => 'Erlöskonto',
'Signature' => 'Unterschrift',
'Skonto' => 'Skonto',
'Skonto Terms' => 'Zahlungsziel Skonto',
+ 'Storno Invoice' => 'Stornorechnung',
+ 'Storno Packing List' => 'Stornolieferschein',
'Stylesheet' => 'Stilvorlage',
'Tax Accounts' => 'Steuerkonto',
'Tax-o-matic Account' => 'Automatikbuchung auf Konto',
'Attempt to call an undefined sub named \'%s\'' => 'Es wurde versucht, eine nicht definierte Unterfunktion namens \'%s\' aufzurufen.',
'Aug' => 'Aug',
'August' => 'August',
+ 'Bin List' => 'Lagerliste',
'Bis' => 'bis',
'CANCELED' => 'Storniert',
'Cannot delete transaction!' => 'Buchung kann nicht gelöscht werden!',
'Cannot post transaction!' => 'Rechnung kann nicht gebucht werden!',
'Closed' => 'Geschlossen',
'Confirm!' => 'Bestätigen Sie!',
+ 'Confirmation' => 'Auftragsbestätigung',
'Continue' => 'Weiter',
'Credit Limit' => 'Kreditlimit',
+ 'Credit Note' => 'Gutschrift',
'Currency' => 'Währung',
'Customer Number' => 'Kundennummer',
'Customer not on file or locked!' => 'Dieser Kunde existiert nicht oder ist gesperrt.',
'POSTED' => 'Gebucht',
'POSTED AS NEW' => 'Als neu gebucht',
'PRINTED' => 'Gedruckt',
+ 'Packing List' => 'Lieferschein',
'Paid' => 'bezahlt',
'Part Number' => 'Artikelnummer',
'Part description' => 'Artikelbeschreibung',
'Payment date missing!' => 'Tag der Zahlung fehlt!',
'Payments' => 'Zahlungsausgänge',
+ 'Pick List' => 'Sammelliste',
'Please enter values' => 'Bitte Werte eingeben',
'Post' => 'Buchen',
'Post Payment' => 'Zahlung buchen',
+ 'Proforma Invoice' => 'Proformarechnung',
'Project' => 'Projekt',
'Project Number' => 'Projektnummer',
'Project description' => 'Projektbeschreibung',
'Project not on file!' => 'Dieses Projekt ist nicht in der Datenbank!',
+ 'Purchase Order' => 'Lieferantenauftrag',
+ 'Quotation' => 'Angebot',
+ 'RFQ' => 'Anfrage',
'Remaining' => 'Rest',
'Remove draft when posting' => 'Entwurf beim Buchen löschen',
'SAVED' => 'Gespeichert',
'September' => 'September',
'Skip' => 'Überspringen',
'Source' => 'Beleg',
+ 'Storno Invoice' => 'Stornorechnung',
+ 'Storno Packing List' => 'Stornolieferschein',
'Subtotal' => 'Zwischensumme',
'Tax' => 'Steuer',
'Tax Included' => 'Steuer im Preis inbegriffen',
'Attempt to call an undefined sub named \'%s\'' => 'Es wurde versucht, eine nicht definierte Unterfunktion namens \'%s\' aufzurufen.',
'Aug' => 'Aug',
'August' => 'August',
+ 'Bin List' => 'Lagerliste',
'Bis' => 'bis',
'CANCELED' => 'Storniert',
'Cannot delete transaction!' => 'Buchung kann nicht gelöscht werden!',
'Cannot post transaction!' => 'Rechnung kann nicht gebucht werden!',
'Closed' => 'Geschlossen',
'Confirm!' => 'Bestätigen Sie!',
+ 'Confirmation' => 'Auftragsbestätigung',
'Continue' => 'Weiter',
'Credit Limit' => 'Kreditlimit',
+ 'Credit Note' => 'Gutschrift',
'Credit note (one letter abbreviation)' => 'G',
'Currency' => 'Währung',
'Customer' => 'Kunde',
'POSTED' => 'Gebucht',
'POSTED AS NEW' => 'Als neu gebucht',
'PRINTED' => 'Gedruckt',
+ 'Packing List' => 'Lieferschein',
'Paid' => 'bezahlt',
'Part Number' => 'Artikelnummer',
'Part description' => 'Artikelbeschreibung',
'Payment date missing!' => 'Tag der Zahlung fehlt!',
+ 'Pick List' => 'Sammelliste',
'Please enter values' => 'Bitte Werte eingeben',
'Post' => 'Buchen',
'Post Payment' => 'Zahlung buchen',
+ 'Proforma Invoice' => 'Proformarechnung',
'Project' => 'Projekt',
'Project Number' => 'Projektnummer',
'Project description' => 'Projektbeschreibung',
'Project not on file!' => 'Dieses Projekt ist nicht in der Datenbank!',
+ 'Purchase Order' => 'Lieferantenauftrag',
+ 'Quotation' => 'Angebot',
+ 'RFQ' => 'Anfrage',
'Remaining' => 'Rest',
'Remove draft when posting' => 'Entwurf beim Buchen löschen',
'SAVED' => 'Gespeichert',
'Skip' => 'Überspringen',
'Source' => 'Beleg',
'Storno (one letter abbreviation)' => 'S',
+ 'Storno Invoice' => 'Stornorechnung',
+ 'Storno Packing List' => 'Stornolieferschein',
'Subtotal' => 'Zwischensumme',
'Tax' => 'Steuer',
'Tax Included' => 'Steuer im Preis inbegriffen',
'ADDED' => 'Hinzugefügt',
'Address' => 'Adresse',
'Attempt to call an undefined sub named \'%s\'' => 'Es wurde versucht, eine nicht definierte Unterfunktion namens \'%s\' aufzurufen.',
+ 'Bin List' => 'Lagerliste',
'CANCELED' => 'Storniert',
+ 'Confirmation' => 'Auftragsbestätigung',
'Continue' => 'Weiter',
+ 'Credit Note' => 'Gutschrift',
'Customer Number' => 'Kundennummer',
'Customer not on file or locked!' => 'Dieser Kunde existiert nicht oder ist gesperrt.',
'Customer not on file!' => 'Kunde ist nicht in der Datenbank!',
'Enter longdescription' => 'Langtext eingeben',
'Error in database control file \'%s\': %s' => 'Fehler in Datenbankupgradekontrolldatei \'%s\': %s',
'History' => 'Historie',
+ 'Invoice' => 'Rechnung',
'MAILED' => 'Gesendet',
'Missing \'description\' field.' => 'Fehlendes Feld \'description\'.',
'Missing \'tag\' field.' => 'Fehlendes Feld \'tag\'.',
'POSTED' => 'Gebucht',
'POSTED AS NEW' => 'Als neu gebucht',
'PRINTED' => 'Gedruckt',
+ 'Packing List' => 'Lieferschein',
'Part Number' => 'Artikelnummer',
'Part description' => 'Artikelbeschreibung',
+ 'Pick List' => 'Sammelliste',
'Please enter values' => 'Bitte Werte eingeben',
+ 'Proforma Invoice' => 'Proformarechnung',
'Project Number' => 'Projektnummer',
'Project description' => 'Projektbeschreibung',
'Project not on file!' => 'Dieses Projekt ist nicht in der Datenbank!',
+ 'Purchase Order' => 'Lieferantenauftrag',
+ 'Quotation' => 'Angebot',
+ 'RFQ' => 'Anfrage',
'SAVED' => 'Gespeichert',
'SAVED FOR DUNNING' => 'Gespeichert',
'SCREENED' => 'Angezeigt',
'Select an employee' => 'Angestellten auswählen',
'Select from one of the names below' => 'Wählen Sie einen der untenstehenden Namen',
'Select from one of the projects below' => 'Wählen Sie eines der untenstehenden Projekte',
+ 'Storno Invoice' => 'Stornorechnung',
+ 'Storno Packing List' => 'Stornolieferschein',
'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'Das Feld \'tag\' darf nur aus alphanumerischen Zeichen und den Zeichen - _ ( ) bestehen.',
'Trying to call a sub without a name' => 'Es wurde versucht, eine Unterfunktion ohne Namen aufzurufen.',
'Unit' => 'Einheit',
'Address' => 'Adresse',
'Are you sure you want to remove the marked entries from the queue?' => 'Sind Sie sicher, dass die markierten Einträge von der Warteschlange gelöscht werden sollen?',
'Attempt to call an undefined sub named \'%s\'' => 'Es wurde versucht, eine nicht definierte Unterfunktion namens \'%s\' aufzurufen.',
+ 'Bin List' => 'Lagerliste',
'Bis' => 'bis',
'CANCELED' => 'Storniert',
'Cannot remove files!' => 'Dateien können nicht gelöscht werden!',
'Checks' => 'Schecks',
'Confirm!' => 'Bestätigen Sie!',
+ 'Confirmation' => 'Auftragsbestätigung',
'Continue' => 'Weiter',
+ 'Credit Note' => 'Gutschrift',
'Customer' => 'Kunde',
'Customer Number' => 'Kundennummer',
'DELETED' => 'Gelöscht',
'POSTED' => 'Gebucht',
'POSTED AS NEW' => 'Als neu gebucht',
'PRINTED' => 'Gedruckt',
+ 'Packing List' => 'Lieferschein',
'Packing Lists' => 'Lieferschein',
'Part Number' => 'Artikelnummer',
'Part description' => 'Artikelbeschreibung',
+ 'Pick List' => 'Sammelliste',
'Please enter values' => 'Bitte Werte eingeben',
'Print' => 'Drucken',
'Printing ... ' => 'Es wird gedruckt.',
+ 'Proforma Invoice' => 'Proformarechnung',
'Project Number' => 'Projektnummer',
'Project description' => 'Projektbeschreibung',
+ 'Purchase Order' => 'Lieferantenauftrag',
'Purchase Orders' => 'Lieferantenaufträge',
'Quotation' => 'Angebot',
'Quotation Number' => 'Angebotsnummer',
'Quotations' => 'Angebote',
+ 'RFQ' => 'Anfrage',
'RFQs' => 'Anfragen',
'Receipts' => 'Zahlungseingänge',
'Reference' => 'Referenz',
'Select all' => 'Alle auswählen',
'Select an employee' => 'Angestellten auswählen',
'Spoolfile' => 'Druckdatei',
+ 'Storno Invoice' => 'Stornorechnung',
+ 'Storno Packing List' => 'Stornolieferschein',
'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'Das Feld \'tag\' darf nur aus alphanumerischen Zeichen und den Zeichen - _ ( ) bestehen.',
'To' => 'An',
'Trying to call a sub without a name' => 'Es wurde versucht, eine Unterfunktion ohne Namen aufzurufen.',
--- /dev/null
+ISO-8859-15
'ADDED' => 'Hinzugefügt',
'Address' => 'Adresse',
'Attempt to call an undefined sub named \'%s\'' => 'Es wurde versucht, eine nicht definierte Unterfunktion namens \'%s\' aufzurufen.',
+ 'Bin List' => 'Lagerliste',
'CANCELED' => 'Storniert',
+ 'Confirmation' => 'Auftragsbestätigung',
+ 'Credit Note' => 'Gutschrift',
'Customer Number' => 'Kundennummer',
'DELETED' => 'Gelöscht',
'DUNNING STARTED' => 'Mahnprozess gestartet',
'Enter longdescription' => 'Langtext eingeben',
'Error in database control file \'%s\': %s' => 'Fehler in Datenbankupgradekontrolldatei \'%s\': %s',
'History' => 'Historie',
+ 'Invoice' => 'Rechnung',
'MAILED' => 'Gesendet',
'Missing \'description\' field.' => 'Fehlendes Feld \'description\'.',
'Missing \'tag\' field.' => 'Fehlendes Feld \'tag\'.',
'POSTED' => 'Gebucht',
'POSTED AS NEW' => 'Als neu gebucht',
'PRINTED' => 'Gedruckt',
+ 'Packing List' => 'Lieferschein',
'Part Number' => 'Artikelnummer',
'Part description' => 'Artikelbeschreibung',
+ 'Pick List' => 'Sammelliste',
'Please enter values' => 'Bitte Werte eingeben',
+ 'Proforma Invoice' => 'Proformarechnung',
'Project Number' => 'Projektnummer',
'Project description' => 'Projektbeschreibung',
+ 'Purchase Order' => 'Lieferantenauftrag',
+ 'Quotation' => 'Angebot',
+ 'RFQ' => 'Anfrage',
'SAVED' => 'Gespeichert',
'SAVED FOR DUNNING' => 'Gespeichert',
'SCREENED' => 'Angezeigt',
'Select a part' => 'Artikel auswählen',
'Select a project' => 'Projekt auswählen',
'Select an employee' => 'Angestellten auswählen',
+ 'Storno Invoice' => 'Stornorechnung',
+ 'Storno Packing List' => 'Stornolieferschein',
'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'Das Feld \'tag\' darf nur aus alphanumerischen Zeichen und den Zeichen - _ ( ) bestehen.',
'Trying to call a sub without a name' => 'Es wurde versucht, eine Unterfunktion ohne Namen aufzurufen.',
'Unit' => 'Einheit',
'All' => 'Alle',
'Amount' => 'Betrag',
'Attempt to call an undefined sub named \'%s\'' => 'Es wurde versucht, eine nicht definierte Unterfunktion namens \'%s\' aufzurufen.',
+ 'Bin List' => 'Lagerliste',
'CANCELED' => 'Storniert',
'Cannot post Payment!' => 'Zahlung kann nicht gebucht werden!',
'Cannot post Receipt!' => 'Beleg kann nicht gebucht werden!',
'Cannot post payment!' => 'Zahlung kann nicht gebucht werden!',
'Cannot process payment for a closed period!' => 'Es kann keine Zahlung in einem abgeschlossenen Zeitraum verbucht werden!',
+ 'Confirmation' => 'Auftragsbestätigung',
'Continue' => 'Weiter',
+ 'Credit Note' => 'Gutschrift',
'Currency' => 'Währung',
'Customer' => 'Kunde',
'Customer Number' => 'Kundennummer',
'POSTED' => 'Gebucht',
'POSTED AS NEW' => 'Als neu gebucht',
'PRINTED' => 'Gedruckt',
+ 'Packing List' => 'Lieferschein',
'Part Number' => 'Artikelnummer',
'Part description' => 'Artikelbeschreibung',
'Payment' => 'Zahlungsausgang',
'Payment posted!' => 'Zahlung gebucht!',
+ 'Pick List' => 'Sammelliste',
'Please enter values' => 'Bitte Werte eingeben',
'Post' => 'Buchen',
'Postscript' => 'Postscript',
'Prepayment' => 'Vorauszahlung',
'Print' => 'Drucken',
'Printer' => 'Drucker',
+ 'Proforma Invoice' => 'Proformarechnung',
'Project Number' => 'Projektnummer',
'Project description' => 'Projektbeschreibung',
'Project not on file!' => 'Dieses Projekt ist nicht in der Datenbank!',
+ 'Purchase Order' => 'Lieferantenauftrag',
'Queue' => 'Warteschlange',
+ 'Quotation' => 'Angebot',
+ 'RFQ' => 'Anfrage',
'Receipt' => 'Zahlungseingang',
'Receipt posted!' => 'Beleg gebucht!',
'SAVED' => 'Gespeichert',
'Select from one of the names below' => 'Wählen Sie einen der untenstehenden Namen',
'Select from one of the projects below' => 'Wählen Sie eines der untenstehenden Projekte',
'Source' => 'Beleg',
+ 'Storno Invoice' => 'Stornorechnung',
+ 'Storno Packing List' => 'Stornolieferschein',
'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'Das Feld \'tag\' darf nur aus alphanumerischen Zeichen und den Zeichen - _ ( ) bestehen.',
'Trying to call a sub without a name' => 'Es wurde versucht, eine Unterfunktion ohne Namen aufzurufen.',
'Unit' => 'Einheit',
'Bank Code Number' => 'Bankleitzahl',
'Bcc' => 'Bcc',
'Billing Address' => 'Rechnungsadresse',
+ 'Bin List' => 'Lagerliste',
'Birthday' => 'Geburtstag',
'CANCELED' => 'Storniert',
'Cannot delete customer!' => 'Kunde kann nicht gelöscht werden!',
'Cc' => 'Cc',
'City' => 'Stadt',
'Company Name' => 'Firmenname',
+ 'Confirmation' => 'Auftragsbestätigung',
'Contact' => 'Kontakt',
'Continue' => 'Weiter',
'Country' => 'Land',
'Credit Limit' => 'Kreditlimit',
+ 'Credit Note' => 'Gutschrift',
'Customer Number' => 'Kundennummer',
'Customer deleted!' => 'Kunde gelöscht!',
'Customer saved!' => 'Kunde gespeichert!',
'POSTED' => 'Gebucht',
'POSTED AS NEW' => 'Als neu gebucht',
'PRINTED' => 'Gedruckt',
+ 'Packing List' => 'Lieferschein',
'Part Number' => 'Artikelnummer',
'Part description' => 'Artikelbeschreibung',
'Payment Terms' => 'Zahlungskonditionen',
'Phone' => 'Telefon',
'Phone1' => 'Telefon 1 ',
'Phone2' => 'Telefon 2',
+ 'Pick List' => 'Sammelliste',
'Please enter values' => 'Bitte Werte eingeben',
'Preisklasse' => 'Preisgruppe',
'Private E-mail' => 'Private eMail',
'Private Phone' => 'Privates Tel.',
+ 'Proforma Invoice' => 'Proformarechnung',
'Project' => 'Projekt',
'Project Number' => 'Projektnummer',
'Project description' => 'Projektbeschreibung',
+ 'Purchase Order' => 'Lieferantenauftrag',
'Qty' => 'Menge',
'Quotation' => 'Angebot',
'Quotations' => 'Angebote',
+ 'RFQ' => 'Anfrage',
'SAVED' => 'Gespeichert',
'SAVED FOR DUNNING' => 'Gespeichert',
'SCREENED' => 'Angezeigt',
'Select an employee' => 'Angestellten auswählen',
'Shipping Address' => 'Lieferadresse',
'Steuersatz' => 'Steuersatz',
+ 'Storno Invoice' => 'Stornorechnung',
+ 'Storno Packing List' => 'Stornolieferschein',
'Street' => 'Straße',
'Tax Number' => 'Steuernummer',
'Tax Number / SSN' => 'Steuernummer',
'August' => 'August',
'Beratername' => 'Beratername',
'Beraternummer' => 'Beraternummer',
+ 'Bin List' => 'Lagerliste',
'Bis Konto: ' => 'bis Konto: ',
'CANCELED' => 'Storniert',
+ 'Confirmation' => 'Auftragsbestätigung',
'Continue' => 'Weiter',
+ 'Credit Note' => 'Gutschrift',
'Customer Number' => 'Kundennummer',
'DATEV Angaben' => 'DATEV-Angaben',
'DATEX - Export Assistent' => 'DATEV-Exportassistent',
'II' => 'II',
'III' => 'III',
'IV' => 'IV',
+ 'Invoice' => 'Rechnung',
'January' => 'Januar',
'July' => 'Juli',
'June' => 'Juni',
'POSTED' => 'Gebucht',
'POSTED AS NEW' => 'Als neu gebucht',
'PRINTED' => 'Gedruckt',
+ 'Packing List' => 'Lieferschein',
'Part Number' => 'Artikelnummer',
'Part description' => 'Artikelbeschreibung',
'Password' => 'Passwort',
+ 'Pick List' => 'Sammelliste',
'Please enter values' => 'Bitte Werte eingeben',
+ 'Proforma Invoice' => 'Proformarechnung',
'Project Number' => 'Projektnummer',
'Project description' => 'Projektbeschreibung',
+ 'Purchase Order' => 'Lieferantenauftrag',
'Quartal' => 'Quartal',
+ 'Quotation' => 'Angebot',
+ 'RFQ' => 'Anfrage',
'SAVED' => 'Gespeichert',
'SAVED FOR DUNNING' => 'Gespeichert',
'SCREENED' => 'Angezeigt',
'Select a project' => 'Projekt auswählen',
'Select an employee' => 'Angestellten auswählen',
'September' => 'September',
+ 'Storno Invoice' => 'Stornorechnung',
+ 'Storno Packing List' => 'Stornolieferschein',
'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'Das Feld \'tag\' darf nur aus alphanumerischen Zeichen und den Zeichen - _ ( ) bestehen.',
'Trying to call a sub without a name' => 'Es wurde versucht, eine Unterfunktion ohne Namen aufzurufen.',
'Unit' => 'Einheit',
'ADDED' => 'Hinzugefügt',
'Address' => 'Adresse',
'Attempt to call an undefined sub named \'%s\'' => 'Es wurde versucht, eine nicht definierte Unterfunktion namens \'%s\' aufzurufen.',
+ 'Bin List' => 'Lagerliste',
'CANCELED' => 'Storniert',
+ 'Confirmation' => 'Auftragsbestätigung',
+ 'Credit Note' => 'Gutschrift',
'Customer Number' => 'Kundennummer',
'DELETED' => 'Gelöscht',
'DUNNING STARTED' => 'Mahnprozess gestartet',
'Enter longdescription' => 'Langtext eingeben',
'Error in database control file \'%s\': %s' => 'Fehler in Datenbankupgradekontrolldatei \'%s\': %s',
'History' => 'Historie',
+ 'Invoice' => 'Rechnung',
'MAILED' => 'Gesendet',
'Missing \'description\' field.' => 'Fehlendes Feld \'description\'.',
'Missing \'tag\' field.' => 'Fehlendes Feld \'tag\'.',
'POSTED' => 'Gebucht',
'POSTED AS NEW' => 'Als neu gebucht',
'PRINTED' => 'Gedruckt',
+ 'Packing List' => 'Lieferschein',
'Part Number' => 'Artikelnummer',
'Part description' => 'Artikelbeschreibung',
+ 'Pick List' => 'Sammelliste',
'Please enter values' => 'Bitte Werte eingeben',
+ 'Proforma Invoice' => 'Proformarechnung',
'Project Number' => 'Projektnummer',
'Project description' => 'Projektbeschreibung',
+ 'Purchase Order' => 'Lieferantenauftrag',
+ 'Quotation' => 'Angebot',
+ 'RFQ' => 'Anfrage',
'SAVED' => 'Gespeichert',
'SAVED FOR DUNNING' => 'Gespeichert',
'SCREENED' => 'Angezeigt',
'Select a project' => 'Projekt auswählen',
'Select an employee' => 'Angestellten auswählen',
'Skip' => 'Überspringen',
+ 'Storno Invoice' => 'Stornorechnung',
+ 'Storno Packing List' => 'Stornolieferschein',
'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'Das Feld \'tag\' darf nur aus alphanumerischen Zeichen und den Zeichen - _ ( ) bestehen.',
'Trying to call a sub without a name' => 'Es wurde versucht, eine Unterfunktion ohne Namen aufzurufen.',
'Unit' => 'Einheit',
'Balance' => 'Bilanz',
'Balanced Ledger' => 'Bilanz ausgeglichen',
'Belegnummer' => 'Buchungsnummer',
+ 'Bin List' => 'Lagerliste',
'Bis' => 'bis',
'Buchungsdatum' => 'Buchungsdatum',
'Buchungsjournal' => 'Buchungsjournal',
'Cannot post transaction for a closed period!' => 'Für einen bereits abgeschlossenen Zeitraum kann keine Buchung angelegt werden!',
'Cannot post transaction with a debit and credit entry for the same account!' => 'Kann Soll und Haben nicht auf dasselbe Konto buchen!',
'Confirm!' => 'Bestätigen Sie!',
+ 'Confirmation' => 'Auftragsbestätigung',
'Continue' => 'Weiter',
'Contra' => 'gegen',
'Credit' => 'Haben',
'Credit Account' => 'Habenkonto',
+ 'Credit Note' => 'Gutschrift',
'Credit Tax' => 'Umsatzsteuer',
'Credit Tax Account' => 'Umsatzsteuerkonto',
'Customer Number' => 'Kundennummer',
'History' => 'Historie',
'ID' => 'Buchungsnummer',
'Include in Report' => 'In Bericht aufnehmen',
+ 'Invoice' => 'Rechnung',
'Jan' => 'Jan',
'January' => 'Januar',
'Jul' => 'Jul',
'POSTED' => 'Gebucht',
'POSTED AS NEW' => 'Als neu gebucht',
'PRINTED' => 'Gedruckt',
+ 'Packing List' => 'Lieferschein',
'Part Number' => 'Artikelnummer',
'Part description' => 'Artikelbeschreibung',
+ 'Pick List' => 'Sammelliste',
'Please enter values' => 'Bitte Werte eingeben',
'Post' => 'Buchen',
'Post as new' => 'Neu buchen',
+ 'Proforma Invoice' => 'Proformarechnung',
'Project Number' => 'Projektnummer',
'Project Numbers' => 'Projektnummern',
'Project description' => 'Projektbeschreibung',
'Project not on file!' => 'Dieses Projekt ist nicht in der Datenbank!',
+ 'Purchase Order' => 'Lieferantenauftrag',
+ 'Quotation' => 'Angebot',
+ 'RFQ' => 'Anfrage',
'Reference' => 'Referenz',
'Reference missing!' => 'Referenz fehlt!',
'Revenue' => 'Erlöskonto',
'September' => 'September',
'Source' => 'Beleg',
'Storno' => 'Storno',
+ 'Storno Invoice' => 'Stornorechnung',
+ 'Storno Packing List' => 'Stornolieferschein',
'Subtotal' => 'Zwischensumme',
'Tax' => 'Steuer',
'Taxkey' => 'Steuerschlüssel',
'Address' => 'Adresse',
'All' => 'Alle',
'Attempt to call an undefined sub named \'%s\'' => 'Es wurde versucht, eine nicht definierte Unterfunktion namens \'%s\' aufzurufen.',
+ 'Bin List' => 'Lagerliste',
'CANCELED' => 'Storniert',
'City' => 'Stadt',
'Comment' => 'Kommentar',
'Company Name' => 'Firmenname',
+ 'Confirmation' => 'Auftragsbestätigung',
'Continue' => 'Weiter',
+ 'Credit Note' => 'Gutschrift',
'Customer Number' => 'Kundennummer',
'Customer missing!' => 'Kundenname fehlt!',
'DELETED' => 'Gelöscht',
'Expiring in x month(s)' => 'Die in x Monat(en) ablaufen',
'History' => 'Historie',
'Include in Report' => 'In Bericht aufnehmen',
+ 'Invoice' => 'Rechnung',
'Invoice Number' => 'Rechnungsnummer',
'License key' => 'Lizenzschlüssel',
'Licenses' => 'Lizenzen',
'POSTED' => 'Gebucht',
'POSTED AS NEW' => 'Als neu gebucht',
'PRINTED' => 'Gedruckt',
+ 'Packing List' => 'Lieferschein',
'Part Number' => 'Artikelnummer',
'Part description' => 'Artikelbeschreibung',
+ 'Pick List' => 'Sammelliste',
'Please enter a license key.' => 'Bitte geben Sie einen Lizenzschlüssel an.',
'Please enter a number of licenses.' => 'Bitte geben Sie die Anzahl Lizenzschlüssel an.',
'Please enter values' => 'Bitte Werte eingeben',
+ 'Proforma Invoice' => 'Proformarechnung',
'Project Number' => 'Projektnummer',
'Project description' => 'Projektbeschreibung',
+ 'Purchase Order' => 'Lieferantenauftrag',
'Quantity' => 'Menge',
+ 'Quotation' => 'Angebot',
+ 'RFQ' => 'Anfrage',
'SAVED' => 'Gespeichert',
'SAVED FOR DUNNING' => 'Gespeichert',
'SCREENED' => 'Angezeigt',
'Select an employee' => 'Angestellten auswählen',
'Select from one of the items below' => 'Wählen Sie einen der untenstehenden Einträge',
'Select from one of the names below' => 'Wählen Sie einen der untenstehenden Namen',
+ 'Storno Invoice' => 'Stornorechnung',
+ 'Storno Packing List' => 'Stornolieferschein',
'Street' => 'Straße',
'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'Das Feld \'tag\' darf nur aus alphanumerischen Zeichen und den Zeichen - _ ( ) bestehen.',
'The licensing module has been deactivated in lx-erp.conf.' => 'Das Lizenzverwaltungsmodul wurde in lx-erp.conf deaktiviert.',
'About' => 'über',
'Address' => 'Adresse',
'Attempt to call an undefined sub named \'%s\'' => 'Es wurde versucht, eine nicht definierte Unterfunktion namens \'%s\' aufzurufen.',
+ 'Bin List' => 'Lagerliste',
'CANCELED' => 'Storniert',
+ 'Confirmation' => 'Auftragsbestätigung',
+ 'Credit Note' => 'Gutschrift',
'Customer Number' => 'Kundennummer',
'DELETED' => 'Gelöscht',
'DUNNING STARTED' => 'Mahnprozess gestartet',
'Error in database control file \'%s\': %s' => 'Fehler in Datenbankupgradekontrolldatei \'%s\': %s',
'History' => 'Historie',
'Incorrect username or password!' => 'Ungültiger Benutzername oder falsches Passwort!',
+ 'Invoice' => 'Rechnung',
'Licensed to' => 'Lizensiert für',
'Login' => 'Anmeldung',
'Login Name' => 'Benutzername',
'POSTED' => 'Gebucht',
'POSTED AS NEW' => 'Als neu gebucht',
'PRINTED' => 'Gedruckt',
+ 'Packing List' => 'Lieferschein',
'Part Number' => 'Artikelnummer',
'Part description' => 'Artikelbeschreibung',
'Password' => 'Passwort',
+ 'Pick List' => 'Sammelliste',
'Please enter values' => 'Bitte Werte eingeben',
+ 'Proforma Invoice' => 'Proformarechnung',
'Project Number' => 'Projektnummer',
'Project description' => 'Projektbeschreibung',
+ 'Purchase Order' => 'Lieferantenauftrag',
+ 'Quotation' => 'Angebot',
+ 'RFQ' => 'Anfrage',
'SAVED' => 'Gespeichert',
'SAVED FOR DUNNING' => 'Gespeichert',
'SCREENED' => 'Angezeigt',
'Select a part' => 'Artikel auswählen',
'Select a project' => 'Projekt auswählen',
'Select an employee' => 'Angestellten auswählen',
+ 'Storno Invoice' => 'Stornorechnung',
+ 'Storno Packing List' => 'Stornolieferschein',
'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'Das Feld \'tag\' darf nur aus alphanumerischen Zeichen und den Zeichen - _ ( ) bestehen.',
'Trying to call a sub without a name' => 'Es wurde versucht, eine Unterfunktion ohne Namen aufzurufen.',
'Unit' => 'Einheit',
'Address' => 'Adresse',
'All' => 'Alle',
'Attempt to call an undefined sub named \'%s\'' => 'Es wurde versucht, eine nicht definierte Unterfunktion namens \'%s\' aufzurufen.',
+ 'Bin List' => 'Lagerliste',
'Both' => 'Sowohl als auch',
'CANCELED' => 'Storniert',
+ 'Confirmation' => 'Auftragsbestätigung',
'Continue' => 'Weiter',
+ 'Credit Note' => 'Gutschrift',
'Customer Number' => 'Kundennummer',
'DELETED' => 'Gelöscht',
'DUNNING STARTED' => 'Mahnprozess gestartet',
'Groups' => 'Warengruppen',
'History' => 'Historie',
'Inactive' => 'Inaktiv',
+ 'Invoice' => 'Rechnung',
'MAILED' => 'Gesendet',
'Missing \'description\' field.' => 'Fehlendes Feld \'description\'.',
'Missing \'tag\' field.' => 'Fehlendes Feld \'tag\'.',
'POSTED' => 'Gebucht',
'POSTED AS NEW' => 'Als neu gebucht',
'PRINTED' => 'Gedruckt',
+ 'Packing List' => 'Lieferschein',
'Part Number' => 'Artikelnummer',
'Part description' => 'Artikelbeschreibung',
+ 'Pick List' => 'Sammelliste',
'Please enter values' => 'Bitte Werte eingeben',
'Preisgruppe' => 'Preisgruppe',
'Pricegroup' => 'Preisgruppe',
'Pricegroup deleted!' => 'Preisgruppe gelöscht!',
'Pricegroup missing!' => 'Preisgruppe fehlt!',
'Pricegroup saved!' => 'Preisgruppe gespeichert!',
+ 'Proforma Invoice' => 'Proformarechnung',
'Project' => 'Projekt',
'Project Number' => 'Projektnummer',
'Project Number missing!' => 'Projektnummer fehlt!',
'Project description' => 'Projektbeschreibung',
'Project saved!' => 'Projekt gespeichert!',
'Projects' => 'Projekte',
+ 'Purchase Order' => 'Lieferantenauftrag',
+ 'Quotation' => 'Angebot',
+ 'RFQ' => 'Anfrage',
'SAVED' => 'Gespeichert',
'SAVED FOR DUNNING' => 'Gespeichert',
'SCREENED' => 'Angezeigt',
'Select a part' => 'Artikel auswählen',
'Select a project' => 'Projekt auswählen',
'Select an employee' => 'Angestellten auswählen',
+ 'Storno Invoice' => 'Stornorechnung',
+ 'Storno Packing List' => 'Stornolieferschein',
'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'Das Feld \'tag\' darf nur aus alphanumerischen Zeichen und den Zeichen - _ ( ) bestehen.',
'Trying to call a sub without a name' => 'Es wurde versucht, eine Unterfunktion ohne Namen aufzurufen.',
'Unit' => 'Einheit',
'Address' => 'Adresse',
'Attempt to call an undefined sub named \'%s\'' => 'Es wurde versucht, eine nicht definierte Unterfunktion namens \'%s\' aufzurufen.',
'Balance' => 'Bilanz',
+ 'Bin List' => 'Lagerliste',
'CANCELED' => 'Storniert',
'Cleared Balance' => 'abgeschlossen',
+ 'Confirmation' => 'Auftragsbestätigung',
'Continue' => 'Weiter',
+ 'Credit Note' => 'Gutschrift',
'Customer Number' => 'Kundennummer',
'DELETED' => 'Gelöscht',
'DUNNING STARTED' => 'Mahnprozess gestartet',
'From' => 'Von',
'History' => 'Historie',
'Increase' => 'Erhöhen',
+ 'Invoice' => 'Rechnung',
'MAILED' => 'Gesendet',
'Missing \'description\' field.' => 'Fehlendes Feld \'description\'.',
'Missing \'tag\' field.' => 'Fehlendes Feld \'tag\'.',
'POSTED' => 'Gebucht',
'POSTED AS NEW' => 'Als neu gebucht',
'PRINTED' => 'Gedruckt',
+ 'Packing List' => 'Lieferschein',
'Part Number' => 'Artikelnummer',
'Part description' => 'Artikelbeschreibung',
'Payment' => 'Zahlungsausgang',
+ 'Pick List' => 'Sammelliste',
'Please enter values' => 'Bitte Werte eingeben',
+ 'Proforma Invoice' => 'Proformarechnung',
'Project Number' => 'Projektnummer',
'Project description' => 'Projektbeschreibung',
+ 'Purchase Order' => 'Lieferantenauftrag',
+ 'Quotation' => 'Angebot',
+ 'RFQ' => 'Anfrage',
'Reconciliation' => 'Kontenabgleich',
'SAVED' => 'Gespeichert',
'SAVED FOR DUNNING' => 'Gespeichert',
'Select an employee' => 'Angestellten auswählen',
'Source' => 'Beleg',
'Statement Balance' => 'Sammelrechnungsbilanz',
+ 'Storno Invoice' => 'Stornorechnung',
+ 'Storno Packing List' => 'Stornolieferschein',
'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'Das Feld \'tag\' darf nur aus alphanumerischen Zeichen und den Zeichen - _ ( ) bestehen.',
'Trying to call a sub without a name' => 'Es wurde versucht, eine Unterfunktion ohne Namen aufzurufen.',
'Unit' => 'Einheit',
'Balance' => 'Bilanz',
'Balance Sheet' => 'Bilanz',
'Bcc' => 'Bcc',
+ 'Bin List' => 'Lagerliste',
'Bis' => 'bis',
'CANCELED' => 'Storniert',
'Cc' => 'Cc',
'Compare to' => 'Gegenüberstellen zu',
+ 'Confirmation' => 'Auftragsbestätigung',
'Continue' => 'Weiter',
'Copies' => 'Kopien',
'Credit' => 'Haben',
+ 'Credit Note' => 'Gutschrift',
'Current' => 'Betrag',
'Current Earnings' => 'Gewinn',
'Customer' => 'Kunde',
'POSTED' => 'Gebucht',
'POSTED AS NEW' => 'Als neu gebucht',
'PRINTED' => 'Gedruckt',
+ 'Packing List' => 'Lieferschein',
'Part Number' => 'Artikelnummer',
'Part description' => 'Artikelbeschreibung',
'Payments' => 'Zahlungsausgänge',
+ 'Pick List' => 'Sammelliste',
'Please enter values' => 'Bitte Werte eingeben',
'Postscript' => 'Postscript',
'Print' => 'Drucken',
'Printer' => 'Drucker',
+ 'Proforma Invoice' => 'Proformarechnung',
'Project' => 'Projekt',
'Project Number' => 'Projektnummer',
'Project Transactions' => 'Projektbuchungen',
'Project description' => 'Projektbeschreibung',
'Project not on file!' => 'Dieses Projekt ist nicht in der Datenbank!',
+ 'Purchase Order' => 'Lieferantenauftrag',
'Quarter' => 'Quartal',
'Quarterly' => 'quartalsweise',
+ 'Quotation' => 'Angebot',
+ 'RFQ' => 'Anfrage',
'Receipts' => 'Zahlungseingänge',
'Reference' => 'Referenz',
'Report for' => 'Bericht für',
'Statement' => 'Sammelrechnung',
'Statement sent to' => 'Sammelrechnung verschickt an',
'Statements sent to printer!' => 'Sammelrechnungen an Drucker geschickt!',
+ 'Storno Invoice' => 'Stornorechnung',
+ 'Storno Packing List' => 'Stornolieferschein',
'Subject' => 'Betreff',
'Subtotal' => 'Zwischensumme',
'Tax' => 'Steuer',
'Attempt to call an undefined sub named \'%s\'' => 'Es wurde versucht, eine nicht definierte Unterfunktion namens \'%s\' aufzurufen.',
'Aug' => 'Aug',
'August' => 'August',
+ 'Bin List' => 'Lagerliste',
'CANCELED' => 'Storniert',
'Check Details' => 'Bitte Angaben überprüfen',
'Choose Outputformat' => 'Ausgabeformat auswählen...',
'Choose a Tax Number' => 'Bitte eine Steuernummer angeben',
+ 'Confirmation' => 'Auftragsbestätigung',
'Continue' => 'Weiter',
+ 'Credit Note' => 'Gutschrift',
'Customer Number' => 'Kundennummer',
'Customer not on file or locked!' => 'Dieser Kunde existiert nicht oder ist gesperrt.',
'Customer not on file!' => 'Kunde ist nicht in der Datenbank!',
'Feb' => 'Feb',
'February' => 'Februar',
'History' => 'Historie',
+ 'Invoice' => 'Rechnung',
'Jan' => 'Jan',
'January' => 'Januar',
'Jul' => 'Jul',
'POSTED' => 'Gebucht',
'POSTED AS NEW' => 'Als neu gebucht',
'PRINTED' => 'Gedruckt',
+ 'Packing List' => 'Lieferschein',
'Part Number' => 'Artikelnummer',
'Part description' => 'Artikelbeschreibung',
+ 'Pick List' => 'Sammelliste',
'Please enter values' => 'Bitte Werte eingeben',
'Preview' => 'Druckvorschau',
+ 'Proforma Invoice' => 'Proformarechnung',
'Project Number' => 'Projektnummer',
'Project description' => 'Projektbeschreibung',
'Project not on file!' => 'Dieses Projekt ist nicht in der Datenbank!',
+ 'Purchase Order' => 'Lieferantenauftrag',
+ 'Quotation' => 'Angebot',
+ 'RFQ' => 'Anfrage',
'SAVED' => 'Gespeichert',
'SAVED FOR DUNNING' => 'Gespeichert',
'SCREENED' => 'Angezeigt',
'Select from one of the projects below' => 'Wählen Sie eines der untenstehenden Projekte',
'Sep' => 'Sep',
'September' => 'September',
+ 'Storno Invoice' => 'Stornorechnung',
+ 'Storno Packing List' => 'Stornolieferschein',
'Tax Office Preferences' => 'Finanzamt - Einstellungen',
'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'Das Feld \'tag\' darf nur aus alphanumerischen Zeichen und den Zeichen - _ ( ) bestehen.',
'Trying to call a sub without a name' => 'Es wurde versucht, eine Unterfunktion ohne Namen aufzurufen.',
for my $statement ( 0 .. $#copy_statements ) {
- do_query($copy_statements[$statement], 0);
+ do_query($iconv->convert($copy_statements[$statement]), 0);
for my $copy_line ( 1 .. $#{$copy_data[$statement]} ) {
#print $copy_data[$statement][$copy_line] . "<br />"
- $dbh->pg_putline($copy_data[$statement][$copy_line] . "\n");
+ $dbh->pg_putline($iconv->convert($copy_data[$statement][$copy_line]) . "\n");
}
$dbh->pg_endcopy;
}