I have created a digital clock for a software. Now we are localizing the software in French. I got the list of months and days in French. But I don't know how to show AM and PM in French. Is there only 24 hours format used in French? If no, what should be displayed as AM and PM?
There seem to be some confusion with some of the opinions expressed so let me clarify how hours are expressed in French.
In spoken French, we often use the 12h convention but with several differences compared to the English one.
We don't use the AM and PM acronyms. Despite being of Latin origin1, they are not understood by the few people not already familiar with their English usage and might confuse them. Due to the globalization, digital watches, clocks, smartphones and the likes have however made them generally understood by most of us, but they are often still perceived as an annoyance.
Usually, no indication is provided to tell whether the hour is AM or PM. It is assumed to be implicit in most cases: je suis parti travailler à huit heures et demie (→ 8:30AM), La pièce commence à huit heures et demie (→ 8:30PM)
We don't say 12h for midnight. We explicitly say minuit (= zéro heure), 12h only means midi. This is a source of confusion for native French when faced with something like "12:15AM" (not to mention 12:00AM and 12:00PM which might even be confusing2 in English speaking countries).
When the context doesn't help to know whether it is AM or PM, we say du matin (morning), de l'après-midi (afternoon) or du soir (evening).
Alternatively, we also routinely use the 24h convention in spoken French so huit heures (implicit PM), huit heures du soir and vingt heures are interchangeable and always immediately understood.
We only use et quart, et demi[e] and moins le quart when using the 12h convention. Vingt heures et quart would be understood but is not idiomatic, should be vingt heures quinze.
In written French (timetables, agendas, reports, news…), the situation is much simpler.
the 24h convention is always used so a digital clock should just default to it in a French locale.
If a digital clock user decides to select the 12h convention, the AM and PM indicators should be left as is because no single French equivalent shortcut exists, especially for PM.
1 Note that under the Roman Empire, a.m. and p.m. were not used to sort out the hours. Instead, diei (day) and noctis (night) were used. That makes sense because, regardless of the day of year, the first daylight hour was starting at sunrise and the twelfth ending at sunset, and reciprocally for the twelve night hours. Noon/midnight were occurring between the sixth and seventh hours of the day/night.
2 From a NIST FAQ: Are noon and midnight referred to as 12 a.m. or 12 p.m.? This is a tricky question because 12 a.m. and 12 p.m. are ambiguous and should not be used.
As far as I know, all French-speaking places use only 24-hour clocks in writing, even Québec (whereas 12-hour clocks are common in English-speaking Canada).
In France, the 24-hour clock became a legal standard in 1911 (at the same time France switched from the Paris meridian to the Greenwich meridian). Railway schedules started to use 24-hour time around that time (this site states 1913, but take this with a grain of salt: there were many schedule publications and I doubt they all switched the same year).
Today, in France, times are always written in digits in 24-hour format. A 12-hour clock is only used on analog clocks and in colloquial speech. The only digital clocks with 12-hour format I've ever seen in France were obviously imports made for an English-speaking market. As far as I know, this is true even in Québec, although 12-hour digital clocks may be a little more common there.
Neither Linux nor Windows 7 offers a 12-hour clock format in French. On Linux, the translation for am/pm is blank, so while you can technically select a 12-hour display, it is ambiguous. On Windows, if you select any of the French language variants, all the time format options use 24-hour time.
Do not use “a.m./p.m.” untranslated. In this context, “a.m.” would be read as an abbreviation of “après-midi”, which means afternoon.
As far as I know, there was never any standard abbreviation for am/pm in French. 19th century train schedules tend to spell out the words “matin/soir”. You could abbreviate those as
s, but people reading
6:00s might not realize that
s stands for “soir” and so this means 18:00.
So you should definitely default to a 24-hour clock in French (and most other locales). You don't need to offer a 12-hour format. If you must offer one, you might as well use “matin/soir”, or “m/s” if you need to abbreviate — or, for a clock, you could just leave it blank (just like an analog clock doesn't indicate am/pm).
The 24 hour format is used in French. When speaking we might say "at 2 in the afternoon" or "at 14 o'clock" but for software I would definitely use the 24 hour format.
This format is used to set an appointment (Rendez-vous à 17h00) or displayed at the bottom of the computer screen (Windows OS at least). It is also used by the French version of Google Calendar.
I have created a digital clock for a software. Now we are localizing the software in French.
This is specific, easy-resolvable case. If you are localizing the software, then date, time, currency, number format and other localization resources are already available for you to use, so why re-invent the wheel?
In all major operating systems, there already is a set of locales with all settings already translated for most common countries and languages. Just let your software ask current settings from the operating system and you are fine. This with give French users their currently set 24-hour time format (if they did not change it in settings), U.S. users 12-hour time format with AM/PM, their own format to German users etc.
Important: normally, you should not attempt to define these values (AM/PM/time format) by yourself, because typically you want to respect what your users already prefer and what they set on first use of their device. So it is neat to comply. Typical clock applications do exactly that.
Example of settings in Windows: (just pull them for your use)
In rare case if your software is using some operating system where these resources are not present, then just take them from the above for any language you need.
An answer specific for Quebec: officially we use the 24h format in writting, as multiples answer stated before.
But the AM/PM format is frequently used informaly and will be understood. Even in writting. From experience, I'm a Québécois, in speech, it will be pretty much splitted between the 24h and the AM/PM format and the same person can use the two format in the same conversation. Also most of our alarm clock and other device will offer the option to use either format or default to the AM/PM format.
If you localised using the 24h format, there is nothing to replace the AM/PM with. If you software normally show "4h00 PM", it will simply show "16:00".
Here a link to the recommend usage for Québec (in french): http://www.oqlf.gouv.qc.ca/ressources/ti/dossiers/CCLQTI_20040720.pdf
(section 8 is of interest for you).
Is there only 24 hours format used in French?
In France and French-speaking Belgium we usually use the 24h system but we understand (and some people prefer it) the AM/PM format.
If no, what should be displayed as AM and PM?
When the 24h format is not used, then the AM/PM system is displayed with "AM" and "PM".
Note that this answer is valid for France and French-speaking Belgium. I can't guarantee its validity for other French-speaking countries.
Edited after Yoam Farges comment:
On a side note I'd like to add that the 24-hour system is used and understood by a vast majority. French people preferring to use the am/pm exist, even if really few.
So, if it's technically possible for you and not too time-consuming, you could set the 24h by default and let users choose am/pm as an option.
But as Yoam said, they represent a small percentage of the population.
Adding to miroxlav's answer. You didn't mention which programming language and environment you're using so this may not apply.
Do not try to localize manually. The OS, framework or standard library most likely knows better. Ask the system to localize the time for you for a specific culture. If done properly, it should work for at least most languages using the same alphabet.
In pseudocode, inspired from C#:
var culture = CultureInfo.GetCultureInfo("fr-FR"); //use a specific culture //or culture = CultureInfo.CurrentCulture; //use the current system's culture var time = DateTime.Now; //format the time using that culture's specific rules var formatted_time = time.ToString(culture.DateTimeFormat); //formatted_time is 1:35 PM on my english PC, 13:35 on my french PC