Translation

Nearly done, after i have reviewed my translations i have to merge 3.0 with 3.1
Perhaps you can give some guidance in this?
How to know if there is missing translated text since there are no other nl.po’s to compare with.
Or do you diff the sum of msgid strings between files?
Then again i hope there is not too much added in UCS 3.1.1 :), you guys are fast!!

Done!
All the de.po files i could find in UCS 3.0/3.1 are translated. I will now scan for strange and/or quirky translations and when that is done 3.0 and 3.1 need to merge, but for which i need guidance.

Regards,

Jos.

Hello Jos,

thanks a lot for the updated status.

[quote=“Jos”]Done!
All the de.po files i could find in UCS 3.0/3.1 are translated. I will now scan for strange and/or quirky translations [/quote]
That sounds great.

I’ll give you a response during the course of the week on how to proceed. Can you please provide a list of the packages or source directories you created a translation for and state for which UCS version your made them?

Best regards,
Nico Gulden

svn status 3.0:

? .directory ? base/univention-installer/installer/locale/de/LC_MESSAGES/installer.nl.mo A + base/univention-installer/installer/locale/de/LC_MESSAGES/installer.nl.po ? base/univention-system-setup/umc/nl.mo ? base/univention-system-setup/umc/python/setup/nl.mo A + base/univention-system-setup/umc/python/setup/nl.po A + base/univention-system-setup/umc/nl.po A + base/univention-system-setup/umc/js/nl.po ? base/univention-quota/umc/nl.mo ? base/univention-quota/umc/python/quota/nl.mo A + base/univention-quota/umc/python/quota/nl.po A + base/univention-quota/umc/nl.po ? base/univention-quota/umc/js/nl.mo A + base/univention-quota/umc/js/nl.po ? management/.directory ? management/univention-join/umc/nl.mo ? management/univention-join/umc/python/join/nl.mo A + management/univention-join/umc/python/join/nl.po A + management/univention-join/umc/nl.po ? management/univention-join/umc/js/nl.mo A + management/univention-join/umc/js/nl.po ? management/univention-directory-reports/modules/univention/directory/reports/nl.mo A + management/univention-directory-reports/modules/univention/directory/reports/nl.po ? management/univention-management-console/data/nl.mo A + management/univention-management-console/data/nl.po ? management/univention-directory-manager-modules/modules/univention/admin/nl.mo A + management/univention-directory-manager-modules/modules/univention/admin/nl.po

svn status 3.1:

