Subversion Repositories LCARS

Rev

Rev 15 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 15 Rev 198
1
1
2
EasyTranslator 0.95a - Stream editor to manage dictionary files
2
EasyTranslator 0.95a - Stream editor to manage dictionary files
3
Requires 'basename', 'grep' and 'sed', optionally 'sort' and 'mktemp' in PATH
3
Requires 'basename', 'grep' and 'sed', optionally 'sort' and 'mktemp' in PATH
4
4
5
Copyright (C) 2001  Thomas Lahn (webmaster@PointedEars.de)
5
Copyright (C) 2001  Thomas Lahn (webmaster@PointedEars.de)
6
Be sure to have 'easyTrans' or similar in mail subject line for fast response.
6
Be sure to have 'easyTrans' or similar in mail subject line for fast response.
7
7
8
This program is free software; you can redistribute it and/or modify
8
This program is free software; you can redistribute it and/or modify
9
it under the terms of the GNU General Public License as published by
9
it under the terms of the GNU General Public License as published by
10
the Free Software Foundation; either version 2 of the License, or
10
the Free Software Foundation; either version 2 of the License, or
11
(at your option) any later version.
11
(at your option) any later version.
12
12
13
This program is distributed in the hope that it will be useful,
13
This program is distributed in the hope that it will be useful,
14
but WITHOUT ANY WARRANTY; without even the implied warranty of
14
but WITHOUT ANY WARRANTY; without even the implied warranty of
15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
GNU General Public License for more details.
16
GNU General Public License for more details.
17
17
18
You should have received a copy of the GNU General Public License
18
You should have received a copy of the GNU General Public License
19
along with this program (COPYING file); if not, write to the
19
along with this program (COPYING file); if not, write to the
20
Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20
Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21
21
22
22
23
EasyTranslator 0.95a - Stream editor to manage dictionary files
23
EasyTranslator 0.95a - Stream editor to manage dictionary files
24
Requires 'basename', 'grep' and 'sed', optionally 'sort' and 'mktemp' in PATH
24
Requires 'basename', 'grep' and 'sed', optionally 'sort' and 'mktemp' in PATH
25
25
26
translate EXPRESSION DICTIONARY [OPTIONS]
26
translate EXPRESSION DICTIONARY [OPTIONS]
27
27
28
Tries to translate EXPRESSION looking up DICTIONARY and writes the result
28
Tries to translate EXPRESSION looking up DICTIONARY and writes the result
29
to standard output (stdout) in a single line followed by a newline (\n).
29
to standard output (stdout) in a single line followed by a newline (\n).
30
30
31
Environment:
31
Environment:
32
32
33
TRANSLATE_DIR     Dictionary folder root (absolute path '/')
33
TRANSLATE_DIR     Dictionary folder root (absolute path '/')
34
                  If undefined, this is the program directory
34
                  If undefined, this is the program directory
35
                  (currently './').
35
                  (currently './').
36
TRANSLATE_OPTIONS Default options to overwrite command-line options
36
TRANSLATE_OPTIONS Default options to overwrite command-line options
37
37
38
Arguments:
38
Arguments:
39
39
40
EXPRESSION        Word or (double-quoted) phrase to be translated
40
EXPRESSION        Word or (double-quoted) phrase to be translated
41
DICTIONARY        Path of dictionary file relative to TRANSLATE_DIR
41
DICTIONARY        Path of dictionary file relative to TRANSLATE_DIR
42
42
43
Translation OPTIONS:
43
Translation OPTIONS:
44
  -b, --brackets  If not in DICTIONARY, writes given WORD or EXPRESSION
44
  -b, --brackets  If not in DICTIONARY, writes given WORD or EXPRESSION
45
                  as [WORD] or [EXPRESSION].
45
                  as [WORD] or [EXPRESSION].
46
  -m, --messages  Return error messages instead of null-strings.
46
  -m, --messages  Return error messages instead of null-strings.
47
  -p, --phrase    Translate EXPRESSION as entire phrase. If not given,
47
  -p, --phrase    Translate EXPRESSION as entire phrase. If not given,
48
                  each WORD of EXPRESSION is translated seperately.
48
                  each WORD of EXPRESSION is translated seperately.
49
  -r, --reverse   Perform reverse translation. Recommended only if
49
  -r, --reverse   Perform reverse translation. Recommended only if
50
                  no appropriate dictionary file for vice-versa translation is
50
                  no appropriate dictionary file for vice-versa translation is
51
                  available and -p is also used.
51
                  available and -p is also used.
52
  -s, --sound     Beep on fatal errors.
52
  -s, --sound     Beep on fatal errors.
53
  -v, --verbose   Display flow of operation. Includes -m behavior.
53
  -v, --verbose   Display flow of operation. Includes -m behavior.
54
  -z, --zero      Return not translatable tokens as null-strings.
54
  -z, --zero      Return not translatable tokens as null-strings.
55
                  Overwrites -b.
55
                  Overwrites -b.
