Watch Language and date format?

My current project has the day name in full length, because of this, it is difficult to support different languages. Looking at developer.garmin.com/.../Time.html I was hoping to use the inbuilt function to get the day name in the current language, however, there is not an option to do that! For som reason that escapes me, both FORMAT_LONG and FORMAT_MEDIUM return exaclty the same result. Surely FORMAT_LONG should be unabreviated day and month names?

Because of that, I was hoping to manually detect the current language and select from a range of day names, however, I can't seem to find any information on doing that. Is it possible to do?
Thanks.

  • Add 7 strings, translate them to all the languages you want to support. When you use loadResource you'll automatically get the translated string

  • Custom fonts can be tricky as you need to have all the characters you may need, but when you use native fonts and FORMAT_MEDIUM or FORMAT_LONG, you get the month and day of week in the language the watch is set to.  You can see this in the sim by setting the language, but it doesn't have all languages there.  Here is Finnish and what you see in English for example:

    In the sim, go to Settings>Language.

    In this watch face, I use FORMAT_MEDIUM

    There isn't one line of code in this watch face dealing with the language used for the date. 

    I do have a setting for different date format though - that's requardless of language

    I do use substring to limit the length of what I display.

  • Yes, if FORMAT_LONG actually gave the long version of the day and month, I would use it. However it gives exactly thesame asn FORMAT_MEDIUM.

  • You'll find there could be differences between the sim and real devices. I've not looked into that in years.

  • In this case, on both hardware and sim, reading 

    Gregorian.info(now, Time.FORMAT_LONG).day_of_week gives a three letter version, exactly the same as FORMAT_MEDIUM. It says that in the docs also. I don't understand why it's implemented that way.
  • The doc says “long and medium formatting are currently equivalent”. My guess is they originally designed it with the possibility of having different output for medium and long, changed their minds at some point but kept both enums just to keep their options open.

    Knowing Garmin, this situation won’t change (and it probably shouldn’t, as suddenly changing FORMAT_LONG to return something different than FORMAT_MEDIUM could break existing apps.)

    It’s like how there’s two sets of FONT_* enum values - FONT_SYSTEM_* and FONT_* (without SYSTEM), where the former are supposed to be “system only” fonts and the latter are supposed to be “Connect IQ only” fonts. In practice, there’s no difference between the two sets. e.g. FONT_XTINY is exactly the same as FONT_SYSTEM_XTINY, last time I checked anyway.