? .directory ? services/univention-pkgdb/umc/nl.mo A + services/univention-pkgdb/umc/nl.po ? services/univention-ad-connector/umc/python/adconnector/nl.mo A + services/univention-ad-connector/umc/python/adconnector/nl.po ? services/univention-ad-connector/umc/js/nl.mo A + services/univention-ad-connector/umc/js/nl.po ? packaging/ucslint/testframework/0008-override/src/nl.mo ? packaging/ucslint/testframework/0008-override/src/build/nl.mo A + packaging/ucslint/testframework/0008-override/src/build/nl.po A + packaging/ucslint/testframework/0008-override/src/nl.po ? packaging/univention-directory-manager-module-example/modules/univention/admin/handlers/test/nl.mo A + packaging/univention-directory-manager-module-example/modules/univention/admin/handlers/test/nl.po ? virtualization/univention-virtual-machine-manager-schema/modules/univention/admin/handlers/uvmm/nl.mo A + virtualization/univention-virtual-machine-manager-schema/modules/univention/admin/handlers/uvmm/nl.po ? virtualization/univention-virtual-machine-manager-daemon/umc/nl.mo ? virtualization/univention-virtual-machine-manager-daemon/umc/python/uvmm/nl.mo A + virtualization/univention-virtual-machine-manager-daemon/umc/python/uvmm/nl.po A + virtualization/univention-virtual-machine-manager-daemon/umc/nl.po ? virtualization/univention-virtual-machine-manager-daemon/umc/js/nl.mo A + virtualization/univention-virtual-machine-manager-daemon/umc/js/nl.po ? virtualization/univention-virtual-machine-manager-daemon/src/nl.mo A + virtualization/univention-virtual-machine-manager-daemon/src/nl.po ? management/univention-management-console-module-vnc/umc/nl.mo ? management/univention-management-console-module-vnc/umc/python/vnc/nl.mo A + management/univention-management-console-module-vnc/umc/python/vnc/nl.po A + management/univention-management-console-module-vnc/umc/nl.po ? management/univention-management-console-module-vnc/umc/js/nl.mo A + management/univention-management-console-module-vnc/umc/js/nl.po ? management/univention-management-console-module-ucr/umc/nl.mo ? management/univention-management-console-module-ucr/umc/python/ucr/nl.mo A + management/univention-management-console-module-ucr/umc/python/ucr/nl.po A + management/univention-management-console-module-ucr/umc/nl.po ? management/univention-management-console-module-ucr/umc/js/nl.mo A + management/univention-management-console-module-ucr/umc/js/nl.po ? management/univention-management-console-module-reboot/umc/nl.mo ? management/univention-management-console-module-reboot/umc/module/reboot/nl.mo A + management/univention-management-console-module-reboot/umc/module/reboot/nl.po A + management/univention-management-console-module-reboot/umc/nl.po ? management/univention-management-console-module-reboot/umc/js/nl.mo A + management/univention-management-console-module-reboot/umc/js/nl.po ? management/univention-management-console-frontend/umc/nl.mo A + management/univention-management-console-frontend/umc/nl.po ? management/univention-management-console-module-top/umc/nl.mo ? management/univention-management-console-module-top/umc/python/top/nl.mo A + management/univention-management-console-module-top/umc/python/top/nl.po A + management/univention-management-console-module-top/umc/nl.po ? management/univention-management-console-module-top/umc/js/nl.mo A + management/univention-management-console-module-top/umc/js/nl.po ? management/univention-management-console-module-lib/umc/js/nl.mo A + management/univention-management-console-module-lib/umc/js/nl.po ? management/univention-management-console-module-mrtg/umc/nl.mo A + management/univention-management-console-module-mrtg/umc/nl.po ? management/univention-management-console-module-mrtg/umc/js/nl.mo A + management/univention-management-console-module-mrtg/umc/js/nl.po ? management/univention-management-console/src/univention/management/console/nl.mo A + management/univention-management-console/src/univention/management/console/nl.po ? management/univention-system-info/umc/nl.mo ? management/univention-system-info/umc/python/sysinfo/nl.mo A + management/univention-system-info/umc/python/sysinfo/nl.po A + management/univention-system-info/umc/nl.po ? management/univention-system-info/umc/js/nl.mo A + management/univention-system-info/umc/js/nl.po ? management/univention-management-console-module-appcenter/apps/nl.mo A + management/univention-management-console-module-appcenter/apps/python/apps/nl.po A + management/univention-management-console-module-appcenter/apps/nl.po ? management/univention-management-console-module-appcenter/apps/js/nl.mo A + management/univention-management-console-module-appcenter/apps/js/nl.po ? management/univention-management-console-module-appcenter/umc/nl.mo ? management/univention-management-console-module-appcenter/umc/python/appcenter/nl.mo A + management/univention-management-console-module-appcenter/umc/python/appcenter/nl.po A + management/univention-management-console-module-appcenter/umc/nl.po ? management/univention-management-console-module-appcenter/umc/js/nl.mo A + management/univention-management-console-module-appcenter/umc/js/nl.po ? management/univention-management-console-module-services/umc/nl.mo ? management/univention-management-console-module-services/umc/python/services/nl.mo A + management/univention-management-console-module-services/umc/python/services/nl.po A + management/univention-management-console-module-services/umc/nl.po ? management/univention-management-console-module-services/umc/js/nl.mo A + management/univention-management-console-module-services/umc/js/nl.po ? management/univention-management-console-module-udm/umc/nl.mo ? management/univention-management-console-module-udm/umc/python/udm/nl.mo A + management/univention-management-console-module-udm/umc/python/udm/nl.po A + management/univention-management-console-module-udm/umc/nl.po ? management/univention-management-console-module-udm/umc/js/nl.mo A + management/univention-management-console-module-udm/umc/js/nl.po

Sorry!
I was a bit too soon, not all de.po files have been translated.
Back to work now…

Dear Jos,

just a little note to let you know how to activate Dutch in the UMC, so you can verify your translations:

ucr set locale="$(ucr get locale) nl_NL.UTF-8:UTF-8" umc/server/languages/nl_NL=Nederlands

For UMC, po files are translated into the JSON format, on an installed system, they are stored here:

root@master40:~# find /usr/share/univention-management-console-frontend/js/umc -name "*.json"
/usr/share/univention-management-console-frontend/js/umc/help/de.json
/usr/share/univention-management-console-frontend/js/umc/help/en.json
/usr/share/univention-management-console-frontend/js/umc/de.json
/usr/share/univention-management-console-frontend/js/umc/modules/i18n/de/ipchange.json
/usr/share/univention-management-console-frontend/js/umc/modules/i18n/de/udm.json
/usr/share/univention-management-console-frontend/js/umc/modules/i18n/de/top.json
/usr/share/univention-management-console-frontend/js/umc/modules/i18n/de/join.json
/usr/share/univention-management-console-frontend/js/umc/modules/i18n/de/updater.json
/usr/share/univention-management-console-frontend/js/umc/modules/i18n/de/quota.json
/usr/share/univention-management-console-frontend/js/umc/modules/i18n/de/appcenter.json
/usr/share/univention-management-console-frontend/js/umc/modules/i18n/de/lib.json
/usr/share/univention-management-console-frontend/js/umc/modules/i18n/de/setup.json
/usr/share/univention-management-console-frontend/js/umc/modules/i18n/de/reboot.json
/usr/share/univention-management-console-frontend/js/umc/modules/i18n/de/mrtg.json
/usr/share/univention-management-console-frontend/js/umc/modules/i18n/de/services.json
/usr/share/univention-management-console-frontend/js/umc/modules/i18n/de/sysinfo.json
/usr/share/univention-management-console-frontend/js/umc/modules/i18n/de/ucr.json
/usr/share/univention-management-console-frontend/js/umc/modules/i18n/de/apps.json
/usr/share/univention-management-console-frontend/js/umc/i18n/de/app.json
/usr/share/univention-management-console-frontend/js/umc/i18n/de/branding.json
/usr/share/univention-management-console-frontend/js/umc/i18n/package/app.json
/usr/share/univention-management-console-frontend/js/umc/i18n/en/app.json
/usr/share/univention-management-console-frontend/js/umc/i18n/en/branding.json
/usr/share/univention-management-console-frontend/js/umc/package.json
/usr/share/univention-management-console-frontend/js/umc/en.json

Thus, Dutch translations would need to be stored below the following paths:

/usr/share/univention-management-console-frontend/js/umc/i18n/nl/...
/usr/share/univention-management-console-frontend/js/umc/modules/i18n/nl/...

The main .json translation file for the UMC is the file …/js/umc/i18n/de/app.json.

As msgfmt does not support JSON as output format, we developed pyhton methods for that. Currently, there is no direct CLI tool to translate .po files to the JSON format. However, the following lines will provide you with one:

apt-get install univention-management-console-dev
cat > translate.py <<EOF
#!/usr/bin/python2.6
import univention.dh_umc as dh_umc
import sys

for ifile in sys.argv[1:]:
        dh_umc.create_json_file(ifile)
EOF
chmod +x translate.py

You can then pass a list of .po files to translate.py, e.g.:

./translate.py app.po setup.po

best regards
Alex

Hello Jos,