56
56
57
translate EXPRESSION DICTIONARY COMMAND TRANSLATION [INFO] [OPTIONS]
57
translate EXPRESSION DICTIONARY COMMAND TRANSLATION [INFO] [OPTIONS]
58
translate COMMAND DICTIONARY [INFO] [OPTIONS]
58
translate COMMAND DICTIONARY [INFO] [OPTIONS]
59
59
60
Dictionary file COMMANDs:
60
Dictionary file COMMANDs:
61
  -a, --add       If not in DICTIONARY, add EXPRESSION with TRANSLATION
61
  -a, --add       If not in DICTIONARY, add EXPRESSION with TRANSLATION
62
                  to DICTIONARY and write TRANSLATION.
62
                  to DICTIONARY and write TRANSLATION.
63
                  If DICTIONARY not exists, create the file with INFO
63
                  If DICTIONARY not exists, create the file with INFO
64
                  and add the entry; if INFO is a null-string,
64
                  and add the entry; if INFO is a null-string,
65
                  default INFO is added, containing program version,
65
                  default INFO is added, containing program version,
66
                  user name and timestamp. Requires 'sort'.
66
                  user name and timestamp. Requires 'sort'.
67
  -ai, -addinfo   Add information data INFO to DICTIONARY.
67
  -ai, -addinfo   Add information data INFO to DICTIONARY.
68
                  Must be used as first argument.
68
                  Must be used as first argument.
69
  -c, --create    Create new DICTIONARY with INFO (see -a).
69
  -c, --create    Create new DICTIONARY with INFO (see -a).
70
                  Existing files are replaced. Must be used as first argument.
70
                  Existing files are replaced. Must be used as first argument.
71
  -d, --delete    If used with EXPRESSION and DICTIONARY, remove EXPRESSION
71
  -d, --delete    If used with EXPRESSION and DICTIONARY, remove EXPRESSION
72
                  from DICTIONARY instead of translating.
72
                  from DICTIONARY instead of translating.
73
                  If used as first argument, delete DICTIONARY.
73
                  If used as first argument, delete DICTIONARY.
74
  -i, --info      Display information about DICTIONARY.
74
  -i, --info      Display information about DICTIONARY.
75
                  Must be used as first argument.
75
                  Must be used as first argument.
76
76
77
  -o, --overwrite Like -a but overwrite a contained translation of
77
  -o, --overwrite Like -a but overwrite a contained translation of
78
                  EXPRESSION with TRANSLATION without question.
78
                  EXPRESSION with TRANSLATION without question.
79
                  Additionally requires 'mktemp'.
79
                  Additionally requires 'mktemp'.
80
  -R, --repair    Repair DICTIONARY instead of translating. Requires 'mktemp'.
80
  -R, --repair    Repair DICTIONARY instead of translating. Requires 'mktemp'.
81
                  Info data is be kept but invalid entries are removed.
81
                  Info data is be kept but invalid entries are removed.
82
                  USE WITH CAUTION!
82
                  USE WITH CAUTION!
83
  -s, --sort      Sort DICTIONARY instead of translating. Requires 'sort'.
83
  -s, --sort      Sort DICTIONARY instead of translating. Requires 'sort'.
84
                  Includes --sound when used with -v.
84
                  Includes --sound when used with -v.
85
                  Must be used as first argument.
85
                  Must be used as first argument.
86
86
87
translate OPTION [OPTION]
87
translate OPTION [OPTION]
88
88
89
Help page OPTIONs:
89
Help page OPTIONs:
90
  --1             Display help on one page (without 'clear' and user input).
90
  --1             Display help on one page (without 'clear' and user input).
91
                  Useful with redirection 
91
                  Useful with redirection 
92
                  (try 'translate --1 --? > translate.doc.txt').
92
                  (try 'translate --1 --? > translate.doc.txt').
93
                  Must be given before all other help page options.
93
                  Must be given before all other help page options.
94
  --a, --about    Display information about the program.
94
  --a, --about    Display information about the program.
95
  --c, --cmd      Display this help page.
95
  --c, --cmd      Display this help page.
96
  --d, --dict     Display help about dictionary files.
96
  --d, --dict     Display help about dictionary files.
97
  --dev, --emp    Display special information for developers and employers.
97
  --dev, --emp    Display special information for developers and employers.
98
  --x, --example  Display example.
98
  --x, --example  Display example.
99
  --?, --help     Display all help pages.
99
  --?, --help     Display all help pages.
100
100
101
101
102
EasyTranslator 0.95a - Stream editor to manage dictionary files
102
EasyTranslator 0.95a - Stream editor to manage dictionary files
103
Requires 'basename', 'grep' and 'sed', optionally 'sort' and 'mktemp' in PATH
103
Requires 'basename', 'grep' and 'sed', optionally 'sort' and 'mktemp' in PATH
104
104
105
EXAMPLE: If you would like to translate the English words 'a few' into German,
105
EXAMPLE: If you would like to translate the English words 'a few' into German,
106
106
107
	translate ''a few'' en-de
107
	translate ''a few'' en-de
108
108
109
should write the German words
109
should write the German words
110
110
111
	ein(e) wenig(e)\n
