I'm querying an Account Address and want the country to be translated into the language of the requesting user.

Sample query:

SELECT BillingAddress FROM Account

I maintained the translation of the country in the translation workbench and already tried to use "toLabel(BillingAddress)" without success.

When referencing the BillingCountry directly I get the same result. Prefixing with "toLabel" results in an error:

MALFORMED_QUERY: only picklist fields, field history, or platform entity fields (or Record Type Name, Description in the SELECT list) support translation

Within the UI the Label is translated: enter image description here

Other values in the query are getting translated as well.

Can country and state values be retrieved in the local language using SOQL?

What am I missing?

Is the Country/State picklist not treated as a picklist as referenced in the documentation?

1 Answer 1


As the error hints, what you're pulling (BillingCountry) is not a picklist. If you take a look at the Address Compound Fields documentation, you'll see the following noted:

  • BillingCountry is a String
  • BillingCountryCode is a Picklist

You need to reference BillingCountryCode to pull your translated values:

SELECT toLabel(BillingCountryCode) FROM Account

  • Thank you so much that did the trick!
    – JohnMay
    Aug 3, 2021 at 14:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.