some additional information to Alex’s posting. After you are done with the translation, basically the following steps have to be done:[ul]
[li] Merge your translation for UCS 3.0 already made with the latest UCS 3.1 translation in order to have one consistent set of files. For the merge, the changes for the de.po file between 3.0 and 3.1 should be checked. Some strings may be added or removed. In some files only the source code reference lines have been updated and they can be ignored.[/li]
[li] Build the message format binary files.[/li]
[li] Build a debian package that provides the files and that can be installed on UCS[/li][/ul]
In parallel to your last posting, I had a look at the 12 files you have already translated for UCS 3.0 and that need to be merged to UCS 3.1. Only 5 files have been changed up to UCS 3.1-1. The changes mainly affect the lines stating where the string occurs. I hope those information help you to keep going. Thanks a lot for your work and contribution.

Best regards,
Nico Gulden.

Hello Alex and Nico,

Thanks for the replies, first i have to merge the two dir’s with esvn.
The verification Alex is writing about i will perform after all is done. Then i can see how things work out because sometimes i am in doubt how to translate text when things conflict in my opinion :slight_smile:
For example:

#: umc/js/_updater/ProgressPage.js:80 msgid "Log file view" msgstr "Protokoll"

Regards,

Jos.

[quote=“gulden”]
some additional information to Alex’s posting. After you are done with the translation, basically the following steps have to be done:[list]
[*] Merge your translation for UCS 3.0 already made with the latest UCS 3.1 translation in order to have one consistent set of files.[/quote]
Hello Nico,
All po files translated, for sure now!
Can you tell me if it is ok to merge 3.0 with 3.1 with esvn? Or do you prefer another way?

I don’t understand this, do you mean checking before the merge? and how to check for the changes between the files?

[quote]
[*] Build the message format binary files.[/quote]
Please explain a bit more

[quote]
[*] Build a debian package that provides the files and that can be installed on UCS[/quote]
I am afraid i’m not able to do this

[quote]
In parallel to your last posting, I had a look at the 12 files you have already translated for UCS 3.0 and that need to be merged to UCS 3.1. Only 5 files have been changed up to UCS 3.1-1. T[/quote]
How did you do the checking?
I know these are a lot of questions, perhaps there is another way to guide me through this other then by writing everything, which is time consuming and slow?

Regards,

Jos.

Hello Jos,

sorry that it took me some days to come back to you. Below, you find the answers to your points.

  1. Merge: I think the tool for the merge doesn’t matter. Important is the result, which consists of all .po files translated to dutch. Since you have already translated some files for UCS 3.0 and you probably don’t want to do that work again for UCS 3.1, you have to check which original files from UCS 3.0 have not changed up to UCS 3.1. Those files can just be accepted.

For the other files that have changes, you have to look at what changed. If strings have been added in the original file, you have to add them to your translation. Depending on the amount of strings it probably is more efficient to just translate the appropriate UCS 3.1 .po file to dutch. Overall, you’ll probably have to do the the comparison process manually.

This hopefully also answers your second question.

  1. Build the message format binary files: This takes the .po file and compiles it to the machine readable format. You already used the command for it: msgfmt -o nl.mo nl.po

  2. Build a debian package: This sounds more complicated than it really is, since you only have static files that need to be copied to a defined position in the file system. I try to come back to you later on this topic after you went through 1) and 2). The package simplyfies the distribution of your translation to your UCS systems using the UCS package management.

  3. How did I the checking? Well, I created an empty directory and initialized a git repository. In that repository I copied the files of a SVN checkout of UCS 3.0 (including the directory structure in relation to the SVN root) you mentioned for your translation of UCS 3.0 and committed them (‘git add * && git commit’). Afterwards I did a SVN checkout of UCS 3.1-1 and copied the same files to the git repository and committed again (‘git commit -a’). The ‘git log --stat’ command told which files changed. Maybe this one could be done easier with SVN, but I don’t know it very good in comparison to git. Hopefully, this explains it a little bit.

Jos, I hope this helps you to advance towards finishing the translation.

