www/HACKING.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Thu, 15 Sep 2016 20:13:18 +0300
changeset 558 53fd793e345d
parent 542 b5197c70972c
child 565 ac68f2680ea0
permissions -rw-r--r--
Add shortcut to deploy to HG repos.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
243
deede3c3386f Add coding to RST files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 242
diff changeset
     1
.. -*- coding: utf-8 -*-
206
407f2a82ef26 Include common header for quick links. Exclude unnecessary .html files from build.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 109
diff changeset
     2
342
e3d85aeefdec Remove trailing dot from section titles.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 339
diff changeset
     3
======================
e3d85aeefdec Remove trailing dot from section titles.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 339
diff changeset
     4
 gadict HACKING guide
e3d85aeefdec Remove trailing dot from section titles.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 339
diff changeset
     5
======================
69
580cc720c496 Fix RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 46
diff changeset
     6
.. contents::
301
1439e072640a Remove CSS hack that suppress displaying document name in TOC by
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 252
diff changeset
     7
   :local:
1439e072640a Remove CSS hack that suppress displaying document name in TOC by
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 252
diff changeset
     8
342
e3d85aeefdec Remove trailing dot from section titles.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 339
diff changeset
     9
Versioning rules
e3d85aeefdec Remove trailing dot from section titles.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 339
diff changeset
    10
================
231
f993fc31e03f Move versioning rules to proper file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 211
diff changeset
    11
f993fc31e03f Move versioning rules to proper file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 211
diff changeset
    12
We use **major.minor** schema.
f993fc31e03f Move versioning rules to proper file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 211
diff changeset
    13
f993fc31e03f Move versioning rules to proper file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 211
diff changeset
    14
Until we reach 5000 words **major** is 0. **minor** updated from time to time.
f993fc31e03f Move versioning rules to proper file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 211
diff changeset
    15
342
e3d85aeefdec Remove trailing dot from section titles.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 339
diff changeset
    16
Getting sources
e3d85aeefdec Remove trailing dot from section titles.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 339
diff changeset
    17
===============
232
81bfc95bd853 Move getting sources to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 231
diff changeset
    18
338
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 301
diff changeset
    19
Cloning repository::
232
81bfc95bd853 Move getting sources to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 231
diff changeset
    20
338
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 301
diff changeset
    21
  $ hg clone http://hg.defun.work/gadict gadict
232
81bfc95bd853 Move getting sources to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 231
diff changeset
    22
  $ hg clone http://hg.code.sf.net/p/gadict/code gadict-hg
81bfc95bd853 Move getting sources to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 231
diff changeset
    23
338
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 301
diff changeset
    24
Pushing changes::
232
81bfc95bd853 Move getting sources to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 231
diff changeset
    25
338
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 301
diff changeset
    26
  $ hg push ssh://$USER@hg.defun.work/gadict
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 301
diff changeset
    27
  $ hg push ssh://$USER@hg.code.sf.net/p/gadict/code
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 301
diff changeset
    28
  $ hg push https://$USER:$PASS@hg.code.sf.net/p/gadict/code
232
81bfc95bd853 Move getting sources to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 231
diff changeset
    29
342
e3d85aeefdec Remove trailing dot from section titles.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 339
diff changeset
    30
Browsing sources online
e3d85aeefdec Remove trailing dot from section titles.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 339
diff changeset
    31
=======================
232
81bfc95bd853 Move getting sources to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 231
diff changeset
    32
338
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 301
diff changeset
    33
  http://hg.defun.work/gadict
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 301
diff changeset
    34
    hgweb at home page.
232
81bfc95bd853 Move getting sources to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 231
diff changeset
    35
  http://hg.code.sf.net/p/gadict/code
338
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 301
diff changeset
    36
    hgweb at old home page (but supported as mirror).
232
81bfc95bd853 Move getting sources to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 231
diff changeset
    37
  https://sourceforge.net/p/gadict/code/
338
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 301
diff changeset
    38
    Sourceforge Allure interface (not primary, a mirror).
