Projects/Summer of Code/2007/Projects/KAider
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
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
- CatalogBase
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>