Frameworks/Epics/KF5.0 Release Preparation/l10n: Difference between revisions

From KDE Community Wiki
(rework page, should be more readable)
(reorganize)
Line 1: Line 1:
== Preparation ==
== Common tasks ==


{| class="sortable" border="1" cellpadding="5" cellspacing="0" style="border: gray solid 1px; border-collapse: collapse; text-align: left; width:100%;"
{| class="sortable" border="1" cellpadding="5" cellspacing="0" style="border: gray solid 1px; border-collapse: collapse; text-align: left; width:100%;"
Line 6: Line 6:
! Task
! Task
! Coordination
! Coordination
{{FeatureDone | Decide where to place Messages.sh (src by default?) | }}
{{FeatureDone | Decide where to place Messages.sh. Answer: src/ by default | }}
{{FeatureInProgress | Define the way to extract translations for Qt-based frameworks. Patches under review.
{{FeatureTodo | 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. | }}
| }}
{{FeatureDone | Investigate whether it is possible to have Qt-based frameworks automatically load their transitions | }}
{{FeatureTodo |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.
| }}
|}
|}
== Per framework TODO ==
For each framework the following needs to be done:
=== Mark strings translatable ===
Make sure all strings that need to be translated are either wrapped by i18n*() or tr*() depending on the translation API of choice.
=== Extract translatable strings ===
If there is no Messages.sh file in the repository, create a src/Messages.sh file. See http://techbase.kde.org/Development/Tutorials/Localization/i18n_Build_Systems#handling_i18n_in_KDE.27s_subversion_repository for details on how to create and test it.
If there are Messages.sh files, check they are still relevant.
Things to test:
* Make sure the Messages.sh files extract all the files
* Make sure the Messages.sh files create catalogs with correct names. Look out for catalogs with '4' suffix, or catalogs whose name would clash with an existing KDE4 library.
=== Make sure translations are loaded ===
If using ki18n, make sure it follows http://api.kde.org/frameworks-api/frameworks5-apidocs/ki18n/html/prg_guide.html#link_lib . In short: Check all files with calls to i18n*() define TRANSLATION_DOMAIN '''before''' including KLocalizedString.
If using tr(), make sure the list of source files include ${ECM_TR_LOADER}.


== KI18n-based frameworks ==
== KI18n-based frameworks ==
Line 68: Line 44:


=== Status ===
=== Status ===
==== Done ====
==== Todo ====


{| class="sortable" border="1" cellpadding="5" cellspacing="0" style="border: gray solid 1px; border-collapse: collapse; text-align: left; width:100%;"
{| class="sortable" border="1" cellpadding="5" cellspacing="0" style="border: gray solid 1px; border-collapse: collapse; text-align: left; width:100%;"
Line 78: Line 50:
! Task
! Task
! Coordination
! Coordination
{{ FeatureTodo | Add src/Messages.sh script | }}
{{ FeatureTodo | Add src/Messages.sh scripts | }}
{{ FeatureTodo | Check TRANSLATION_DOMAIN is set | }}
{{ FeatureTodo | 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. | }}
{{ FeatureTodo | Make sure translations are loaded, meaning TRANSLATION_DOMAIN is set | }}
{{ FeatureTodo | Integrate translation compilation code | }}
{{ FeatureTodo | Integrate translation compilation code | }}
|}
|}
Line 111: Line 84:
! Task
! Task
! Coordination
! Coordination
{{ FeatureDone | Define the way to extract translations for Qt-based frameworks. | }}
{{ FeatureDone | Investigate whether it is possible to have Qt-based frameworks automatically load their transitions. Answer: yes, via a Qt macro. | }}
{{ FeatureDone | Add src/Messages.sh script | }}
{{ FeatureDone | Add src/Messages.sh script | }}
{{ FeatureDone | Check QObject::tr is correctly used | }}
{{ FeatureDone | Check QObject::tr is correctly used | }}
{{ FeatureInProgress | Define the way to integrate compilation of translations in build system. Patches are under review. | }}
{{ FeatureTodo | kwidgetsaddons: Check data for KCharSelectData is marked as translatable. See FIXME in the code | }}
{{ FeatureTodo | kwidgetsaddons: Check data for KCharSelectData is marked as translatable. See FIXME in the code | }}
{{ FeatureTodo | Integrate translation compilation code | }}
{{ FeatureTodo | Integrate translation compilation code | }}
|}
|}

Revision as of 15:14, 26 March 2014

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:

  • kactivities
  • kcmutils
  • kconfig
  • kconfigwidgets
  • kde4support
  • kdoctools
  • kfileaudiopreview
  • khtml
  • ki18n
  • kiconthemes
  • kinit
  • kio
  • kjsembed
  • knewstuff
  • knotifyconfig
  • kparts
  • kprintutils
  • kpty
  • kross
  • krunner
  • kservice
  • ktexteditor
  • ktextwidgets
  • kunitconversion
  • kwallet
  • kwindowsystem
  • kxmlgui
  • plasma-framework

Status

Status Task Coordination
TO DO Add src/Messages.sh scripts <{{{3}}}>
TO DO 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. <{{{3}}}>
TO DO Make sure translations are loaded, meaning TRANSLATION_DOMAIN is set <{{{3}}}>
TO DO Integrate translation compilation code <{{{3}}}>

Qt-based frameworks

Framework list:

  • kauth
  • kbookmarks
  • kcodecs
  • kcompletion
  • kcoreaddons
  • kcrash
  • kdbusaddons
  • kdesignerplugin
  • kdnssd
  • kglobalaccel
  • kitemviews
  • kjobwidgets
  • knotifications
  • kwidgetsaddons
  • 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
IN PROGRESS Define the way to integrate compilation of translations in build system. Patches are under review.
TO DO kwidgetsaddons: Check data for KCharSelectData is marked as translatable. See FIXME in the code <{{{3}}}>
TO DO Integrate translation compilation code <{{{3}}}>