1 
2 /* AUTOMATICALLY GENERATED -- DO NOT EDIT */
3 
4 #define NULL (void *) 0
5 
6 char *lang[] = {
7     "EN",
8     "DE",
9     NULL
10 };
11 
12 char *message[][2] = {
13 
14     {
15      "530 Not logged in.\r\n",
16      "530 Nicht eingeloggt.\r\n",
17      },
18     {
19      "501 Syntax error, argument required.\r\n",
20      "501 Fehlerhafter Aufruf, Argument wird benötigt.\r\n",
21      },
22     {
23      "502 Command not implemented.\r\n",
24      "502 Befehl nicht implementiert.\r\n",
25      },
26     {
27      "500 Syntax error, command unrecognized.\r\n",
28      "500 Syntax-Fehler, Befehl nicht erkannt.\r\n",
29      },
30     {
31      "530 Login incorrect\r\n",
32      "530 Login fehlgeschlagen\r\n",
33      },
34     {
35      "550 Permission denied.\r\n",
36      "550 Keine Berechtigung.\r\n",
37      },
38     {
39      "250 File renamed.\r\n",
40      "250 Datei umbenannt.\r\n",
41      },
42     {
43      "503 Use RNFR first.\r\n",
44      "503 Erst RNFR benutzen.\r\n",
45      },
46     {
47      "550 No such file or directory.\r\n",
48      "550 Datei oder Verzeichnis existiert nicht.\r\n",
49      },
50     {
51      "250 Directory created.\r\n",
52      "250 Verzeichnis erzeugt.\r\n",
53      },
54     {
55      "250 Directory removed.\r\n",
56      "250 Verzeichnis gelöscht.\r\n",
57      },
58     {
59      "250 File removed.\r\n",
60      "250 Datei gelöscht.\r\n",
61      },
62     {
63      "550 Command unsupported.\r\n",
64      "550 Befehl nicht unterstützt.\r\n",
65      },
66     {
67      "200-User listing follows\r\n",
68      "200-Benutzerliste folgt\r\n",
69      },
70     {
71      "200 End of listing\r\n",
72      "200 Ende der Liste\r\n",
73      },
74     {
75      "200 User added.\r\n",
76      "200 Benutzer hinzugefügt.\r\n",
77      },
78     {
79      "200 User removed.\r\n",
80      "200 Benutzer entfernt.\r\n",
81      },
82     {
83      "200 User changed.\r\n",
84      "200 Benutzer geändert.\r\n",
85      },
86     {
87      "421 Too many users. Please try again later.\r\n",
88      "421 Zu viele Benutzer. Probieren Sie es bitte später nochmals.\r\n",
89      },
90     {
91      "550 No access to root directory.\r\n",
92      "550 Kein Zugriff auf Root-Verzeichnis.\r\n",
93      },
94     {
95      "550 No access to home directory!\r\n",
96      "550 Kein Zugriff auf Home-Verzeichnis.\r\n",
97      },
98     {
99      "550 No response from authentication sub-system. Please try again later.\r\n",
100      "550 Keine Antwort vom Authentisierung-System. Probieren Sie es bitte später nochmals.\r\n",
101      },
102     {
103      "230 Anonymous user logged in, proceed.\r\n",
104      "230 Anonymer Benutzer eingeloggt.\r\n",
105      },
106     {
107      "230 User logged in, proceed.\r\n",
108      "230 Benutzer eingeloggt.\r\n",
109      },
110     {
111      "226 Transfer complete.\r\n",
112      "226 Übertragung beendet.\r\n",
113      },
114     {
115      "226 Transfer complete (compression ratio: %d%%, saved %lld bytes).\r\n",
116      "226 Übertragung beendet (Kompression: %d%%, %lld Byte eingespart).\r\n",
117      },
118     {
119      "451 Transfer incomplete. Quota exceeded. Closing data connection.\r\n",
120      "451 Übertragung unvollständig. Quotas überschritten. Schliesse Datenverbindung.\r\n",
121      },
122     {
123      "451 Transfer incomplete. Closing data connection.\r\n",
124      "451 Übertragung unvollständig. Schliesse Datenverbindung.\r\n",
125      },
126     {
127      "426 Connection closed: Transfer aborted.\r\n",
128      "426 Verbindung geschlossen: Übertragung abgebrochen.\r\n",
129      },
130     {
131      "225 ABOR command successful.\r\n",
132      "225 ABOR-Kommando erfolgreich.\r\n",
133      },
134     {
135      "226 ABOR command successful.\r\n",
136      "226 ABOR-Kommando erfolgreich.\r\n",
137      },
138     {
139      "500 AUTH not supported.\r\n",
140      "500 AUTH nicht unterstützt.\r\n",
141      },
142     {
143      "504 AUTH type not supported.\r\n",
144      "504 AUTH-Verfahren nicht unterstützt.\r\n",
145      },
146     {
147      "501 AUTH TLS already active.\r\n",
148      "501 AUTH TLS bereits aktiv.\r\n",
149      },
150     {
151      "234 AUTH TLS OK.\r\n",
152      NULL,
153      },
154     {
155      "501 No such directory.\r\n",
156      "501 Verzeichis existiert nicht.\r\n",
157      },
158     {
159      "250 Directory changed to %s\r\n",
160      "250 Aktuelles Verzeichnis ist %s\r\n",
161      },
162     {
163      "211-Extensions supported:\r\n",
164      "211-Unterstützte Erweiterungen:\r\n",
165      },
166     {
167      "211 End.\r\n",
168      "211 Ende.\r\n",
169      },
170     {
171      "200 Done.\r\n",
172      "200 Fertig.\r\n",
173      },
174     {
175      "501 Unknown fact %s.\r\n",
176      "501 Unbekannte Option %s.\r\n",
177      },
178     {
179      "501 Unknown transfer mode.\r\n",
180      "501 Unbekannter Übertragungsmodus.\r\n",
181      },
182     {
183      "501 No options for command.\r\n",
184      "501 Keine Optionen für Befehl.\r\n",
185      },
186     {
187      "214 %s: Command not implemented.\r\n",
188      "214 %s: Befehl nicht implementiert.\r\n",
189      },
190     {
191      "214 Syntax: %s\r\n",
192      NULL,
193      },
194     {
195      "502 %s: Unknown command.\r\n",
196      "502 %s: Unbekannter Befehl.\r\n",
197      },
198     {
199      "214-The following SITE commands are available:\r\n",
200      "214-Die folgenden SITE Befehle werden unterstützt:\r\n",
201      },
202     {
203      "214 Try SITE HELP <command> for command specific information.\r\n",
204      "214 SITE HELP <Kommando> liefert kommandospezifische Details.\r\n",
205      },
206     {
207      "503 Already logged in.\r\n",
208      "503 Bereits eingeloggt.\r\n",
209      },
210     {
211      "220 Virtual host set.\r\n",
212      "220 Virtueller Host gesetzt.\r\n",
213      },
214     {
215      "200 Language set to English.\r\n",
216      "200 Rückmeldungen erfolgen nun in Deutsch.\r\n",
217      },
218     {
219      "501 Language %s not supported.\r\n",
220      "501 Sprache %s nicht unterstützt.\r\n",
221      },
222     {
223      "501 Transfer already in progress.\r\n",
224      "501 Datenübertragung läuft bereits.\r\n",
225      },
226     {
227      "550 Not a plain file.\r\n",
228      "550 Keine Datei.\r\n",
229      },
230     {
231      "200 Command okay.\r\n",
232      "200 Befehl ausgeführt.\r\n",
233      },
234     {
235      "503 Need USER before PASS.\r\n",
236      "503 USER muss vor PASS ausgeführt werden.\r\n",
237      },
238     {
239      "500 Only accepting EPSV for this session.\r\n",
240      "500 Nur EPSV wird akzeptiert.\r\n",
241      },
242     {
243      "500 PASV is supported for IPv4 only.\r\n",
244      "500 PASV ist nur für IPv4 spezifiziert.\r\n",
245      },
246     {
247      "200 Rejecting data connection setup commands other than EPSV.\r\n",
248      "200 Nur EPSV wird für Verbindungsaufbau akzeptiert.\r\n",
249      },
250     {
251      "522 Network protocol not supported, use (%s).\r\n",
252      "522 Netzwerk-Protokoll nicht unterstützt, verwende (%s).\r\n",
253      },
254     {
255      "200 Using network protocol %d for data connection.\r\n",
256      "200 Verwende Netzwerk-Protokoll %d für Datenverbindung.\r\n",
257      },
258     {
259      "501 Protocol mismatch.\r\n",
260      "501 Protokoll passt nicht.\r\n",
261      },
262     {
263      "227 Entering Passive Mode (%s).\r\n",
264      "227 Schalte auf passiven Übertragungsmodus (%s).\r\n",
265      },
266     {
267      "228 Entering Long Passive Mode (%s).\r\n",
268      "228 Schalte auf Long Passive Modus (%s).\r\n",
269      },
270     {
271      "229 Entering Extended Passive Mode (|||%u|).\r\n",
272      "229 Schalte auf Extended Passive Modus (|||%u|).\r\n",
273      },
274     {
275      "501 Data connection already active.\r\n",
276      "501 Datenverbindung bereits aktiv.\r\n\r\n",
277      },
278     {
279      "501 PORT not supported for address families other than IPv4\r\n",
280      "501 PORT wird für IPv4 nicht untertützt.\r\n",
281      },
282     {
283      "504 Command not implemented for that parameter.\r\n",
284      "504 Kommando für diesen Parameter nicht implementiert.\r\n",
285      },
286     {
287      "521 Supported address families are (%s).\r\n",
288      "521 Unterstützte Adressfamilien sind (%s).\r\n",
289      },
290     {
291      "522 Address family not supported, use (%s).\r\n",
292      "522 Adressierungsart nicht unterstützt, verwende (%s).\r\n",
293      },
294     {
295      "501 Syntax error in argument.\r\n",
296      "501 Syntax-Fehler im Argument.\r\n",
297      },
298     {
299      "501 %s command denied (address mismatch).\r\n",
300      "501 %s-Befehl verweigert (keine Übereinstimmung bei Adressen).\r\n",
301      },
302     {
303      "200 %s command successful.\r\n",
304      "200 %s Kommando erfolgreich.\r\n",
305      },
306     {
307      "257 \"%s\" is current directory.\r\n",
308      "257 \"%s\" ist das aktuelle Verzeichnis.\r\n",
309      },
310     {
311      "221-Control connection will be closed on file transfer completion.\r\n",
312      "221-Kontrollverbindung wird nach Tranferende geschlossen.\r\n",
313      },
314     {
315      "221 Goodbye.\r\n",
316      "221 Auf Wiedersehen.\r\n",
317      },
318     {
319      "350 Restarting at %llu. End Byte range at %llu.\r\n",
320      "350 Wiederaufsetzpunkt bei %llu. End-Byte Bereich bei %llu.\r\n",
321      },
322     {
323      "350 Restarting at %llu\r\n",
324      "350 Wiederaufsetzpunkt ist %llu\r\n",
325      },
326     {
327      "350 Range has been reset.\r\n",
328      "350 Bereich wurde zurückgesetzt.\r\n",
329      },
330     {
331      "431 Opening data connection failed.\r\n",
332      "431 Datenverbindung konnte nicht geöffnet werden.\r\n",
333      },
334     {
335      "150 Opening binary mode %sdata connection (%llu bytes).\r\n",
336      "150 Öffne binäre %sDatenverbindung (%llu Byte).\r\n",
337      },
338     {
339      "150 Opening %s mode %sdata connection.\r\n",
340      "150 Öffne %s %sDatenverbindung.\r\n",
341      },
342     {
343      "550 No such file.\r\n",
344      "550 Datei existiert nicht.\r\n",
345      },
346     {
347      "350 Awaiting destination name.\r\n",
348      "350 Erwarte Namen der Zieldatei.\r\n",
349      },
350     {
351      "500 Syntax error: arguments required.\r\n",
352      "500 Syntax-Fehler: Argumente notwendig.\r\n",
353      },
354     {
355      "500 Syntax error: invalid mode.\r\n",
356      "500 Syntax-Fehler: mode ungültig.\r\n",
357      },
358     {
359      "500 Syntax error: missing file name.\r\n",
360      "500 Syntax-Fehler: Dateiname fehlt.\r\n",
361      },
362     {
363      "200 Permission mode changed.\r\n",
364      "200 Berechtigungen geändert.\r\n",
365      },
366     {
367      "200 Switched to %s LIST mode.\r\n",
368      "200 In %s LIST Modus geschaltet.\r\n",
369      },
370     {
371      "200 Group id changed.\r\n",
372      "200 Gruppen-Id geändert.\r\n",
373      },
374     {
375      "550 Group id change denied.\r\n",
376      "550 Änderung der Gruppen-Id verweigert.\r\n",
377      },
378     {
379      "200 umask is 0%o\r\n",
380      "200 umask ist 0%o\r\n",
381      },
382     {
383      "212-Status of %s:\r\n",
384      "212-Status von %s:\r\n",
385      },
386     {
387      "212 End of status.\r\n",
388      "212 Status-Ende.\r\n",
389      },
390     {
391      "213-Status of %s:\r\n",
392      "213-Status von %s:\r\n",
393      },
394     {
395      "213 End of status.\r\n",
396      "213 Status-Ende.\r\n",
397      },
398     {
399      "451 Quota limit exceeded.\r\n",
400      "451 Quota-Grenze überschritten.\r\n",
401      },
402     {
403      "451 Unique file name generation failed.\r\n",
404      "451 Eindeutige Dateinamen-Erzeugung fehlgeschlagen.\r\n",
405      },
406     {
407      "200 Expecting to transfer %s type data.\r\n",
408      "200 Übertragung von Daten im %s-Format.\r\n",
409      },
410     {
411      "200 Using %s mode to transfer data.\r\n",
412      "200 Verwende %s Modus für Datenübertragung.\r\n",
413      },
414     {
415      "501 MODE Z %s%s%s is not available.\r\n",
416      "501 MODE Z %s%s%s ist nicht verfügbar.\r\n",
417      },
418     {
419      "331 Anonymous FTP login okay, send email address as password.\r\n",
420      "331 Anonymer FTP Login gestattet, sende Email-Addresse als Passwort.\r\n",
421      },
422     {
423      "331 FTP login okay, send password.\r\n",
424      "331 FTP-Login gestattet, sende Passwort.\r\n",
425      },
426     {
427      "250-Listing %s:\r\n",
428      "250-Anzeige von %s:\r\n",
429      },
430     {
431      "250 End.\r\n",
432      "250 Ende.\r\n",
433      },
434     {
435      "452 Command not available in ASCII transfer mode.\r\n",
436      "452 Kommando im ASCII-Übertragungsmodus nicht verfügbar.\r\n",
437      },
438     {
439      "452 Command not available during data transfers.\r\n",
440      "452 Kommando während Datenübertragung nicht verfügbar.\r\n",
441      },
442     {
443      "501 No such file or directory.\r\n",
444      "501 Datei oder Verzeichnis existiert nicht.\r\n",
445      },
446     {
447      "421 Service not available, closing control connection.\r\n",
448      "421 Dienst nicht verfügbar, schliesse Kontrollverbindung.\r\n",
449      },
450     {
451      "451 Internal error, please try again.\r\n",
452      "451 Interner Fehler, bitte nochmals probieren.\r\n",
453      },
454     {
455      "211-Session status:\r\n",
456      "211-Session-Status:\r\n",
457      },
458     {
459      "211 End of session status.\r\n",
460      "211 Ende Session-Status.\r\n",
461      },
462     {
463      "Enabled (%s, %d bits, %s)\r\n",
464      "Aktiv (%s, %d Bit, %s)\r\n",
465      },
466     {
467      "Enabled\r\n",
468      "Aktiv\r\n",
469      },
470     {
471      "Disabled\r\n",
472      "Inaktiv\r\n",
473      },
474     {
475      "Handshake in progress\r\n",
476      "Aushandlungsphase\r\n",
477      },
478     {
479      "    Control channel protection: ",
480      "    Schutz Kontroll-Verbindung: ",
481      },
482     {
483      "    Data channel protection:    ",
484      "    Schutz Daten-Verbindung:    ",
485      },
486     {
487      "    Transport protocol:         %s\r\n",
488      "    Transport-Protokoll:        %s\r\n",
489      },
490     {
491      "    Transfer type:              %s\r\n",
492      "    Übertragungsart:            %s\r\n",
493      },
494     {
495      "    Transfer mode:              %s\r\n",
496      "    Übertragungsmodus:          %s\r\n",
497      },
498     {
499      "    Idle timeout:               %lu seconds\r\n",
500      "    Inaktivitäts-Timeout:       %lu Sekunden\r\n",
501      },
502     {
503      "    Current data transfer:      %llu out of %llu bytes transfered\r\n",
504      "    Aktueller Daten-Transfer:   %llu von %llu Byte übertragen\r\n",
505      },
506     {
507      "    Current data transfer:      %llu bytes transfered\r\n",
508      "    Aktueller Daten-Transfer:   %llu Byte übertragen\r\n",
509      },
510     {
511      "    Current data transfer:      Data connection open, but idle.\r\n",
512      "    Aktueller Daten-Transfer:   Daten-Verbindung offen, jedoch unbenutzt.\r\n",
513      },
514     {
515      "    Total data transfered:      %llu bytes\r\n",
516      "    Übertragene Daten gesamt:   %llu Byte\r\n",
517      },
518     {
519      "200 Checksum method is %s.\r\n",
520      "200 Checksum-Verfahren ist %s.\r\n",
521      },
522     {
523      "504 Checksum method not recognized.\r\n",
524      "504 Unbekanntes Checksum-Verfahren.\r\n",
525      },
526     {
527      "200 Checksum method set to %s.\r\n",
528      "200 Checksum-Verfahren auf %s gesetzt.\r\n",
529      },
530     {
531      "  The following FTP commands are available:\r\n",
532      "  Die folgenden FTP-Kommandos sind verfügbar:\r\n",
533      },
534     {
535      "214 That's all, folks.\r\n",
536      "214 Das war's, Leute.\r\n",
537      },
538     {
539      "ABOR               (abort previous FTP service command)",
540      "ABOR               (Abbrechen des vorherigen Kommandos)",
541      },
542     {
543      "APPE <file>        (append to file)",
544      "APPE <Datei>       (Anhängen an Datei)",
545      },
546     {
547      "AUTH <auth-type>   (enable specified authentication/security mechanism)",
548      "AUTH <auth-type>   (Aktiviert angegebenen Authentisierungs-Mechanismus)",
549      },
550     {
551      "CWD <directory>    (change working directory)",
552      "CWD <Verzeichnis>  (Wechsel des Arbeitsverzeichnisses)",
553      },
554     {
555      "CDUP               (change to parent directory)",
556      "CDUP               (Wechsel ins Vaterverzeichnis)",
557      },
558     {
559      "DELE <file>        (remove file)",
560      "DELE <Datei>       (Datei löschen)",
561      },
562     {
563      "EPRT <host-port>   (specify extended host ip and data port)",
564      "EPRT <host-port>   (Spezifikation von IP und Port)",
565      },
566     {
567      "EPSV [<proto>|ALL] (switch to extended passive mode)",
568      "EPSV [<proto>|ALL] (Umschalten auf Extended Passive Mode)",
569      },
570     {
571      "HELP [<string>]    (send helpful information)",
572      "HELP [<string>]    (Ausgabe hilfreicher Informationen)",
573      },
574     {
575      "HOST <host>        (set virtual host name)",
576      "HOST <host>        (Namen des virtuellen Hosts setzen)",
577      },
578     {
579      "FEAT               (send features supported)",
580      "FEAT               (Unterstützte Features anzeigen)",
581      },
582     {
583      "LANG [<language>]  (set language)",
584      "LANG [<Sprache>]   (Sprache setzen)",
585      },
586     {
587      "LIST [<pathname>]  (send long directory listing)",
588      "LIST [<Pfad>]      (Verzeichnis detailliert auflisten)",
589      },
590     {
591      "LPRT <host-port>   (specify long host ip and data port)",
592      "LPRT <host-port>   (Spezifikation von IP und Port)",
593      },
594     {
595      "LPSV               (switch to long passive mode)",
596      "LPSV               (Umschalten auf Long Passive Mode)",
597      },
598     {
599      "NLST [<pathname>]  (send directory listing)",
600      "NLST [<pathname>]  (Verzeichnis auflisten)",
601      },
602     {
603      "MDTM <pathname>    (send modification time)",
604      "MDTM <Datei>       (Modifikationszeitpunkt anzeigen)",
605      },
606     {
607      "MKD <pathname>     (create directory)",
608      "MKD <Verzeichnis>  (Verzeichnis erzeugen)",
609      },
610     {
611      "MLSD [<pathname>]         (list directory)",
612      "MLSD [<Verzeichnis>]      (Verzeichnis anzeigen)",
613      },
614     {
615      "MLST <pathname>    (list file)",
616      "MLST <pathname>    (Pfad anzeigen)",
617      },
618     {
619      "NOOP               (do nothing)",
620      "NOOP               (Keine Operation)",
621      },
622     {
623      "OPTS <command> [<opts>]   (set options for command)",
624      "OPTS <command> [<opts>]   (Optionen für Kommando setzen)",
625      },
626     {
627      "PASS <password>    (send user's password)",
628      "PASS <Passwort>    (Passwort des Benutzers senden)",
629      },
630     {
631      "PASV               (switch to passive mode)",
632      "PASV               (Auf Passive Mode schalten)",
633      },
634     {
635      "PORT <host-port>   (specify host ip and data port)",
636      "PORT <host-port>   (Spezifikation von Host und Port)",
637      },
638     {
639      "PWD                (print working directory)",
640      "PWD                (Arbeitsverzeichnis anzeigen)",
641      },
642     {
643      "QUIT               (logout)",
644      "QUIT               (Beenden)",
645      },
646     {
647      "REIN               (reinitialize)",
648      "REIN               (Neustart)",
649      },
650     {
651      "REST <marker>      (restart filetransfer)",
652      "REST <marker>      (Dateiübertragung fortführen)",
653      },
654     {
655      "RANG <from> <to>   (specifies start and end point for STREAM mode transfer)",
656      "RANG <von> <bis>   (legt Start- und Endpunkt für STREAM-Transfer fest)",
657      },
658     {
659      "RETR <pathname>    (retrieve file specified in pathname)",
660      "RETR <Datei>       (Datei empfangen)",
661      },
662     {
663      "RMD <pathname>     (remove directory)",
664      "RMD <Verzeichnis>  (Verzeichnis löschen)",
665      },
666     {
667      "RNFR <pathname>    (set old pathname for rename)",
668      "RNFR <pathname>    (Alten Pfad für Umbenennung setzen)",
669      },
670     {
671      "RNTO <pathname>    (set new pathname for rename)",
672      "RNTO <pathname>    (Neuen Pfad für Umbenennung setzen)",
673      },
674     {
675      "SITE <string>      (site specific commands)",
676      "SITE <string>      (Site-spezifische Kommandos)",
677      },
678     {
679      "SIZE <pathname>    (send file size)",
680      "SIZE <pathname>    (Dateigröße senden)",
681      },
682     {
683      "STAT [<pathname>]  (send server or file status)",
684      "STAT [<pathname>]  (Server- oder Dateistatus senden)",
685      },
686     {
687      "STOR <pathname>    (store file specified in pathname)",
688      "STOR <pathname>    (Datei speichern)",
689      },
690     {
691      "STOU               (store file under unique name)",
692      "STOU               (Datei unter eindeutigem Namen speichern)",
693      },
694     {
695      "SYST               (send type of operating system)",
696      "SYST               (Betriebssystem-Typ senden)",
697      },
698     {
699      "TYPE <type-code>   (specify representation type)",
700      "TYPE <type-code>   (Darstellungstyp setzen)",
701      },
702     {
703      "MODE <S|Z>         (specify transfer type)",
704      "MODE <S|Z>         (Transfer-Modus setzen)",
705      },
706     {
707      "USER <username>    (send user identification)",
708      "USER <username>    (Benutzer-Identifikation senden)",
709      },
710     {
711      "SITE CHECKMETHOD [CRC|MD5|...]  (select checksum method)",
712      "SITE CHECKMETHOD [CRC|MD5|...]  (Checksummen-Verfahren wählen)",
713      },
714     {
715      "SITE CHECKSUM [<pathname>]  (calculate checksum)",
716      "SITE CHECKSUM [<pathname>]  (Checksumme berechnen)",
717      },
718     {
719      "SITE CHMOD <mode> <path>    (change permissions of path to mode)",
720      "SITE CHMOD <mode> <path>    (Berechtigungen ändern)",
721      },
722     {
723      "SITE HELP <string>          (send helpful information)",
724      "SITE HELP <string>          (Ausgabe hilfreicher Informationen)",
725      },
726     {
727      "SITE HTPWD (add|del|chg|list) [<username> [<password>]]",
728      NULL,
729      },
730     {
731      "SITE ID                     (display UID and GID information)",
732      "SITE ID                     (UID- und GID-Information ausgeben)",
733      },
734     {
735      "SITE GROUP <groupid>        (change current group id)",
736      "SITE GROUP <groupid>        (Gruppenzugehörigkeit ändern)",
737      },
738     {
739      "SITE GROUPS                 (display GID information)",
740      "SITE GROUPS                 (GID-Informationen ausgeben)",
741      },
742     {
743      "SITE UMASK [<umask>]        (display/change umask)",
744      "SITE UMASK [<umask>]        (umask anzeigen/ändern)",
745      },
746     {
747      "SITE IDLE [<seconds>]       (display/change inactivity timeout)",
748      "SITE IDLE [<Sekunden>]      (Inaktivitäts-Timeout anzeigen/ändern)",
749      },
750     {
751      "PBSZ <size>        (negotiate protected buffer size)",
752      "PBSZ <Größe>       (Protected-Buffer-Größe vereinbaren)",
753      },
754     {
755      "PROT <C|P>         (set data channel protection level)",
756      "PROT <C|P          (Data Channel Protection Level setzen)",
757      },
758     {
759      "ESTA               (establish active connection)",
760      "ESTA               (Aufbau aktiver Verbindung)",
761      },
762     {
763      "ESTP <host-port>   (establish passive connection)",
764      "ESTP <host-port>   (Aufbau passiver Verbindung)",
765      },
766     {
767      "200 Current inactivity timeout is %lu seconds.\r\n",
768      "200 Inaktivitäts-Timeout liegt bei %lu Sekunden.\r\n",
769      },
770     {
771      "200 Inactivity timeout set to %lu seconds.\r\n",
772      "200 Inaktivitäts-Timeout auf %lu Sekunden gesetzt.\r\n",
773      },
774     {
775      "501 Inactivity timeout must be between %lu and %lu seconds.\r\n",
776      "501 Inaktivitäts-Timeout muss zwischen %lu und %lu Sekunden liegen.\r\n",
777      },
778     {
779      "500 Inactivity timeout must be a number.\r\n",
780      "500 Inaktivitäts-Timeout muss numerisch sein.\r\n",
781      },
782     {
783      "Please read the file \"%s\".\r\n",
784      "Bitte lesen Sie die Datei \"%s\".\r\n",
785      },
786     {
787      "It was last modified on %a %b %d %T %Z %Y",
788      "Letzte Änderung am %a %b %d %T %Z %Y",
789      },
790     {
791      " - %ld days ago.\r\n",
792      " - vor %ld Tagen.\r\n",
793      },
794     {
795      " - 1 day ago.\r\n",
796      " - vor 1 Tag.\r\n",
797      },
798     {
799      "200 Command okay. Not resetting inactivity timer. %d seconds left.\r\n",
800      "200 Befehl ausgeführt. Inaktivitäts-Timeout in %d Sekunden.\r\n",
801      },
802     {
803      "200 Command okay. Not resetting inactivity timer. 1 second left.\r\n",
804      "200 Befehl ausgeführt. Inaktivitäts-Timeout in 1 Sekunde.\r\n",
805      },
806     {
807      "214 Direct comments to %s.\r\n",
808      "214 Kommentare bitte an %s.\r\n",
809      },
810     {
811      "504 Please switch to image (binary) file transfer type.\r\n",
812      "504 Bitte übertragen Sie die Datei im IMAGE-Modus.\r\n",
813      },
814     {
815      "501 Syntax: %s\r\n",
816      NULL,
817      },
818     {
819      "125 ASCII mode %sdata connection already open; starting transfer.\r\n",
820      "125 ASCII %sDatenverbindung bereits geöffnet; starte Transfer.\r\n",
821      },
822     {
823      "125 Binary mode %sdata connection already open; starting transfer.\r\n",
824      "125 Binäre %sDatenverbindung bereits geöffnet; starte Transfer.\r\n",
825      },
826     {
827      "125 Binary mode %sdata connection already open; starting transfer (%llu bytes).\r\n",
828      "125 Binäre %sDatenverbindung bereits geöffnet; starte Transfer (%llu Byte).\r\n",
829      },
830     {
831      "125 %s mode %sdata connection already open; starting transfer.\r\n",
832      "125 %s %sDatenverbindung bereits geöffnet; starte Transfer.\r\n",
833      },
834     {
835      "503 No previous PBSZ command was issued.\r\n",
836      "503 Das PBSZ-Kommando steht noch aus.\r\n",
837      },
838     {
839      "200 Switched to protected data transfer mode.\r\n",
840      "200 Auf geschützten Transfermodus geschaltet.\r\n",
841      },
842     {
843      "200 Switched to clear data transfer mode.\r\n",
844      "200 Auf ungeschützten Transfermodus geschaltet.\r\n",
845      },
846     {
847      "536 Requested PROT level not supported.\r\n",
848      "536 Dieser Schutz-Level wird nicht unterstützt.\r\n",
849      },
850     {
851      "503 Security data exchange is incomplete.\r\n",
852      "503 Austausch der Sicherheits-Daten ist unvollständig.\r\n",
853      },
854     {
855      "214-Group membership is:\r\n",
856      "214-Gruppenzugehörigkeit:\r\n",
857      },
858     {
859      "551 Internal error, please contact the server administrator.\r\n",
860      "551 Interner Fehler, bitte den Adminstrator benachrichtigen.\r\n",
861      },
862     {
863      "504 This is binary data. It's no use to calculate the ASCII size.\r\n",
864      "504 Dies sind binäre Daten. Die ASCII-Größe zu berechnen ist sinnlos.\r\n",
865      },
866     {
867      "504 The configuration prohibits ASCII size calculation for this file.\r\n",
868      "504 Die Datei ist zu groß, um ihre ASCII-Transfergröße zu berechnen.\r\n",
869      },
870     {
871      "225 Connected from (%s)\r\n",
872      "225 Verbunden von (%s)\r\n",
873      },
874     {
875      "225 Connected to (%s)\r\n",
876      "225 Verbunden mit (%s)\r\n",
877      },
878     {
879      "425 Data connection not open.\r\n",
880      "425 Datenverbindung besteht nicht.\r\n",
881      },
882     {
883      "425 Can't open data connection.\r\n",
884      "425 Kann Datenverbindung nicht herstellen.\r\n",
885      },
886     {
887      "520 Server not in passive transfer mode.\r\n",
888      "520 Server nicht in passivem Übertragungsmodus.\r\n",
889      },
890     {
891      "520 Server not in active transfer mode.\r\n",
892      "520 Server nicht in aktivem Übertragungsmodus.\r\n",
893      },
894     {
895      "MFMT <time> <pathname>    (modify modification time)",
896      "MLSD <Zeit> <Pfad>        (Modifikationszeit setzen)",
897      },
898     {
899      "MFF <facts> <pathname>    (modify file facts)",
900      "MFF <facts> <Pfad>        (Dateiattribute ändern)",
901      },
902     {
903      "504 Parameter not implemented (%s)\r\n",
904      "504 Parameter nicht implementiert (%s)\r\n",
905      },
906     {
907      "556 Hashing of this file is denied by server policy.\r\n",
908      "556 Berechnung dieses Hash-Wertes ist nicht gestattet.\r\n",
909      },
910     {
911      "334 AUTH TLS OK.\r\n",
912      NULL,
913      },
914     {
915      "CCC                       (Clear Command Channel)",
916      NULL,
917      },
918     {
919      "534 Unable to deactivate implicit protection\r\n",
920      "534 Impliziter Schutz ist nicht aufhebbar\r\n",
921      },
922     {
923      "533 Command unsupported.\r\n",
924      "533 Befehl nicht unterstützt.\r\n",
925      },
926     {
927      "HASH [<pathname>]  (calculate checksum)",
928      "HASH [<pathname>]  (Checksumme berechnen)",
929      },
930     {
931      "501 Unknown algorithm, current selection not changed.\r\n",
932      "501 Unbekannter Algorithmus, keine Änderung der aktuellen Auswahl.\r\n",
933      },
934 };
935 
message_init(void)936 void message_init(void)
937 {
938     int i, j;
939     for (i = 0; i < 230; i++)
940 	for (j = 1; j < 2; j++)
941 	    if (!message[i][j])
942 		message[i][j] = message[i][0];
943 }
944