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
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>