Transferul dicționarelor din abilul lingvo la stardict, aj

Sa terminat.
În cele din urmă, puteți abandona complet lucrul cu ABBYY Lingvo emulator sub Linux și a comuta pe deplin la StarDict dicționare de la Lingvo.







Aproape exact la un an după scrierea acestui articol, am intrat în mâinile mele lingua a 12-a.
Tot ceea ce este scris mai jos se aplică la acesta. De asemenea, dicționarele sunt decompilate fără probleme și apoi transformate într-un format pentru început. Așadar, îndrăzniți să căutați pe Web site-urile de înlocuire necesare în dslcomp.exe și înainte!

intrare

Cu toate acestea, care a fost surpriza mea când am aflat că convertorul dsl2stardict există deja! În total, în loc să scriu propriul meu convertor pentru o perioadă nedeterminată, l-am luat deja pregătit și, practic, fără a schimba nimic în el, a obținut rezultatul dorit.

Sunt de acord, acest lucru este mai mult decât plăcut :)

  • Dicționarele Lingvo în format .lsd
  • compilatorul DslComp.exe cu bibliotecile necesare
    (Awl.dll, FineObj.dll, LangInfoUnicode.dll, Lingvo0.dll, msvcr71.dll)
  • emulator de vin
  • makedict în codul sursă + software-ul necesar pentru a-l construi
  • de fapt, stardictul însuși cu utilitatea dictzip

Primele două elemente se află pe CD-urile originale sau imaginile acestora (versiunea 11ML apărută pe două CD-uri și mai jos descrie lucrul cu aceasta).

Schema generală este destul de simplă:

  1. converti lsd în dsl (dslcomp.exe)
  2. colecta makedict (make)
  3. converti dicționarele din formatul dsl în format stardic (makedict)
  4. folosim :)

Fiecare dintre ele are propriile nuanțe, care vor fi descrise mai jos.

1. În primul rând, trebuie să plictisim utilizatorul. De fapt, aceasta este o încălcare a drepturilor de autor. Pentru detalii despre cum să faceți acest lucru în linux, vedeți primul articol.

Iată octeții care trebuie corectați (DslComp.exe ML 11.0.0.486, 1 115 072 octeți):
0003C22F: 27-> 68
0003C298: CCCCCCCCCCCCCCCCCCCCCC-> 83C6048D4424145650E82B68FCFFEBA7
00050881: 84-> 32
00053CE2: 01-> 00

Rulați compilamentul de vin DslComp.exe și convertiți dicționarele de care avem nevoie în formatul DSL.

Acum, va trebui să corectăm puțin sursele primite ale unor dicționare, eliminând legăturile cu fișierele wav din ele. Acest lucru trebuie făcut pentru motivul că, din cauza absenței acestor stardici, se prezintă cărți goale în care există sunet. Personal, nu am nevoie de audio, așa că am șters cu îndrăzneală aceste link-uri.







Această operație se realizează printr-o serie de comenzi simple (care, atunci când sunt ușor dopate, pot fi combinate într-un script universal):

Am petrecut câteva ore ridicând expresia regulată.
Dacă iconv are probleme cu unele caractere, utilizați opțiunea -c.

Trebuie remarcat faptul că este posibil să rupem fișierele wav dintr-un fișier cu sunet, totuși, așa cum am spus mai înainte, eu personal nu am nevoie de el. În plus, nu am nici o idee despre cum stardictul funcționează cu sunetul. Dacă cineva are o dorință de a săpa mai adânc - lupii. La mine timpul este limitat.

2. Cu aceasta, totul este simplu.
Mergem la site-ul XDXF - XML ​​Dictionary Format Exchange. descărcați makedict-0.2beta1.tar.bz2. despachetați, configurați, faceți, iar în subdirectorul src obținem makedictul executabil.
Înainte de a începe, trebuie să instalați compilatorul gcc-c ++ cu toate dependențele necesare.

3. Convertiți dicționarele cu tipul de comandă:

Pe ieșire obținem trei fișiere:
LingvoUniversalER.dict - de fapt, un dicționar.
LingvoUniversalER.idx - index.
LingvoUniversalER.ifo - descriere.

Dicționarul poate fi comprimat utilizând utilitarul dictzip. pentru a reduce dimensiunea dicționarului. Rezultatul este un fișier cu extensia .dict.dz.
Indicele poate fi, de asemenea, comprimat cu obișnuitul gzip 'ohm.
Descriere Fișierul poate modifica la discreția sa, după referindu-se la formatul StarDict dicționare, astfel încât să nu rupere nimic. Deși fișierul rezultat poate fi folosit imediat în siguranță.
Toate cele trei fișiere sunt puse în directorul / usr / share / stardict / dic

4. Rulați stardic și înainte :)
Dacă a fost pornit, reporniți-l.

Iată ce am primit:

Captură de ecran suplimentară a ferestrei principale:

După cum puteți vedea, există probleme cu transcripția. După decompilarea dicționarelor, chiar și în codificarea originală UTF16, există încă o astfel de dezordine aici. Cum să o depășim, încă nu știu.

Actualizat: Potrivit LOR în noua versiune de xdxf acest lucru a fost deja stabilit.

concluzie

Ca rezultat, am fost în cele din urmă capabil de a scăpa de lucru cu emulator, economisi spațiu pe disc și de a îmbunătăți performanța cheltuielilor dvs. de muncă de absența glitches Lingvo sub CrossOver Office.

Cererea serioasă adresată tuturor, pentru a nu răspândi dicționarele, sa transformat astfel în public. La fel ca produsul - l cumpere, și apoi face cu ea, ceea ce va permite o licență (deși schimbarea câțiva octeți în compilator de dicționare încă o încalci, crede-ma, am studiat acordul de licență înainte de a început să scrie acest articol).

De asemenea, nu uitați că ABBYY Lingvo pretinde că nu doar dicționar electronic, și ceva mai mult (căuta anumite cuvinte într-o propoziție, sistem de formare, stabilirea vocabulare lor, etc.) Dacă aveți nevoie de aceste caracteristici, apoi continuați să utilizați CrossOver Office Pro de la compania CodeWeavers, cea mai recentă versiune a cărei versiune (5.0.1) sa dovedit a fi în ceea ce privește colaborarea cu Lingvo. Pentru o descriere a instalării lui Lingvo 11 în CrossOver Office, a se vedea al doilea articol.

În plus față de producția de Lingvo 11ml o oportunitate de a nu patch-uri fișierul principal, ci pur și simplu activați programul cu un activator convenabil dedicat frânelor SSG ... :)
Dacă ați achiziționat o versiune licențiată a produsului pentru a obține o relativ normală a operei sale în emulator sub Linux, va trebui, probabil, să recurgă la una dintre aceste metode. Mă tem că metodele oficiale de activare ar putea să nu funcționeze.

Ca întotdeauna grație forumului rubord pentru provided byte :)
Și, de asemenea, compania "Shield Rus" pentru buna promovare a produselor ABI.







Articole similare

Trimiteți-le prietenilor: