When creating a Custom Profile in CiviCRM and attaching that to the Drupal Registration and/or Drupal user account the translations for Portuguese, French, and Spanish are not appearing based on the Inherit CMS value set
1 Answer
It took me about a half of a day to debug this thinking it was a bug in Core. In your civicrm.settings.php
file there is a section that helps properly map Drupal and CiviCRM languages. This is especially important for Spanish, Portugues, English (Canada), and French (Canadian)
Edit this file and uncomment the appropriate lines as shown below:
/**
* If you have multilingual site and you are using the "inherit CMS language"
* configuration option, but wish to, for example, use fr_CA instead of the
* default fr_FR (for French), set one or more of the constants below to an
* appropriate regional value.
*/
// define('CIVICRM_LANGUAGE_MAPPING_FR', 'fr_CA');
// define('CIVICRM_LANGUAGE_MAPPING_EN', 'en_CA');
// define('CIVICRM_LANGUAGE_MAPPING_ES', 'es_MX');
// define('CIVICRM_LANGUAGE_MAPPING_PT', 'pt_BR');
// define('CIVICRM_LANGUAGE_MAPPING_ZH', 'zh_TW');
Doing so will immediately map these languages properly in your system and start to render the labels in the languages you have translated.