Änderungen zur Unterstützung von anderen Zeichensätzen als ISO-8859-1(5) implementier...
authorMoritz Bunkus <m.bunkus@linet-services.de>
Thu, 3 May 2007 14:13:14 +0000 (14:13 +0000)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Thu, 3 May 2007 14:13:14 +0000 (14:13 +0000)
29 files changed:
SL/Common.pm
SL/DBUpgrade2.pm
SL/Form.pm
SL/Locale.pm
SL/Mailer.pm
SL/User.pm
bin/mozilla/admin.pl
bin/mozilla/login.pl
locale/de/admin
locale/de/all
locale/de/am
locale/de/ap
locale/de/ar
locale/de/arap
locale/de/bp
locale/de/charset [new file with mode: 0644]
locale/de/common
locale/de/cp
locale/de/ct
locale/de/datev
locale/de/drafts
locale/de/gl
locale/de/licenses
locale/de/login
locale/de/pe
locale/de/rc
locale/de/rp
locale/de/ustva
sql/Pg-upgrade2/USTVA_abstraction.pl

index 826581e..73be248 100644 (file)
@@ -10,6 +10,26 @@ package Common;
 
 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}-${$}";
index 8cde113..66ce85f 100644 (file)
@@ -1,5 +1,7 @@
 package SL::DBUpgrade2;
 
+use SL::Common;
+
 require Exporter;
 @ISA = qw(Exporter);
 
@@ -45,6 +47,8 @@ sub parse_dbupdate_controls {
       }
     }
 
+    $control->{charset} ||= Common::DEFAULT_CHARSET;
+
     _control_error($form, $file_name,
                    $locale->text("Missing 'tag' field."))
       unless ($control->{"tag"});
index 61e5f68..d59adee 100644 (file)
@@ -45,6 +45,7 @@ use CGI::Ajax;
 use SL::DBUtils;
 use SL::Menu;
 use SL::User;
