After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 553770 - e_time_get_d_fmt_with_4digit_year: Correct %y replacement
e_time_get_d_fmt_with_4digit_year: Correct %y replacement
Status: RESOLVED FIXED
Product: evolution-data-server
Classification: Platform
Component: Calendar
3.10.x (obsolete)
Other All
: Normal major
: ---
Assigned To: evolution-calendar-maintainers
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2008-09-25 11:55 UTC by Hedayat Vatankhah
Modified: 2017-08-28 10:50 UTC
See Also:
GNOME target: ---
GNOME version: 3.1/3.2


Attachments
an screen shot of the problem (139.67 KB, application/x-bzip2)
2008-09-26 14:18 UTC, Hedayat Vatankhah
Details
Screenshot (41.41 KB, image/png)
2012-01-26 21:31 UTC, André Klapper
Details

Description Hedayat Vatankhah 2008-09-25 11:55:06 UTC
Incorrect translation
Application: Evolution

Incorrect text:
When you want to add an event in Persian locale, in the Time field (مدت), the year is presented as %OY instead of the year in Persian, and it prevents you from adding the event since it says: Invalid Date

Should be:
First, you should see the current year correctly presented in Persian digits, and you should be able to add an event and it should not complain about Invalid Date.
Comment 1 Roozbeh Pournader 2008-09-26 00:17:37 UTC
Hedayat,

I don't understand the bug exactly. Would you please give me these:

* Evolution version
* An exact procedure to reproduce the bug (something like: 1. Open Evoltion. 2. Choose "Calendars" from the bottom of left-side panel. 3. Click on "New" on the top-left corner. ...)
* A screenshot perhaps?

I am not sure if this is an i18n bug (that would need a quick work-around in L10n) or an actual L10n bug.
Comment 2 Hedayat Vatankhah 2008-09-26 14:18:18 UTC
Created attachment 119429 [details]
an screen shot of the problem
Comment 3 Hedayat Vatankhah 2008-09-26 14:18:53 UTC
OK, sorry:
-> evolution version: 2.22.3.1
-> 1. Do exactly what you said (steps 1,2,3).
 2. Fill in the summary and Location fields with whatever you like. 
3. Select a time in future
4. Press "Save" 
5. You'll see an error message! 
(6. After closing the error message and pressing "save" again, I saw another error message! Previously I just saw the English error message but the Persian error message which now appears in step 5 is new to me :) Anyway, I should not see the error message)

-> I've attached an screenshot taken after step 6
Comment 4 Roozbeh Pournader 2008-09-28 15:12:44 UTC
Thanks a lot. I confirm the bug. Interestingly, I cannot find any message saying "%OY" in evolution translations. Investigating...
Comment 5 Roozbeh Pournader 2008-09-28 15:38:52 UTC
OK, this is a bug in evolution-data-server. The source file is "libedataserver/e-time-utils.c", the function "e_time_get_d_fmt_with_4digit_year":

Here, the C library (glibc here) is asked for a date string. For Persian, "%Oy/%Om/%Od" will be returned (valid). Then the function goes on and replaces "y" with "Y", resulting in "%OY/%Om/%Od", which is invalid, since "%OY" is not defined in Single Unix Specification and not supported in glibc.
Comment 6 Hedayat Vatankhah 2009-01-12 12:18:06 UTC
close to 4 months and still no activity, I wonder how hard is changing that replacement!! This bug makes evolution unusable in fa locale. :(
Comment 7 Roozbeh Pournader 2009-01-12 20:37:50 UTC
There are bugs waiting in GNOME bugzilla with no activity for years.

But since you are a programmer yourself, why don't you consider writing a patch? (Count on my help, if you needed it.)
Comment 8 Hedayat Vatankhah 2009-01-12 21:49:02 UTC
Wow! Even such small and really problematic bugs?! :( 

!! In fact, I've never thought about it :) Downloading a large code and its dependencies just for a small patch is a little weird!! 
OK! I'll add it to my TODO. But unfortunately I think that I won't have such free time at least for some weeks... :( 
Comment 9 Arash Mousavi 2012-01-19 12:12:04 UTC
The problem of alternative digits that originally causes this problem is fixed on glib (https://bugzilla.gnome.org/show_bug.cgi?id=658107). But seems that evolution is using something else.
I thought maybe the solution of glib developers give an idea to evolution developers to fix this issue.
This bug is most annoying bug for non-english users with local numbers.
thanks
Comment 10 André Klapper 2012-01-26 21:31:13 UTC
Created attachment 206225 [details]
Screenshot

Running Evolution 3.2 with LANG=fa_IR.utf8 and adding a new appointment this is still a problem.
Comment 11 Arash Mousavi 2013-10-12 18:29:14 UTC
Running Evolution 3.10 With Persian locale and the problem still persist.
Comment 12 Milan Crha 2017-08-28 10:50:53 UTC
Let's make the e_time_get_d_fmt_with_4digit_year() replace only "%y" sequences, and keep "%<anything>y" sequences untouched. That will make the function return non-4-digit date format for locales with such predefined formats, but I think it's better than breaking UI.

Created commit 3a86b30 in eds master (3.25.92+)