111
	ein(e) wenig(e)\n
112
112
113
(without indent) to stdout if the echo dictionary file 'en-de' contains
113
(without indent) to stdout if the echo dictionary file 'en-de' contains
114
a correct entry for it (see next page). You may also translate it as
114
a correct entry for it (see next page). You may also translate it as
115
entire phrase (which seems to make more sense here):
115
entire phrase (which seems to make more sense here):
116
116
117
	translate ''a few'' en-de -p
117
	translate ''a few'' en-de -p
118
118
119
should instead write the German word 'einige\n'
119
should instead write the German word 'einige\n'
120
(replace '' in input with the double-quote character).
120
(replace '' in input with the double-quote character).
121
121
122
122
123
EasyTranslator 0.95a - Stream editor to manage dictionary files
123
EasyTranslator 0.95a - Stream editor to manage dictionary files
124
Requires 'basename', 'grep' and 'sed', optionally 'sort' and 'mktemp' in PATH
124
Requires 'basename', 'grep' and 'sed', optionally 'sort' and 'mktemp' in PATH
125
125
126
DICTIONARY FILES:
126
DICTIONARY FILES:
127
You may create/improve dictionary files to be used with EasyTranslator
127
You may create/improve dictionary files to be used with EasyTranslator
128
of your own. Translation data must be contained therein as follows:
128
of your own. Translation data must be contained therein as follows:
129
129
130
#:File description displayed when option -i is used\n[#:File description\n]
130
#:File description displayed when option -i is used\n[#:File description\n]
131
[Expression:translation\n[Next expression:next translation\n]]
131
[Expression:translation\n[Next expression:next translation\n]]
132
Last expression:last translation\z
132
Last expression:last translation\z
133
133
134
Parts enclosed in rectangle brackets are optional. The colon (:) is to be used
134
Parts enclosed in rectangle brackets are optional. The colon (:) is to be used
135
as delimiter character between original and translated expression only.
135
as delimiter character between original and translated expression only.
136
Dictionary file names should contain common language identifiers separated
136
Dictionary file names should contain common language identifiers separated
137
by a dash (such as 'en-de.dic' for an English-German dictionary file).
137
by a dash (such as 'en-de.dic' for an English-German dictionary file).
138
138
139
Program updates and dictionaries can be obtained from
139
Program updates and dictionaries can be obtained from
140
'http://pointedears.de/dev/unix/translate/'.
140
'http://pointedears.de/dev/unix/translate/'.
141
Thank you for using a program by PointedEars.
141
Thank you for using a program by PointedEars.
142
142
143
143
144
EasyTranslator 0.95a - Stream editor to manage dictionary files
144
EasyTranslator 0.95a - Stream editor to manage dictionary files
145
Requires 'basename', 'grep' and 'sed', optionally 'sort' and 'mktemp' in PATH
145
Requires 'basename', 'grep' and 'sed', optionally 'sort' and 'mktemp' in PATH
146
146
147
Copyright (C) 2001  Thomas Lahn (webmaster@PointedEars.de)
147
Copyright (C) 2001  Thomas Lahn (webmaster@PointedEars.de)
148
Be sure to have 'easyTrans' or similar in mail subject line for fast response.
148
Be sure to have 'easyTrans' or similar in mail subject line for fast response.
149
149
150
INFORMATION FOR DEVELOPERS (KNOWN ISSUES)...
150
INFORMATION FOR DEVELOPERS (KNOWN ISSUES)...
151
151
152
1) As I have not found out the correct /REGEXP/ for 'sed' to remove all
152
1) As I have not found out the correct /REGEXP/ for 'sed' to remove all
153
   characters before/after another one including this character (delimiter)
153
   characters before/after another one including this character (delimiter)
154
   to date, removing each single printable character before/after
154
   to date, removing each single printable character before/after
155
   delimiter is, for the time being, my only solution in bash. Please mail
155
   delimiter is, for the time being, my only solution in bash. Please mail
156
   me if you have a more efficient solution, especially the correct /REGEXP/.
156
   me if you have a more efficient solution, especially the correct /REGEXP/.
157
2) Sorting the dictionary unfortunately also sorts its the info data by now.
157
2) Sorting the dictionary unfortunately also sorts its the info data by now.
158
158
159
...AND FOR EMPLOYERS:
159
...AND FOR EMPLOYERS:
160
160
161
BTW, if you have an idea for improving EasyTranslator or for another (field of)
161
BTW, if you have an idea for improving EasyTranslator or for another (field of)
162
application you want me to develop for you (BASIC, DOS batch, Windows INF,
162
application you want me to develop for you (BASIC, DOS batch, Windows INF,
163
Visual Basic, bash, Pascal, Delphi, C, HTML/JavaScript, and I am still learning
163
Visual Basic, bash, Pascal, Delphi, C, HTML/JavaScript, and I am still learning
164
other languages) feel free to mail me, too. THNX!    -- PointedEars, 2001-03-28
164
other languages) feel free to mail me, too. THNX!    -- PointedEars, 2001-03-28
165
165