forked from CIT/Vmeda.Online
		
	Merge pull request #2436 from crazyserver/MOBILE-3456
MOBILE-3456 lang: Check parent lang from langname
This commit is contained in:
		
						commit
						c8c51a65cc
					
				| @ -120,8 +120,6 @@ function add_langs_to_config($langs, $config) { | |||||||
| function get_langfolder($lang) { | function get_langfolder($lang) { | ||||||
|     $folder = LANGPACKSFOLDER.'/'.str_replace('-', '_', $lang); |     $folder = LANGPACKSFOLDER.'/'.str_replace('-', '_', $lang); | ||||||
|     if (!is_dir($folder) || !is_file($folder.'/langconfig.php')) { |     if (!is_dir($folder) || !is_file($folder.'/langconfig.php')) { | ||||||
|         echo "Cannot translate $folder, folder not found"; |  | ||||||
| 
 |  | ||||||
|         return false; |         return false; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
| @ -173,6 +171,8 @@ function reset_translations_strings() { | |||||||
| function build_lang($lang, $keys) { | function build_lang($lang, $keys) { | ||||||
|     $langfoldername = get_langfolder($lang); |     $langfoldername = get_langfolder($lang); | ||||||
|     if (!$langfoldername) { |     if (!$langfoldername) { | ||||||
|  |         echo "Cannot translate $lang, folder not found"; | ||||||
|  | 
 | ||||||
|         return false; |         return false; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
| @ -185,12 +185,15 @@ function build_lang($lang, $keys) { | |||||||
|     $total = count($keys); |     $total = count($keys); | ||||||
|     $local = 0; |     $local = 0; | ||||||
| 
 | 
 | ||||||
|     $string = get_translation_strings($langfoldername, 'langconfig'); |     $langparts = explode('-', $lang, 2); | ||||||
|     $parent = isset($string['parentlanguage']) ? $string['parentlanguage'] : ""; |     $parentname = $langparts[0] ?? ""; | ||||||
|  |     $parent = ""; | ||||||
| 
 | 
 | ||||||
|     echo "Processing $lang"; |     echo "Processing $lang"; | ||||||
|     if ($parent != "" && $parent != $lang) { |     // Check parent language exists.
 | ||||||
|         echo " ($parent)"; |     if ($parentname != $lang && get_langfolder($parentname)) { | ||||||
|  |         echo " ($parentname)"; | ||||||
|  |         $parent = $parentname; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     $langFile = false; |     $langFile = false; | ||||||
| @ -247,6 +250,12 @@ function build_lang($lang, $keys) { | |||||||
|         $translations[$key] = html_entity_decode($text); |         $translations[$key] = html_entity_decode($text); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     if (!empty($parent)) { | ||||||
|  |         $translations['core.parentlanguage'] = $parent; | ||||||
|  |     } else if (isset($translations['core.parentlanguage'])) { | ||||||
|  |         unset($translations['core.parentlanguage']); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     // Sort and save.
 |     // Sort and save.
 | ||||||
|     ksort($translations); |     ksort($translations); | ||||||
|     file_put_contents(ASSETSPATH.$lang.'.json', str_replace('\/', '/', json_encode($translations, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT))); |     file_put_contents(ASSETSPATH.$lang.'.json', str_replace('\/', '/', json_encode($translations, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT))); | ||||||
| @ -275,6 +284,8 @@ function progressbar($percentage) { | |||||||
| function detect_lang($lang, $keys) { | function detect_lang($lang, $keys) { | ||||||
|     $langfoldername = get_langfolder($lang); |     $langfoldername = get_langfolder($lang); | ||||||
|     if (!$langfoldername) { |     if (!$langfoldername) { | ||||||
|  |         echo "Cannot translate $lang, folder not found"; | ||||||
|  | 
 | ||||||
|         return false; |         return false; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -1913,7 +1913,6 @@ | |||||||
|     "core.openmodinbrowser": "Obre {{$a}} al navegador", |     "core.openmodinbrowser": "Obre {{$a}} al navegador", | ||||||
|     "core.othergroups": "Altres grups", |     "core.othergroups": "Altres grups", | ||||||
|     "core.pagea": "Pàgina {{$a}}", |     "core.pagea": "Pàgina {{$a}}", | ||||||
|     "core.parentlanguage": "", |  | ||||||
|     "core.paymentinstant": "Utilitzeu el botó de baix per pagar i inscriure-us.", |     "core.paymentinstant": "Utilitzeu el botó de baix per pagar i inscriure-us.", | ||||||
|     "core.percentagenumber": "{{$a}}%", |     "core.percentagenumber": "{{$a}}%", | ||||||
|     "core.phone": "Telèfon", |     "core.phone": "Telèfon", | ||||||
|  | |||||||
| @ -1909,7 +1909,6 @@ | |||||||
|     "core.openmodinbrowser": "Otevřít {{$a}} v prohlížeči", |     "core.openmodinbrowser": "Otevřít {{$a}} v prohlížeči", | ||||||
|     "core.othergroups": "Další skupiny", |     "core.othergroups": "Další skupiny", | ||||||
|     "core.pagea": "Stránka {{$a}}", |     "core.pagea": "Stránka {{$a}}", | ||||||
|     "core.parentlanguage": "", |  | ||||||
|     "core.paymentinstant": "Pomocí tlačítka níže můžete provést platbu a během několika minut se zapsat do kurzu!", |     "core.paymentinstant": "Pomocí tlačítka níže můžete provést platbu a během několika minut se zapsat do kurzu!", | ||||||
|     "core.percentagenumber": "{{$a}}%", |     "core.percentagenumber": "{{$a}}%", | ||||||
|     "core.phone": "Telefon", |     "core.phone": "Telefon", | ||||||
|  | |||||||
| @ -1752,7 +1752,6 @@ | |||||||
|     "core.openinbrowser": "Åben i browser", |     "core.openinbrowser": "Åben i browser", | ||||||
|     "core.othergroups": "Andre grupper", |     "core.othergroups": "Andre grupper", | ||||||
|     "core.pagea": "Side {{$a}}", |     "core.pagea": "Side {{$a}}", | ||||||
|     "core.parentlanguage": "", |  | ||||||
|     "core.paymentinstant": "Brug knappen forneden til at betale og blive tilmeldt umiddelbart derefter.", |     "core.paymentinstant": "Brug knappen forneden til at betale og blive tilmeldt umiddelbart derefter.", | ||||||
|     "core.percentagenumber": "{{$a}}%", |     "core.percentagenumber": "{{$a}}%", | ||||||
|     "core.phone": "Telefon", |     "core.phone": "Telefon", | ||||||
|  | |||||||
| @ -1841,7 +1841,6 @@ | |||||||
|     "core.openinbrowser": "Ανοίξτε στον περιηγητή.", |     "core.openinbrowser": "Ανοίξτε στον περιηγητή.", | ||||||
|     "core.othergroups": "Άλλες ομάδες", |     "core.othergroups": "Άλλες ομάδες", | ||||||
|     "core.pagea": "Σελίδα {{$a}}", |     "core.pagea": "Σελίδα {{$a}}", | ||||||
|     "core.parentlanguage": "", |  | ||||||
|     "core.paymentinstant": "Χρησιμοποιήστε το παρακάτω πλήκτρο για να πληρώσετε και να εγγραφείτε μέσα σε λίγα λεπτά!", |     "core.paymentinstant": "Χρησιμοποιήστε το παρακάτω πλήκτρο για να πληρώσετε και να εγγραφείτε μέσα σε λίγα λεπτά!", | ||||||
|     "core.percentagenumber": "{{$a}}%", |     "core.percentagenumber": "{{$a}}%", | ||||||
|     "core.phone": "Τηλέφωνο", |     "core.phone": "Τηλέφωνο", | ||||||
|  | |||||||
| @ -14,6 +14,7 @@ | |||||||
|     "core.listsep": ",", |     "core.listsep": ",", | ||||||
|     "core.login.loginsteps": "For full access to this site, you first need to create an account.", |     "core.login.loginsteps": "For full access to this site, you first need to create an account.", | ||||||
|     "core.notenrolledprofile": "This profile is not available because this user is not enrolled in this course.", |     "core.notenrolledprofile": "This profile is not available because this user is not enrolled in this course.", | ||||||
|  |     "core.parentlanguage": "en", | ||||||
|     "core.paymentinstant": "Use the button below to pay and be enrolled within minutes!", |     "core.paymentinstant": "Use the button below to pay and be enrolled within minutes!", | ||||||
|     "core.settings.license": "License", |     "core.settings.license": "License", | ||||||
|     "core.strftimedate": "%B %d, %Y", |     "core.strftimedate": "%B %d, %Y", | ||||||
|  | |||||||
| @ -1913,7 +1913,6 @@ | |||||||
|     "core.openmodinbrowser": "Open {{$a}} in browser", |     "core.openmodinbrowser": "Open {{$a}} in browser", | ||||||
|     "core.othergroups": "Other groups", |     "core.othergroups": "Other groups", | ||||||
|     "core.pagea": "Page {{$a}}", |     "core.pagea": "Page {{$a}}", | ||||||
|     "core.parentlanguage": "", |  | ||||||
|     "core.paymentinstant": "Use the button below to pay and be enrolled within minutes!", |     "core.paymentinstant": "Use the button below to pay and be enrolled within minutes!", | ||||||
|     "core.percentagenumber": "{{$a}}%", |     "core.percentagenumber": "{{$a}}%", | ||||||
|     "core.phone": "Phone", |     "core.phone": "Phone", | ||||||
|  | |||||||
| @ -1913,7 +1913,7 @@ | |||||||
|     "core.openmodinbrowser": "Abrir {{$a}} en navegador", |     "core.openmodinbrowser": "Abrir {{$a}} en navegador", | ||||||
|     "core.othergroups": "Otros grupos", |     "core.othergroups": "Otros grupos", | ||||||
|     "core.pagea": "Página {{$a}}", |     "core.pagea": "Página {{$a}}", | ||||||
|     "core.parentlanguage": "", |     "core.parentlanguage": "es", | ||||||
|     "core.paymentinstant": "¡Utilice el botón de abajo para pagar y poder inscribirse en minutos!", |     "core.paymentinstant": "¡Utilice el botón de abajo para pagar y poder inscribirse en minutos!", | ||||||
|     "core.percentagenumber": "{{$a}}%", |     "core.percentagenumber": "{{$a}}%", | ||||||
|     "core.phone": "Teléfono", |     "core.phone": "Teléfono", | ||||||
|  | |||||||
| @ -1913,7 +1913,6 @@ | |||||||
|     "core.openmodinbrowser": "Abrir {{$a}} en el navegador", |     "core.openmodinbrowser": "Abrir {{$a}} en el navegador", | ||||||
|     "core.othergroups": "Otros grupos", |     "core.othergroups": "Otros grupos", | ||||||
|     "core.pagea": "Página {{$a}}", |     "core.pagea": "Página {{$a}}", | ||||||
|     "core.parentlanguage": "", |  | ||||||
|     "core.paymentinstant": "¡Utilice el botón de abajo para pagar y poder matricularse en minutos!", |     "core.paymentinstant": "¡Utilice el botón de abajo para pagar y poder matricularse en minutos!", | ||||||
|     "core.percentagenumber": "{{$a}}%", |     "core.percentagenumber": "{{$a}}%", | ||||||
|     "core.phone": "Teléfono", |     "core.phone": "Teléfono", | ||||||
|  | |||||||
| @ -1875,7 +1875,6 @@ | |||||||
|     "core.openinbrowser": "Ouvrir dans le navigateur", |     "core.openinbrowser": "Ouvrir dans le navigateur", | ||||||
|     "core.othergroups": "Autres groupes", |     "core.othergroups": "Autres groupes", | ||||||
|     "core.pagea": "Page {{$a}}", |     "core.pagea": "Page {{$a}}", | ||||||
|     "core.parentlanguage": "", |  | ||||||
|     "core.paymentinstant": "Le bouton ci-dessous vous permet de payer et de vous inscrire en quelques minutes !", |     "core.paymentinstant": "Le bouton ci-dessous vous permet de payer et de vous inscrire en quelques minutes !", | ||||||
|     "core.percentagenumber": "{{$a}} %", |     "core.percentagenumber": "{{$a}} %", | ||||||
|     "core.phone": "Téléphone", |     "core.phone": "Téléphone", | ||||||
|  | |||||||
| @ -1521,7 +1521,6 @@ | |||||||
|     "core.online": "Online", |     "core.online": "Online", | ||||||
|     "core.othergroups": "Egyéb csoportok", |     "core.othergroups": "Egyéb csoportok", | ||||||
|     "core.pagea": "{{$a}} oldal", |     "core.pagea": "{{$a}} oldal", | ||||||
|     "core.parentlanguage": "", |  | ||||||
|     "core.paymentinstant": "A fizetéshez és a perceken belüli beiratkozáshoz használja az alábbi gombot!", |     "core.paymentinstant": "A fizetéshez és a perceken belüli beiratkozáshoz használja az alábbi gombot!", | ||||||
|     "core.phone": "Telefon", |     "core.phone": "Telefon", | ||||||
|     "core.pictureof": "Kép", |     "core.pictureof": "Kép", | ||||||
|  | |||||||
| @ -1769,7 +1769,6 @@ | |||||||
|     "core.openinbrowser": "Apri nel browser", |     "core.openinbrowser": "Apri nel browser", | ||||||
|     "core.othergroups": "Altri gruppi", |     "core.othergroups": "Altri gruppi", | ||||||
|     "core.pagea": "Pagina {{$a}}", |     "core.pagea": "Pagina {{$a}}", | ||||||
|     "core.parentlanguage": "", |  | ||||||
|     "core.paymentinstant": "Utilizza il pulsante sottostante per pagare ed essere iscritto in pochi minuti!", |     "core.paymentinstant": "Utilizza il pulsante sottostante per pagare ed essere iscritto in pochi minuti!", | ||||||
|     "core.percentagenumber": "{{$a}}%", |     "core.percentagenumber": "{{$a}}%", | ||||||
|     "core.phone": "Telefono", |     "core.phone": "Telefono", | ||||||
|  | |||||||
| @ -1717,7 +1717,6 @@ | |||||||
|     "core.openinbrowser": "ブラウザで開く", |     "core.openinbrowser": "ブラウザで開く", | ||||||
|     "core.othergroups": "他のグループ", |     "core.othergroups": "他のグループ", | ||||||
|     "core.pagea": "ページ {{$a}}", |     "core.pagea": "ページ {{$a}}", | ||||||
|     "core.parentlanguage": "", |  | ||||||
|     "core.paymentinstant": "下のボタンをお使いください。支払いおよび登録がすぐに完了します!", |     "core.paymentinstant": "下のボタンをお使いください。支払いおよび登録がすぐに完了します!", | ||||||
|     "core.percentagenumber": "{{$a}}%", |     "core.percentagenumber": "{{$a}}%", | ||||||
|     "core.phone": "電話", |     "core.phone": "電話", | ||||||
|  | |||||||
| @ -1385,7 +1385,6 @@ | |||||||
|     "core.openfullimage": "전체 크기 이미지를 보려면 여기를 클릭하십시오.", |     "core.openfullimage": "전체 크기 이미지를 보려면 여기를 클릭하십시오.", | ||||||
|     "core.openinbrowser": "브라우저에서 열기", |     "core.openinbrowser": "브라우저에서 열기", | ||||||
|     "core.pagea": "페이지 {{$a}}", |     "core.pagea": "페이지 {{$a}}", | ||||||
|     "core.parentlanguage": "", |  | ||||||
|     "core.paymentinstant": "신속하게 등록금 지불 및 등록을 마치려면 아래의 버튼을 사용하시오!", |     "core.paymentinstant": "신속하게 등록금 지불 및 등록을 마치려면 아래의 버튼을 사용하시오!", | ||||||
|     "core.percentagenumber": "{{$a}}%", |     "core.percentagenumber": "{{$a}}%", | ||||||
|     "core.phone": "전화", |     "core.phone": "전화", | ||||||
|  | |||||||
| @ -1634,7 +1634,6 @@ | |||||||
|     "core.openinbrowser": "Atidaryti naršyklėje", |     "core.openinbrowser": "Atidaryti naršyklėje", | ||||||
|     "core.othergroups": "Kitos grupės", |     "core.othergroups": "Kitos grupės", | ||||||
|     "core.pagea": "{{$a}} puslapis", |     "core.pagea": "{{$a}} puslapis", | ||||||
|     "core.parentlanguage": "", |  | ||||||
|     "core.paymentinstant": "Naudokite toliau pateiktą mygtuką, kad sumokėtumėte ir būtumėte įregistruoti per kelias minutes.", |     "core.paymentinstant": "Naudokite toliau pateiktą mygtuką, kad sumokėtumėte ir būtumėte įregistruoti per kelias minutes.", | ||||||
|     "core.percentagenumber": "{{$a}}%", |     "core.percentagenumber": "{{$a}}%", | ||||||
|     "core.phone": "Telefonas", |     "core.phone": "Telefonas", | ||||||
|  | |||||||
| @ -1576,7 +1576,6 @@ | |||||||
|     "core.online": "På nett", |     "core.online": "På nett", | ||||||
|     "core.othergroups": "Andre grupper", |     "core.othergroups": "Andre grupper", | ||||||
|     "core.pagea": "Side {{$a}}", |     "core.pagea": "Side {{$a}}", | ||||||
|     "core.parentlanguage": "", |  | ||||||
|     "core.paymentinstant": "Bruk knappen under for å betale og melde deg på kurset.", |     "core.paymentinstant": "Bruk knappen under for å betale og melde deg på kurset.", | ||||||
|     "core.phone": "Telefon", |     "core.phone": "Telefon", | ||||||
|     "core.pictureof": "Bilde av {{$a}}", |     "core.pictureof": "Bilde av {{$a}}", | ||||||
|  | |||||||
| @ -1809,7 +1809,7 @@ | |||||||
|     "core.openinbrowser": "Abrir no navegador", |     "core.openinbrowser": "Abrir no navegador", | ||||||
|     "core.othergroups": "Outros grupos", |     "core.othergroups": "Outros grupos", | ||||||
|     "core.pagea": "Página {{$a}}", |     "core.pagea": "Página {{$a}}", | ||||||
|     "core.parentlanguage": "", |     "core.parentlanguage": "pt", | ||||||
|     "core.paymentinstant": "Clique o botão abaixo para efetuar o pagamento e fazer a sua inscrição em poucos minutos!", |     "core.paymentinstant": "Clique o botão abaixo para efetuar o pagamento e fazer a sua inscrição em poucos minutos!", | ||||||
|     "core.percentagenumber": "{{$a}}%", |     "core.percentagenumber": "{{$a}}%", | ||||||
|     "core.phone": "Fone", |     "core.phone": "Fone", | ||||||
|  | |||||||
| @ -1913,7 +1913,6 @@ | |||||||
|     "core.openmodinbrowser": "Abrir {{$a}} no navegador", |     "core.openmodinbrowser": "Abrir {{$a}} no navegador", | ||||||
|     "core.othergroups": "Outros grupos", |     "core.othergroups": "Outros grupos", | ||||||
|     "core.pagea": "Página {{$a}}", |     "core.pagea": "Página {{$a}}", | ||||||
|     "core.parentlanguage": "", |  | ||||||
|     "core.paymentinstant": "Use o botão abaixo para pagar e completar a inscrição!", |     "core.paymentinstant": "Use o botão abaixo para pagar e completar a inscrição!", | ||||||
|     "core.percentagenumber": "{{$a}}%", |     "core.percentagenumber": "{{$a}}%", | ||||||
|     "core.phone": "Telefone", |     "core.phone": "Telefone", | ||||||
|  | |||||||
| @ -1841,7 +1841,6 @@ | |||||||
|     "core.openinbrowser": "Odpri v brskalniku", |     "core.openinbrowser": "Odpri v brskalniku", | ||||||
|     "core.othergroups": "Ostale skupine", |     "core.othergroups": "Ostale skupine", | ||||||
|     "core.pagea": "Stran {{$a}}", |     "core.pagea": "Stran {{$a}}", | ||||||
|     "core.parentlanguage": "", |  | ||||||
|     "core.paymentinstant": "Uporabite spodnje gumbe za plačilo in vpis v nekaj minutah!", |     "core.paymentinstant": "Uporabite spodnje gumbe za plačilo in vpis v nekaj minutah!", | ||||||
|     "core.percentagenumber": "{{$a}}%", |     "core.percentagenumber": "{{$a}}%", | ||||||
|     "core.phone": "Telefon", |     "core.phone": "Telefon", | ||||||
|  | |||||||
| @ -1700,7 +1700,6 @@ | |||||||
|     "core.openinbrowser": "Отвори у веб читачу", |     "core.openinbrowser": "Отвори у веб читачу", | ||||||
|     "core.othergroups": "Друге групе", |     "core.othergroups": "Друге групе", | ||||||
|     "core.pagea": "Страница {{$a}}", |     "core.pagea": "Страница {{$a}}", | ||||||
|     "core.parentlanguage": "en", |  | ||||||
|     "core.paymentinstant": "Употребите дугме испод како бисте извршили уплату и уписали курс у року од неколико минута!", |     "core.paymentinstant": "Употребите дугме испод како бисте извршили уплату и уписали курс у року од неколико минута!", | ||||||
|     "core.percentagenumber": "{{$a}}%", |     "core.percentagenumber": "{{$a}}%", | ||||||
|     "core.phone": "Телефон", |     "core.phone": "Телефон", | ||||||
|  | |||||||
| @ -1700,7 +1700,6 @@ | |||||||
|     "core.openinbrowser": "Otvori u veb čitaču", |     "core.openinbrowser": "Otvori u veb čitaču", | ||||||
|     "core.othergroups": "Druge grupe", |     "core.othergroups": "Druge grupe", | ||||||
|     "core.pagea": "Stranica {{$a}}", |     "core.pagea": "Stranica {{$a}}", | ||||||
|     "core.parentlanguage": "en", |  | ||||||
|     "core.paymentinstant": "Upotrebite dugme ispod kako biste izvršili uplatu i upisali kurs u roku od nekoliko minuta!", |     "core.paymentinstant": "Upotrebite dugme ispod kako biste izvršili uplatu i upisali kurs u roku od nekoliko minuta!", | ||||||
|     "core.percentagenumber": "{{$a}}%", |     "core.percentagenumber": "{{$a}}%", | ||||||
|     "core.phone": "Telefon", |     "core.phone": "Telefon", | ||||||
|  | |||||||
| @ -1844,7 +1844,6 @@ | |||||||
|     "core.openinbrowser": "在浏览器中打开", |     "core.openinbrowser": "在浏览器中打开", | ||||||
|     "core.othergroups": "其他小组", |     "core.othergroups": "其他小组", | ||||||
|     "core.pagea": "页 {{$a}}", |     "core.pagea": "页 {{$a}}", | ||||||
|     "core.parentlanguage": "", |  | ||||||
|     "core.paymentinstant": "点击下面的按钮便可以快速付费并加入课程!", |     "core.paymentinstant": "点击下面的按钮便可以快速付费并加入课程!", | ||||||
|     "core.phone": "电话", |     "core.phone": "电话", | ||||||
|     "core.pictureof": "{{$a}}的头像", |     "core.pictureof": "{{$a}}的头像", | ||||||
|  | |||||||
| @ -1636,7 +1636,6 @@ | |||||||
|     "core.openinbrowser": "以瀏覽器開啟", |     "core.openinbrowser": "以瀏覽器開啟", | ||||||
|     "core.othergroups": "其他群組", |     "core.othergroups": "其他群組", | ||||||
|     "core.pagea": "第 {{$a}} 頁", |     "core.pagea": "第 {{$a}} 頁", | ||||||
|     "core.parentlanguage": "", |  | ||||||
|     "core.paymentinstant": "使用以下按鈕立即付款及註冊。", |     "core.paymentinstant": "使用以下按鈕立即付款及註冊。", | ||||||
|     "core.percentagenumber": "{{$a}}%", |     "core.percentagenumber": "{{$a}}%", | ||||||
|     "core.phone": "電話", |     "core.phone": "電話", | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user