Jump to content

Frameworks/Epics/KF5.0 Release Preparation/l10n

From KDE Community Wiki

Common tasks

Status Task Coordination
DONE Decide where to place Messages.sh. Answer: src/ by default
TO DO Check the release scripts to ensure they include the .po or .ts files as well as the matching CMake code to build and install them. <{{{3}}}>

KI18n-based frameworks

Framework list:

  • frameworkintegration
  • kactivities
  • kcmutils
  • kconfigwidgets
  • kde4support
  • kdesu
  • kdoctools (Only if SIMPLE_XSLT is not defined => Should we care?)
  • kdeclarative
  • kfileaudiopreview
  • khtml
  • ki18n
  • kiconthemes
  • kinit
  • kio
  • kjsembed
  • knewstuff
  • knotifyconfig
  • kparts
  • kpty
  • kross
  • krunner
  • kservice
  • ktexteditor
  • ktextwidgets
  • kunitconversion
  • kwallet
  • kxmlgui
  • plasma-framework

Status

Status Task Coordination
DONE Add src/Messages.sh scripts
IN PROGRESS Review existing Messages.sh scripts. Check for wrong names such as catalogs with '4' suffix, or catalogs whose name would clash with an existing KDE4 library.
TO DO Make sure translations are loaded, meaning TRANSLATION_DOMAIN is set. This could be done as a -D switch by the build system. <{{{3}}}>
TO DO Integrate translation compilation code <{{{3}}}>

Messages.sh files to review:

  • kactivities
  • kde4support (conflicts with multiple .pot from kde4 kdelibs)
  • kio (conflicts with kde4 kpasswdserver.pot)
  • krunner
  • plasma-framework
  • kdesu (conflicts with kde4 kdesud.pot)

Qt-based frameworks

Framework list:

  • kauth
  • kbookmarks
  • kcodecs
  • kcompletion
  • kcoreaddons
  • kcrash
  • kdbusaddons
  • kdesignerplugin
  • kdnssd
  • kglobalaccel
  • kitemviews
  • kjobwidgets
  • knotifications
  • kwidgetsaddons
  • kwindowsystem
  • solid
  • sonnet

Status

Status Task Coordination
DONE Define the way to extract translations for Qt-based frameworks.
DONE Investigate whether it is possible to have Qt-based frameworks automatically load their transitions. Answer: yes, via a Qt macro.
DONE Add src/Messages.sh script
DONE Check QObject::tr is correctly used
DONE Define the way to integrate compilation of translations in build system. Done: new function added to ECM: ecm_create_qm_from_po_files()
DONE Integrate translation compilation code
DONE Update framework template
DONE Extract strings from .ui files
DONE solid: fix string extraction: it uses $XGETTEXT and $XGETTEXT_QT
TO DO kcoreaddons: check src/mimetypes/XmlMessages.sh. Check it still works and add a "5" suffix to the .po file <{{{3}}}>
TO DO Make generation of the qm loader independent from availability of po/ directory, so that one can test translations without rebuilding <{{{3}}}>
TO DO kwidgetsaddons: Check data for KCharSelectData is marked as translatable. See FIXME in the code <{{{3}}}>
TO DO l10n-kde4: Modify scripts/autogen.sh to create different CMake code depending on whether the .po file must be compiled into a .qm or into a .mo. A .po which must be compiled into a .qm has a "X-Qt-Contexts: true" entry in the .po metadata. <{{{3}}}>
TO DO Figure out the best way to handle plural forms: right now Qt requires the creation of a plural-only .qm file for english. <{{{3}}}>