Projects/Summer of Code/2007/Projects/KAider

    From KDE TechBase

    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

    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

    Info

    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>