Bug 41776

Summary: Translate UCS compontents to French
Product: UCS Reporter: Alexander Kläser <klaeser>
Component: GeneralAssignee: Eduard Mai <mai>
Status: CLOSED FIXED QA Contact: Alexander Kläser <klaeser>
Severity: enhancement    
Priority: P5 CC: best, gohmann, hahn
Version: UCS 4.1   
Target Milestone: UCS 4.1-4   
Hardware: Other   
OS: Linux   
What kind of report is it?: Feature Request What type of bug is this?: ---
Who will be affected by this bug?: --- How will those affected feel about the bug?: ---
User Pain: Enterprise Customer affected?:
School Customer affected?: ISV affected?:
Waiting Support: Flags outvoted (downgraded) after PO Review:
Ticket number: Bug group (optional): Internationalization
Max CVSS v3 score:
Bug Depends on: 42260, 42325, 42326, 42327, 42852, 42873    
Bug Blocks: 41773    
Attachments: Translation files
Screenshot UCS overview site
UCR variable translations
Proposed patch

Description Alexander Kläser univentionstaff 2016-07-12 11:39:52 CEST
For a customer in Switzerland, we will translate all UCS components (UMC, UDM etc.) to French.
Comment 1 Alexander Kläser univentionstaff 2016-07-12 11:49:16 CEST
Created attachment 7794 [details]
Translation files

Attached all necessary translation files. The files are currently named de.po and would need to be changed. Also we need to integrate them into a translation package and eventually integrated some of the translations (e.g., the Debian installer) directly into the source package.
Comment 2 Florian Best univentionstaff 2016-08-24 12:46:10 CEST
I would name the package "univention-i18n-fr".
Comment 3 Eduard Mai univentionstaff 2016-09-07 18:47:41 CEST
r72407 | initial version of the French translation package

TODO: Debian Installer translations
Comment 4 Eduard Mai univentionstaff 2016-09-08 12:27:21 CEST
A package for ucs-4.1-3 has been build.

r72421, r72420 | restructure makefile for dh_auto_build