232
81bfc95bd853 Move getting sources to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 231
diff changeset
    39
347
05df277da404 Move section to more appropriate place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 346
diff changeset
    40
Dictionary file name convention
05df277da404 Move section to more appropriate place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 346
diff changeset
    41
===============================
05df277da404 Move section to more appropriate place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 346
diff changeset
    42
05df277da404 Move section to more appropriate place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 346
diff changeset
    43
BNF form::
05df277da404 Move section to more appropriate place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 346
diff changeset
    44
05df277da404 Move section to more appropriate place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 346
diff changeset
    45
  FILE ::= "gadict_" NAME ".gadict"
05df277da404 Move section to more appropriate place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 346
diff changeset
    46
05df277da404 Move section to more appropriate place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 346
diff changeset
    47
``NAME`` may have form ``ISOCODE "-" ISOCODE``, like ``en-ru``, where
05df277da404 Move section to more appropriate place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 346
diff changeset
    48
``ISOCODE`` is ISO 639-1 language (2 letter) code
05df277da404 Move section to more appropriate place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 346
diff changeset
    49
05df277da404 Move section to more appropriate place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 346
diff changeset
    50
``NAME`` may be a dictionary abbreviation name.
05df277da404 Move section to more appropriate place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 346
diff changeset
    51
05df277da404 Move section to more appropriate place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 346
diff changeset
    52
During dictionaries compilation and releases ``".gadict"`` suffix changed to
05df277da404 Move section to more appropriate place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 346
diff changeset
    53
appropriated but base name should be preserved as ``"gadict_" NAME``.
05df277da404 Move section to more appropriate place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 346
diff changeset
    54
348
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    55
Dictionary source file format
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    56
=============================
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    57
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    58
gadict project uses dictd C5 source file format in the past. C5 format have
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    59
several issues:
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    60
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    61
 * C5 is not structural format. So producing another forms and conversion to
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    62
   other formats is not possible.
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    63
 * C5 have no markup for links neither for any other markups.
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    64
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    65
Before that project used dictd TAB file format which require placing article in
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    66
a single long line. That format is not for human editing at all.
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    67
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    68
Other dictionary source file formats are considered as choice, like TEI, ISO,
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    69
xdxf, MDF. XML like formats also are not for human editing. Also XML lack of
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    70
syntax locality and full file should be scanned to validate local changes...
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    71
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    72
Note that StarDict, AbbyLinguo, Babylon, dictd formats are not considered
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    73
because they all about a presentation but not a structure. They are target
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    74
formats for compilation.
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    75
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    76
Fancy looking analog to MDF + C5 was developed.
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    77
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    78
Beginning of file describe dictionary information.
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    79
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    80
Each article separated by ``\n__\n\n`` and consists of two parts:
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    81
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    82
 * word variations with pronunciation
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    83
 * word translations, with supplementary information like part of speach,
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    84
   synonyms, antonyms, example of usage
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    85
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    86
*Word variation* are:
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    87
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    88
* *singularity* or *number*: ``s`` - single, ``pl`` - plural.
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    89
* *verb voice* or *verb tense*: ``v1`` - infinitive, ``v2`` - past tense,
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    90
  ``v3`` past participle tense.
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    91
* *gender*: ``male`` or ``female``
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    92
* *comparison*: ``comp`` - comparative or ``super`` - superlative
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    93
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    94
*Parts of speech* are:
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    95
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    96
* ``n`` - noun
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    97
* ``pron`` - pronoun
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    98
* ``adj`` - adjective
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
    99
* ``v`` - verb
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
   100
* ``adv`` - adverb
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
   101
* ``prep`` - preposition
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
   102
* ``conj`` - conjunction
376
b7e7a04b9060 numeral
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 360
diff changeset
   103
* ``num`` - numeral
348
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
   104
* ``int`` - interjection
419
7dd3273d92c7 Special markers with roles same as for parts of speech.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 411
diff changeset
   105