Best regards,
Nico Gulden

Hello Nico,

Thank you for the reply, i found a nice graphical programme called meld to find the difference between de .po files.
As you can see in the attachment it shows clearly the changed strings and msgstr text.
That will speed up the comparison and i can use it to update my translated 3.0 nl.po’s to the 3.1 status.
I have all nl.po files in .mo format already so no problems there, I thought you were referring to something else.
Building the Deb package will have to be done on another system since i am not using a Debian machine right now.

Regards,

Jos.

Hello Jos,

just a short response. Yes, meld seems to be an easier alternative than the process I described above. Basically, the tools for the comparison don’t matter, as long as the result fits.

You can build the Deb package on a UCS system as well. Your test machine is sufficient for this task.

Best regards,
Nico Gulden

Dear Jos,

regarding the merging of .po files, you can use msmerge:

msgmerge ucs30.po ucs31.po > merged.po

Here is the man page:

best regards
Alex

Hello Nico,

I am glad to let you know UCS3.1 is completely done, all the .po files i could find are translated and all .mo files are done also.
Beneath my writing the status overview for 3.1, i count 88 .mo files.
There are 2 or 3 .po files (thus no de.po files) i translated also, and there are six or so .po files within ucs3.1 with no message strings so i didn’t do anything with those. Throughout the directory tree there are .html files pointing to .de or .en pages. I did not add .nl html files. Within the text there are also url’s that point to the documentation, i have left those as is because there is no Dutch documentation (yet :slight_smile: )

Regards,

Jos

