[i18n] Danish translation!

Erling Preben Hansen erling at eph.dk
Fri Feb 14 21:05:59 UTC 2014


  Citat af Jan Schneider <jan at horde.org>:

> Zitat von Erling Preben Hansen <erling at eph.dk>:
>
>> Hello
>>
>> We have now thoroughly tested and adjusted our danish translation.
>> After one month online and some suggestions / corrections from my users.
>>
>> This covers Horde groupware 5.1.3 and additional modules.
>> Since the danish translation haven't been updated since 2006 in some
>> modules.
>> And you guys do some serious work on this.
>> I think it is about time to update those old modules too.
>> Don't you....
>>
>> Module versions covered are:
>> Ansel 3.0.1
>> Gollem 3.0.1
>> Horde 5.1.5
>> Imp 6.1.6
>> Ingo 3.1.3
>> Kronolith 4.1.4
>> Mnemo 4.1.2
>> Nag 4.1.3
>> Passwd 5.0.3
>> Timeobjects 2.0.4
>> Trean 1.0.3
>> Turba 4.1.3
>
> Committed, thanks.
>> In these files there are only two lines that are fuzzy..
>> These two lines can't be done right because nag/lib/Nag.php isn't set
>> up to
>> use the form
>> singular / plural for "minute and minutes" as kronolith and other
>> modules.
>> Because of this the two lines will always come up as "fuzzy".
>
> I didn't understand this.
>
>> You can get the files including an install.txt here.
>> http://eph.dk/horde-addons/horde5-da-translation-eph.zip
>>
>> Greetings
>> Erling Preben Hansen
>> erling at eph.dk
>
> --
> Jan Schneider
> The Horde Project
> http://www.horde.org/
> https://www.facebook.com/hordeproject
>
> --
> i18n mailing list
> Frequently Asked Questions: http://wiki.horde.org/FAQTo unsubscribe,
> mail: i18n-unsubscribe at lists.horde.org

Well I am not a programmer but I will try to explain what I think is the
problem...

In Nag.php this is considered a gettext string. "_("%d hour"), While the
rest isn't.
(_("%d hour"), $hours)

In Event.php line 3136 it is declared as a gettext string.
ngettext("%d hour", "%d hours", $alarm_value),

as in wicked/lib/Page/StandardPage.php line 473
ngettext("%d minute", "%d minutes", $time)

It's the same with the minute definitions.

Because "%d hour" in Nag.php is considered a similar text string as "%d
hour" in Event.php
But there is no plural definition extracted from Nag.php while there is
from Event.php.
They will always turn out as Fuzzy.

Or am i wrong?

snippet from compendium:

#, different definition in lib/Nag.php
#: lib/Nag.php:111 lib/Event.php:2136
#, fuzzy, php-format
msgid "%d hour"
msgstr ""
"#-#-#-#-#  nag.po (Nag H5 (4.1.3))  #-#-#-#-#\n"
"%d time\n"
"#-#-#-#-#  kronolith.po (Kronolith H5 (4.1.4))  #-#-#-#-#\n"
"%d time"

#, different definition in lib/Nag.php
#: lib/Nag.php:121 lib/Event.php:2139 lib/Page/StandardPage.php:473
#, fuzzy, php-format
msgid "%d minute"
msgstr ""
"#-#-#-#-#  nag.po (Nag H5 (4.1.3))  #-#-#-#-#\n"
"%d minut\n"
"#-#-#-#-#  kronolith.po (Kronolith H5 (4.1.4))  #-#-#-#-#\n"
"%d minut\n"
"#-#-#-#-#  wicked.po (Wicked H5 (2.0.1))  #-#-#-#-#\n"
"%d minut"

------snippet from nag/lib/Nag.php

      if ($hours > 1) {
            if ($minutes == 0) {
                return sprintf(_("%d hours"), $hours);
            } elseif ($minutes == 1) {
                return sprintf(_("%d hours, %d minute"),
$hours, $minutes);
            } else {
                return sprintf(_("%d hours, %d minutes"),
$hours, $minutes);
            }
        } elseif ($hours == 1) {
            if ($minutes == 0) {
                return sprintf(_("%d hour"), $hours);  /*
line 111 in lib/Nag.php */
            } elseif ($minutes == 1) {
                return sprintf(_("%d hour, %d minute"),
$hours, $minutes);
            } else {
                return sprintf(_("%d hour, %d minutes"),
$hours, $minutes);
            }
        } else {
            if ($minutes == 0) {
                return _("no time");
            } elseif ($minutes == 1) {
                return sprintf(_("%d minute"), $minutes);
            } else {
                return sprintf(_("%d minutes"), $minutes);
            }
        }

-------Snippet from nag/lib/Nag.php

       } else {
            if ($minutes == 0) {
                return _("no time");
            } elseif ($minutes == 1) {
                return sprintf(_("%d minute"), $minutes); 
/* line 121 in lib/Nag.php */
            } else {
                return sprintf(_("%d minutes"), $minutes);
            }
        }

-------snippet from kronolith/lib/Event.php

        if ($this->alarm) {
            if ($this->alarm % 10080 == 0) {
                $alarm_value = $this->alarm / 10080;
                $json->a = sprintf(ngettext("%d week", "%d
weeks", $alarm_value), $alarm_value);
            } elseif ($this->alarm % 1440 == 0) {
                $alarm_value = $this->alarm / 1440;
                $json->a = sprintf(ngettext("%d day", "%d
days", $alarm_value), $alarm_value);
            } elseif ($this->alarm % 60 == 0) {
                $alarm_value = $this->alarm / 60;
/* under this is: line 2136 in kronolith/lib/Event.php */
                $json->a = sprintf(ngettext("%d hour", "%d
hours", $alarm_value), $alarm_value);
            } else {
                $alarm_value = $this->alarm;
/* under this is: line 2139 in kronolith/lib/Event.php */
                $json->a = sprintf(ngettext("%d minute", "%d
minutes", $alarm_value), $alarm_value);
            }
        }
-------------


More information about the i18n mailing list