7dd3273d92c7 Special markers with roles same as for parts of speech.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 411
diff changeset
   106
Special markers with roles same as for parts of speech:
7dd3273d92c7 Special markers with roles same as for parts of speech.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 411
diff changeset
   107
7dd3273d92c7 Special markers with roles same as for parts of speech.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 411
diff changeset
   108
* ``abbr`` - abbreviation
7dd3273d92c7 Special markers with roles same as for parts of speech.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 411
diff changeset
   109
* ``phr`` - phrase
7dd3273d92c7 Special markers with roles same as for parts of speech.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 411
diff changeset
   110
* ``phr.v`` - phrasal verb
542
b5197c70972c Add commonly used contractions.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 527
diff changeset
   111
* ``contr`` - contraction
411
2fac252890a5 Document that prefix is kind of pos.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 376
diff changeset
   112
* ``prefix`` - word prefix
348
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
   113
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
   114
Each meaning may refer to topics, like:
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
   115
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
   116
* ``sci`` - about science
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
   117
* ``body`` - part of body
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
   118
* ``math`` - mathematics
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
   119
* ``chem`` - chemicals
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
   120
* ``bio`` - biology
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
   121
* ``music``
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
   122
* ``meal``, ``office``, etc
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
   123
* ``size``, ``shape``, ``age``, ``color``
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
   124
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
   125
Synonyms marked by ``syn:``, antonyms marked by ``ant:``.
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
   126
360
cb0b59398e25 Add Latin language tag example.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 348
diff changeset
   127
Translation marked by lowercase ISO 639-1 code, like:
cb0b59398e25 Add Latin language tag example.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 348
diff changeset
   128
cb0b59398e25 Add Latin language tag example.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 348
diff changeset
   129
* ``en:`` - English
cb0b59398e25 Add Latin language tag example.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 348
diff changeset
   130
* ``ru:`` - Russian
cb0b59398e25 Add Latin language tag example.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 348
diff changeset
   131
* ``uk:`` - Ukrainian
cb0b59398e25 Add Latin language tag example.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 348
diff changeset
   132
* ``la:`` - Latin
348
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
   133
527
0a31299fad70 Add support for country spelling variant.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 419
diff changeset
   134
Pronunciation variants marked by:
0a31299fad70 Add support for country spelling variant.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 419
diff changeset
   135
0a31299fad70 Add support for country spelling variant.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 419
diff changeset
   136
* ``Am`` - American
0a31299fad70 Add support for country spelling variant.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 419
diff changeset
   137
* ``Br`` - Great Britain
0a31299fad70 Add support for country spelling variant.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 419
diff changeset
   138
* ``Au`` - Australian
348
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
   139
345
ca5a7d9e7a4b Reason for switching to another dictionary source format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 344
diff changeset
   140
C5 dictionary source file format
ca5a7d9e7a4b Reason for switching to another dictionary source format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 344
diff changeset
   141
================================
233
d3670cd252ce Move info about dict format to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 232
diff changeset
   142
d3670cd252ce Move info about dict format to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 232
diff changeset
   143
For source file format used dictd C5 file format. See::
d3670cd252ce Move info about dict format to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 232
diff changeset
   144
d3670cd252ce Move info about dict format to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 232
diff changeset
   145
  $ man 1 dictfmt
d3670cd252ce Move info about dict format to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 232
diff changeset
   146
d3670cd252ce Move info about dict format to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 232
diff changeset
   147
Shortly:
d3670cd252ce Move info about dict format to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 232
diff changeset
   148
d3670cd252ce Move info about dict format to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 232
diff changeset
   149
 * Headwords was preceded by 5 or more underscore characters ``_`` and a blank
d3670cd252ce Move info about dict format to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 232
diff changeset
   150
   line.
345
ca5a7d9e7a4b Reason for switching to another dictionary source format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 344
diff changeset
   151
 * Article may have several headwords, in that case they are placed in one line
ca5a7d9e7a4b Reason for switching to another dictionary source format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 344
diff changeset
   152
   and separated by ``;<SPACE>``.