svn status ? .directory ? services/univention-printserver/umc/nl.mo A + services/univention-printserver/umc/nl.po ? services/univention-printserver/umc/js/nl.mo A + services/univention-printserver/umc/js/nl.po ? services/univention-printserver/modules/univention/management/console/handlers/cups/nl.mo A + services/univention-printserver/modules/univention/management/console/handlers/cups/nl.po ? services/univention-pkgdb/umc/nl.mo ? services/univention-pkgdb/umc/python/pkgdb/nl.mo A + services/univention-pkgdb/umc/python/pkgdb/nl.po A + services/univention-pkgdb/umc/nl.po ? services/univention-pkgdb/umc/js/nl.mo A + services/univention-pkgdb/umc/js/nl.po ? services/univention-samba4/nl.mo A + services/univention-samba4/nl.po ? services/univention-ad-connector/umc/python/adconnector/nl.mo A + services/univention-ad-connector/umc/python/adconnector/nl.po ? services/univention-ad-connector/umc/js/nl.mo A + services/univention-ad-connector/umc/js/nl.po ? services/univention-s4-connector/modules/univention/admin/handlers/container/msgpo/nl.mo A + services/univention-s4-connector/modules/univention/admin/handlers/container/msgpo/nl.po ? packaging/ucslint/testframework/0008-override/src/nl.mo ? packaging/ucslint/testframework/0008-override/src/build/nl.mo A + packaging/ucslint/testframework/0008-override/src/build/nl.po A + packaging/ucslint/testframework/0008-override/src/nl.po ? packaging/ucslint/testframework/0008-1-3/src/nl.mo A + packaging/ucslint/testframework/0008-1-3/src/nl.po ? packaging/ucslint/testframework/0008-4/src/nl.mo A + packaging/ucslint/testframework/0008-4/src/nl.po ? packaging/ucslint/testframework/0008-5-6/src/nl.mo A + packaging/ucslint/testframework/0008-5-6/src/nl.po ? packaging/univention-directory-manager-module-example/modules/univention/admin/handlers/test/nl.mo A + packaging/univention-directory-manager-module-example/modules/univention/admin/handlers/test/nl.po ? virtualization/univention-virtual-machine-manager-schema/modules/univention/admin/handlers/uvmm/nl.mo A + virtualization/univention-virtual-machine-manager-schema/modules/univention/admin/handlers/uvmm/nl.po ? virtualization/univention-virtual-machine-manager-daemon/umc/nl.mo ? virtualization/univention-virtual-machine-manager-daemon/umc/python/uvmm/nl.mo A + virtualization/univention-virtual-machine-manager-daemon/umc/python/uvmm/nl.po A + virtualization/univention-virtual-machine-manager-daemon/umc/nl.po ? virtualization/univention-virtual-machine-manager-daemon/umc/js/nl.mo A + virtualization/univention-virtual-machine-manager-daemon/umc/js/nl.po ? virtualization/univention-virtual-machine-manager-daemon/src/nl.mo A + virtualization/univention-virtual-machine-manager-daemon/src/nl.po ? base/univention-installer/installer/locale/de/LC_MESSAGES/installer.nl.mo A + base/univention-installer/installer/locale/de/LC_MESSAGES/installer.nl.po ? base/univention-updater/umc/nl.mo ? base/univention-updater/umc/python/updater/nl.mo A + base/univention-updater/umc/python/updater/nl.po A + base/univention-updater/umc/nl.po ? base/univention-updater/umc/js/nl.mo A + base/univention-updater/umc/js/nl.po ? base/univention-firewall/umc/nl.mo A + base/univention-firewall/umc/nl.po ? base/univention-system-setup/umc/nl.mo ? base/univention-system-setup/umc/python/setup/nl.mo A + base/univention-system-setup/umc/python/setup/nl.po A + base/univention-system-setup/umc/nl.po ? base/univention-system-setup/umc/js/nl.mo A + base/univention-system-setup/umc/js/nl.po ? base/univention-system-setup/usr/share/locale/de/LC_MESSAGES/univention-system-setup-scripts.nl.mo A + base/univention-system-setup/usr/share/locale/de/LC_MESSAGES/univention-system-setup-scripts.nl.po ? base/univention-quota/umc/nl.mo ? base/univention-quota/umc/python/quota/nl.mo A + base/univention-quota/umc/python/quota/nl.po A + base/univention-quota/umc/nl.po ? base/univention-quota/umc/js/nl.mo A + base/univention-quota/umc/js/nl.po ? base/univention-lib/python/nl.mo A + base/univention-lib/python/nl.po ? management/univention-management-console-module-vnc/umc/nl.mo ? management/univention-management-console-module-vnc/umc/python/vnc/nl.mo A + management/univention-management-console-module-vnc/umc/python/vnc/nl.po A + management/univention-management-console-module-vnc/umc/nl.po ? management/univention-management-console-module-vnc/umc/js/nl.mo A + management/univention-management-console-module-vnc/umc/js/nl.po ? management/univention-management-console-module-ucr/umc/nl.mo ? management/univention-management-console-module-ucr/umc/python/ucr/nl.mo A + management/univention-management-console-module-ucr/umc/python/ucr/nl.po A + management/univention-management-console-module-ucr/umc/nl.po ? management/univention-management-console-module-ucr/umc/js/nl.mo A + management/univention-management-console-module-ucr/umc/js/nl.po ? management/univention-management-console-module-reboot/umc/nl.mo ? management/univention-management-console-module-reboot/umc/module/reboot/nl.mo A + management/univention-management-console-module-reboot/umc/module/reboot/nl.po A + management/univention-management-console-module-reboot/umc/nl.po ? management/univention-management-console-module-reboot/umc/js/nl.mo A + management/univention-management-console-module-reboot/umc/js/nl.po ? management/univention-management-console-frontend/umc/nl.mo A + management/univention-management-console-frontend/umc/nl.po ? management/univention-management-console-module-top/umc/nl.mo ? management/univention-management-console-module-top/umc/python/top/nl.mo A + management/univention-management-console-module-top/umc/python/top/nl.po A + management/univention-management-console-module-top/umc/nl.po ? management/univention-management-console-module-top/umc/js/nl.mo A + management/univention-management-console-module-top/umc/js/nl.po ? management/univention-join/umc/nl.mo ? management/univention-join/umc/python/join/nl.mo A + management/univention-join/umc/python/join/nl.po A + management/univention-join/umc/nl.po ? management/univention-join/umc/js/nl.mo A + management/univention-join/umc/js/nl.po ? management/univention-directory-reports/modules/univention/directory/reports/nl.mo A + management/univention-directory-reports/modules/univention/directory/reports/nl.po ? management/univention-management-console-module-lib/umc/nl.mo A + management/univention-management-console-module-lib/umc/nl.po ? management/univention-management-console-module-lib/umc/js/nl.mo A + management/univention-management-console-module-lib/umc/js/nl.po ? management/univention-management-console-module-mrtg/umc/nl.mo A + management/univention-management-console-module-mrtg/umc/nl.po ? management/univention-management-console-module-mrtg/umc/js/nl.mo A + management/univention-management-console-module-mrtg/umc/js/nl.po ? management/univention-management-console/src/univention/management/console/nl.mo A + management/univention-management-console/src/univention/management/console/nl.po ? management/univention-management-console/data/nl.mo A + management/univention-management-console/data/nl.po ? management/univention-system-info/umc/nl.mo ? management/univention-system-info/umc/python/sysinfo/nl.mo A + management/univention-system-info/umc/python/sysinfo/nl.po A + management/univention-system-info/umc/nl.po ? management/univention-system-info/umc/js/nl.mo A + management/univention-system-info/umc/js/nl.po ? management/univention-management-console-module-appcenter/apps/nl.mo A + management/univention-management-console-module-appcenter/apps/python/apps/nl.po A + management/univention-management-console-module-appcenter/apps/nl.po ? management/univention-management-console-module-appcenter/apps/js/nl.mo A + management/univention-management-console-module-appcenter/apps/js/nl.po ? management/univention-management-console-module-appcenter/umc/nl.mo ? management/univention-management-console-module-appcenter/umc/python/appcenter/nl.mo A + management/univention-management-console-module-appcenter/umc/python/appcenter/nl.po A + management/univention-management-console-module-appcenter/umc/nl.po ? management/univention-management-console-module-appcenter/umc/js/nl.mo A + management/univention-management-console-module-appcenter/umc/js/nl.po ? management/univention-management-console-module-services/umc/nl.mo ? management/univention-management-console-module-services/umc/python/services/nl.mo A + management/univention-management-console-module-services/umc/python/services/nl.po A + management/univention-management-console-module-services/umc/nl.po ? management/univention-management-console-module-services/umc/js/nl.mo A + management/univention-management-console-module-services/umc/js/nl.po ? management/univention-directory-manager-modules/modules/univention/admin/nl.mo A + management/univention-directory-manager-modules/modules/univention/admin/nl.po ? management/univention-directory-manager-modules/modules/univention/admin/handlers/nl.mo ? management/univention-directory-manager-modules/modules/univention/admin/handlers/groups/nl.mo A + management/univention-directory-manager-modules/modules/univention/admin/handlers/groups/nl.po ? management/univention-directory-manager-modules/modules/univention/admin/handlers/nagios/nl.mo A + management/univention-directory-manager-modules/modules/univention/admin/handlers/nagios/nl.po ? management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/nl.mo A + management/univention-directory-manager-modules/modules/univention/admin/handlers/computers/nl.po ? management/univention-directory-manager-modules/modules/univention/admin/handlers/mail/nl.mo A + management/univention-directory-manager-modules/modules/univention/admin/handlers/mail/nl.po ? management/univention-directory-manager-modules/modules/univention/admin/handlers/container/nl.mo A + management/univention-directory-manager-modules/modules/univention/admin/handlers/container/nl.po ? management/univention-directory-manager-modules/modules/univention/admin/handlers/dns/nl.mo A + management/univention-directory-manager-modules/modules/univention/admin/handlers/dns/nl.po ? management/univention-directory-manager-modules/modules/univention/admin/handlers/shares/nl.mo A + management/univention-directory-manager-modules/modules/univention/admin/handlers/shares/nl.po A + management/univention-directory-manager-modules/modules/univention/admin/handlers/nl.po ? management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/nl.mo A + management/univention-directory-manager-modules/modules/univention/admin/handlers/settings/nl.po ? management/univention-directory-manager-modules/modules/univention/admin/handlers/users/nl.mo A + management/univention-directory-manager-modules/modules/univention/admin/handlers/users/nl.po ? management/univention-directory-manager-modules/modules/univention/admin/handlers/legacy/computers/nl.mo A + management/univention-directory-manager-modules/modules/univention/admin/handlers/legacy/computers/nl.po ? management/univention-directory-manager-modules/modules/univention/admin/handlers/legacy/policies/nl.mo A + management/univention-directory-manager-modules/modules/univention/admin/handlers/legacy/policies/nl.po ? management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/nl.mo A + management/univention-directory-manager-modules/modules/univention/admin/handlers/policies/nl.po ? management/univention-directory-manager-modules/modules/univention/admin/handlers/kerberos/nl.mo A + management/univention-directory-manager-modules/modules/univention/admin/handlers/kerberos/nl.po ? management/univention-directory-manager-modules/modules/univention/admin/handlers/networks/nl.mo A + management/univention-directory-manager-modules/modules/univention/admin/handlers/networks/nl.po ? management/univention-directory-manager-modules/modules/univention/admin/handlers/dhcp/nl.mo A + management/univention-directory-manager-modules/modules/univention/admin/handlers/dhcp/nl.po ? management/univention-management-console-module-udm/umc/nl.mo ? management/univention-management-console-module-udm/umc/python/udm/nl.mo A + management/univention-management-console-module-udm/umc/python/udm/nl.po A + management/univention-management-console-module-udm/umc/nl.po ? management/univention-management-console-module-udm/umc/js/nl.mo A + management/univention-management-console-module-udm/umc/js/nl.po

