Detecting locale settings in an application

(Jordan Novak) #1

Does anyone know how to detect the locale being used in a given application (via API)?

Here’s my situation -
A client is merging a date into a link in an email, and our app pulls the date out of the URL when the link is clicked and uses it for some actions. The client is in Australia, and the date is being merged in as “day/month/year” instead of “month/day/year”. We need to be able to know what format the date merge fields are using so that we can parse the link correctly.

I was hoping for an easy fix using “DataService.getAppSetting”, but I can’t even find where the locale is set in the app to begin with.

(Tom Scott) #2

The AppSetting you’re probably looking for is dateLocale (value of “us” for our stateside customers).

(Jordan Novak) #3

Thanks for the reference, Tom. Unfortunately, that setting did not work. I tested it with a US app, an Australian app, and a Canadian app, and it returned “us” for all three.

I can apparently get a good idea of the date locale by looking at the Application.appcountry setting, BUT I have this other problem now – how do I know which date format Infusionsoft is using when the date is merged into an email? And - what is the setting that Infusionsoft checks internally to determine the date format?

Example: Canada is close enough to the US that they could use either dd/mm/yy and mm/dd/yy. I need someone at Infusionsoft who can give me a specific list of countries that are formatted dd/mm/yy when dates are merged into emails and which countries are formatted as mm/dd/yy.

(Tom Scott) #4

Alright, I did some preliminary digging, but the modules regarding merges aren’t something I have experience with; could you check the AppSettings of “currencyLocale” and “fallback view locale” for those apps and see if they provide you the values you expect?

My local database contains the values “en US” for each of those, but I’m seeing indications that it might also be pairs of currency/country such as “en GB”.

(Jordan Novak) #5

Ok - so I am able to get the country for the application using the Application.appcountry setting, but I still need to know which countries Infusionsoft is formatting as dd/mm/yyyy and which countries are formatted as mm/dd/yyyy.

I suspect this is going to involve someone going into the module for merges and pulling out the list from the code.