I'm using SilverStripe 3.1.x and the Translatable module and it only allows me to create pages in the locales listed in the i18n::$common_locales array. I need to be able to create pages in the following locales: en_GB (English UK - this is my default locale), fr_FR (French, France), nl_NL (Dutch, Netherlands), fr_BE (French, Belgium) and nl_BE (Dutch, Belgium). The first 3 locales are ok, but I cannot seem to be able to add locales fr_BE and nl_BE to the list of allowed locales. Does anyone know how I can do this?
The locales that I would like to include (fr_BE and nl_BE) are present in the i18n::$all_locales array, but how do I get them to appear in the drop-down list of translations so that it is available for the content editor to select in order to create content in that locale?
I have tried the old method of adding a new locale by adding it through mysite/_config.php as follows:
i18n::$common_locales['fr_BE'] = array('French (Belgium)', 'français (Belgique)'); i18n::$common_locales['nl_BE'] = array('Dutch (Belgium)', 'Nederlands (België)');
(as described at the bottom of this page (SS v2.3)), but it does not work in SS 3.1.x, instead I get the following fatal error:
Fatal error: Cannot access private property i18n::$common_locales in /Applications/MAMP/htdocs/.../mysite/_config.php
I have also tried explicitly setting the allowed locales in mysite/_config.php as follows, but only English UK, French and Dutch appears, but not French (Beligium) and Dutch (Belgium):
Translatable::set_allowed_locales(array( 'en_GB', //English UK 'fr_FR', //French 'nl_NL', //Dutch, Holland 'fr_BE', //French, Belgium 'nl_BE', //Dutch, Belgium 'it_IT' //Italian ));
Any help/suggestions, would be greatly appreciated! Thanks in advance.