Hi,

i have an update for this topic: We have prepared a package which is intended to support users to create and update translations of Univention Corporate Server. More information can be found in our developer guide:
Translating UCS 3.1 http://docs.univention.de/developer-reference-3.1.html#chap:translation
Translating UCS 3.2 http://docs.univention.de/developer-reference-3.2.html#chap:translation

Best regards,
Erik

Is there any topic in this Forum that has more then 10000 views?
I think that because of these views it is clear that there is a need for translations, but since nearly four years Univention does not make this a priority?
Is there anyone that has used the proposed awkward method in the post above for translating UCS in another language than the current ones?

Dear Jos,

thank you very much for asking. Yes, there are people who are using the tools:


We are also preparing a French translation.

In fact, we have just updated the translation tools with Errata 225, so that they should be much easier to use. Some little bugs have also been fixed. The built package just works out of the box when being installed. The adjustments for the manual should be published some time soon.

If you still find the method “awkward” to use, we are more than happy to receive your suggestions for improvements.

See also these tweets w.r.t. auto-translations for UCS :wink: .

best regards
Alexander Kläser

Hello Alexander,

I didn’t see those tweets before, these are translations from local installs using the translation tool?
However, as far as I see it you still count on individual users providing a translation for their native language on their own local machine.
Please correct me if i am wrong as i might oversee some things.
The burden on translating stuff is on a too small base, why not use a service like Transifex or so, in that way many users who would be willing to contribute can do their work. More eyes can look through the text and notice or correct stuff that is not right.
Nico told me once my translations received opposing statements from the other Dutch partners, hey i am not perfect :slight_smile:
By using the collective wisdom from more than one or two persons, the quality of translations will get much better.

Dear Jos,

yes, you are correct, it would be certainly a benefit to use tools such as Transifex, Pootle or something similar in order to allow the participation of other persons.

BTW, these tweets refer to auto-translatations that were done using publicly available translations services. The translation packages were generated with our tools, the auto-translation of the PO files was done with a little script and public translation services.

Thanks for the hint!

best regards
Alexander Kläser

Mastodon