Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
114 changes: 86 additions & 28 deletions scripts/create_langindex.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ source "functions.sh"

#Saves or updates a key on langindex_old.json
function save_key {
key=$1
found=$2
local key=$1
local found=$2

print_ok "$key=$found"
echo "{\"$key\": \"$found\"}" > langindex_old.json
Expand All @@ -14,19 +14,17 @@ function save_key {

#Removes a key on langindex_old.json
function remove_key {
key=$1
found=$2
local key=$1

print_ok "$key=$found"
echo "{\"$key\": \"$found\"}" > langindex_old.json
jq -s '.[0] - .[1]' langindex.json langindex_old.json > langindex_new.json
cat langindex.json | jq 'del(."'$key'")' > langindex_new.json
mv langindex_new.json langindex.json
print_ok "Deleted unused key $key"
}

#Check if and i exists in php file
function exists_in_file {
file=$1
id=$2
local file=$1
local id=$2

file=`echo $file | sed s/^mod_workshop_assessment/workshopform/1`
file=`echo $file | sed s/^mod_assign_/assign/1`
Expand All @@ -45,7 +43,7 @@ function exists_in_file {

#Checks if a key exists on the original local_moodlemobileapp.php
function exists_in_mobile {
file='local_moodlemobileapp'
local file='local_moodlemobileapp'
exists_in_file $file $key
}

Expand Down Expand Up @@ -114,12 +112,12 @@ function find_single_matches {

#Tries to gues the file where the id will be found.
function guess_file {
key=$1
value=$2
local key=$1
local value=$2

type=`echo $key | cut -d'.' -f1`
component=`echo $key | cut -d'.' -f2`
plainid=`echo $key | cut -d'.' -f3-`
local type=`echo $key | cut -d'.' -f1`
local component=`echo $key | cut -d'.' -f2`
local plainid=`echo $key | cut -d'.' -f3-`

if [ -z "$plainid" ]; then
plainid=$component
Expand Down Expand Up @@ -161,23 +159,52 @@ function guess_file {
fi
}

function current_translation_exists {
local key=$1
local current=$2
local file=$3

plainid=`echo $key | cut -d'.' -f3-`

if [ -z "$plainid" ]; then
plainid=`echo $key | cut -d'.' -f2`
fi

local currentFile=`echo $current | cut -d'/' -f1`
local currentStr=`echo $current | cut -d'/' -f2-`
if [ $currentFile == $current ]; then
currentStr=$plainid
fi

exists_in_file $currentFile $currentStr
if [ $found == 0 ]; then
# Translation not found.
exec="jq -r .\"$key\" $file"
value=`$exec`

print_error "Translation of '$currentStr' not found in '$currentFile'"

guess_file $key "$value"
fi
}

#Finds if there's a better file where to get the id from.
function find_better_file {
key=$1
value=$2
current=$3
local key=$1
local value=$2
local current=$3

type=`echo $key | cut -d'.' -f1`
component=`echo $key | cut -d'.' -f2`
plainid=`echo $key | cut -d'.' -f3-`
local type=`echo $key | cut -d'.' -f1`
local component=`echo $key | cut -d'.' -f2`
local plainid=`echo $key | cut -d'.' -f3-`

if [ -z "$plainid" ]; then
plainid=$component
component='moodle'
fi

currentFile=`echo $current | cut -d'/' -f1`
currentStr=`echo $current | cut -d'/' -f2-`
local currentFile=`echo $current | cut -d'/' -f1`
local currentStr=`echo $current | cut -d'/' -f2-`
if [ $currentFile == $current ]; then
currentStr=$plainid
fi
Expand Down Expand Up @@ -217,7 +244,7 @@ function find_better_file {
fi
}

#Parses the file.
# Parses the file.
function parse_file {
findbetter=$2
keys=`jq -r 'keys[]' $1`
Expand All @@ -226,12 +253,43 @@ function parse_file {
exec="jq -r .\"$key\" langindex.json"
found=`$exec`

exec="jq -r .\"$key\" $1"
value=`$exec`
if [ -z "$found" ] || [ "$found" == 'null' ]; then
exec="jq -r .\"$key\" $1"
value=`$exec`
guess_file $key "$value"
elif [ ! -z "$findbetter" ]; then
find_better_file "$key" "$value" "$found"
else
if [ ! -z "$findbetter" ]; then
exec="jq -r .\"$key\" $1"
value=`$exec`
find_better_file "$key" "$value" "$found"
elif [ "$found" != 'local_moodlemobileapp' ]; then
current_translation_exists "$key" "$found" "$1"
fi
fi
done

# Do some cleanup
langkeys=`jq -r 'keys[]' langindex.json`
findkeys="${keys[@]}"
for key in $langkeys; do
# Check if already used.
array_contains "$key" "$findkeys"

if [ -z "$found" ] || [ "$found" == 'null' ]; then
remove_key $key
fi
done
}

# Checks if an array contains an string.
function array_contains {
local hayjack=$2
local needle=$1
found=''
for i in $hayjack; do
if [ "$i" == "$needle" ] ; then
found=$i
return
fi
done
}
Expand Down
11 changes: 7 additions & 4 deletions scripts/lang_functions.php
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,7 @@ function build_lang($lang, $keys) {
// Apply translations.
if (!$string) {
if (TOTRANSLATE) {
echo "\n\t\To translate $value->string on $value->file";
echo "\n\t\tTo translate $value->string on $value->file";
}
continue;
}
Expand All @@ -217,9 +217,12 @@ function build_lang($lang, $keys) {
// Not yet translated. Do not override.
if ($langFile && is_array($langFile) && isset($langFile[$key])) {
$translations[$key] = $langFile[$key];
$local++;

if ($value->file == 'local_moodlemobileapp') {
$local++;
}
}
if (TOTRANSLATE) {
if (TOTRANSLATE && !isset($string[$value->string])) {
echo "\n\t\tTo translate $value->string on $value->file";
}
continue;
Expand Down Expand Up @@ -265,7 +268,7 @@ function build_lang($lang, $keys) {
}

function progressbar($percentage) {
$done = $percentage/10;
$done = floor($percentage/10);
return "\t".str_repeat('=', $done) . str_repeat('-', 10-$done);
}

Expand Down
28 changes: 10 additions & 18 deletions scripts/langindex.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@
"addon.block_activitymodules.pluginname": "block_activity_modules",
"addon.block_badges.pluginname": "block_badges",
"addon.block_blogmenu.pluginname": "block_blog_menu",
"addon.block_blogrecent.nocourses": "block_blog_recent",
"addon.block_blogrecent.pluginname": "block_blog_recent",
"addon.block_blogtags.pluginname": "block_blog_tags",
"addon.block_calendarmonth.pluginname": "block_calendar_month",
Expand Down Expand Up @@ -1355,7 +1354,6 @@
"core.comments.savecomment": "moodle",
"core.comments.warningcommentsnotsent": "local_moodlemobileapp",
"core.commentscount": "moodle",
"core.commentsnotworking": "local_moodlemobileapp",
"core.completion-alt-auto-fail": "completion",
"core.completion-alt-auto-n": "completion",
"core.completion-alt-auto-n-override": "completion",
Expand Down Expand Up @@ -1674,7 +1672,6 @@
"core.login.changepasswordinstructions": "local_moodlemobileapp",
"core.login.changepasswordlogoutinstructions": "local_moodlemobileapp",
"core.login.changepasswordreconnectinstructions": "local_moodlemobileapp",
"core.login.checksiteversion": "local_moodlemobileapp",
"core.login.confirmdeletesite": "local_moodlemobileapp",
"core.login.connect": "local_moodlemobileapp",
"core.login.connecttomoodle": "local_moodlemobileapp",
Expand All @@ -1689,15 +1686,13 @@
"core.login.emailconfirmsentnoemail": "local_moodlemobileapp",
"core.login.emailconfirmsentsuccess": "moodle",
"core.login.emailnotmatch": "local_moodlemobileapp",
"core.login.enterthewordsabove": "auth",
"core.login.erroraccesscontrolalloworigin": "local_moodlemobileapp",
"core.login.errordeletesite": "local_moodlemobileapp",
"core.login.errorupdatesite": "local_moodlemobileapp",
"core.login.findyoursite": "local_moodlemobileapp",
"core.login.firsttime": "moodle",
"core.login.forcepasswordchangenotice": "moodle",
"core.login.forgotten": "moodle",
"core.login.getanothercaptcha": "auth",
"core.login.help": "moodle",
"core.login.helpmelogin": "local_moodlemobileapp",
"core.login.instructions": "auth",
Expand All @@ -1710,9 +1705,6 @@
"core.login.invalidurl": "scorm",
"core.login.invalidvaluemax": "local_moodlemobileapp",
"core.login.invalidvaluemin": "local_moodlemobileapp",
"core.login.legacymoodleversion": "local_moodlemobileapp",
"core.login.legacymoodleversiondesktop": "local_moodlemobileapp",
"core.login.legacymoodleversiondesktopdownloadold": "local_moodlemobileapp",
"core.login.localmobileunexpectedresponse": "local_moodlemobileapp",
"core.login.loggedoutssodescription": "local_moodlemobileapp",
"core.login.login": "moodle",
Expand Down Expand Up @@ -2003,18 +1995,18 @@
"core.submit": "moodle",
"core.success": "moodle",
"core.tablet": "local_moodlemobileapp",
"core.tag.defautltagcoll": "moodle",
"core.tag.defautltagcoll": "tag",
"core.tag.errorareanotsupported": "local_moodlemobileapp",
"core.tag.inalltagcoll": "moodle",
"core.tag.itemstaggedwith": "moodle",
"core.tag.notagsfound": "moodle",
"core.tag.searchtags": "moodle",
"core.tag.showingfirsttags": "moodle",
"core.tag.inalltagcoll": "tag",
"core.tag.itemstaggedwith": "tag",
"core.tag.notagsfound": "tag",
"core.tag.searchtags": "tag",
"core.tag.showingfirsttags": "tag",
"core.tag.tag": "moodle",
"core.tag.tagarea_course": "moodle",
"core.tag.tagarea_course_modules": "moodle",
"core.tag.tagarea_post": "moodle",
"core.tag.tagarea_user": "moodle",
"core.tag.tagarea_course": "tag",
"core.tag.tagarea_course_modules": "tag",
"core.tag.tagarea_post": "tag",
"core.tag.tagarea_user": "tag",
"core.tag.tags": "moodle",
"core.tag.warningareasnotsupported": "local_moodlemobileapp",
"core.teachers": "moodle",
Expand Down
3 changes: 1 addition & 2 deletions src/assets/lang/ar.json
Original file line number Diff line number Diff line change
Expand Up @@ -977,11 +977,9 @@
"core.login.credentialsdescription": "من فضلك قم بإدخال اسم المستخدم وكلمة المرور للدخول إلى",
"core.login.emailconfirmsent": "<p>تم إرسال بريد إلى <b>{{$a}}</b></p>\n <p>والذي يحتوي على إرشادات سهلة تعينك على إتمام التسجيل</p>\n <p>إذا استمرت المشاكل اتصل بمدير هذا الموقع</p>",
"core.login.emailconfirmsentsuccess": "تم إرسال رسالة التأكيد الإلكترونية بنجاح",
"core.login.enterthewordsabove": "أدخل الكلمات أعلاه",
"core.login.firsttime": "هل هذه هي المرة الأولى لك؟ الاشتراك من هنا",
"core.login.forcepasswordchangenotice": "يجب عليك تغير كلمة المرور ليتسنى لك الاستمرار",
"core.login.forgotten": "هل نسيت اسم الدخول أو كلمة المرور؟",
"core.login.getanothercaptcha": "احصل على كاباتشا أخرى",
"core.login.help": "مساعدة",
"core.login.helpmelogin": "<p>من أجل تسجيل الدخول، يرجى التحقق مما يلي:</p>\n١- إصدار موقع التعلم الإلكتروني مودل هو الإصدار ٢.٤ أو أعلى.<br />\n٢- قد مكن مسؤول موقع التعلم الإلكتروني مودل الوصول عبر تطبيق مودل.<br /><br />\n<p><a href='http://docs.moodle.org/en/Mobile_app' target='_blank'>لو لم تستطع الدخول من خلال موقع التعلم الإلكتروني مودل الخاص بك قم بالاتصال بمدير موقع التعلم الإلكتروني مودل الخاص بك وأطلب منه زيارة موقع وثائق موودل للحصول على معلومات أكثر تفصيلا والمساعدة.</a></p>\nلاختبار التطبيق باستخدام الموقع التجريبي لمودل ضع <b>student</b> أو <b>teacher</b> في حقل <b>عنوان الموقع</b> وانقر على زر <b>دخول</b>",
"core.login.instructions": "التعليمات",
Expand Down Expand Up @@ -1179,6 +1177,7 @@
"core.strftimetime": "%I:%M %p",
"core.submit": "سلم",
"core.success": "نجاح",
"core.tag.searchtags": "البحث في الوسوم",
"core.tag.tag": "علامة",
"core.tag.tags": "علامات",
"core.teachers": "معلمون",
Expand Down
3 changes: 1 addition & 2 deletions src/assets/lang/bg.json
Original file line number Diff line number Diff line change
Expand Up @@ -1127,11 +1127,9 @@
"core.login.createaccount": "Създаване на моята регистрация",
"core.login.createuserandpass": "Изберете Вашето име и парола",
"core.login.emailconfirmsent": "<p>Трябва вече да е изпратен имейл на вашия адрес <b>{{$a}}</b></p> <p>Той съдържа лесни инструкции как да завършите регистрацията си.</p> <p>Ако продължите да срещате трудности, се обърнете към администратора на сайта.</p>",
"core.login.enterthewordsabove": "Въведете думите, изобразени по-горе",
"core.login.firsttime": "За първи път ли сте тук?",
"core.login.forcepasswordchangenotice": "Трябва да промените Вашата парола, преди да продължите",
"core.login.forgotten": "Забравени потребителско име или парола?",
"core.login.getanothercaptcha": "Получаване на друга CAPTCHA",
"core.login.help": "Помощ",
"core.login.helpmelogin": "<p>Има много хиляди сайтове със система Moodle по света. Това приложение може да Ви свърже само със сайтове, които специално разрешават достъп с мобилно приложение.</p><p>Ако не можете да се свържете със своя сайт, трябва да се обърнете към администратор на Moodle системата на сайта, и да го помолите да прочете информацията от адрес: <a href=\"http://docs.moodle.org/en/Mobile_app\" target=\"_blank\">http://docs.moodle.org/en/Mobile_app</a></p><p>За да пробвате приложението с демонстрационен сайт, напишете <i>teacher</i> или <i>student</i> в полето <i>Адрес на сайта</i> и щракнете <b>Бутон за добавяне</b>.</p>",
"core.login.instructions": "Инструкции",
Expand Down Expand Up @@ -1323,6 +1321,7 @@
"core.strftimetime": "%H:%M",
"core.submit": "Изпълняване",
"core.success": "Успешно",
"core.tag.searchtags": "Търсене в етикети",
"core.tag.tags": "Етикети",
"core.teachers": "Преподаватели",
"core.thisdirection": "ltr",
Expand Down
Loading