Bug 289569

Summary: BIRTHDAYS: Display the name of the person who has birthday first
Product: [Translations] i18n Reporter: Thomas Thym <ungethym>
Component: deAssignee: German-Translators <kde-i18n-de>
Status: RESOLVED INTENTIONAL    
Severity: wishlist CC: aspotashev, cfeck, dev+kde, kde-i18n-de, kdepim-bugs, pancho.s, qqqqqqqqq9, schwarzer, winter
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Thomas Thym 2011-12-22 09:07:33 UTC
Version:           4.7 (using KDE 4.7.3) 
OS:                Linux

In the German version of Kontact/KOrganizer the text of the automatically generated birthdays (generated from the address-book) is "Geburtstag von ...". In the month view there is not enough space to display the whole title. The result is that in every birthday I can only read "Geburtstag" and not the person who has her/his birthday. I can see that it is a birthday due to the cake-symbol and the colour of the item (calendar colour). (I think the english version is "xxx's birthday" where "birthday" is cut away when the text is too long.)

Reproducible: Always

Steps to Reproduce:
Add a birthday calendar.

Actual Results:  
The item is labeled "Geburtstag von "Name"" and only "Geburtstag" is displayed in month view.

Expected Results:  
To change the order (even if it is not perfect German) to: ""name"s Geburtstag"
Comment 1 Bernd Oliver Sünderhauf 2011-12-23 23:32:54 UTC
"<name>s Geburtstag" /is/ perfect German and even preferrable to "Geburtstag von <name>".
+1 to change the translation string.
Comment 2 Allen Winter 2011-12-29 13:27:24 UTC
sounds like something for the German translators

I will reassign then.
Comment 3 Christoph Feck 2012-01-04 10:04:01 UTC
If the name is "Markus", then "Markuss Geburtstag" is not proper german. Not sure if the transliteration system can handle such cases.
Comment 4 Rolf Eike Beer 2012-01-04 10:55:18 UTC
> If the name is "Markus", then "Markuss Geburtstag" is not proper german.
> Not sure if the transliteration system can handle such cases.

It can't. What about "%name hat Geburtstag"?
Comment 5 Frederik Schwarzer 2012-01-04 11:56:39 UTC
If there is not enough space for "Geburtstag von %name" then "%name hat Geburtstag" is also too long. So we only habe the choice of what is to be cut off.

So what do we want to do?
- "%name" (if it is clear that it is a birthday ...)
- "%name hat Geburtstag" (I prefer this one)

Regards
Comment 6 Frank Steinmetzger 2012-01-04 12:22:23 UTC
”If in doublt, leave it out“. How about
Geburtstag: %name
Comment 7 Frederik Schwarzer 2012-01-04 12:23:50 UTC
Still the name that is cut off then, in case it is too long.
Comment 8 Frederik Schwarzer 2012-01-04 12:39:23 UTC
I just looked at how other languages translate it.
Here's the result: 24 broken languages (where the name is cut off), 1 completely broken (for another reason) and 18 like the original (meaning that words other than the name will be cut off).

Albanian :		Ditëlindja e %1
Arabic :		عيد ميلاد %1
Bosnian :		%1 slavi rođendan
Brazilian Portuguese :	Aniversário de %1
British English :	%1's birthday
Catalan :		Data de naixement d'en/na %1
Catalan (Valencian) :	Data de naixement d'en/na %1
Chinese Simplified :	%1 的生日
Chinese Traditional :	%1 的生日
Croatian :		Rođendan: %1
Czech :			Narozeniny '%1'
Danish :		%1s fødselsdag
Dutch :			Verjaardag van %1
Estonian :		%1: sünnipäev
Finnish :		Henkilön %1 syntymäpäivä
French :		Anniversaire de %1
Galician :		Cumpreanos de %1
German :		Geburtstag von %1
Greek :			Γενέθλια του/της %1
Hungarian :		%1 születésnapja
Interlingua :		anniversario de nativitate de %1
Irish Gaelic :		Lá Breithe %1
Italian :		Compleanno di %1
Japanese :		%1 の誕生日
Kazakh :		%1 тұған күні
Khmer :			ខួប​កំណើត​របស់ %1
Korean :		%1 생일
Latvian :		%1 dzimšanas diena
Lithuanian :		%1 švenčia gimtadienį 
Low Saxon :		%1 sien Geboortsdag
Norwegian Bokmål :	%1s fødselsdag
Norwegian Nynorsk :	Fødselsdagen til %1
Polish :		Urodziny %1
Portuguese :		Aniversário de %1
Punjabi :		%1 ਦਾ ਜਨਮਦਿਨ
Romanian :		Ziua de naștere a lui %1
Russian :		День рождения %1
Serbian :		Рођендан — %1
Slovenian :		%1 ima rojstni dan
Spanish :		Cumpleaños de %1
Swedish :		%1s födelsedag
Thai :			วันครบรอบวันเกิดของ %1
Turkish :		%1 kişisinin doğum günü
Ukrainian :		День народження %1
Comment 9 Bernd Oliver Sünderhauf 2012-01-05 10:56:41 UTC
#8 means this is a general problem that needs a generic solution and can't be solved on an individual i18n basis. Even in English it needs to be "Markus' Birthday", not "Markus's Birthday".
Therefore the ticket should IMHO be reassigned to the component in order to find a generic solution, which could mean either of:

1) extending the translation system to allow for per-locale-callbacks instead of just translating strings with placeholders, so it would be possible to translate to "Marias Geburtstag" resp. "Markus' Geburtstag" (in German), or whatever the resp. language requires (I'm sure there are even more pitfalls in other languages).

2) using something generic like "Marcus has birthday"

3) using something like "Marcus: 31st birthday" if year is given, otherwise just "Markus: birthday" (in German: "Markus: 31. Geburtstag", otherwise "Markus: Geburtstag")

4) using something like "Markus: 31" if year is given, otherwise just "Markus"


I'd tend to the 3rd solution as a quick fix /plus/ the 1st one in the longer run.

Additionally a simpler and somewhat more intuitive icon might help identifying that this is a birthday event. The current icon actually looks more like a red&white car battery.
Comment 10 Thomas Thym 2012-01-06 14:16:03 UTC
As there is a birthday cake symbol before the text IMHO "Markus (31)" or just "Markus" (when no year is available) would be fine.

Thanks for having a look into that.
Comment 11 Bernd Oliver Sünderhauf 2012-01-06 20:16:42 UTC
"Markus (31)" is just right for Month View, so I'd really support Thomas' proposal as a quick fix.
But for Week and Day View and the Event Viewer, a more detailed wording would be nicer. Would be awesome to have a short and a long title - just like date formats.
Another flaw: this car battery icon actually is a birthday cake???
Wow, that makes sense, but I would have never found out...
Comment 12 Frederik Schwarzer 2012-01-20 22:30:45 UTC
So dear KDEPIM devs :) Can this be changed to "%1 (%2)" where %2 is the age? If so, please use translation hints to tell what %1 and %2 mean.
Comment 13 Allen Winter 2012-01-25 22:24:11 UTC
I looked at this.  It gets complicated because there are so many different ways to view an event.. not just in KOrganizer, but elsewhere.

In my opinion, the string is fine as is except in month view.

The real problem is that there isn't much space in a month view item.
I have ideas on how to fix that, but just changing this one string isn't the solution.

So for now, I'm marking this as a WONTFIX.
Comment 14 Bernd Oliver Sünderhauf 2012-01-26 08:21:08 UTC
I object to closing this issue without a new one being opened making a better proposal. The problem remains and the current proposal is IMHO definitely better than the status quo.
Comment 15 Thomas Thym 2012-02-10 11:09:17 UTC
"WONTFIX"? :-( How sad. Sure there are more important things to do.
As a workaround: Can I change the string on my local system (without recompiling)? Can someone guide me to the file or to a good tutorial, please. I don't need the age. I just want to delete "Geburtstag von ".
Comment 16 Burkhard Lück 2012-02-10 11:25:02 UTC
1) msgunfmt /path/to/de/LC_MESSAGES/akonadi_birthdays_resource.mo > /tmp/akonadi_birthdays_resource.po

2) edit /tmp/akonadi_birthdays_resource.po

3) sudo msgfmt /tmp/akonadi_birthdays_resource.po -o  /path/to/de/LC_MESSAGES/akonadi_birthdays_resource.mo
Comment 17 Frederik Schwarzer 2012-02-10 18:34:37 UTC
@Thomas: I also changed it in the German translation, so future versions should show only the name. Not sure if that's the best thing to do since there are "so many different ways to view an event", but until we see problems with it, it's the best way to handle this from our side.
Comment 18 Frederik Schwarzer 2012-02-10 22:06:02 UTC
I just want to point out that there is also
   "%1's & %2's anniversary"
and 
   "%1's anniversary"
with the same problem. So for the German transation we now did this:

"%1 (Geburtstag)"
"%1 und %2 (Jahrestag)"
"%1 (Jahrestag)"
Comment 19 Thomas Thym 2012-02-12 10:12:24 UTC
@Frederik: Thank you for the changes. 
@Burkhard: Thank you for the instructions. The file /usr/share/locale/de/LC_MESSAGES/akonadi_birthdays_resource.mo is edited, however, I still have the old text in the calendar. Logout-login does not do the trick. Have I forgotten something? Or have I used the wrong file?
Comment 20 Thomas Thym 2012-02-12 10:16:06 UTC
@Burkhard: Sorry! I works perfectly! It just took some time (a couple of minutes) until the changes were viewed corretly (I suppost akonadi had to do the work first)
Comment 21 Burkhard Lück 2012-02-16 05:50:15 UTC
*** Bug 294182 has been marked as a duplicate of this bug. ***