10810 Posts in 2495 Topics by 1784 members
|Go to End|
17 January 2014 at 4:32am Last edited: 18 January 2014 12:07am
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):
'en_GB', //English UK
'nl_NL', //Dutch, Holland
'fr_BE', //French, Belgium
'nl_BE', //Dutch, Belgium
Any help/suggestions, would be greatly appreciated! Thanks in advance.
7 February 2014 at 10:57pm
A bit late, but perhaps for future visitors
Translatable::set_allowed_locales(array('da_DK', 'en_US', 'sv_SE'));
is what i have in mysite/_cinfig.php and that works fine.
18 February 2014 at 10:51pm
I'm having a similar problem to D-L, latest install of everything yesterday via composer etc...
es_MX is not showing up as an option in CMS even though it is set in Translatable::set_allowed_locales
Note, I had this setup and working with the code base from about a year ago using SS3.05, so something changed which stopped certain country codes working, in this case es_MX, the main language used in a current project undergoing updates, so this is a pretty major holdback right now!
I posted the issue on github yesterday [url= https://github.com/silverstripe/silverstripe-translatable/issues/159] [url]https://github.com/silverstripe/silverstripe-translatable/issues/159
19 February 2014 at 5:47am
tried adding this to i18n.php common_languages function (as that is where the language selector menu in CMS seems to be pulling in labels from) but has not worked:
'es_MX' => array(
'name' => 'Spanish (MX)',
'native' => 'Español (MX)'
This is quite urgent and major blockage in terms of the project I'm working on, can anyone help?
p.s. I have to say, sometimes working on SS projects is like wandering around in the wilderness!!! Just saying, compared to other projects and frameworks, certain things seem very sketchy and little supported which should be standard. Anyways, thanks for any help you may offer with this.
19 February 2014 at 6:29am
after adding to common_locales (instead of common languages) in i18n.php es_MX is now showing in CMS menu!
I feel this should be in core by design, though is something to take up with SS framework devs I suppose.
|Go to Top|