Fix translations inside legacy pages.

Add legacy language in platform settings.
pull/3016/head
Julio Montoya 5 years ago
parent 0e2910ea42
commit eea1bec622
  1. 10
      main/inc/lib/internationalization.lib.php
  2. 12
      src/CoreBundle/Settings/LanguageSettingsSchema.php

@ -75,10 +75,13 @@ function get_lang($variable)
// Using symfony
$defaultDomain = 'messages';
$locale = api_get_interface_language();
$translated = Container::getTranslator()->trans(
$variable,
[],
$defaultDomain
$defaultDomain,
$locale
);
if ($translated === $variable) {
@ -86,7 +89,8 @@ function get_lang($variable)
$translated = Container::getTranslator()->trans(
"lang$variable",
[],
$defaultDomain
$defaultDomain,
$locale
);
if ($translated === "lang$variable") {
@ -143,7 +147,7 @@ function api_purify_language_id($language)
*/
function api_get_language_isocode()
{
return Container::getTranslator()->getLocale();
return Container::getRequest()->getLocale();
}
/**

@ -11,8 +11,6 @@ use Symfony\Component\Form\FormBuilderInterface;
/**
* Class LanguageSettingsSchema.
*
* @package Chamilo\CoreBundle\Settings
*/
class LanguageSettingsSchema extends AbstractSettingsSchema
{
@ -59,8 +57,16 @@ class LanguageSettingsSchema extends AbstractSettingsSchema
'Course language' => 'course_lang', // language of the current course
];
// @todo replace with a call to the Language repository.
$languages = api_get_languages();
$list = [];
foreach ($languages as $index => $value) {
$list[html_entity_decode($value)] = $index;
}
$options = ['choices' => $list, 'choice_loader' => null];
$builder
->add('platform_language', LanguageType::class)
->add('platform_language', LanguageType::class, $options)
->add('allow_use_sub_language', YesNoType::class)
->add('auto_detect_language_custom_pages', YesNoType::class)
->add('show_different_course_language', YesNoType::class)

Loading…
Cancel
Save