Ver Fonte

Add relation to parent languages for pre-defined languages to improve translation for languages that are not the primary language of the country - refs CT#6088

Yannick Warnier há 10 anos atrás
pai
commit
cba72ddd16

+ 2 - 2
main/inc/global.inc.php

@@ -474,8 +474,8 @@ if (isset($language_file)) {
 // if a set of language files has been properly defined
 if (is_array($language_files)) {
     // if the sub-language feature is on
-    if (api_get_setting('allow_use_sub_language') == 'true') {
-        $parent_path = SubLanguageManager::get_parent_language_path($language_interface);
+    $parent_path = SubLanguageManager::get_parent_language_path($language_interface);
+    if (!empty($parent_path)) {
         foreach ($language_files as $index => $language_file) {
             // include English
             include $langpath.'english/'.$language_file.'.inc.php';

+ 11 - 1
main/install/data.sql

@@ -695,6 +695,16 @@ INSERT INTO language (original_name, english_name, isocode, dokeos_folder, avail
 ('isiXhosa', 'xhosa', 'xh', 'xhosa', 0),
 ('Yorùbá','yoruba','yo','yoruba',0);
 
+-- Set parent language to Spanish for all close-by languages, same for Italian, French, Portuguese and Chinese
+UPDATE language SET parent_id = 49 WHERE english_name = 'quechua_cusco';
+UPDATE language SET parent_id = 49 WHERE english_name = 'galician';
+UPDATE language SET parent_id = 49 WHERE english_name = 'esperanto';
+UPDATE language SET parent_id = 49 WHERE english_name = 'catalan';
+UPDATE language SET parent_id = 49 WHERE english_name = 'asturian';
+UPDATE language SET parent_id = 28 WHERE english_name = 'friulian';
+UPDATE language SET parent_id = 18 WHERE english_name = 'occitan';
+UPDATE language SET parent_id = 40 WHERE english_name = 'brazilian';
+UPDATE language SET parent_id = 45 WHERE english_name = 'trad_chinese';
 
 INSERT INTO course_category VALUES (1,'Language skills','LANG',NULL,1,0,'TRUE','TRUE'),(2,'PC Skills','PC',NULL,2,0,'TRUE','TRUE'),(3,'Projects','PROJ',NULL,3,0,'TRUE','TRUE');
 
@@ -1617,4 +1627,4 @@ INSERT INTO sequence_type_entity VALUES
 (2,'Quiz', 'Quiz and Tests','c_quiz'),
 (3,'LpItem', 'Items of a Learning Path','c_lp_item');
 
-UPDATE settings_current SET selected_value = '1.10.0.36' WHERE variable = 'chamilo_database_version';
+UPDATE settings_current SET selected_value = '1.10.0.37' WHERE variable = 'chamilo_database_version';

+ 64 - 0
src/Chamilo/CoreBundle/Migrations/Schema/V110/Version20150504182600.php

@@ -0,0 +1,64 @@
+<?php
+/* For licensing terms, see /license.txt */
+
+namespace Chamilo\CoreBundle\Migrations\Schema\V110;
+
+use Chamilo\CoreBundle\Migrations\AbstractMigrationChamilo;
+use Doctrine\DBAL\Schema\Schema;
+
+/**
+ * Class Version20150504182600
+ *
+ * @package Chamilo\CoreBundle\Migrations\Schema\v1
+ */
+class Version20150504182600 extends AbstractMigrationChamilo
+{
+    /**
+     * @param Schema $schema
+     *
+     * @throws \Doctrine\DBAL\Schema\SchemaException
+     */
+    public function up(Schema $schema)
+    {
+        // Set parent language to Spanish for all close-by languages. Same for Italian,
+        // French, Portuguese and Chinese
+        $this->addSql("
+            UPDATE language SET parent_id = 49 WHERE english_name = 'quechua_cusco'
+        ");
+        $this->addSql("
+            UPDATE language SET parent_id = 49 WHERE english_name = 'galician'
+        ");
+        $this->addSql("
+            UPDATE language SET parent_id = 49 WHERE english_name = 'esperanto'
+        ");
+        $this->addSql("
+            UPDATE language SET parent_id = 49 WHERE english_name = 'catalan'
+        ");
+        $this->addSql("
+            UPDATE language SET parent_id = 49 WHERE english_name = 'asturian'
+        ");
+        $this->addSql("
+            UPDATE language SET parent_id = 28 WHERE english_name = 'friulian'
+        ");
+        $this->addSql("
+            UPDATE language SET parent_id = 18 WHERE english_name = 'occitan'
+        ");
+        $this->addSql("
+            UPDATE language SET parent_id = 40 WHERE english_name = 'brazilian'
+        ");
+        $this->addSql("
+            UPDATE language SET parent_id = 45 WHERE english_name = 'trad_chinese'
+        ");
+        $this->addSql("
+            UPDATE settings_current SET selected_value = '1.10.0.37' WHERE variable = 'chamilo_database_version'
+        ");
+    }
+
+    /**
+     * We don't allow downgrades yet
+     * @param Schema $schema
+     */
+    public function down(Schema $schema)
+    {
+    }
+}