Bug 158786 - AM & PM are supposed to be upper case
Summary: AM & PM are supposed to be upper case
Alias: None
Product: plasma4
Classification: Plasma
Component: widget-clock (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR normal with 10 votes (vote)
Target Milestone: ---
Assignee: Plasma Bugs List
Depends on:
Reported: 2008-03-05 08:10 UTC by James Richard Tyrer
Modified: 2008-09-29 07:15 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:

Fix for the digital clock ONLY (722 bytes, patch)
2008-03-17 00:36 UTC, James Richard Tyrer

Note You need to log in before you can comment on or make changes to this bug.
Description James Richard Tyrer 2008-03-05 08:10:48 UTC
Version:            (using KDE 4.0.0)
Installed from:    Compiled From Sources
Compiler:          GCC-4.2.2 
OS:                Linux

When using the US locale the AM/PM indicator shows: "am" or "pm" which is incorrect.  AM & PM should always be upper case: "AM" & "PM".
Comment 1 Dan Meltzer 2008-03-05 20:36:15 UTC
If this is a bug, it's a bug in kdelibs.  We just pass klocale a QTime object.

The following code from klocale.cpp does the dirty.

                if ( pTime.hour() >= 12 )
                  put_it_in( buffer, index, i18n("pm") );
                  put_it_in( buffer, index, i18n("am") );
Comment 2 Dan Meltzer 2008-03-06 00:20:07 UTC

I've done some research into the matter today.

Grammatically, the true proper phrasing is "a.m." and "p.m." however all varieties have reached common enough usage that it is not a big deal to state it in various other ways.  I feel "am" and "pm" are clear enough that it does not warrant a string change, the current strings are acceptable, if not perfect.
Comment 3 James Richard Tyrer 2008-03-06 05:39:23 UTC
I have also looked into this and find that using the punctuation is preferred when used as an abbreviation that does *not* follow a time.  When following a time, the punctuation is not necessary and is not commonly used.  According to M-W dictionary, AM/PM and am/pm are both acceptable but uppercase is the preferred form.

I also think that it is important to consider that most (physical objects) digital clocks use upper case.

If this is to be changed, it can be changed ONLY for the plasma digital clock -- which would not be a string change, or it can be changed in "klocale.cpp" which would be a string change.
Comment 4 James Richard Tyrer 2008-03-17 00:35:37 UTC
If you screw up a bug, please at least leave your name and a comment!
Comment 5 James Richard Tyrer 2008-03-17 00:36:10 UTC
Created attachment 23930 [details]
Fix for the digital clock ONLY

This the patch for the original bug which is a bug in:

plasma: widget-clock


I really do not understand the logic of comment #1.  It seems quite possible to
me that if you are inserting the time in a document that you might want lower
case.  I do not see this as a KDELibs issue.  It should be addressed as a clock
issue rather than trying to find an excuse.

The bug should NOT have been reassigned without some discussion.  It appears
that Pino Toscano reassigned the bug without any comment.  It could easily be
taken as "it's not my job!".  So, now he has screwed the bug and I can not
reverse the problem.

Are there any comments on this patch or should I commit it?
Comment 6 Dan Meltzer 2008-03-17 00:41:34 UTC
This is not a bug.

Both are equally valid, and committing just because "I think it looks better this way" sounds a lot like bikeshedding to me.
Comment 7 Pino Toscano 2008-03-17 00:42:57 UTC
> If you screw up a bug, please at least leave your name and a comment!

I did *NOT* screw up anything, I just completed the product change done previously. Changing a product without reassinging to its owner is moot.

Please *read* the bug activity, before shouting for nothing. Thanks.
Comment 8 Louai Al-Khanji 2008-03-17 01:28:40 UTC
I disagree with proposed patch.

First, it assumes that all languages world-wide require upper case indicators.

Second, many (most?) languages don't even have a concept of upper and lower-case letters.

Third, it is completely arbitrary which form to use even in the English language, and boils down to personal taste. I have only ever seen the indications in lower-case myself.

Fourth, hiding the problem in the plasma clock is no good.

I propose that the correct fix is to make this configurable in the system settings.
Comment 9 James Richard Tyrer 2008-03-17 05:36:12 UTC
Why to do I bother?

Re: Comment #6

If not a bug, then what is it?  Are there locales other than US and parts of the former British Empire that use a 12 hour digital clock with AM/PM?  Perhaps if that is the case, we should look into them as well.

However, in the case of the US locale.  As I said previously, this is only about where AM/PM follows the digits in time, not when uses as a general abbreviation where a.m./p.m. might be more appropriate.  And, most specifically, before this bug was screwed up, it was ONLY about what is appropriate for a clock not about changing KDELibs.  I consulted Merriam-Webster and you are correct that either AM/PM or am/pm is correct when following the digits of a time.  However, IIUC, M-W indicated that AM/PM was the preferred form when following digits.  

I'm not sure if a style manual is the appropriate resource here.  This is about a GUI and changing the appearance of things in a GUI so that they are more usable and/or look better is most certainly not bikeshedding.  This is about a digital clock and I have never seen a digital clock that had am/pm on it while I have seen many that have AM/PM on them.  

I will be happy to consider other evidence.  That would be either a style manual or dictionary or an image of a digital clock.

Re: Comment #7

You most certainly did screw up the bug which I filed.  I filed a bug report about Plasma: (digital) widget-clock and you modified it so it is now filled against KDELibs: KLocale.  I do not see anything wrong with KLocale in KDELibs and I did not file a bug report to that effect.  I filed a bug report about the Plasma Digital Clock and I ask that you please change it back to avoid further confusion as indicated in comment #8.

Re: Comment #8

Thank you for your usefull comments.

It was my understanding that the 12 hour digital clock with AM/PM was only in common use in English speaking countries that do not use the SI (metric) system of measurements.  However, if we need to look into this further, then we should do so.

My presumption was that all locales that used AM/PM would either be using the Latin letters since it is an abbreviation for Latin.  Others would use a 24 hour format for a digital clock.  If I am incorrect, please provide your data on this.  

Yes, I am aware that most languages do not use upper and lower case letters.  AFAIK, the only alphabets that do are Latin, Greek, & Cyrillic.  I also presumed that the Qt function: toUpper() would have no effect on a language that doesn't have upper and lower case characters. 

Personal taste: well that is why there are style manuals. :-)  It was not my original intention to change KDELibs but rather only to change the appearance of the Plasma Digital Clock so that it looked more like a real world digital clock (AFAIK, they all use upper case AM/PM).  But, you may have a point that it should be configurable.  We should consider if we would want upper or lower case for all applications or whether we want upper case on the clock but lower case if we insert the time into a document.  If different uses might require upper vs. lower case, then it is correct to "hide" use of upper case AM/PM for the Plasma Digital Clock in the code for the widget-clock.

