Skip to content

Commit f4fdafe

Browse files
committed
MOBILE-3266 language: Fix some missing translations
1 parent dbac752 commit f4fdafe

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+577
-2112
lines changed

scripts/create_langindex.sh

Lines changed: 86 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ source "functions.sh"
33

44
#Saves or updates a key on langindex_old.json
55
function save_key {
6-
key=$1
7-
found=$2
6+
local key=$1
7+
local found=$2
88

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

1515
#Removes a key on langindex_old.json
1616
function remove_key {
17-
key=$1
18-
found=$2
17+
local key=$1
1918

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

2624
#Check if and i exists in php file
2725
function exists_in_file {
28-
file=$1
29-
id=$2
26+
local file=$1
27+
local id=$2
3028

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

4644
#Checks if a key exists on the original local_moodlemobileapp.php
4745
function exists_in_mobile {
48-
file='local_moodlemobileapp'
46+
local file='local_moodlemobileapp'
4947
exists_in_file $file $key
5048
}
5149

@@ -114,12 +112,12 @@ function find_single_matches {
114112

115113
#Tries to gues the file where the id will be found.
116114
function guess_file {
117-
key=$1
118-
value=$2
115+
local key=$1
116+
local value=$2
119117

120-
type=`echo $key | cut -d'.' -f1`
121-
component=`echo $key | cut -d'.' -f2`
122-
plainid=`echo $key | cut -d'.' -f3-`
118+
local type=`echo $key | cut -d'.' -f1`
119+
local component=`echo $key | cut -d'.' -f2`
120+
local plainid=`echo $key | cut -d'.' -f3-`
123121

124122
if [ -z "$plainid" ]; then
125123
plainid=$component
@@ -161,23 +159,52 @@ function guess_file {
161159
fi
162160
}
163161

162+
function current_translation_exists {
163+
local key=$1
164+
local current=$2
165+
local file=$3
166+
167+
plainid=`echo $key | cut -d'.' -f3-`
168+
169+
if [ -z "$plainid" ]; then
170+
plainid=`echo $key | cut -d'.' -f2`
171+
fi
172+
173+
local currentFile=`echo $current | cut -d'/' -f1`
174+
local currentStr=`echo $current | cut -d'/' -f2-`
175+
if [ $currentFile == $current ]; then
176+
currentStr=$plainid
177+
fi
178+
179+
exists_in_file $currentFile $currentStr
180+
if [ $found == 0 ]; then
181+
# Translation not found.
182+
exec="jq -r .\"$key\" $file"
183+
value=`$exec`
184+
185+
print_error "Translation of '$currentStr' not found in '$currentFile'"
186+
187+
guess_file $key "$value"
188+
fi
189+
}
190+
164191
#Finds if there's a better file where to get the id from.
165192
function find_better_file {
166-
key=$1
167-
value=$2
168-
current=$3
193+
local key=$1
194+
local value=$2
195+
local current=$3
169196

170-
type=`echo $key | cut -d'.' -f1`
171-
component=`echo $key | cut -d'.' -f2`
172-
plainid=`echo $key | cut -d'.' -f3-`
197+
local type=`echo $key | cut -d'.' -f1`
198+
local component=`echo $key | cut -d'.' -f2`
199+
local plainid=`echo $key | cut -d'.' -f3-`
173200

174201
if [ -z "$plainid" ]; then
175202
plainid=$component
176203
component='moodle'
177204
fi
178205

179-
currentFile=`echo $current | cut -d'/' -f1`
180-
currentStr=`echo $current | cut -d'/' -f2-`
206+
local currentFile=`echo $current | cut -d'/' -f1`
207+
local currentStr=`echo $current | cut -d'/' -f2-`
181208
if [ $currentFile == $current ]; then
182209
currentStr=$plainid
183210
fi
@@ -217,7 +244,7 @@ function find_better_file {
217244
fi
218245
}
219246

220-
#Parses the file.
247+
# Parses the file.
221248
function parse_file {
222249
findbetter=$2
223250
keys=`jq -r 'keys[]' $1`
@@ -226,12 +253,43 @@ function parse_file {
226253
exec="jq -r .\"$key\" langindex.json"
227254
found=`$exec`
228255

229-
exec="jq -r .\"$key\" $1"
230-
value=`$exec`
231256
if [ -z "$found" ] || [ "$found" == 'null' ]; then
257+
exec="jq -r .\"$key\" $1"
258+
value=`$exec`
232259
guess_file $key "$value"
233-
elif [ ! -z "$findbetter" ]; then
234-
find_better_file "$key" "$value" "$found"
260+
else
261+
if [ ! -z "$findbetter" ]; then
262+
exec="jq -r .\"$key\" $1"
263+
value=`$exec`
264+
find_better_file "$key" "$value" "$found"
265+
elif [ "$found" != 'local_moodlemobileapp' ]; then
266+
current_translation_exists "$key" "$found" "$1"
267+
fi
268+
fi
269+
done
270+
271+
# Do some cleanup
272+
langkeys=`jq -r 'keys[]' langindex.json`
273+
findkeys="${keys[@]}"
274+
for key in $langkeys; do
275+
# Check if already used.
276+
array_contains "$key" "$findkeys"
277+
278+
if [ -z "$found" ] || [ "$found" == 'null' ]; then
279+
remove_key $key
280+
fi
281+
done
282+
}
283+
284+
# Checks if an array contains an string.
285+
function array_contains {
286+
local hayjack=$2
287+
local needle=$1
288+
found=''
289+
for i in $hayjack; do
290+
if [ "$i" == "$needle" ] ; then
291+
found=$i
292+
return
235293
fi
236294
done
237295
}

scripts/lang_functions.php

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ function build_lang($lang, $keys) {
208208
// Apply translations.
209209
if (!$string) {
210210
if (TOTRANSLATE) {
211-
echo "\n\t\To translate $value->string on $value->file";
211+
echo "\n\t\tTo translate $value->string on $value->file";
212212
}
213213
continue;
214214
}
@@ -217,9 +217,12 @@ function build_lang($lang, $keys) {
217217
// Not yet translated. Do not override.
218218
if ($langFile && is_array($langFile) && isset($langFile[$key])) {
219219
$translations[$key] = $langFile[$key];
220-
$local++;
220+
221+
if ($value->file == 'local_moodlemobileapp') {
222+
$local++;
223+
}
221224
}
222-
if (TOTRANSLATE) {
225+
if (TOTRANSLATE && !isset($string[$value->string])) {
223226
echo "\n\t\tTo translate $value->string on $value->file";
224227
}
225228
continue;
@@ -265,7 +268,7 @@ function build_lang($lang, $keys) {
265268
}
266269

267270
function progressbar($percentage) {
268-
$done = $percentage/10;
271+
$done = floor($percentage/10);
269272
return "\t".str_repeat('=', $done) . str_repeat('-', 10-$done);
270273
}
271274

scripts/langindex.json

Lines changed: 10 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
"addon.block_activitymodules.pluginname": "block_activity_modules",
3030
"addon.block_badges.pluginname": "block_badges",
3131
"addon.block_blogmenu.pluginname": "block_blog_menu",
32-
"addon.block_blogrecent.nocourses": "block_blog_recent",
3332
"addon.block_blogrecent.pluginname": "block_blog_recent",
3433
"addon.block_blogtags.pluginname": "block_blog_tags",
3534
"addon.block_calendarmonth.pluginname": "block_calendar_month",
@@ -1355,7 +1354,6 @@
13551354
"core.comments.savecomment": "moodle",
13561355
"core.comments.warningcommentsnotsent": "local_moodlemobileapp",
13571356
"core.commentscount": "moodle",
1358-
"core.commentsnotworking": "local_moodlemobileapp",
13591357
"core.completion-alt-auto-fail": "completion",
13601358
"core.completion-alt-auto-n": "completion",
13611359
"core.completion-alt-auto-n-override": "completion",
@@ -1674,7 +1672,6 @@
16741672
"core.login.changepasswordinstructions": "local_moodlemobileapp",
16751673
"core.login.changepasswordlogoutinstructions": "local_moodlemobileapp",
16761674
"core.login.changepasswordreconnectinstructions": "local_moodlemobileapp",
1677-
"core.login.checksiteversion": "local_moodlemobileapp",
16781675
"core.login.confirmdeletesite": "local_moodlemobileapp",
16791676
"core.login.connect": "local_moodlemobileapp",
16801677
"core.login.connecttomoodle": "local_moodlemobileapp",
@@ -1689,15 +1686,13 @@
16891686
"core.login.emailconfirmsentnoemail": "local_moodlemobileapp",
16901687
"core.login.emailconfirmsentsuccess": "moodle",
16911688
"core.login.emailnotmatch": "local_moodlemobileapp",
1692-
"core.login.enterthewordsabove": "auth",
16931689
"core.login.erroraccesscontrolalloworigin": "local_moodlemobileapp",
16941690
"core.login.errordeletesite": "local_moodlemobileapp",
16951691
"core.login.errorupdatesite": "local_moodlemobileapp",
16961692
"core.login.findyoursite": "local_moodlemobileapp",
16971693
"core.login.firsttime": "moodle",
16981694
"core.login.forcepasswordchangenotice": "moodle",
16991695
"core.login.forgotten": "moodle",
1700-
"core.login.getanothercaptcha": "auth",
17011696
"core.login.help": "moodle",
17021697
"core.login.helpmelogin": "local_moodlemobileapp",
17031698
"core.login.instructions": "auth",
@@ -1710,9 +1705,6 @@
17101705
"core.login.invalidurl": "scorm",
17111706
"core.login.invalidvaluemax": "local_moodlemobileapp",
17121707
"core.login.invalidvaluemin": "local_moodlemobileapp",
1713-
"core.login.legacymoodleversion": "local_moodlemobileapp",
1714-
"core.login.legacymoodleversiondesktop": "local_moodlemobileapp",
1715-
"core.login.legacymoodleversiondesktopdownloadold": "local_moodlemobileapp",
17161708
"core.login.localmobileunexpectedresponse": "local_moodlemobileapp",
17171709
"core.login.loggedoutssodescription": "local_moodlemobileapp",
17181710
"core.login.login": "moodle",
@@ -2003,18 +1995,18 @@
20031995
"core.submit": "moodle",
20041996
"core.success": "moodle",
20051997
"core.tablet": "local_moodlemobileapp",
2006-
"core.tag.defautltagcoll": "moodle",
1998+
"core.tag.defautltagcoll": "tag",
20071999
"core.tag.errorareanotsupported": "local_moodlemobileapp",
2008-
"core.tag.inalltagcoll": "moodle",
2009-
"core.tag.itemstaggedwith": "moodle",
2010-
"core.tag.notagsfound": "moodle",
2011-
"core.tag.searchtags": "moodle",
2012-
"core.tag.showingfirsttags": "moodle",
2000+
"core.tag.inalltagcoll": "tag",
2001+
"core.tag.itemstaggedwith": "tag",
2002+
"core.tag.notagsfound": "tag",
2003+
"core.tag.searchtags": "tag",
2004+
"core.tag.showingfirsttags": "tag",
20132005
"core.tag.tag": "moodle",
2014-
"core.tag.tagarea_course": "moodle",
2015-
"core.tag.tagarea_course_modules": "moodle",
2016-
"core.tag.tagarea_post": "moodle",
2017-
"core.tag.tagarea_user": "moodle",
2006+
"core.tag.tagarea_course": "tag",
2007+
"core.tag.tagarea_course_modules": "tag",
2008+
"core.tag.tagarea_post": "tag",
2009+
"core.tag.tagarea_user": "tag",
20182010
"core.tag.tags": "moodle",
20192011
"core.tag.warningareasnotsupported": "local_moodlemobileapp",
20202012
"core.teachers": "moodle",

src/assets/lang/ar.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -977,11 +977,9 @@
977977
"core.login.credentialsdescription": "من فضلك قم بإدخال اسم المستخدم وكلمة المرور للدخول إلى",
978978
"core.login.emailconfirmsent": "<p>تم إرسال بريد إلى <b>{{$a}}</b></p>\n <p>والذي يحتوي على إرشادات سهلة تعينك على إتمام التسجيل</p>\n <p>إذا استمرت المشاكل اتصل بمدير هذا الموقع</p>",
979979
"core.login.emailconfirmsentsuccess": "تم إرسال رسالة التأكيد الإلكترونية بنجاح",
980-
"core.login.enterthewordsabove": "أدخل الكلمات أعلاه",
981980
"core.login.firsttime": "هل هذه هي المرة الأولى لك؟ الاشتراك من هنا",
982981
"core.login.forcepasswordchangenotice": "يجب عليك تغير كلمة المرور ليتسنى لك الاستمرار",
983982
"core.login.forgotten": "هل نسيت اسم الدخول أو كلمة المرور؟",
984-
"core.login.getanothercaptcha": "احصل على كاباتشا أخرى",
985983
"core.login.help": "مساعدة",
986984
"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>",
987985
"core.login.instructions": "التعليمات",
@@ -1179,6 +1177,7 @@
11791177
"core.strftimetime": "%I:%M %p",
11801178
"core.submit": "سلم",
11811179
"core.success": "نجاح",
1180+
"core.tag.searchtags": "البحث في الوسوم",
11821181
"core.tag.tag": "علامة",
11831182
"core.tag.tags": "علامات",
11841183
"core.teachers": "معلمون",

src/assets/lang/bg.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1127,11 +1127,9 @@
11271127
"core.login.createaccount": "Създаване на моята регистрация",
11281128
"core.login.createuserandpass": "Изберете Вашето име и парола",
11291129
"core.login.emailconfirmsent": "<p>Трябва вече да е изпратен имейл на вашия адрес <b>{{$a}}</b></p> <p>Той съдържа лесни инструкции как да завършите регистрацията си.</p> <p>Ако продължите да срещате трудности, се обърнете към администратора на сайта.</p>",
1130-
"core.login.enterthewordsabove": "Въведете думите, изобразени по-горе",
11311130
"core.login.firsttime": "За първи път ли сте тук?",
11321131
"core.login.forcepasswordchangenotice": "Трябва да промените Вашата парола, преди да продължите",
11331132
"core.login.forgotten": "Забравени потребителско име или парола?",
1134-
"core.login.getanothercaptcha": "Получаване на друга CAPTCHA",
11351133
"core.login.help": "Помощ",
11361134
"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>",
11371135
"core.login.instructions": "Инструкции",
@@ -1323,6 +1321,7 @@
13231321
"core.strftimetime": "%H:%M",
13241322
"core.submit": "Изпълняване",
13251323
"core.success": "Успешно",
1324+
"core.tag.searchtags": "Търсене в етикети",
13261325
"core.tag.tags": "Етикети",
13271326
"core.teachers": "Преподаватели",
13281327
"core.thisdirection": "ltr",

0 commit comments

Comments
 (0)