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

From KDE TechBase
Line 9: Line 9:
* 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
* 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]


==Compiling==
==Compiling==

Revision as of 13:20, 5 July 2007

Current state

Can be used for basic po file editing. Already has:

  • syntax highlighting
  • spellcheck (problems with dividing filter)
  • search-n-replace, ignoring accel marks
  • bookmarks
  • viewing difference between current msgid and previous one (i.e. msgid translation of which current msgstr really is -- for fuzzies generated with appr. gettext option)
  • mode for translations merging 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

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

  • project management -- 1-2 weeks
  • context glossary -- 0.5-1 week
  • translation DB (QtSql) -- 2 weeks
  • 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

Refactoring ideas

  • MetaCatalog
    • CatalogBase
      • GetttextCatalog
    • ProjectBase
      • GetttextProject

Setup

  • Create project, saving *.ktp file to trunk/<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>