+use SL::Common;
 use CGI;
 
 sub _input_to_hash {
@@ -352,7 +353,7 @@ sub header {
     return;
   }
 
-  my ($stylesheet, $favicon, $charset);
+  my ($stylesheet, $favicon);
 
   if ($ENV{HTTP_USER_AGENT}) {
 
@@ -370,11 +371,8 @@ sub header {
   |;
     }
 
-    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; }
@@ -404,7 +402,7 @@ sub header {
     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>
@@ -412,7 +410,7 @@ sub header {
   $stylesheet
   $pagelayout
   $favicon
-  $charset
+  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=${db_charset}">
   $jsscript
   $ajax
 
@@ -803,7 +801,8 @@ sub parse_template {
       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.";
index 8e7037d..e941f00 100644 (file)
 
 package Locale;
 
+use Text::Iconv;
+
 use SL::LXDebug;
+use SL::Common;
 
 sub new {
   $main::lxdebug->enter_sub();
@@ -52,6 +55,21 @@ sub new {
       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;
@@ -71,7 +89,11 @@ sub new {
 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 {
index 37d98b7..aec34e6 100644 (file)
@@ -30,6 +30,8 @@
 
 package Mailer;
 
+use SL::Common;
+
 sub new {
   $main::lxdebug->enter_sub();
 
@@ -95,7 +97,7 @@ sub send {
   $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)) {
index a6005b0..d7d1385 100644 (file)
 
 package User;
 
+use IO::File;
+use Fcntl qw(:seek);
+use Text::Iconv;
+
 use SL::DBUpgrade2;
 use SL::DBUtils;
 
@@ -407,13 +411,14 @@ sub dbcreate {
   $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});
@@ -431,11 +436,31 @@ sub dbcreate {
 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();
 
@@ -481,16 +506,30 @@ sub process_perl_script {
 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;
@@ -548,7 +587,7 @@ sub process_query {
   }
   $dbh->commit();
 
-  close FH;
+  $fh->close();
 
   $main::lxdebug->leave_sub();
 }
@@ -795,6 +834,9 @@ sub dbupdate {
     closedir(SQLDIR);
   }
 
+  my $db_charset = $main::dbcharset;
+  $db_charset ||= Common::DEFAULT_CHARSET;
+
   foreach my $db (split(/ /, $form->{dbupdate})) {
 
     next unless $form->{$db};
@@ -834,10 +876,10 @@ sub dbupdate {
       $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;
@@ -867,6 +909,11 @@ sub dbupdate2 {
 
   @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};
@@ -902,6 +949,11 @@ sub dbupdate2 {
     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;
 
@@ -912,10 +964,10 @@ sub dbupdate2 {
 
       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);
       }
     }
 
@@ -1074,7 +1126,7 @@ sub save_member {
 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
index e936b2a..879ccd7 100644 (file)
 $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";
 
@@ -575,10 +580,6 @@ sub form_header {
          <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>
@@ -1471,24 +1472,24 @@ sub create_dataset {
   }
   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 "
@@ -1528,7 +1529,7 @@ sub create_dataset {
   <tr>
 
     <th align=right nowrap>| . $locale->text('Multibyte Encoding') . qq|</th>
-    <td><select name=encoding>$selectencoding</select></td>
+    <td>$selectencoding</td>
 
   </tr>
 
index 3989098..72032f3 100644 (file)
@@ -188,7 +188,7 @@ sub company_logo {
   $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');
 
index 988baed..c12dd60 100644 (file)
@@ -8,17 +8,19 @@ $self->{texts} = {
   '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&uuml;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',
@@ -50,6 +52,7 @@ $self->{texts} = {
   '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',
@@ -80,18 +83,24 @@ $self->{texts} = {
   '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',
@@ -104,6 +113,8 @@ $self->{texts} = {
   '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',
index 883463c..71906bc 100644 (file)
@@ -247,7 +247,6 @@ aktualisieren wollen?',
   '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',
index 6a7dc4c..f2bfabd 100644 (file)
@@ -62,6 +62,7 @@ $self->{texts} = {
   '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',
@@ -80,9 +81,11 @@ $self->{texts} = {
   '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',
@@ -134,6 +137,7 @@ $self->{texts} = {
   'History Search'              => 'Historien Suche',
   'Inventory'                   => 'Inventar',
   'Inventory Account'           => 'Warenbestand',
+  'Invoice'                     => 'Rechnung',
   'Language'                    => 'Sprache',
   'Language deleted!'           => 'Sprache gelöscht!',
   'Language missing!'           => 'Sprache fehlt!',
@@ -181,6 +185,7 @@ $self->{texts} = {
   'POSTED'                      => 'Gebucht',
   'POSTED AS NEW'               => 'Als neu gebucht',
   'PRINTED'                     => 'Gedruckt',
+  'Packing List'                => 'Lieferschein',
   'Part Number'                 => 'Artikelnummer',
   'Part description'            => 'Artikelbeschreibung',
   'Password'                    => 'Passwort',
@@ -188,6 +193,7 @@ $self->{texts} = {
   '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!',
@@ -199,9 +205,13 @@ $self->{texts} = {
   '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',
@@ -219,6 +229,8 @@ $self->{texts} = {
   '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',
index 1c116f7..2f57fac 100644 (file)
@@ -15,6 +15,7 @@ $self->{texts} = {
   '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!',
@@ -24,8 +25,10 @@ $self->{texts} = {
   '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.',
@@ -101,18 +104,24 @@ $self->{texts} = {
   '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&ouml;schen',
   'SAVED'                       => 'Gespeichert',
@@ -129,6 +138,8 @@ $self->{texts} = {
   'September'                   => 'September',
   'Skip'                        => 'Überspringen',
   'Source'                      => 'Beleg',
+  'Storno Invoice'              => 'Stornorechnung',
+  'Storno Packing List'         => 'Stornolieferschein',
   'Subtotal'                    => 'Zwischensumme',
   'Tax'                         => 'Steuer',
   'Tax Included'                => 'Steuer im Preis inbegriffen',
index ac6760a..3ccb13d 100644 (file)
@@ -16,6 +16,7 @@ $self->{texts} = {
   '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!',
@@ -25,8 +26,10 @@ $self->{texts} = {
   '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',
@@ -105,17 +108,23 @@ $self->{texts} = {
   '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&ouml;schen',
   'SAVED'                       => 'Gespeichert',
@@ -137,6 +146,8 @@ $self->{texts} = {
   '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',
index 9d7e891..b0d1530 100644 (file)
@@ -2,8 +2,11 @@ $self->{texts} = {
   '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!',
@@ -16,6 +19,7 @@ $self->{texts} = {
   '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\'.',
@@ -31,12 +35,18 @@ $self->{texts} = {
   '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',
@@ -46,6 +56,8 @@ $self->{texts} = {
   'Select an employee'          => 'Angestellten ausw&auml;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',
index a9d485a..29f0d31 100644 (file)
@@ -4,12 +4,15 @@ $self->{texts} = {
   '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',
@@ -42,18 +45,23 @@ $self->{texts} = {
   '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',
@@ -71,6 +79,8 @@ $self->{texts} = {
   'Select all'                  => 'Alle auswählen',
   'Select an employee'          => 'Angestellten ausw&auml;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.',
diff --git a/locale/de/charset b/locale/de/charset
new file mode 100644 (file)
index 0000000..208bac8
--- /dev/null
@@ -0,0 +1 @@
+ISO-8859-15
index 5e77a93..2ff882d 100644 (file)
@@ -2,7 +2,10 @@ $self->{texts} = {
   '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',
@@ -12,6 +15,7 @@ $self->{texts} = {
   '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\'.',
@@ -26,11 +30,17 @@ $self->{texts} = {
   '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',
@@ -38,6 +48,8 @@ $self->{texts} = {
   'Select a part'               => 'Artikel ausw&auml;hlen',
   'Select a project'            => 'Projekt ausw&auml;hlen',
   'Select an employee'          => 'Angestellten ausw&auml;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',
index c40f8ff..f179360 100644 (file)
@@ -7,12 +7,15 @@ $self->{texts} = {
   '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',
@@ -54,20 +57,26 @@ $self->{texts} = {
   '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',
@@ -82,6 +91,8 @@ $self->{texts} = {
   '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',
index 0903de8..c7ae240 100644 (file)
@@ -14,6 +14,7 @@ $self->{texts} = {
   '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!',
@@ -21,10 +22,12 @@ $self->{texts} = {
   '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!',
@@ -83,22 +86,27 @@ $self->{texts} = {
   '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',
@@ -120,6 +128,8 @@ $self->{texts} = {
   'Select an employee'          => 'Angestellten ausw&auml;hlen',
   'Shipping Address'            => 'Lieferadresse',
   'Steuersatz'                  => 'Steuersatz',
+  'Storno Invoice'              => 'Stornorechnung',
+  'Storno Packing List'         => 'Stornolieferschein',
   'Street'                      => 'Straße',
   'Tax Number'                  => 'Steuernummer',
   'Tax Number / SSN'            => 'Steuernummer',
index fbc49e7..c0f5288 100644 (file)
@@ -7,9 +7,12 @@ $self->{texts} = {
   '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',
@@ -32,6 +35,7 @@ $self->{texts} = {
   'II'                          => 'II',
   'III'                         => 'III',
   'IV'                          => 'IV',
+  'Invoice'                     => 'Rechnung',
   'January'                     => 'Januar',
   'July'                        => 'Juli',
   'June'                        => 'Juni',
@@ -59,13 +63,19 @@ $self->{texts} = {
   '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',
@@ -74,6 +84,8 @@ $self->{texts} = {
   'Select a project'            => 'Projekt ausw&auml;hlen',
   'Select an employee'          => 'Angestellten ausw&auml;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',
index b74a200..17ff779 100644 (file)
@@ -2,7 +2,10 @@ $self->{texts} = {
   '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',
@@ -14,6 +17,7 @@ $self->{texts} = {
   '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\'.',
@@ -28,11 +32,17 @@ $self->{texts} = {
   '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',
@@ -41,6 +51,8 @@ $self->{texts} = {
   'Select a project'            => 'Projekt ausw&auml;hlen',
   'Select an employee'          => 'Angestellten ausw&auml;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',
index eef1a3e..9da6fe5 100644 (file)
@@ -16,6 +16,7 @@ $self->{texts} = {
   'Balance'                     => 'Bilanz',
   'Balanced Ledger'             => 'Bilanz ausgeglichen',
   'Belegnummer'                 => 'Buchungsnummer',
+  'Bin List'                    => 'Lagerliste',
   'Bis'                         => 'bis',
   'Buchungsdatum'               => 'Buchungsdatum',
   'Buchungsjournal'             => 'Buchungsjournal',
@@ -27,10 +28,12 @@ $self->{texts} = {
   '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',
@@ -68,6 +71,7 @@ $self->{texts} = {
   'History'                     => 'Historie',
   'ID'                          => 'Buchungsnummer',
   'Include in Report'           => 'In Bericht aufnehmen',
+  'Invoice'                     => 'Rechnung',
   'Jan'                         => 'Jan',
   'January'                     => 'Januar',
   'Jul'                         => 'Jul',
@@ -104,15 +108,21 @@ $self->{texts} = {
   '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',
@@ -130,6 +140,8 @@ $self->{texts} = {
   'September'                   => 'September',
   'Source'                      => 'Beleg',
   'Storno'                      => 'Storno',
+  'Storno Invoice'              => 'Stornorechnung',
+  'Storno Packing List'         => 'Stornolieferschein',
   'Subtotal'                    => 'Zwischensumme',
   'Tax'                         => 'Steuer',
   'Taxkey'                      => 'Steuerschlüssel',
index 2704c0e..b77d482 100644 (file)
@@ -5,11 +5,14 @@ $self->{texts} = {
   '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',
@@ -24,6 +27,7 @@ $self->{texts} = {
   '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',
@@ -43,14 +47,20 @@ $self->{texts} = {
   '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',
@@ -61,6 +71,8 @@ $self->{texts} = {
   'Select an employee'          => 'Angestellten ausw&auml;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.',
index 10f8d82..fb3f8cc 100644 (file)
@@ -3,7 +3,10 @@ $self->{texts} = {
   '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',
@@ -16,6 +19,7 @@ $self->{texts} = {
   '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',
@@ -33,12 +37,18 @@ $self->{texts} = {
   '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',
@@ -46,6 +56,8 @@ $self->{texts} = {
   'Select a part'               => 'Artikel ausw&auml;hlen',
   'Select a project'            => 'Projekt ausw&auml;hlen',
   'Select an employee'          => 'Angestellten ausw&auml;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',
index d3e5995..23c87d9 100644 (file)
@@ -8,9 +8,12 @@ $self->{texts} = {
   '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',
@@ -31,6 +34,7 @@ $self->{texts} = {
   'Groups'                      => 'Warengruppen',
   'History'                     => 'Historie',
   'Inactive'                    => 'Inaktiv',
+  'Invoice'                     => 'Rechnung',
   'MAILED'                      => 'Gesendet',
   'Missing \'description\' field.' => 'Fehlendes Feld \'description\'.',
   'Missing \'tag\' field.'      => 'Fehlendes Feld \'tag\'.',
@@ -48,14 +52,17 @@ $self->{texts} = {
   '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!',
@@ -63,6 +70,9 @@ $self->{texts} = {
   'Project description'         => 'Projektbeschreibung',
   'Project saved!'              => 'Projekt gespeichert!',
   'Projects'                    => 'Projekte',
+  'Purchase Order'              => 'Lieferantenauftrag',
+  'Quotation'                   => 'Angebot',
+  'RFQ'                         => 'Anfrage',
   'SAVED'                       => 'Gespeichert',
   'SAVED FOR DUNNING'           => 'Gespeichert',
   'SCREENED'                    => 'Angezeigt',
@@ -71,6 +81,8 @@ $self->{texts} = {
   'Select a part'               => 'Artikel ausw&auml;hlen',
   'Select a project'            => 'Projekt ausw&auml;hlen',
   'Select an employee'          => 'Angestellten ausw&auml;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',
index 69e87df..c551cd2 100644 (file)
@@ -4,9 +4,12 @@ $self->{texts} = {
   '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',
@@ -26,6 +29,7 @@ $self->{texts} = {
   'From'                        => 'Von',
   'History'                     => 'Historie',
   'Increase'                    => 'Erhöhen',
+  'Invoice'                     => 'Rechnung',
   'MAILED'                      => 'Gesendet',
   'Missing \'description\' field.' => 'Fehlendes Feld \'description\'.',
   'Missing \'tag\' field.'      => 'Fehlendes Feld \'tag\'.',
@@ -41,12 +45,18 @@ $self->{texts} = {
   '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',
@@ -58,6 +68,8 @@ $self->{texts} = {
   'Select an employee'          => 'Angestellten ausw&auml;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',
index e06de4f..df2e902 100644 (file)
@@ -17,13 +17,16 @@ $self->{texts} = {
   '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',
@@ -100,20 +103,26 @@ $self->{texts} = {
   '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',
@@ -135,6 +144,8 @@ $self->{texts} = {
   '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',
index 3bdfa75..3a88cca 100644 (file)
@@ -14,11 +14,14 @@ $self->{texts} = {
   '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!',
@@ -38,6 +41,7 @@ $self->{texts} = {
   'Feb'                         => 'Feb',
   'February'                    => 'Februar',
   'History'                     => 'Historie',
+  'Invoice'                     => 'Rechnung',
   'Jan'                         => 'Jan',
   'January'                     => 'Januar',
   'Jul'                         => 'Jul',
@@ -71,13 +75,19 @@ $self->{texts} = {
   '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',
@@ -90,6 +100,8 @@ $self->{texts} = {
   '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.',
index 66e8c75..20f512d 100644 (file)
@@ -139,11 +139,11 @@ sub do_copy {
 
   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;
   }