← Projects/Summer of Code/2007/Projects/KAider You do not have permission to edit this page, for the following reason: The action you have requested is limited to users in one of the groups: Users, Administrators, trusted, KDEDevelopers. You can view and copy the source of this page. KAider is a computer-aided translation system that focuses on productivity and performance. Translator does only creative work (of delivering message in his/her mother language in laconic and easy to understand form). KAider implies paragraph-by-paragraph translation approach (when translating documentation) and message-by-message approach (when translating GUI). See [[Projects/Summer_of_Code/2007/Projects/KAider/Introduction|KAider/Introduction]] ''' WARNING ''' KAider was renamed to loKalize and will bi included in kdesdk package for KDE 4.1 ==Current state== Already has: * syntax highlighting * spellcheck (sonnet needs improvement) * search-n-replace, ignoring accel marks * formats .po file output better so less diff is generated by scripty * small features like quick tag insert, placing text cursor right after the tag in the beginning (e.g. '<qt>|foobar</qt>' where "|" is a cursor), entry 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) or when several translators work on the same file [http://kv-53.narod.ru/kaider2.png screenshot] * basic projectmanager functionality [http://kv-53.narod.ru/kaider1.png screenshot] * Translation Memory (threaded) with shortcuts for inserting suggestions into current 'msgstr', scores are computed based on common/total length ratio, removed+added length, and count of removed+added parts [http://kv-53.narod.ru/kaider_tm.png screenshot] * for difference representation in all places word-by-word algorithm is used (based on the Longest Common Sequence o(n*n) algorithm and my own experience) * 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 1] [http://kv-53.narod.ru/kaider4.png screenshot 2] * webquery view, flexible thanks to kross * Search/Replace functions in multiple files at once. * Spellchecking of multiple files at once. ==Compiling== After you [[Getting_Started/Build/KDE4|set kde env up]] (compiling kdelibs is enough): svn checkout -N svn://anonsvn.kde.org/home/kde/trunk/KDE/kdesdk/ svn up cmake doc lokalize mkdir kdesdk/build && chmod a+w kdesdk/build su kde-devel cd kdesdk/build cmakekde .. as a root, run sshd and then from the usual shell: ssh -XC kde-devel@localhost lokalize you can get catalogmanager by specifying --project option lokalize --project /path/to/index.ktp See [[Projects/Summer_of_Code/2007/Projects/KAider#Setup]]. ==Maxims== * Majority of actions must be accessible via keyboard (because it is faster to press a shotcut than to be frustrated with a mouse) * Do automatization _everywhere_ it possible * Focus on translation quality. This is open source -- so source code is available (for change) ==Further work== *dbus *WebQuery for twin languages (like Ukrainian and Russian) *xliff+qt-linguist support (see [[#KBabel features to be implemented|KBabel features to be implemented]]) * Glossary checklists: check for forbidden terms in new translation * project-wise and program-wise: webquery scripts, glossaries, TMs * check for different translations of the same msgid (use strigi?) * back-checking, to see whether a term/string in the target language has been used as translation for different things, not just that one source has the same translation everywhere. * Tighten SVN support: svn diff-like feature * Automatic Glossary building * Research on dividing into sentences rules (e.g. srx) * Automate submitting translation suggestions to translate.google.com [Kross action] * [Kross (project) action] that merges translations with updated template * fill TM with content of /usr/share/locale/<lang>/LC_MESSAGES/*.mo [Kross action] 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 windoze package for the windowzerz Competitors (ideas): * [http://www.triplespin.com/en/products/locfactoryeditor.html#whatsnew locfactoryeditor] --Mac only * [http://www.heartsome.net/EN/downloads.html Heartsome] --multiplatform, costs money Converters (use, acting as a front-end): * [http://file2xliff4j.sourceforge.net/javadoc/file2xliff4j/package-summary.html file2xliff4j] --java-based * [https://open-language-tools.dev.java.net] --java-based * [http://translate.sourceforge.net/wiki/toolkit/index Translate Toolkit] --python-based, checks, other goodness ==KBabel features to be implemented== ...in a smarter way :) * persistent bookmarks for messages in a file saved in the project * extended marking of .po and .pot files (e.g. translator that currently works on the file and cince when) saved in the project * Opening source code by references in message comments [Kross action] * A plugin framework for validation tools for consistency checks [Kross action triggered on saving] * Sending the file using email [Kross (project) action] * Automatic syntax check with msgfmt when saving and, if an error occured, easy navigation to messages, which contain errors. == Syntax check (msgfmt --statistics) for existing files to control if the translated files will compile and, accordingly, work when distributed [Kross (project) action] * CVS and SVN support [Kross project action] (is 'svn ci' so hard?) * statistics * PO File Header change [Kross action (+triggered on saving)] * Printing of selected messages (eg fuzzy ) [Kross action] Also: * msgid-diff-msgstr from [http://lichota.net/~krzysiek/projects/msgtools/] (features for all other commands are already implemented, if you haven't noticed this) ==KBabel features NOT to be implemented== * Character selection tool integration, sort by the frequency Why? Better improve system-wide charselect tool, OR... modify your xorg keyboard layout! ==Setup== * Create project, saving *.ktp file to l10n-kde4/<LangCode> * Populate Glossary via GlossaryView context menu (.tbx file will be created automatically for you on the first entry addition). * Populate Translation Memory by dropping .po files onto TM View See [http://websvn.kde.org/trunk/l10n-kde4/ru/] Return to Projects/Summer of Code/2007/Projects/KAider. Retrieved from "https://techbase.kde.org/Projects/Summer_of_Code/2007/Projects/KAider"