ca5a7d9e7a4b Reason for switching to another dictionary source format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 344
diff changeset
   153
 * All text until the next headword is considered as the definition.
338
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 301
diff changeset
   154
 * Any leading ``@`` characters are stripped out, but the file is otherwise
61a9d2de0e3e New home page. SF is used as mirror.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 301
diff changeset
   155
   unchanged.
345
ca5a7d9e7a4b Reason for switching to another dictionary source format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 344
diff changeset
   156
 * UTF-8 encoding is supported at least by Goldendict.
233
d3670cd252ce Move info about dict format to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 232
diff changeset
   157
348
f089cd68ea7b Dictionary source file format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 347
diff changeset
   158
gadict project used C5 format in the past but switched to own format.
46
86c0184efac7 Comment syntax convention.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 44
diff changeset
   159
346
738da7eddaca Move section to more appropriate place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 345
diff changeset
   160
TODO convention
738da7eddaca Move section to more appropriate place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 345
diff changeset
   161
===============
738da7eddaca Move section to more appropriate place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 345
diff changeset
   162
738da7eddaca Move section to more appropriate place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 345
diff changeset
   163
Entries or parts of text that was not completed marked by keywords:
738da7eddaca Move section to more appropriate place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 345
diff changeset
   164
738da7eddaca Move section to more appropriate place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 345
diff changeset
   165
  TODO
738da7eddaca Move section to more appropriate place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 345
diff changeset
   166
    incomplete
738da7eddaca Move section to more appropriate place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 345
diff changeset
   167
  XXX
738da7eddaca Move section to more appropriate place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 345
diff changeset
   168
    urgent incomplete
738da7eddaca Move section to more appropriate place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 345
diff changeset
   169
738da7eddaca Move section to more appropriate place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 345
diff changeset
   170
Makefile rules ``todo`` find this occurrence in sources::
738da7eddaca Move section to more appropriate place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 345
diff changeset
   171
738da7eddaca Move section to more appropriate place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 345
diff changeset
   172
  $ make todo
738da7eddaca Move section to more appropriate place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 345
diff changeset
   173
342
e3d85aeefdec Remove trailing dot from section titles.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 339
diff changeset
   174
World wide dictionary formats and standards
e3d85aeefdec Remove trailing dot from section titles.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 339
diff changeset
   175
===========================================
233
d3670cd252ce Move info about dict format to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 232
diff changeset
   176
d3670cd252ce Move info about dict format to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 232
diff changeset
   177
  http://en.wikipedia.org/wiki/Dictionary_writing_system
d3670cd252ce Move info about dict format to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 232
diff changeset
   178
                Dictionary writing system
d3670cd252ce Move info about dict format to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 232
diff changeset
   179
  http://www.sil.org/computing/shoebox/mdf.html
d3670cd252ce Move info about dict format to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 232
diff changeset
   180
                Multi-Dictionary Formatter (MDF). It defines about 100 data
d3670cd252ce Move info about dict format to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 232
diff changeset
   181
                field markers.
d3670cd252ce Move info about dict format to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 232
diff changeset
   182
  http://fieldworks.sil.org/flex/
d3670cd252ce Move info about dict format to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 232
diff changeset
   183
                FieldWorks Language Explorer (or FLEx, for short) is designed
d3670cd252ce Move info about dict format to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 232
diff changeset
   184
                to help field linguists perform many common language
d3670cd252ce Move info about dict format to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 232
diff changeset
   185
                documentation and analysis tasks.
d3670cd252ce Move info about dict format to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 232
diff changeset
   186
  http://code.google.com/p/lift-standard/
d3670cd252ce Move info about dict format to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 232
diff changeset
   187
                LIFT (Lexicon Interchange FormaT) is an XML format for storing
d3670cd252ce Move info about dict format to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 232
diff changeset
   188
                lexical information, as used in the creation of dictionaries.
d3670cd252ce Move info about dict format to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 232
diff changeset
   189
                It's not necessarily the format for your lexicon.
