Documentary to Magic-Dic
WHAT DOES IT DO?
Magic-Dic is a multi-lingual dictionary program for console. It supports
search coevally in global and user dictionaries. It also supports
simultaneous searching in more than in one dictionary language to study
similarities between languages. Dictionaries are easily chosen via
command line by country code abbreviations. It can search for more than
one word in a search request, or/and encircle a search with words that
have to be included also. The search for a word can be an exact word match
or inexact, with the word being part of a word. It supports also
approximate search with specifying numbers of errors in the search-word.
Also thematic search is supported. Magic-Dic is more than a
dictionary-view-program. New dictionary entries can be created also in
multi-lingual insert mode, allowing you to automatically create all
dictionary language pairs at once by translating a word to many different
languages. New entries into user dictionaries are emailed to a central
location (word centre), where they are all merged into a central source
for Magic-Dic`s dictionaries. The actual collection can be easily
downloaded from the centre with Magic-Dic. The goal of this project is to
create larger and complex dictionaries with the help of many users. All
dictionaries are keep as easy ASCII files open for all to read out or
modify. Alternatively lexica can be view with also. New dictionaries can
be installed easily with the program from the word centre.Magic-Dic can
also be used to view encyclopedia. Users can report each translation
errors by email.
THE BASIC IDEA OF THIS PROJECT:
Commercial dictionary are expensive and are mostly limited in their
translations, especially in the scientific area. Although the need of
translations of rarely used words is still there. Most dictionary
programs offer functions to create personal dictionaries as addition to
their base. Unfortunately this unique work stays mainly unused on a single
PC, only usable for ONE user and how likely will the information get
lost by the next system crash. So it is not really worth to create a
large personal dictionary. Why not sharing the done work and saving it
that way by spreading it? Why not supporting others with your entries
and get support from others in return? This is the main idea of the
project: Share and save your input and create an actual lively database
for translations. Every new translation has an identifier of creation
time and user, so that users can communicate with each other and correct
their translations. The dictionary format is in simple ASCII, readable
and usable for all people. This opens the limitations that have
encrypted commercial dictionaries. Go for open source dictionaries!
Magic-Dic is written as simple bash script to be simply used in
terminals, because entering a simple command line is finally faster and
easier, than opening a graphical program every time one needs a
translation.
How does Magic-Dic work now?
1.) Searching for Words and Phrases
2.) Searching in different Dictionaries
3.) About Dictionaries, How to Get and Convert for Magic-Dic
4.) How to Create/Delete an Entry to a Personal Dictionary?
5.) How to communicate and mail to users?
6.) Files and Directories and Important Variables
7.) Installation
8.) Check for Updates and News and List of Dictionaries from Server
9.) Modular and Monolithic Version
10.)Colors
11.)Word NEWS (check out new words)
12.)utf-8 and xdi
------------------------------------------------------------------------
1.) SEARCHING FOR WORDS AND PHRASES:
The simplest way to search for a word is to call the program with the
word as option. Example: "di work". All matches are shown, containing
"work" surrounded by non-alphanumeric characters. The word "pieceworker"
will not be found, "job-work" will be. To open the exact match on one
side, use a ´*´. Example: "di work*" will find "worker". "*work*" finds
"pieceworker also. Alternatively you can set for "*word*" "\#word#", when
the `*`-Bug problems appears. Read below in the chapter about
non-alphanumeric characters. Alternatively you can set "-#" option to
disable the complete word search. So "di word -#" is the same as
"di *word*".
If you not know characters in the word, you can replace them with `#` or
alternatively `*`. The replacement matches one or more characters.
The search is per default case insensitive as long as no capital letters
are in the word. A capital letter will toggle to case sensitive search, but
this auto-selection can be overwritten with the "-i" option to
case insensitive search again or forced with `-I` to case insensitive search.
Both settings abrogate each other and automatic selection will be enabled
then again. Examples: When having the German word "gut" and "Gut", the
meaning in small letters as adverb or adjective is different than the word
starting with a capital letter that indicates it as noun. To encircle the
search for "Gut", the automatic selection to case insensitive search will
show only the desired results, leaving out those containing "gut" as
adjective and adverb. When looking for the word "gut" as adjective or
adverb only the `-I` switch is required to be set.
If you do not know, how to spell a word correctly, set with "+N" the
number of possible wrong characters. Example: "di +1 worck" will find
"work" then. Maximal number is 8 or half of the number of characters of
a word. Combine this opening the exact match sides: "di *worck* +1"
will find then "pieceworker", next to all possible other combinations.
Searches using this function will of course take longer, depending on
the amount of combinations.
You can search for phrases also and you do NOT need to encapsulate them
in `"`. Example: "di where the devil" There is no order of setting
word and other options. The space separates them and all single entered
words are combined to a phrase. So "di where +1 the devil" will search
then for "where the devil". So you can enter very chaotic everything.
Valid options will be filtered out.
Alternatively to "+N" you can run the search in batch mode with "-B", but
this is slower than specifying the number of errors directly. At least it
gives automatically out the most closest matches.
If you know the word stem of a word correctly but not the end, you can use
the "-e {N}" option. If with the search word no match is found, the last
character of the search word is removed and a "#" is added at the end of
the search word. This is repeated as long as there is a match or the
minimum word length of "N" characters is reached. If "N" is not set, the
default value of "3" is used. If "N" is set to "0", the search will not
stop after a match and be continued until the word length is "3"
characters. Example: The word "wordith" does not exist and results in a
search to no match. Started as "di wordith -e" Magic-Dic searches
automatically then for "wordit#", which does not exist either and then for
"wordi#", which finds words like "wordiest, wordier, wording, ..."
The options "-E {N}" does the same but cuts of characters from the
beginning of a search word. Both options, "-E {N}" and "-e {N}" can be
used together. If "N" is specified twice, the last specified will be used.
If you are looking for more than one word or phrase, you can search for
them one after another with one program call. Set `,` directly at the
end of word or last word of the phrase with no space, directly in front
of the next word, in between them spaceless or as single option. There is
no rule for, so you can feel free to add anything to a already written
line to your desires. Example: "di work, worker , job,labour ,piece"
will search first for "work", then for "worker", and "job", and "labour"
and finally for "piece". Another complex example for a phrase: "di
where +1 the devil, where the hell, work" will search for "where the
devil" and "where the hell". The `+1` option is filtered out.
If you wish to encircle your search with the words that shall be included,
especially when your dictionary includes phrases and idioms, indicate them
with `+`. Magic-Dic will do search in a loop and finally display only
those lines, containing all the words in one line, but independently in the
order in the line itself. Example: "di work + of" will find "work of art"
as well as "place of work". You can open the exact match of all the words
you use: "di *work* + *place*" (what is the same as "di work+place -#")
and you will find "workplace as well as "place of work". You can also
encircle your search with single characters, but which one are allowed and
which ones are forbidden, please read below the
"Non-Alphanumeric-Characters" chapter. Example: If you want to find all
questions containing the word "feel" try "di feel + ?". Also you can
combine a search like: "di feel + ? , go +?". First will be looked at all
questions containing the word "feel" and after the same for "go".
If you want to limit your search to a special thematic subject such as
"chemistry" or "history", you can specify it indicating with `/`. Get a
list of all set thematic subjects with "di -t" or add your personal ones
in the config file. Example: "di /chem crystal" will look for entries
being thematically indicated with "chemistry". Only one thematic subject
is permitted to be set. If you specify more, the last specified in the
command line will be taken. A single `/` without a thematic name will
stop searching in thematic subjects and displays only words that are
assigned to now thematic groups. Two `//` without anything will show only
translations that are assigned to a thematic group but leaves out all non
thematical assigned translations. The sense of this function is that it
allows to mix various thematic dictionaries into a literary one. In a
normal search all matching translations are given out, but if desired the
search can be limited to literary output only with "/", or non literary
output with "//" or of a specific group e.g.: "/chem".
The option "-b {N}" allows to search the text that is marked with the
mouse to the buffer. If you mark a single word out of a text, simply write
"di -b" (or with all the other options you need) but leave out to specify
the search word, as "-b" ignores all specified words in the command line.
If you specify a word list and call "-b" without specifying "N", the word
list is processed line by line, as every line being one search request.
This allows to have a list of complex words line by line and the search is
then equivalent to "di example to prove,set an example, for example". If
you prefer to search word by word, e.g. of a long text, specify "N" as
"0". All words are then processed one after another equivalent to: "di
example,to,prove,set,an,example,for,example", BUT words that appear more
than one time are of course only looked up once, in the order they appear
the first time. If you specify "N" greater "1" it will limit the minimum
length of a word to "N" characters. This allows to exclude small common
words like: "to, if, of, it, as, the, see". When using the "-b" option,
all non literal characters (and numbers) are removed from the buffer input
(hopefully) to avoid nonsense searches.
To run reading the buffer continously, use: "-y {N}", similar to "-b {N}"
That allows simply every time you mark something, it will be looked up and
the program does not stop. The output behaviour slightly changes: Output
is limited to number of lines of screen. To get all the output, use option
"--all" but note, the stop is then disabled to allow a continues run. If
you wish to have the stop back, set "--stop" also.
Most users, who want to Magic-Dic with selecting words by mouse, will
probably run it with "-y 0" to get out all word of a selected text. Simply
"-y" will only search the entire line that seldom gives out the right
results. It is probably better to run it "-y 4" to leave out all small
words from 4 characters below.
Navigation through results: Simply double click on a word of the output. A
console tool goes mouse. :-)
See also chapter 12 and check for "xdi" that opens "di -y0" in a new
xterm.
Similar to read the buffer, you can pipe a list of words or a text into
Magic-Dic via stdin. Per default the search is word by word. If you prefer
a search line by line, e.g. a list of complex words, use "-b" option. If
you prefer to search word by word but want to limit the minimum sizes, use
"-b N". See above reading from buffer.
Simply piping something into stdin of Magic-Dic will let run it in batch
mode. It first reads all the data and then processes them. That avoids to
search a word again. So all the words are sorted and double words are
removed to gain a more efficient search. However you require a real
streaming processes, you can specify this with the "--stdin" option. Then
the input is read line by line and processed. Although double searches
may occur then.
If the output is a lot you can quit further output of that word simply by
pressing "q", if you have a "more" on a Linux system, that can interpret
escape control sequences for colors in the shell and is called "more -f".
On non Linux systems, "more" often does not support this and is hence
replaced by simple "cat". You need to read the installation chapter for
details. If the output is a lot, you can use the "-w" or "-W file"
functions to write it out, or redirect the output in a file, but do not
forget to disable the colors and escape sequences then with "-NE".
ABOUT NON-ALPHANUMERIC CHARACTERS:
!?%$^§°_- allowed to be used in search in single position or
combination with a word. (how to find out all questions
with word: "di feel +?")
-+*/, reserved for this program, use only in the
described way to control the program, only exception
is the `-` that is allowed to be used in single position
or in combination with a word, as long it does not match
one of the control sequences. Hence it is not advisable
to start a word that way: "-word", but "word-" is allowed
to find all words hyphenated after. To find out all before
use "*-word", this is allowed. `/` is the only other character
that can be masked with "*/*", but impossible for `+` and `,`
neither `*`. Do NOT try to mask `-` like "*-*".
&("~`´#[\ All these characters should not be used with Magic-Dic,
{;:|><.=@ because they are whether interpreted by the shell or
are in use of this program and cause weird results.
THE `*`-BUG: The shell does interpret the `*` by start up! Do not use it
in single position. The shell will replace the `*` then with
all the file names in your actual directory and these are
probably not the words you are looking for. Also, when you
use the `*` by opening the exact matching and your word will
match to files in your directory, all these files will be
added to your word and the search will fail, what you will
realized when Magic-Dic prompt the word it starts the search
with. In this rare cases, exchange the `*` with a `#` that
will be not interpreted then, although when you put it into
the first position like "#word" the search fails also due to
the shell skips this option to the "di" script. Set the word
including `#` in `"` or escape the `#` like "\#word".
2.) SEARCHING IN DIFFERENT DICTIONARIES
If no language is specified, the default language pair is used as set in
the config file, otherwise german-english is used. For every language
pair, global and user dictionaries are both used in a search. Global
dictionaries should be in "/usr/local/lib/magic-dic/dic/" on a multi user
system to save disk space, personally dictionaries should be in
"~/.magic-dic". The order of the language pair does not matter. If
"german-english" is set with `-de-uk`, also a "english-german" dictionary
will be found.
To specify a language name in the command line is rather simple by using
the country domain names. Get a list of all yet set up languages with
"di -L" or add your own to the config file.
If a language is specified, the default dictionary is replaced. For
looking in a "german-latin" dictionary, set `-de-lat` that is equivalent
to `-lat-de`. If you just set `-lat` the missing second language for the
pair is complemented by the users default language as specified in the
user config file, otherwise it is english.
You can check simultaneously for several language pairs, as many as you
specify. Use just `-a` for all installed dictionaries. If you want to
look up all language pairs corresponding to a chosen language, use `-#+`
to load. Example: To specify all dictionaries with German, do `-de*`. You
will get ONE output containing all your search results, but every out put
line indicates its language pair.
As example, if you want to have the translation of the word "work" for
German, French, Latin, Spanish and Portuguese in one search, start with:
"di work -de-uk -fr-uk -lat-uk -es-uk -pt-uk" or if English is set to
your default language it becomes easier: "di work -de -fr -lat -es -pt"
The simultaneous search in different dictionaries allows to study
similarities in the different languages.
If you want to write that output into a file, you need to disable the
escape sequences for the colors and escape sequences with `-NE`, because
they will disturb. "di work -NE > foo.work" will write the output in a
readable way into the file "foo.work". You can also write out easier with
the `-w` and `-W file` option with the colored output automatically being
disabled and a standardised filename being created (`-w`) or to be
chosen (`-W file`).
You can selective disable looking up in user dictionaries with `-NU` or
in global dictionaries with `-NG`.
To find out, which dictionaries are installed, use `-l`.
Use `-L` to list all yet set languages.
To access dictionaries of languages not listed, please set them in your
config file "~/.magic-dic/magic-dic.conf". The format is such as:
"lat=latin dk=danish ..."
Dictionary names look then like: "latin-danish.magic-dic"
3.) ABOUT DICTIONARIES, HOW TO GET AND CONVERT FOR MAGIC-DIC
DICTIONARIES: USING LANG1-LANG2 OR LANG2-LANG1
One way dictionaries are made to translate LANG1 to LANG2 only, and the
translation is a more complex entry. This is a vicariousness from
dictionary books. Personally I feel it to be a relict to create one way
dictionaries on computers. For good understanding of a translation, I am
used to look up the translations backwards in book dictionaries. The use
of a computer allows to reduce that effort and can offer quickly many
entries. Magic-Dic is hence created in the way to understand a
LANG1-LANG2 dictionary being equivalent to LANG2-LANG1.
I expect from the user, to decide for himself, in which way a translation
is meant to be by the means of it entries.
Hence, Magic-Dic does not distinguish between dictionaries LANG1-LANG2 and
LANG2-LANG1. Both will be loaded if found. Basically it makes no sense to
have both dictionaries and they can be united easily with the `-screw`
function. Very similar, when writing an entry to a user dictionary. If
both pairs exist, the entry will be written into both files. If only a
file LANG2-LANG1 is found and the entry is created as LANG1 to LANG2 it
will be written into the found file.
Try to avoid having double dictionaries, but you can if you wish.
Disadvantage of double dictionaries is confused output. Also by updating,
the first found will be taken as the main one and the other is not
touched.
USING AND GETTING DICTIONARIES - USER AND GLOBAL DICTIONARIES
Magic-Dic uses two types of dictionaries: the global and user
dictionaries. Global dictionaries are from a foreign source and are a
validated basis of words to start with. This should be installed system
wide to save disk space (/usr/local/lib/dic). Magic-Dic supports the
installation of new dictionaries also to the global-lib (use `-G` option),
if you have write permissions to.
User dictionaries are located in (~/.magic-dic) directory and mainly
contain the recent inputs of the personal inserted words. The inputs can
be shared between all users. After a new entry Magic-Dic offers to email a
new translation to the word centre. In the word centre, all new
translations are united to one user dictionary. You can receive and
update your user dictionary from the web page. Magic-Dic supports this
also (use `-g` option for).
The new entries, which are sent to the word centre, remain in the users
dictionaries collection for a while. They will become after a validation
time part of the global dictionaries.
You can simply get dictionaries downloading them from the Magic-Dic web
page by using the "wget" script part (you may have to set in the Magic-Dic
config file the variable WPROXY=on/off) via option `-g` or `-G` or `-gg`,
`-GG` for verbose output. "di -g" will download and automatically install
the default user dictionary, respectively updates it. Your personal
settings will be added and double lines will be removed. If you specify a
language as explained in the chapter "Searching in Different Dictionaries"
you can download that specific dictionary. "di -g -lat-uk" will download
a latin-english user dictionary. To update all installed dictionaries with
recent user dictionaries, use "di -a -g". The `-G` option allows to get
the global dictionaries and with that you can install a new dictionary for
not yet installed language, if available on the web-server. If you have
write permissions to the global-lib-directory, the dictionary is
automatically installed there, otherwise the new dictionary will be in
your (~/.magic-dic) directory instead.
Magic-Dic does not distinguish between a LANG1-LANG2 or LANG2-LANG1
dictionary, hence, when you are looking for a "english-latin" dictionary
installing it with the `-G` or/and `-g` option and on the server the
dictionary is not found, it will automatically look for a "latin-english"
dictionary. If that is found, it will be downloaded and converted to
"english-latin" as desired.
Actually it would make much sense to choose dictionaries in that way, that
the second language is your default language. (You can set the default
language in the config, recall config program with `-C`). It will make it
easier recalling a dictionary: If most dictionaries are languageX-english
and english is your default language, it is shorter to call `-de` instead
of `-de-uk`.
When you update a dictionary, Magic-Dic does not care about, how you
specified that language pair. It will check for an already installed
dictionary corresponding to that language pair and will download that
found language pair. The consistence of your dictionaries is been taken
care of. Be not afraid to install a dictionary again. Magic-Dic unites
the old with the new, sorts it and removes double lines. If the dictionary
is large, this can take some time, just wait a moment. Files being
processed during download are in "~./magic-dic/download".
You can screw a dictionary manually with the `-screw` option or check for
correct entries with `-clean` option.
You can convert dictionaries of a foreign source to be usable in
Magic-Dic. "di -convert=:: -de-lat source file" will convert an ASCII
source file into the format used by Magic-Dic. To use the "convert"
script, the source has to be in pure ASCII and containing word of
language1 being separated from language2 by a field separator, `::` in
the example above. Each word pair has to be in one line, or say
differently each word pair needs its own line. The main problem will be,
to find dictionaries in that format. Most dictionaries are in a
non-readable binary file format.
Magic-Dic itself uses a simple ASCII file format, using as field
separator `::`. To every entry a few more informations are stored, to
allow more complex use of the program and communication between the
users itself, to discuss or correct false translations.
The format of a Magic-Dic dictionary file is:
1 2 3 4 5 6 7 8 9 10 11
W1 W2 lang1 lang2 theme ident email status count source pass
W1=word of language 1
W2=word of language 2
lang1=country domain name of language 1 (di -L)
lang2=country domain name of language 2
theme=the thematic subject of the word (di -t)
ident=personal identifier, containing the time, nick and random number
email=email of user who created that entry
status=the status of the entry,ok, to mail, mailed, delete, ...
count=count of reported errors
source=the source of that entry, found in Internet, user created, ...
pass=the users password
The additional informations as identifier, email and password will be
needed for user communication and the possibility to delete false
entries from the data base. Users who wish to keep their email anonym
will only be known by the word centre. The identifier is unique for an
entry, so that users can communicate then with that key via the word
centre with each other. In the first level only a user can delete his
entry from the word centre. But if a false entry is not deleted by a
user himself, it will be after a certain amount of other users who did
complain about this entry.
This way the database is lively, can grow and be corrected by shared
work.
4.) HOW TO CREATE/DELETE AN ENTRY TO A PERSONAL DICTIONARY?
Create:
-------
Magic-Dic offers a simple mask to insert new words into the data
base. The big advantage for multi lingual people is to create all
possible combinations of dictionaries, when the translations allow it.
Simply call the program without giving "word", BUT specify a language!
Even for the default language you have to do: "di -def" will open the
user default dictionary to enter new words in. "di -lat-uk" will open a
user latin-english dictionary. "di -de -fr -lat" will open dictionaries
of the default set language. If this is english=uk it is the same as
"di -de-uk -fr-uk -lat-uk" Magic-Dic allows to create with one entry
step several dictionaries very easy. Especially multi lingual people can
translate a word in more than one language using the multi lingual input
mode. If the translation allows it, cross linked dictionaries can be
created. If you translate a word from English to German and French, a
german-english, fresh-english and german-french dictionary will be
created. As more languages you speak, as more the Magic-Dic project will
benefit from providing others with a variety of different dictionaries.
Someone who speaks five languages, can create all dictionary
combinations, by translating one word into the other four languages once.
The script will ask the user if this special translation allows it or if
it shall keep strictly the initial start.
Before finishing the insert mode, Magic-Dic wants to email the new words
to the word centre, so others can benefit from that quickly, just by
updating their user dics with "di -g". That way the database can grow
easily. Please allow Magic-Dic to email your words and you will benefit
from this also finally.
The email is created using the program "mail" in a pipe. To use this,
you need to have your sendmail or a similar program configured. In the
config file you can set this to yes or no. If sendmail does not work,
Magic-Dic will write the output in a normal file stored in
(~/magic-dic-mail) and you can send this file by hand to the database.
The Problematic of Translations:
Translations of a single word into a single word only can cause semantic
misunderstandings, when a word has more and very different meanings.
Please translate that kind of words always in a context, by giving a
significant example or with its synonyms together.
Please try to keep a the format as described below:
If you want to use the word type adding function and wish to write the
word and an example, write the example first and the word separated with
an `;` after. The word type settings will be always added at the end of
the entry.
Example: to translate the difficult word "true",
set:
=> be true to one´s character; true
and add after the number for an adverb when asked.
You will get:
$> be true to one´s character; true (adv.)
Translate then this with the same meaning to all the other languages you
have chosen in also the same way as you did it here before. Then you have
translated "true" in one of its meanings and the translations are probably
exchangeable crosswise. When translating in multi lingual mode (just start
the program with all the dictionaries you want to write to), do over think,
if cross linked translations of your entries are successful and answer
this question later, when the script asks you about.
If a word has more than one meaning, then you should translate it in all
its meanings in the way as described above.
Such difficult words as "true" should be translated also with an entry
containing synonyms. Set a "synonym entry" similar as an "example entry",
but just separate the words with a `,` and write at the end of your entry
your word again, separated with a `;` to emphasis this is the word to be
translated and to add the word type correctly at the end.
For our "true" example it would look like:
set:
=>true, constant, faithful, sincere, loyal, staunch; true
and you get:
$>true, constant, faithful, sincere, loyal, staunch; true (adv.)
Of course when translating into all the other language you chose, you
should also enter a collection of synonyms to make your translation better
for crosswise created dictionaries.
Please try to keep the format in that way.
Simple sentences and of course prominent idioms are more than welcome.
Ispell:
-------
Inserted words will be checked of correctness with ispell to protect new
sources being polluted with typing errors. It requires properly set up of
ispell. Language name and ispell dictionary name often differ. Thus the
$ISPELLBOOKS variable translate it, but has to be set up correctly to
ispell on system. Administrators may set up the $DEFISPELLBOOKS variable
in main script and users can set it up by hand in the conf file of
Magic-Dic. Sometimes ispell needs to know the character set it shall use,
e.g.: "ispell -T latin1 -d german file". It may depend on the distribution
or system configuration, if latin1 needs to be specified or not. It can be
specified in the variable $ISPELLFORMATER, for which ispell dictionary
which character set shall be used. Administrators may set this up in the
main script in $DEFISPELLFORMATER. To disable to set a character set,
start with "di -NF ..." or permanent, set an alias. You can also define in
in the variable the character set "0" for those languages, who do not need
or shall not use a character set specification, otherwise the default is
used!
"di -NS ..." disables the spell check totally.
Delete:
-------
To delete a false entry, search for it as usual but with the option `-d`
or `-D` in addition. `-d` will delete an entry only in the user
dictionaries, `-D` will also try to delete it from the global
dictionaries, if you have write permission to the global directory.
When a line shall be deleted, it will be removed from all dictionaries
it is found in, as specified.
Same as when you create a new entry, Magic-dic want to email the changes
to the word centre. If you are the owner of that entry, it will be
deleted from the word centres data base. If you are not the owner, it
will be marked as possibly false. When enough people report this to be
false, the entry will be removed. If you find a false translation in the
global dictionary and do not have permission to delete this, you can
still report this to the word centre using the `-D` option. Just ignore
the warnings then.
Using the delete function:
When using option `-d` or `-D` all output lines will be counted and be
shown with a line number. When you are asked, just give in all the line
numbers you wish to be deleted. You have to verify again the deleting
for every entry. Please use the choice to set a replacement for the
deleted line.
Please support this project by translating words. For example very
simply, insert a word you had to look up in a standard dictionary,
because they were not in here. To put in is pretty easy here and if you
need to look it up again it will be much faster by using Magic-Dic.
Hence, Magic-Dic uses simple ASCII source files for dictionaries
everything is open for everybody and easy to modify. Please support this
open source software.
Thank you. JR
---
5.) HOW TO COMMUNICATE AND MAIL TO USERS
Magic-Dic includes also a mail function that allows users to discuss their
translations and correct them. This will hopefully create a lively and
actual database of words.
You can check out the owner of an entry with the `-m` option. If it is
`MGDC` it is from the start database of Magic-Dic. If it is set to `PVT`,
the owner of the entry did not wish his email address being shown up
officially. In the other cases you should see directly the email address
of the owner.
You can use this address to email him directly with your favourite email
program, or you can use the email function of Magic-Dic using the option
`-M`. You will be asked to select the entry you wish to refer to and after
an editor starts, where you can write your message in. The recommended
editor for this is `pico`, for it is a simple editor for text and known
from the `pine` program. You can set a different default editor by hand in
the config file of Magic-Dic via the MEDITOR variable.
Generally I would recommend to use the mail function of Magic-Dic to START
a communication with another user. It adds per default some useful
information to the mail. If a users address is set to `PVT` you will have
to use it anyway, because your email has to go over the Magic-Dic main
database, to find out the owners email address and re-address your email.
Every entry has a unique identifier or cipher that corresponds to an email
address. The main database or `word centre` will check for the
corresponding address pair and re-create your email, that is then send to
the owner of the entry. Only the body of your email is taken out to be
forwarded.
Depending of your status of email privacy, the email will be addressed
with your email address or just your email identifier. If both parties are
set to private, they will not see each others email addresses.
If you do not have set your email to private, the owner of the entry will
see your email address and if he directly replies to you, his privacy is
gone. He should then use the `ReplyTo` address, that is Magic-Dic`s email
address to reply to this email.
Mailing over the Magic-Dic centre you should always have include the email
text you refer to, or at least the sys-info line and the variables below.
Generally you should NOT change the values below the line:
---------sys-info---please-do-not-touch-or-write-below-----------------
Extra characters before variables do NOT disturb processing your email.
Some email programs generally add a `> ` before text you reply to. This
does not disturb.
Please do not try to change the values or write characters after them. The
only result will be that your email will not be properly processed and
goes into the nirvana.
Is all this security stuff really necessary? Well, I prefer to leave this
decision by the user himself. If the dictionary base will grow and spread,
your email address can be read by many people. Some people prefer to
choose, to whom they give their email address and I do not want to scare
those people away to send translation entries to Magic-Dic. Give your
email address to Magic-Dic only and it will be used for Magic-Dic
processes only. It is preferred to use a more permanent email address,
that does not change in the near future. Your email address will remain in
the database only, if you wish with using `mail privacy`. So here is no
business behind. It is just the idea of this project, that counts, to
create a large and open dictionary base for all.
Please send translations!
6.) FILES AND DIRECTORIES AND IMPORTANT VARIABLES
Files and Directories:
global dic dir : /usr/local/lib/magic-dic/dic/
glob lib dir : /usr/local/lib/magic-dic/lib/
glob bin dir : /usr/local/lib/magic-dic/bin/
global config file : /usr/local/lib/magic-dic/etc/magic-dic-global.conf
user directory : ~/.magic-dic/
user lib dir : ~/.magic-dic/lib/
user bin dir : ~/.magic-dic/bin/
user config file : ~/.magic-dic/magic-dic.conf
mail tmp directory : ~/.magic-dic/mail-tmp/
last search results: ~/.magic-dic/result.tmp
mail out directory : ~/magic-dic-mail
global dic dir:
---------------
contains the basic dictionaries for system wide installation, in order
to save disk space. The name of the dictionaries to be processes are:
{language1}-{language2}.magic-dic
example: german-english.magic-dic
Check for valid languages with "di -L"
If you need a language that is not specified, set it in your config file
in the variable LANDER. To set it globally, check in the "di" script itself
at in its head for the variable LANDER. Although this setting there will
only take effect, when the users will recall their user config script with
"di -C". You may force this, when you remove the version number in all
user files ~/.magic-dic/.ver or these files at all.
glob lib dir and user lib dir:
------------------------------
Contains the script parts (modules) with that Magic-Dic is sourced.
User configuration before global configuration. If a user installs a more
recent version locally, the modules will be taken preferred from the user
lib directory.
glob bin dir and user bin dir:
------------------------------
In Magic-Dic the path is set to:
PATH=$HOME/.magic-dic/bin:/usr/local/lib/magic-dic/bin:$PATH
Hence the shell will check for binaries first in these directories, before
it checks the rest of the PATH. That allows to install simply in these
directories all the binaries that are required for Magic-Dic to run well.
That simply allows to overwrite the system standard for Magic-Dic only, if
certain binary tools cause conflicts. Mainly GNU tools should work well.
Consult section 7.) INSTALLATION for details.
global config file:
-------------------
The file contains only variables to be set for all users in a system
adaption, such as:
MAGIC_DIC_OS=
MAGIC_DIC_MORE=
MAGIC_DIC_SENDMAIL=
These variables should not be set for local user configuration into "user
config file" as this file is created by the script and data might get
lost. ~/.bashrc is a better place though. Again, see section 7.) for more
details.
In addition you can also overwrite the default variables (DEF...) or add
own values to them. This is especially required to configure the ispell
functionality.
for overwrite:
DEVVARIABLE="my new value"
to add:
DEVVARIABLE="$DEVVARIABLE my-value"
You can set the following variables:
# www config:
DEFDOWNLOADURL= home page of magic dic, required for services
DEFDOWNLOADCGI= home page of magic dics cgi services
DEFMAGICMAIL= email address of magic-dic, to send in new words
DEFWPROXY= tell wget to use proxy (on/off)
MAILP= mail program to use. Required to support "-s subject"
usually "mailto" or "mail" does.
# dictionary config:
DEFLANDER= IMPORTANT: translates domain names to languages
format: "dns1=language1 dns2=language2", e.g.:
"de=german uk=english es=spanish"
DEFSETWORDTYPES= word types abbreviations to use in creating new
translations: "feminine={f} neutral={n} verb=(verb)"
DEFTHEMES= themes to which words belong, like mathematic,
chemistry: "chemistry=chem mathematic=math"
DEFLEXFILES= encyclopedia sources need different output format
than normal dictionaries. Format as DEFLANDER
DEFLEXFORMATLONG= configure those in, that need long output format
DEFLEXFORMATSHORT= configure those in with short output format, in both
*LONG and *SHORT only the abbreviation is required:
format: "elem abbr"
# ispell configuration (do properly)
DEFISPELLBOOKS= configures ispell: translates language name of
dictionary to ispell dictionary name, e.g:
"german=deutsch french=francaise spanish=espanol"
DEFDEFFORMATER= set the default character set ispell shall use:
e.g.: "latin1" (set only ONE name in!)
DEFISPELLFORMATER= tell ispell for which ispell dictionary to use which
character set. Format is:
"charname1=ispelldic1:ispelldic2:ispelldic3 charname2=ispelldic4:ispelldic5"
For those ispell dictionaries that are not configured
the value of DEFDEFFORMATER is used. To disable using
any characterset specification (there are cases where
causes errors) set for "charname" "0" (zero) in
DEFISPELLFORMATER: e.g.: "0=esperanto:swizz"
# editor and default colors:
DEFMEDITOR= set editor for creating email. I suggest "pico" to be
the best as he allow to start the cursor in line "+7"
and is simple to use.
DEFCOLORLANG= default color the line separator: ex.: ""
DEFCOLORWORD= default color for the word that is found in the
search results
DEFCOLORSTART= default color for warnings
DEFCOLOREMPH= default color for emphasing text
DEFCOLOROK= default color to show something run ok
COLORSTOP= escape sequence to change back to normal: "\033[0m"
# define xterm and charset
DEFCONSOLE= set for all the name of the default console
including all options as fonts, e.g:
"xterm -geometry 76x45-1-1 -fn 9x15"
MYCONSOLE= users can overwrite DEFCONSOLE in their config
file the admin default.
DEFXSWITCH= set for all the option to allow execution of an
command in the opened xterm, rxvt. e.g.: "-e"
MYXSWITCH= only to be set for users in their config file
DEFTERMNAME= set here the name of the name, that the terminal
writes into the $TERM variable of your environment.
This has an effect of writing the task bar of your
"xterm". To disable it for all users set in "none".
MYTERMNAME= Only to be used for users, who can overwrite
$DEFTERMNAME with it.
DEFTERMUTFON= set here the escape control sequence to enable
DEFTERMUTFOFF= disable switching the xterm to utf-8 and back.
e.g.: ´$"\033%G"´ and ´$"\033%@"´
MYTERMUTFON= Only to be used for users in their config file,
MYTERMUTFOFF= to overwrite the system default.
ALLUTFOPS= set here only the options to start your xterm,
etc. in utf-8 mode globally for all users. Users
can set in their conf file the MYUTFOPS variable.
DEFTERM= overwrites the name in $TERM variable of your
environment without touching $TERM. Only set
this in special cases and if you know what you do.
MYTERM= only for users, who can overwrite the $DEFTERM
with this variable. Also be careful.
DEFCONVCHAR= set here the characterset of your X that should
be the same as the database is. Please use only
the specifications of the "charconv" program in
order to convert correctly to utf-8 if desired.
MAGICDICONVCHAR= is a variable that should not be set in the
glob-conf file as it is more a switch for users
in their environment
NOTIMESTEP= if this variable is set (set it to "1") the
automatic check for new versions is disabled
globally for all users. That is useful for
a maintained systemwide installation where users
do not have to care about updates. To be set in the
global config file from administrator
In any case, you change these variables, you should know what you do, as
it may cause to serious failures for all the users on the system.
user directory:
---------------
contains the personal created dictionaries and from the web page
downloaded users and global dictionaries. Global dictionaries should
then be moved to the global directory, but if you do not have permission
for, you can leave them locally.
user config file:
-----------------
contains all user specific settings. Configure it with "di -C". Some
variables however need been edited by hand, such LANDER and WPROXY.
mail tmp directory:
-------------------
stores temporarily the mail data that shall be sent to the word centre
last search results:
--------------------
The results of the last search are stored in that file and can be
recalled with `-r`.
mail out directory:
-------------------
when your sendmail or a similar program is not configured to allow using
the "mail" program in a pipe, the information that should be sent to the
word centre, will be written to a file and stored in that directory. The
user can then send it with his email program of his choice.
7.) INSTALLATION
The minimum you need is just this file that should be located in one of
the directories in your $PATH, as "/usr/local/bin". Create a directory
"/usr/local/lib/magic-dic/dic" for the global dictionaries. If you have
write permissions to that directory you can install global dictionaries
with "di -G" otherwise the dictionaries will be installed locally only.
If you have the modular version, that is the standard, create a directory
"/usr/local/lib/magic-dic/lib/" and copy the modules into. In a personal
installation in your $HOME you can install the modules in
"~/.magic-dic/lib" also.
"di -G" installs the global default dictionary only. If you need other
dictionaries, specify them: "di -G -es-uk -pt-uk ..." or install all yet
available dictionaries "di -G -A".
Although you can get a full install version with all dictionaries from
Magic-Dic web site.
DIFFERENT OS TYPES:
Well, so far it runs on Linux, tested on SuSE and DEBIAN.
It is also tested on HP-UX (hpux10.20) partly.
It runs with some adaption on SUN (sparc-sun-solaris2.7). Problems here
was awk (nawk) that caused errors and missing programs "wget, agrep". See
workarounds below:
GENERAL WORKAROUND IF PROBLEMS:
The PATH in Magic-Dic is set to:
export PATH=$HOME/.magic-dic/bin:/usr/local/lib/magic-dic/bin:$PATH
If in system different versions of programs are installed, you can create
a link in "/usr/local/lib/magic-dic/bin" to the required program. (In user
configuration "$HOME/.magic-dic/bin"; user preferred global) Otherwise get
the source of the required program, compile it and install it in this
directory. The best way to adapt to the requirements and not changing the
system.
You may get programs from: ftp.gnu.org
Generally: Magic-Dic should run with GNU programs.
KNOWN PROBLEMS (so far):
#1.) date +%s
It is a GNU extension, so HP-UX and SUN: date does not support "+%s".
The time of seconds from 1970 is used as time step for new translations.
There is a simple workaround in the script if "date +%s" doesn´t work but
the workaround is not exact and fails around +- a week, depending on the
actual date in a year. For proper installation I recommend to get GNU date
and install it in "/usr/local/lib/magic-dic/bin".
Users, who send translations in with backwards dated time step, might not
show up in the NEWS of words correctly. Translations in NEWS are sorted by
time step of creation.
GNU date is part of the sh-utils package:
ftp.gnu.org:gnu/sh-utils
#2.a) mailto -s and MM_CHARSET
You may want to test if "mailto" supports the "-s" option for subject. If
it does not you need to get a version that supports it and install it in
"/usr/local/lib/magic-dic/bin". But before doing that you can test if
"mail" supports the "-s" option.
"mailto" also needs on some systems the variable MM_CHARSET and might
complain to use iso-8859-1 as default. You should then set this variable
in user environment or you can write for all into:
/usr/local/lib/magic-dic/etc/magic-dic-global.conf
export MM_CHARSET=iso-8859-1
There is a check for automatically setting MM_CHARSET depending on user
specification in LANG but only for the iso-8859 family. To activate the
check set in global.conf file:
SETMMCHARSET=1
#2.b) sendmail
One can create faced emails with sendmail, containing a different sender.
This does only work, when sendmail is in $PATH or "usr/sbin/", otherwise
you have to create a link in "/usr/local/lib/magic-dic/bin" to the
location of your installed sendmail. The variable calling sendmail
contains: "sendmail -t -ba". Your sendmail should support this options,
otherwise (especially when you have a different program than sendmail but
linked to it) you can set the variable MAGIC_DIC_SENDMAIL, e.g.:
MAGIC_DIC_SENDMAIL="exim -t" to the requirements of your mail service.
You can set the variable in your environment or write in in this file:
/usr/local/lib/magic-dic/etc/magic-dic-global.conf
#3.) awk
So far I found gawk, nawk and mawk, all installed as awk on different
systems and of course it causes problems, especially with nawk from SUN.
Magic-Dic was made with gawk. You may test, if it runs fine with your awk,
but if you do not have gawk and want to be on the secure side, please
install it in "/usr/local/lib/magic-dic/bin".
#4.) more -f
In order to display colors correctly, the Linux "more" does allow to
interpret control sequences for, e.g. for colors.
On HP-UX and SUN the "more" does not support this and displays the
control sequences directly. Hence if $OSTYPE is not "linux", "Linux" or
"LINUX", it is replaced by "cat". Unfortunately there is not stop if
output is much.
You can install a "more" into "/usr/local/lib/magic-dic/bin", that supports
the desired function. Simply set in your environment, e.g. ~/.bashrc:
export MAGIC_DIC_OS=linux
or write it in the file for all:
/usr/local/lib/magic-dic/etc/magic-dic-global.conf
to use "more -f".
"more" that can "-f" in the desired way is part of the util-linux package:
ftp.kernel.org/pub/linux/utils/util-linux/
In addition you can also specify a different viewer with:
export MAGIC_DIC_MORE="less"
or write it for all in file:
/usr/local/lib/magic-dic/etc/magic-dic-global.conf
To run a different viewer on a non Linux system, specify both variables.
If you do not want colored output, set an alias to "di -NC" or configure
as user manually the color sequences out of ~/magic-dic/magic-dic.conf
Read section 10.) COLORS for more details.
#5.) tr
Searches for words are always in a full line, also including user info. To
avoid to match nicknames and passwords to contain real words or names,
both nicknames and passwords are converted in readable, using "tr"
> tr 0-9a-zA-Z P-Z0-9A-Qn-za-m
< tr P-Z0-9A-Qn-za-m 0-9a-zA-Z
If this does not work with your tr, install one from gnu:
ftp.gnu.org:gnu/textutils
and install in:
/usr/local/lib/magic-dic/bin
You should not send in new translations als long "tr" does not work in the
required way. There is a check with in the check for programs. To get rid
of the warning disable the check in user config file or with option
"-NN".
#6.) heterogenic file systems for different OSTYPES
If you have a hetero genic file system for different OSTYPEs, you can use the
"multiosex" script to set up different binaries in for the different
OSTYPEs in the /usr/local/lib/magic-dic/bin workaround directory, where
the script is located in with executable bits.
Simply create a soft link of the standard name of the program to the
"multiosex" script. Your desired program should then have the name
"foo-$OSTYPE". So if you need the GNU program "date" for "linux" and
"hpux_9", compile the program for both os and name both executables
"date-hpux_9" and "date-linux", and simply create a link:
$ ln -s multiosex date
The executable file name e.g. "date-linux" simply has to be in your PATH
somewhere.
Users in a local installation can setup everything similar in their
$HOME/.magic-dic/bin directory.
8.) CHECK FOR UPDATES AND NEWS AND LIST OF DICTIONARIES FROM SERVER
Magic-Dic also has an automatic check for new versions. You can set in the
config script, call with `di -C`, the time interval when Magic-Dic shall
check again for new versions. If it finds a newer one on the web-server it
displays an info and offers installation. Set the time to zero, when you
do not have Internet or not have on request enabled one. The check slows
down the speed of the script and should therefore be set around two weeks
or once per month only. You will be automatically be informed about newer
versions.
If you have a system wide installation but do not have write permissions
to the required files and directories, set also to zero. The best
solution to administrate Magic-Dic is to give this user the ownership to
the /usr/local/lib/magic-dic directory and /usr/local/bin/di file.
When using the `-V` function an Internet connection is required and if
not available the script may hang until time out of "wget". Especially the
automatic check should be enabled ONLY when permanent or by request
automatically enabled Internet connection is available. Otherwise it will
cause problems every time when wget hangs.
The NEWS section will inform about recent changes.
If a new version is available, it can be automatically updated when
administrative permissions are set. After an update, every user is forced
to run the config script `di -C` to update new variables. Old user
settings will be taken care of!
With option `-q` the actual list of dictionaries can be get from the
Magic-Dic server containing the number of translation of each dictionary.
It will be shown the list for user and global dictionaries. Option `-qu`
will limit the listing for user dictionaries only and `-qg` for global
dictionaries only. If you wish to compare the dictionaries on the server
with your installed ones, use option `-qc`. It will show you the number of
translations of the dictionaries of the server compared with the contents
of you local installed dictionaries and calculates the difference. You can
then decide on your own, if it will make sense to update the one or other
dictionary. Option `-qcg` will limit the listing for global dictionaries
only and `-qcu` will limit it for user dictionaries. This makes especially
sense to check more quickly for new translations in the more frequently
changing user dictionary database. The global dictionary database is more
static. NOTE: If you create dictionaries on your own, that are not sent to
Magic-Dic database, will not show up in this listing.
9.) MODULAR AND MONOLITHIC VERSION
Since version 0.86 Magic-Dic exists in two versions, as a monolithic and a
modular script. Both are identical in functionality, except the speed. The
code has reached now more than 7300 lines, which are not all needed every
time. It takes more time for the shell to interpret the entire script than
loading (sourcing) the required parts into the procedure. It reduces the
running time about ¼ and it is also nicer in programming. Although a
monolithic script is nicer to copy it for friends, because the script is
fully functionally to update and download dictionaries with.
Nevertheless both versions, the monolithic and modular, will be supported
in future and can be updated via the update routine. Both versions can be
run simultaneously as long as the have the same version number. It can be
easily changed with the install function from monolithic to modular with
`-VO` or visa versa with `-VM`.
If you use `-V` it will only get the install routine if there is a new
version available. `-VV` is the same as `-V` but will display verbosely
output of wget download information. To get verbose mode of options `-VO`
and `-VM` you will need to specify `-VV` extra.
Information about the latest version will be displayed with the `-V`
options and the NEWS also.
10.) COLORS
Colors can be set in the "~/.magic-dic/magic-dic.conf" file. To get a list
of the numbers for the colors use "di -listcolors".
The numbers 0-9 are for text attributes, such as bold text, underline,
blink, inverse. Numbers 30-39 are for colors like red, blue, green, ...
Numbers between 40-49 are background colors.
Yet there are only five color variables to set:
COLORWORD = color for the word that is found in the search results
COLOREMPH = color for emphasing text
COLORSTART = color for warnings
COLORLANG = color for the line separator: ex.: ""
COLOROK = to show something run ok
To set a color, you can combine the numbers separated by a semicolon. The
color numbers have to be encapsulated by "\033[" and "m". The entire
variable has to be single quoted:
COLORWORD='\''\033[1;34m'\'' sets bold blue
COLOREMPH='\''\033[4;31m'\'' sets underline red
COLORSTART='\''\033[5;31;40m'\'' sets blink red with black background
Missing quotes or false escape sequences will cause script failures!
If you do not wish to use any colors, do not empty the variable. If one of
these variables is empty, it will be replaces by a default. The proper way
to disable colors is starting with "-NC" option! To get back the original
default colors, empty the variables:
COLORSTART=
and recall the config script: "di -C". The empty variable will be replaced
by the default then.
11.) WORD NEWS (check out new words)
New words of the Magic-Dic database can be checked out with the NEWS
function `-x`. Only words of those languages as configured in the config
and extra specified are downloaded and will be shown for verification.
Incorrect translations can be marked for delete or/and additionally marked
to write to that author and set a replacement.
Lists that are longer than the line number of the screen will be processed
part by part. The user can interrupt the process with `ctrl c` and can
later continue by recalling the function. The words of the unprocessed set
will be shown again, but already defined as ok, will not be shown up
again.
The changes will be sent to the Magic-Dic Server for processing. Finally
all correct words will be added to the users personal dictionaries.
On the Magic-Dic server side the as incorrect marked translations will be
marked and the voting counted. If the error count reaches a limit, the
translation will be removed.
Users should take the chance to email the author of an incorrect
translation, as he can at once remove the invalid translation.
The combination of sending translation and validating them with this news
system shall hopefully create new and better word lists.
12.) utf-8 and xdi
a.) utf-8
Since version 0.97 Magic-Dic supports also the database in utf-8 to that
can be switched with the "-u8" and "-u8c" options. In order to display the
characters correctly the terminal needs to run in utf-8, e.g. "xterm" can
be started with: "xterm -u8". Alternatively one can start with "-u8o" that
sends an escape control sequence to the console or xterm, although it is
not working on all xterms. Administrator and user can setup in their
config file the appropriate control sequence. It should be tested properly
if "di -u8o" and "di -u8f" switches the console or xterm in the right way.
When starting a search request from a non utf-8 console with "-u8o" to
enable utf-8, the input of words is still in the old charset and needs to
be converted that can be done with the "-u8c" switch, which converts with
"charconv" all input, whether from stdin, buffer or line to utf-8. In
order this to work properly, the admin can set the DEFCONVCHAR variable in
/usr/local/lib/magic-dic/etc/magic-dic-global.conf containing the
characterset default name of console or Xsession. Use only those specific
names "charconv" supports. The user can set in his config file MYCONVCHAR.
NOTE THIS AS IMPORTANT: it makes only sense to use "-u8c" as long as input
is in non utf-8, e.g., to call Magic-Dic after switching the console to
utf-8 again with "di -u8o -u8c dämlich" will then cause errors. The right
way would be "di -u8 überlegen".
The use of the utf-8 database is automatically selected if the $LANG
variable of the users environment contains something like: "utf-8",
"utf8", "UTF-8", or "UTF8". That automatic switch can be disabled with
option "-NUTF". The user can also set in his environment the $MAGICLANG
variable to something of the matches above to permanently enable utf-8 for
Magic-Dic or can set it to "none" to permanently disable using the
auto selection.
Attention: If you use loop searches by reading the buffer being selected
with mouse, as you start with "di -y0 -u8", you need to know if the data
in the buffer are in utf-8 or not. E.g., you start in an iso-8859-1
Xsession an utf-8 xterm (xterm -u8) and start in it "di -y0 -u8", you will
not be happy because selected words as "unglücklich" cannot be looked up
due to character miss mash. You need to start instead with "di -y0 -u8c",
but just typing a word instead of selecting with mouse "di -u8 schön" is
what you do in this case.
Generally in hetero gene environments it can be a bit confusing but the
advantage of utf-8 is to display other than latin1 languages. The future
will be utf-8, but yet the use of utf-8 is not as perfect on many system
at the moment as it should be.
b.) xdi
To make things more user friendly, one can configure an xterm, rxvt,
konsole(kde) or what ever to run in there Magic-Dic in loop mode for
searches by mouse selection. Admin and user can set up the start options
for e.g. an xterm: "xterm -geometry 40x78+1-1 -fn 9x15" in the DEFCONSOLE
variable (see above) and users in MYCONSOLE in their config file.
"xdi" is a just soft link to "di" that starts Magic-Dic simply in the
configured xterm. For example: to use an utf-8 Magic-Dic in loop mode,
simply do "xdi -u8c" if your Xsession is still in iso-8859-1.
All other options from "di" can be used to configure Magic-Dic to your
requirements. You can also overwrite or set extra options for the xterm.
Indicate the beginning of the xterm options with "-xterm" and finish them
with a "/". Important: set "-xterm" only once and do not forget the "/"!
E.g.: "xdi -it-uk -lat-uk -xterm -geometry 40x80-1+1 -fn 6x10/ -y4 -pt-uk"
will start Magic-Dic in an xterm or rxvt on those positions and font size
in loop mode to search with mouse selected words at minimum of 4
characters in dictionaries italian-, latin-, portuguese-english. You can
then study similarities of words between different languages simply by
double clicking on the words.
----
6.11.2001 by Jens Röder email: alex.borodin@gmx.de