Projects/Summer of Code/2007/Projects/KAider: Difference between revisions

From KDE TechBase
Line 10: Line 10:
* basic projectmanager functionality [http://kv-53.narod.ru/kaider1.png screenshot]
* basic projectmanager functionality [http://kv-53.narod.ru/kaider1.png screenshot]
* glossary with basic [http://www.lisa.org/standards/tbx/ tbx] format support. KAider displays relevant entries on-the-fly and provides shortcuts to insert them. also, you can add new glossary terms via context menu of the glossary [http://kv-53.narod.ru/kaider3.png screenshot]
* glossary with basic [http://www.lisa.org/standards/tbx/ tbx] format support. KAider displays relevant entries on-the-fly and provides shortcuts to insert them. also, you can add new glossary terms via context menu of the glossary [http://kv-53.narod.ru/kaider3.png screenshot]
See [[Projects/Summer_of_Code/2007/Projects/KAider/Introduction|KAider/Introduction]]


==Compiling==
==Compiling==

Revision as of 18:11, 9 July 2007

Current state

Already has:

  • syntax highlighting
  • spellcheck (problems with dividing filter:doesnt check for the last word)
  • search-n-replace, ignoring accel marks
  • small features like quick tag insert, placing text cursor after the tag in the beginning (e.g. '<qt>|foobar</qt>' where "|" is a cursor)
  • bookmarks
  • viewer of the difference between current msgid and previous one (i.e. msgid translation of which current msgstr really is -- for fuzzies generated with --previous gettext option)
  • merge mode for editors (QA) screenshot
  • basic projectmanager functionality screenshot
  • glossary with basic tbx format support. KAider displays relevant entries on-the-fly and provides shortcuts to insert them. also, you can add new glossary terms via context menu of the glossary screenshot

See KAider/Introduction

Compiling

After you set kde env up (compiling kdelibs is enough):

cd trunk
svn up playground/devtools/kaider
su kde-devel
mkdir playground/devtools/kaider/build
cd playground/devtools/kaider/build
cmakekde ..

as a root, run sshd and then from the usual shell:

ssh -XC kde-devel@localhost
kaider

Roadmap

  • [basic framework DONE] project management -- 1-2 weeks
  • [DONE] context glossary -- 0.5-1 week
  • translation DB (QtSql) -- 2 weeks
  • [DONE] mode for merging translations for editors (QA) -- 1 week
  • scripting API + sipping on google translate for live glossary (kross) - 2 weeks
  • the remaining time is for perfection/polishing/small improvements and xliff+qt-linguist support

What i'm doing these days

  • initial kross research
  • impovements on ProjectView (dbus, etc), MergeView (merge actions) and Glossary

Ideas

Further work:

  • Research on dividing into sentences rules (e.g. srx)

Not for KDE:

  • Be complete computer-aided translation system by providing e.g. actions to import+export openoffice, txt and documents of other formats by calling appropriate scripts/commands. Define for that general kross actions interface.
  • Make nice windows package

Setup

  • Create project, saving *.ktp file to l10n-kde4/<LangCode>
  • Create in the same dir file called terms.tbx, and fill it with initial contents:

Glossary

This is how a TBX glossary looks like:

   <?xml version="1.0" encoding="UTF-8"?>
   <!DOCTYPE martif PUBLIC "ISO 12200:1999A//DTD MARTIF core (DXFcdV04)//EN" "TBXcdv04.dtd">
   
   <martif type="TBX" xml:lang="en">
       <martifHeader>
           <fileDesc>
               <titleStmt>
                   <title>KDE Russian Team Glossary</title>
               </titleStmt>
           </fileDesc>
       </martifHeader>
       <text>
           <body>
               <termEntry id="1">
                   <descrip type="subjectField">Security</descrip>
                   <descrip type="relatedConcept">authorization</descrip>
                   <langSet xml:lang="en">
                       <ntig>
                           <termGrp>
                               <term>authentication</term>
                               <termNote type="partOfSpeech">noun</termNote>
                           </termGrp>
                           <descrip type="context">.</descrip>
                       </ntig>
                   </langSet>
                   <langSet xml:lang="ru">
                       <ntig>
                           <termGrp>
                               <term>идентификация</term>
                               <termNote type="partOfSpeech">сущ.</termNote>
                           </termGrp>
                       </ntig>
                   </langSet>
                   <langSet xml:lang="ru">
                       <ntig>
                           <termGrp>
                               <term>подтверждение подлинности</term>
                               <termNote type="partOfSpeech">сущ.</termNote>
                           </termGrp>
                       </ntig>
                   </langSet>
               </termEntry>
               <termEntry id="2">
                   <descrip type="subjectField">Security</descrip>
                   <descrip type="relatedConcept">authentication</descrip>
                   <langSet xml:lang="en">
                       <ntig>
                           <termGrp>
                               <term>authorization</term>
                               <termNote type="partOfSpeech">noun</termNote>
                           </termGrp>
                           <descrip type="context"></descrip>
                       </ntig>
                   </langSet>
                   <langSet xml:lang="ru">
                       <ntig>
                           <termGrp>
                               <term>определение прав</term>
                               <termNote type="partOfSpeech">сущ.</termNote>
                           </termGrp>
                       </ntig>
                   </langSet>
               </termEntry>
           </body>
       </text>
   </martif>