IAC, if this is should be only for English or only for the Latin alphabet, I can certainly make it conditional on that.

Comment 10 Dan Meltzer 2008-03-17 22:33:08 UTC

I was the one who reassigned the bug to kdelibs, not Pino.

I'm going to re-assign it back to plasma, now that you've clarified what you want.

I still do not agree with the patch, but It's up to the maintainer to deal with, not the hydrogen.
Comment 11 Aaron J. Seigo 2008-06-16 06:25:06 UTC
Plasma will just use what ever we get from kdelibs. It is not up to Plasma (or any application) to deal with formatting of times or dates. That is the job of KLocale.

I don't know what the proper thing to do in each locale is for this. Now, I've just spent time going through numerous writing guides from the USA, mostly university ones for academic papers (dunno why google provided so many of those, maybe they are just the ones who put theirs online) and almost universally am/pm are said to be lower case. Periods are also most often recommended, though many of the style guides say they are fine with out them. A few we OK with capitalized versions, though not the preferred style in any I read.

So it seems that there is no definitive answer here for English, but that lower case is indeed the most common preferred style in writing guides, at least for academic papers from American Universities.

Periods might be a nice touch? But upper case is not in the pot.
Comment 12 James Richard Tyrer 2008-06-16 06:45:05 UTC
Re: Comment #11

You seem to have missed the point which is covered in previous comments.  This is not about what is best or appropriate to use when writing so a style manual is not appropriate.  IIUC, the period is not normally used when it follows the time digits.  Since either am/pm or AM/PM is acceptable, there are two questions:

1.  Which is common usage on a digital clock (i.e. an actual physical object)?

2.  Which will be most readable in small sizes?

Based on those considerations, upper case is the best choice for the digital clock widget.  This does not mean that it should be changed in KDELibs.  The change should be made in the digital clock widget.
Comment 13 Aaron J. Seigo 2008-06-16 07:04:09 UTC
1) we're not making a perfect analog to a physical object here. the train clock probably is, but not the digital clock.

2) is an interesting question, though. am vs pm is pretty evident even at smaller sizes thanks to the p's descender. i'm not sure if one should be setting it to a font size smaller than is comfortably readable, either.

that said, #2 is the only reason i'd support this. and if that is a real world issue, then we have this issue in spades in many places, e.g. the taskbar.
Comment 14 Daniel Herring 2008-09-29 00:39:15 UTC
Here's another vote for AM/PM.  While lowercase is fashionable in some quarters, I grew up with digital clocks showing AM/PM in small caps.  It's the minor things which polish a product.

That said, if AM/PM truly is coming from kdelibs, then this is a legitimate bug in kdelibs that needs to be fixed upstream of plasma.  The "Time & Dates" configuration shows "pH:MM:SS AMPM" *not* "pH:MM:SS ampm".  Since this is style issue (with legitimate user preferences), it should be selectable by the user at the source.
Comment 15 James Richard Tyrer 2008-09-29 07:15:32 UTC
Re: Comment #14

This sounds logical and may be the best solution.

However, it appears to me that although I always use upper case for AM/PM there may be people that might want am/pm when inserted in a document and still want AM/PM in the clock.  

So, I still think that the clock should convert to upper case as the best solution.  Although the configuration scheme described might also be a good idea.