d3670cd252ce Move info about dict format to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 232
diff changeset
   190
  http://www.lexiquepro.com/
d3670cd252ce Move info about dict format to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 232
diff changeset
   191
                Lexique Pro is an interactive lexicon viewer and editor, with
d3670cd252ce Move info about dict format to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 232
diff changeset
   192
                hyperlinks between entries, category views, dictionary
d3670cd252ce Move info about dict format to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 232
diff changeset
   193
                reversal, search, and export tools. It's designed to display
d3670cd252ce Move info about dict format to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 232
diff changeset
   194
                your data in a user-friendly format so you can distribute it
d3670cd252ce Move info about dict format to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 232
diff changeset
   195
                to others.
d3670cd252ce Move info about dict format to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 232
diff changeset
   196
  http://deb.fi.muni.cz/index.php
d3670cd252ce Move info about dict format to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 232
diff changeset
   197
                DEBII — Dictionary Editor and Browser
d3670cd252ce Move info about dict format to proper place.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 232
diff changeset
   198
342
e3d85aeefdec Remove trailing dot from section titles.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 339
diff changeset
   199
Register gadict dictionaries for dictd under Debian
e3d85aeefdec Remove trailing dot from section titles.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 339
diff changeset
   200
===================================================
44
41bcc534528d Fix rst formating.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 43
diff changeset
   201
::
43
b75220c0eef6 Register gadict dictionaries for dictd under Debian.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   202
b75220c0eef6 Register gadict dictionaries for dictd under Debian.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   203
  $ su
b75220c0eef6 Register gadict dictionaries for dictd under Debian.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   204
  $ cat >>etc/dictd/dictd.order <<EOF
44
41bcc534528d Fix rst formating.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 43
diff changeset
   205
  gadict-dictabbr
41bcc534528d Fix rst formating.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 43
diff changeset
   206
  /home/user/usr/share/dictd/
43
b75220c0eef6 Register gadict dictionaries for dictd under Debian.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   207
  $ dictdconfig --write
b75220c0eef6 Register gadict dictionaries for dictd under Debian.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   208
  $ /etc/init.d/dictd restart
b75220c0eef6 Register gadict dictionaries for dictd under Debian.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   209
  $ ^D
b75220c0eef6 Register gadict dictionaries for dictd under Debian.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   210
  $ dictdconfig --list
b75220c0eef6 Register gadict dictionaries for dictd under Debian.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   211
  $ dict -d gadict-dictabbr v
b75220c0eef6 Register gadict dictionaries for dictd under Debian.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   212
342
e3d85aeefdec Remove trailing dot from section titles.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 339
diff changeset
   213
Typing IPA chars in Emacs
e3d85aeefdec Remove trailing dot from section titles.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 339
diff changeset
   214
=========================
95
27117b30660d Move 'IPA chars' section to HACKING file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 69
diff changeset
   215
27117b30660d Move 'IPA chars' section to HACKING file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 69
diff changeset
   216
For entering IPA chars use IPA input method. To enable it type::
27117b30660d Move 'IPA chars' section to HACKING file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 69
diff changeset
   217
27117b30660d Move 'IPA chars' section to HACKING file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 69
diff changeset
   218
  C-u C-\ ipa <enter>
27117b30660d Move 'IPA chars' section to HACKING file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 69
diff changeset
   219
27117b30660d Move 'IPA chars' section to HACKING file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 69
diff changeset
   220
All chars from alphabet typed as usual. To type special IPA chars use next key
246
2c3b02416526 M-x describe-input-method
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 243
diff changeset
   221
bindings (or read help in Emacs by ``M-x describe-input-method`` or ``C-h I``).
95
27117b30660d Move 'IPA chars' section to HACKING file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 69
diff changeset
   222
27117b30660d Move 'IPA chars' section to HACKING file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 69
diff changeset
   223
For vowel::
27117b30660d Move 'IPA chars' section to HACKING file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 69
diff changeset
   224
