我正在寻找字典源文件格式和相关工具

发布于 2024-12-01 14:58:19 字数 1243 浏览 1 评论 0原文

我正在寻找字典源文件格式,它可以方便地在通用文本编辑器(我使用 Emacs)中编辑,并且可以在版本控制下存储(并允许轻松合并)。

这样我就可以与其他人分享我在词典方面的工作。

如果没有支持工具将字典源转换为索引形式以与字典软件文件格式一起使用,则无法使用。

作为客户端词典软件,我使用 GoldenDict: http://goldendict.org/dictionaries.php 它可以理解许多索引dicts 文件格式,但如果您推荐,我会切换到另一种格式。

以前我使用TAB格式(StarDict的原始文件格式,转换为.dict.dz/.idx/.ifo)。太丑了!每个单词定义必须保持在单行中,并且单词与定义之间通过 TAB 分隔。看:

be  be [] (inf.)\n was/were [] (past ind.)\n been [] (past part.)\n     (infinitive) быть, нести, родить

接下来我尝试使用 Dictd 文件格式。好多了:

  $ cat my.txt
...
adj.
adjective

   [ˈæʤɪktɪv]
   adj.
   adjective
   прилагательное

  $ dictfmt -f \
      --utf8 --allchars --case-sensitive \
      -s 'Usual dictionary abbreviations.' \
      my <my.txt 

我也了解 http://xdxf.sourceforge.net/。但深入一看就知道这是一个死项目。并且有两个明显的遗漏:

  • 很难用噪音 XML 排版编写文章,
  • 没有工具将源代码转换为可用的词典(您只能转换为其他源格式,然后生成可用的词典...)

我寻找更好的解决方案.. 。


Why? I learn foreign language and want create dictionary of learned word to revise them and further use.

我还参与了开源软件项目手册和免费书籍的翻译,并希望维护术语列表,以便创建的词典可以在译者之间共享,以保持一致的翻译。

I am looking for dictionary source file format which is convenient to edit in general purpose text editor (I use Emacs) and can be stored under version control (and allow easy merge).

So I can share my work on dictionary with other people.

Without supporting tools that convert dict source to indexed form for use with dictionary software file format is not usable.

As client dictionary software I use GoldenDict: http://goldendict.org/dictionaries.php which understand many indexed dicts file format but I switch to another if you recommend.

Previously I use TAB format (original file format for StarDict, which is converted to .dict.dz/.idx/.ifo). It is UGLY! Each word definition must stay into single line and word separate from definition by TAB. Look:

be  be [] (inf.)\n was/were [] (past ind.)\n been [] (past part.)\n     (infinitive) быть, нести, родить

Next I try use Dictd file format. It is much better:

  $ cat my.txt
...
adj.
adjective

   [ˈæʤɪktɪv]
   adj.
   adjective
   прилагательное

  $ dictfmt -f \
      --utf8 --allchars --case-sensitive \
      -s 'Usual dictionary abbreviations.' \
      my <my.txt 

I also know about http://xdxf.sourceforge.net/. But deep look say that this is dead project. And have two noticeable omissions:

  • it is hard to write article with noise XML typesetting
  • there no tools to convert source to usable dictionaries (you can convert to other source format only and then produce usable dictionaries...)

I look for better solution...


Why? I learn foreign language and want create dictionary of learned word to revise them and further use.

Also I involved into translation of Open Source software project manuals and Free books and want maintain list of terms so created dictionary can be shared between translators to stay in consistent translation.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

暖心男生 2024-12-08 14:58:19

正如我所说,stardict 的 TAB 文件是愚蠢的。

目前我使用 dict 中的 -c5 格式(我邮寄到 http://sourceforge.net/projects/dict/开发者和他说这是更合适和推荐的格式):

  $ dictfmt -c5 --headword-separator '; ' --break-headwords \
  --utf8 --allchars --case-sensitive \
  --mime-header 'Content-Type: text/html' \
  -s 'Usual dictionary abbreviations.' -u http://gavenkoa.users.sourceforge.net/ \
  ${prefix_for_output} <${input}

对于文章:

_____

adj.; adjective

  [ˈæʤɪktɪv]
  adj.
  adjective
  прилагательное

_____

adv.; adverb

  []
  adv.
  adverb
  наречие

GoldenDict的作者推荐使用Abby Lingvo DSL丰富格式允许格式化粗体/斜体、颜色和一些 更多的。要获取描述,请使用 Lingvo 发行版中的 Lingvo0.chm。看看例子:

chat
  [m1][p][i][c][com]m[/com][/c][/i][/p][/m]
  [m1][trn]кот, кошка;[/trn][/m]
  [m2][*][ex][lang id=4]Chat botté[/lang] — Кот в сапогах;[/ex][/*][/m]
  [m2][*][ex][lang id=4]jouer à chat perché[/lang] — играть в кошки-мышки[/ex][/*][/m]

As I say TAB-file for stardict is DUMB.

Currently I use -c5 format from dict (I mail to http://sourceforge.net/projects/dict/ developer and he say that it is more suitable and recommended format):

  $ dictfmt -c5 --headword-separator '; ' --break-headwords \
  --utf8 --allchars --case-sensitive \
  --mime-header 'Content-Type: text/html' \
  -s 'Usual dictionary abbreviations.' -u http://gavenkoa.users.sourceforge.net/ \
  ${prefix_for_output} <${input}

for articles:

_____

adj.; adjective

  [ˈæʤɪktɪv]
  adj.
  adjective
  прилагательное

_____

adv.; adverb

  []
  adv.
  adverb
  наречие

Author of GoldenDict recommend use Abby Lingvo DSL rich format which allow formating for bold/italic, colors and some more. To get description use Lingvo0.chm from Lingvo distribution. Look for example:

chat
  [m1][p][i][c][com]m[/com][/c][/i][/p][/m]
  [m1][trn]кот, кошка;[/trn][/m]
  [m2][*][ex][lang id=4]Chat botté[/lang] — Кот в сапогах;[/ex][/*][/m]
  [m2][*][ex][lang id=4]jouer à chat perché[/lang] — играть в кошки-мышки[/ex][/*][/m]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文