International deployment guide

If you have a multi-country, multi-language dealer locator read on, this article discusses topics related to a global MetaLocator deployment

Michael Fatica avatar
Written by Michael Fatica
Updated over a week ago

Customers with global dealer networks often have a similarly global website or websites that serve an international audience with multiple languages and countries. This article discusses the steps required to deploy MetaLocator in a typical global scenario.

Step 1 - Create a multi-language Interface

When users visit your locator from a different country they will want to see the locator in their preferred language. This involves updating your Interface to use Language Constants instead of directly entering labels and other customer-facing text in the Interface Settings.

Once the Interface is updated with language constants, a language file should be created for each target language. MetaLocator provides translation services on a contract basis, however; you are free to obtain translations by any method. One important tip when managing many languages is to use the Bulk Language editor.

This topic is covered extensively in our Internationalization Guide.

Step 2 - Add a Country Drop Down

Be sure your Interface includes a Country drop-down as part of the search. The Country drop-down automatically defaults to the visiting user's country and ensures that searches are properly scoped (e.g. A search for "Paris" is in Texas in the US v.s. the capital in France).

Optional Installation for Country-specific Pages

If you need to deploy the locator to different pages for each country, MetaLocator's deep linking can be used to deploy the Interface in the desired language and country. For example, the installation code for a French dealer locator page can be modified as shown:

<!-- MetaLocator.com Code START -->
​<script language="javascript">
​var ml___params = {"country":"France","lang":"fr-FR (1)"};
​</script>
​<script language="javascript" src="https://code.metalocator.com/index.php?option=com_locator&view=directory&layout=_javascript&framed=1&format=raw&tmpl=component&no_html=1&Itemid=XXXXXXXXXXXXXXXXX"></script><!-- MetaLocator.com Code END: Do not modify this code block. See TOS for details. -->

The above code will filter the data where the Country field contains the value "France" and it will display the Interface using the fr-FR (1) language file. This process can be repeated for each country and language combination.

Filtering on both country and language ensures the locator is presented with the correct data and the correct language for the visitor.

The article on deep linking discusses these and other parameters and options in depth.

What if one country does things differently?

If a single country has specific requirements there are a few best practices for handling those exceptions, depending on what they are.

  1. Handle simple changes using deep linking of Interface options or parameters. Deep linking can, for example, enable or disable an Interface Setting based on the installation code for a given country.

  2. Handle complex requirements using a separate Interface dedicated to that country or countries. There are practical limits on how many options should be managed in code via deep linking. Beyond 3 or 4 settings, the solution becomes difficult to manage or troubleshoot given that a) settings are managed in more than one place and b) those settings are applied at run-time.

Complete and Consistent Data is Key

For International deployments, data consistency becomes critical for large installations. Ensure for all locations:

  1. Country and State values are set consistently, not "WI" for one location and "Wisconsin" for another. Similarly, not US and United States and USA. This data is used to populate drop-down lists and to filter data.

  2. A TLD value is provided for all locations. A TLD is an ISO standard two-letter country code for each country.

  3. Data is provided in UTF-8 format. Ensure data is ready to display accented characters correctly.

Did this answer your question?