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"
"<name>s Geburtstag" /is/ perfect German and even preferrable to "Geburtstag von <name>". +1 to change the translation string.
sounds like something for the German translators I will reassign then.
If the name is "Markus", then "Markuss Geburtstag" is not proper german. Not sure if the transliteration system can handle such cases.
> 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"?
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
”If in doublt, leave it out“. How about Geburtstag: %name
Still the name that is cut off then, in case it is too long.
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
#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.
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.
"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...
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.
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.
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.
"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 ".
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
@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.
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)"
@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?
@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)
*** Bug 294182 has been marked as a duplicate of this bug. ***