Package: univention-ucs-translation-fr
Version: 1.0.1-0.4.201609081224
Comment 5 Eduard Mai univentionstaff 2016-09-09 10:23:01 CEST
(In reply to Florian Best from comment #2)
> I would name the package "univention-i18n-fr".

I agree on renaming and propose (univention-)ucs-l10n-fr, as this package targets UCS specifically and is mainly localization.
Comment 6 Eduard Mai univentionstaff 2016-09-09 18:10:46 CEST
The provided PO files are completely integrated. Maybe QA can take a look at this point?
Comment 7 Eduard Mai univentionstaff 2016-09-09 18:12:23 CEST
TODO: * Merge to UCS 4.2
* rename packge once agreed upon a name
Comment 8 Eduard Mai univentionstaff 2016-09-15 11:24:04 CEST
r72613 | fix typo in additional_targets.mk

UCS-4.1-3:
Package: univention-ucs-translation-fr
Version: 1.0.1-1.5.201609151115
Comment 9 Alexander Kläser univentionstaff 2016-09-15 16:17:06 CEST
As discussed:
* Please move all possible manual definitions into specialcases.json
* The target /usr/share/univention-self-service/www/js/ucs/fr.json is defined 
  twice with different dependencies
* See also Bug 42260, comment 2
Comment 10 Eduard Mai univentionstaff 2016-10-18 15:56:34 CEST
r73315, r73335:
The translation has been rebuild using updated special case logic. Additionally the provided translated tree of PO files has been merged with the current UCS 4.1-3 SVN repository. The result contains fuzzy tagged and empty msgids, which need to be reviewed. As discussed the package has been renamed to univention-l10n-fr. 

r73325: import to UCS 4.2

To build the package for testing or review comment ucslint in debian/rules so it won't fail on fuzzy and empty msgids.
Comment 11 Philipp Hahn univentionstaff 2016-10-19 08:40:31 CEST
FYI: None of the UCR variables are translated - this currently requires a direct modification of the files /etc/univention/registry.info/variables/*.cfg as UCR does not use the gettext() mechanism, but uses its own (broken) implementation for i18n.
Comment 12 Alexander Kläser univentionstaff 2016-10-24 12:12:46 CEST
Created attachment 8147 [details]
Screenshot UCS overview site

I resolved the fuzzy entries and commited them to 4.1-3, 4.1-4 and 4.2-0. Please double check. The package in the current version is built.

We need to translate the entries of the UCS overview site, see attached screenshot. This is the first thing a user will see. Otherwise, everything seems to be just fine.
Comment 13 Alexander Kläser univentionstaff 2016-10-24 12:43:07 CEST
Please have also a look at the following:

$ dpkg -L univention-l10n-fr  | grep '/de/'
/usr/share/locale/de/LC_MESSAGES
/usr/share/locale/de/LC_MESSAGES/univention-admin-handlers-settings-mswmifilter.mo
/usr/share/locale/de/LC_MESSAGES/univention-admin-handlers-settings-msprintconnectionpolicy.mo
/usr/share/locale/de/LC_MESSAGES/univention-admin-handlers-container-msgpo.mo

This leads to problems when installing the package.
Comment 14 Eduard Mai univentionstaff 2016-10-24 18:24:09 CEST
(In reply to Alexander Kläser from comment #13)
> Please have also a look at the following:
> 
> $ dpkg -L univention-l10n-fr  | grep '/de/'
> /usr/share/locale/de/LC_MESSAGES
> /usr/share/locale/de/LC_MESSAGES/univention-admin-handlers-settings-
> mswmifilter.mo
> /usr/share/locale/de/LC_MESSAGES/univention-admin-handlers-settings-
> msprintconnectionpolicy.mo
> /usr/share/locale/de/LC_MESSAGES/univention-admin-handlers-container-msgpo.mo
> 
> This leads to problems when installing the package.

This is due to a faulty special case definition in this module. Fix in with r73524
Comment 15 Eduard Mai univentionstaff 2016-10-28 18:48:07 CEST
(In reply to Philipp Hahn from comment #11)
> FYI: None of the UCR variables are translated - this currently requires a
> direct modification of the files
> /etc/univention/registry.info/variables/*.cfg as UCR does not use the
> gettext() mechanism, but uses its own (broken) implementation for i18n.

Tools to do this where added with r73849, r73850, r73851. (UCS 4.1-3, 4.1-4, 4.2-0)
Comment 16 Alexander Kläser univentionstaff 2016-10-31 09:59:16 CET
Created attachment 8171 [details]
UCR variable translations

This are the French translations of the UCR variables.
Comment 17 Alexander Kläser univentionstaff 2016-10-31 11:33:40 CET
Please remove the deprecated package base/univention-ucs-translation-fr.

We need the following features:
* Trigger the ucr-l10n script for changes in ucs/web/overview/entries.* variables
* Trigger the ucr-l10n script as a setup script in the appliance-hooks.d dir
Comment 18 Alexander Kläser univentionstaff 2016-11-01 09:44:29 CET
Tagging to 4.1-4. Please add an entry to the 4.1-4 changelog (i.e., no errata YAML files).
Comment 19 Alexander Kläser univentionstaff 2016-11-01 11:41:08 CET
Created attachment 8176 [details]
Proposed patch

This is a proposed patch for the lacking functionality. AFAIS, this should be sufficient.
Comment 20 Eduard Mai univentionstaff 2016-11-02 16:48:10 CET
(In reply to Alexander Kläser from comment #18)
> Tagging to 4.1-4. Please add an entry to the 4.1-4 changelog (i.e., no
> errata YAML files).

r74027 adds changelog entry.
Comment 21 Eduard Mai univentionstaff 2016-11-02 19:17:45 CET
UCS 4.1-4:
r74035, r74036 applies patch with slight changes and establishes UCR variable translation functionality

Package: univention-ucs-translation-template
Version: 3.1.0-3.24.201611021904

Package: univention-l10n-fr
Version: 1.1.0-4.4.201611021906

UCS 4.2-0:
r74037: merge to UCS 4.2-0
Comment 22 Eduard Mai univentionstaff 2016-11-02 19:18:11 CET
(In reply to Alexander Kläser from comment #17)
> * Trigger the ucr-l10n script as a setup script in the appliance-hooks.d dir

This is still a TODO
Comment 23 Alexander Kläser univentionstaff 2016-11-02 19:24:15 CET
(In reply to Eduard Mai from comment #22)
> (In reply to Alexander Kläser from comment #17)
> > * Trigger the ucr-l10n script as a setup script in the appliance-hooks.d dir
> 
> This is still a TODO

AFAIS, we do not need this as the ucr hook should be sufficient to do this job :) .
Comment 24 Alexander Kläser univentionstaff 2016-11-03 14:48:53 CET
I needed to add the patch for services/univention-s4-connector/debian/python-univention-connector-s4.univention-l10n [r73524] to 4.1-4:

univention-s4-connector (10.0.2-1):
r74078 | Bug #41776: fix special case definition

... and 4.2-0:

univention-s4-connector (11.0.1-1):
r74079 | Bug #41776: fix special case definition
Comment 25 Alexander Kläser univentionstaff 2016-11-03 14:51:31 CET
Changes: OK, look good and work
Merges to 4.2-0: OK
Changelog 4.1-4: OK

→ VERIFIED
Comment 26 Alexander Kläser univentionstaff 2016-11-04 10:42:13 CET
We observed that no univention-appcenter package would be installed when choosing French as language in the DVD Installer. Therefore I needed to remove the dependency to univention-management-console from the package.

univention-l10n-fr (1.1.0-5):
r74104 | Bug #41776: removed dependency to univention-management-console
Comment 27 Stefan Gohmann univentionstaff 2016-11-08 13:26:34 CET
UCS 4.1-4 has been released:
 https://docs.software-univention.de/release-notes-4.1-4-en.html
 https://docs.software-univention.de/release-notes-4.1-4-de.html

If this error occurs again, please use "Clone This Bug".