247
ba56b6c0877b About ipa-x-sampa and ipa-kirshenbaum.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 246
diff changeset
   225
  æ  ae
ba56b6c0877b About ipa-x-sampa and ipa-kirshenbaum.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 246
diff changeset
   226
  ɑ  o| or A
ba56b6c0877b About ipa-x-sampa and ipa-kirshenbaum.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 246
diff changeset
   227
  ɒ  |o  or /A
ba56b6c0877b About ipa-x-sampa and ipa-kirshenbaum.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 246
diff changeset
   228
  ʊ  U
ba56b6c0877b About ipa-x-sampa and ipa-kirshenbaum.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 246
diff changeset
   229
  ɛ  /3 or E
ba56b6c0877b About ipa-x-sampa and ipa-kirshenbaum.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 246
diff changeset
   230
  ɔ  /c
ba56b6c0877b About ipa-x-sampa and ipa-kirshenbaum.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 246
diff changeset
   231
  ə  /e
ba56b6c0877b About ipa-x-sampa and ipa-kirshenbaum.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 246
diff changeset
   232
  ʌ  /v
ba56b6c0877b About ipa-x-sampa and ipa-kirshenbaum.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 246
diff changeset
   233
  ɪ  I
95
27117b30660d Move 'IPA chars' section to HACKING file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 69
diff changeset
   234
27117b30660d Move 'IPA chars' section to HACKING file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 69
diff changeset
   235
For consonant::
27117b30660d Move 'IPA chars' section to HACKING file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 69
diff changeset
   236
247
ba56b6c0877b About ipa-x-sampa and ipa-kirshenbaum.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 246
diff changeset
   237
  θ  th
ba56b6c0877b About ipa-x-sampa and ipa-kirshenbaum.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 246
diff changeset
   238
  ð  dh
ba56b6c0877b About ipa-x-sampa and ipa-kirshenbaum.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 246
diff changeset
   239
  ʃ  sh
ba56b6c0877b About ipa-x-sampa and ipa-kirshenbaum.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 246
diff changeset
   240
  ʧ  tsh
ba56b6c0877b About ipa-x-sampa and ipa-kirshenbaum.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 246
diff changeset
   241
  ʒ  zh or 3
ba56b6c0877b About ipa-x-sampa and ipa-kirshenbaum.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 246
diff changeset
   242
  ŋ  ng
ba56b6c0877b About ipa-x-sampa and ipa-kirshenbaum.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 246
diff changeset
   243
  ɡ  g
ba56b6c0877b About ipa-x-sampa and ipa-kirshenbaum.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 246
diff changeset
   244
  ɹ  /r
95
27117b30660d Move 'IPA chars' section to HACKING file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 69
diff changeset
   245
27117b30660d Move 'IPA chars' section to HACKING file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 69
diff changeset
   246
Special chars::
27117b30660d Move 'IPA chars' section to HACKING file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 69
diff changeset
   247
247
ba56b6c0877b About ipa-x-sampa and ipa-kirshenbaum.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 246
diff changeset
   248
  ː  : (semicolon)
ba56b6c0877b About ipa-x-sampa and ipa-kirshenbaum.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 246
diff changeset
   249
  ˈ  ' (quote)
ba56b6c0877b About ipa-x-sampa and ipa-kirshenbaum.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 246
diff changeset
   250
  ˌ  ` (back quote)
95
27117b30660d Move 'IPA chars' section to HACKING file.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 69
diff changeset
   251
247
ba56b6c0877b About ipa-x-sampa and ipa-kirshenbaum.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 246
diff changeset
   252
Alternatively use ``ipa-x-sampa`` or ``ipa-kirshenbaum`` input method (for help
ba56b6c0877b About ipa-x-sampa and ipa-kirshenbaum.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 246
diff changeset
   253
type: ``C-h I ipa-x-sampa RET`` or ``C-h I ipa-kirshenbaum RET``).
ba56b6c0877b About ipa-x-sampa and ipa-kirshenbaum.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 246
diff changeset
   254