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

KI18n-based frameworks

Framework list:

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

Status

Status Task Coordination
DONE Add src/Messages.sh scripts
DONE 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.
DONE Make sure translations are loaded, meaning TRANSLATION_DOMAIN is set. This could be done as a -D switch by the build system.
DONE - kdeclarative: -DTRANSLATION_DOMAIN conflicts with RootContext::i18n.
DONE - kross: -DTRANSLATION_DOMAIN conflicts with TranslationModule::i18n.
DONE - ktexteditor: -DTRANSLATION_DOMAIN conflicts with i18n() in katescripthelpers.cpp.
IN PROGRESS Integrate translation compilation code
DONE kdeclarative: Find a way to get qml code translated (only two strings so far).
DONE Fix calls to kde4_install_ts_files in trunk/l10n-kf5/scripts/autogen.sh

Qt-based frameworks

Framework list:

  • kauth
  • kbookmarks
  • kcodecs
  • kcompletion
  • kcoreaddons
  • 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
DONE kwidgetsaddons: Check data for KCharSelectData is marked as translatable. See FIXME in the code
DONE kcoreaddons: check src/mimetypes/XmlMessages.sh. Check it still works and add a "5" suffix to the .po file
DONE Adjust ECM qm handling code to work with trunk/l10n-kf5 workflow. https://git.reviewboard.kde.org/r/117560/
DONE Add a "_qt" suffix to the catalog names
DONE l10n-kf5: 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 if its catalog name ends with "_qt"
DONE Figure out the best way to handle plural forms: right now Qt requires the creation of a plural-only .qm file for english.
TO DO Find a way to load .qm manually for languages which are not supported by Qt (ex nds) <{{{3}}}>