Projects/Summer of Code/2007/Projects/KAider (fr): Difference between revisions

From KDE TechBase
(Traduction jusque "compilation")
(No difference)

Revision as of 16:23, 4 August 2008


Projects/Summer of Code/2007/Projects/KAider


Attention KAider a été renomé Lokalize et sera inclu dans le paquet kdesdk pour KDE 4.1

Lokalize est un système de traduction aidée par ordinateur qui se concentre sur la productivité et les perfomances. Le traducteur ne fait que du travail créatif (c'est-à-dire, écrire des messages dans sa langue maternelle dans une forme concise et facile à comprendre). Lokalize implique une approche de traduction paragraphe par paragraphe (dans la traduction de documentation) ou une approche message par message (dans la traduction d'une GUI). Voir aussi KAider/Introduction

État actuel

Déjà disponible:

  • mise en évidence de la syntax
  • correction orthographique (sonnet nécessite des améliorations)
  • chercher et remplacer, ignore les accélérateurs clavier
  • la sortie des fichiers .po est améliorée, moins de différence est générée par les scripts
  • quelques petites fonctionnalités telles que l'insertion rapide de tag, le curseur de texte est placé juste après le tag au début (ex '<qt>|foobar</qt>' où "|" est le curseur), écriture de signets
  • 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)
  • mode pour fusionner pour les éditeurs (QA) ou quand plusieurs traducteurs travail sur le même fichier screenshot
  • fonctionnalités basiques de gestionnaire de projet capture d'écran
  • Mémoire de traduction avec des raccourcies pour insérer des suggestions dans le 'msgstr' courant, les scores sont calculés à partir d'un ratio fréquence/taille totale, longueur retirée + ajoutée et un compte des parties ajoutées capture d'écran
  • pour différentes représentations dans toute les positions, un algorithme mot-à-mot est utilisé (il est basé sur l'algorithme Longest Common Sequence o(n*n) et ma propre expérience)
  • un glossaire avec un support basique du format tbx. Lokalize affiche les entrées pertinentes sur le moment et fournit des raccourcis pour les insérer. Vous pouvez également ajouter de nouvelles entrées au glossaire via un menu contextuel du glossaire. capture d'écran 1 capture d'écran 2
  • vue des recherches sur le net, flexible grâce à kross
  • Fonction de recherche/remplacer dans plusieurs fichiers en une fois.
  • Correction orthographique de plusieurs fichiers en une fois.

Compilation

After you set kde env up (compiling kdelibs+kdebase is enough):

svn checkout -N svn://anonsvn.kde.org/home/kde/trunk/KDE/kdesdk/
cd 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.

Debian users

You can install the latest version of lokalize from experimental repository: [1]

Setup

  • Create project, saving *.ktp file to l10n-kde4/<LangCode>/ dir
  • 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 [2] for an example project structure

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_ possible
  • Focus on translation quality. This is open source -- so source code is available (for change)

Further work

  • "as-you-type"-spellcheck
  • dbus
  • WebQuery for twin languages (like Ukrainian and Russian)
  • xliff+qt-linguist support (see 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):

Converters (use, acting as a front-end):

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 [4] (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!