Skip to content

Commit ef777f3

Browse files
authored
Merge pull request #53 from t-regbs/internationalisation
Support More Languages
2 parents ed12577 + a616777 commit ef777f3

13 files changed

+596
-11
lines changed

app/src/main/java/com/timilehinaregbesola/mathalarm/presentation/alarmlist/components/ClearDialog.kt

+5-4
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package com.timilehinaregbesola.mathalarm.presentation.alarmlist.components
22

33
import androidx.compose.material3.*
44
import androidx.compose.runtime.Composable
5+
import cafe.adriel.lyricist.strings
56

67
@Composable
78
fun ClearDialog(
@@ -10,10 +11,10 @@ fun ClearDialog(
1011
onCloseDialog: () -> Unit,
1112
) {
1213
val arguments = DialogArguments(
13-
title = "Clear Alarms",
14-
text = "Are you sure you want to clear the alarms?",
15-
confirmText = "Yes",
16-
dismissText = "No",
14+
title = strings.clearAlarmDialogTitle,
15+
text = strings.clearAlarmDialogText,
16+
confirmText = strings.clearAlarmDialogConfirm,
17+
dismissText = strings.clearAlarmDialogCancel,
1718
onConfirmAction = {
1819
onClear()
1920
onCloseDialog()

app/src/main/java/com/timilehinaregbesola/mathalarm/presentation/alarmlist/components/EmptyScreen.kt

+2-1
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import androidx.compose.ui.res.painterResource
2626
import androidx.compose.ui.tooling.preview.Preview
2727
import androidx.compose.ui.unit.dp
2828
import androidx.compose.ui.unit.sp
29+
import cafe.adriel.lyricist.strings
2930
import com.timilehinaregbesola.mathalarm.R
3031
import com.timilehinaregbesola.mathalarm.presentation.alarmlist.components.EmptyScreen.EMPTY_IMAGE_END_PADDING
3132
import com.timilehinaregbesola.mathalarm.presentation.alarmlist.components.EmptyScreen.EMPTY_IMAGE_HEIGHT
@@ -87,7 +88,7 @@ fun AlarmEmptyScreen(
8788
modifier = Modifier
8889
.padding(top = EMPTY_TEXT_TOP_PADDING)
8990
.align(CenterHorizontally),
90-
text = "Nothing to see here",
91+
text = strings.nothingToSee,
9192
fontSize = EMPTY_TEXT_FONT_SIZE,
9293
)
9394
}

app/src/main/java/com/timilehinaregbesola/mathalarm/presentation/alarmlist/components/ListTopAppBar.kt

+2-1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import androidx.compose.ui.draw.shadow
1313
import androidx.compose.ui.tooling.preview.Preview
1414
import androidx.compose.ui.unit.dp
1515
import androidx.compose.ui.unit.sp
16+
import cafe.adriel.lyricist.strings
1617
import com.timilehinaregbesola.mathalarm.presentation.alarmlist.components.ListTopAppBar.APP_BAR_TITLE
1718
import com.timilehinaregbesola.mathalarm.presentation.alarmlist.components.ListTopAppBar.LIST_TITLE_FONT_SIZE
1819

@@ -26,7 +27,7 @@ fun ListTopAppBar(
2627
modifier = Modifier.shadow(elevation = APP_BAR_TITLE),
2728
title = {
2829
Row(modifier = Modifier.fillMaxWidth(), horizontalArrangement = Center) {
29-
Text(text = "Alarms", fontSize = LIST_TITLE_FONT_SIZE)
30+
Text(text = strings.alarms, fontSize = LIST_TITLE_FONT_SIZE)
3031
}
3132
},
3233
actions = {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
package com.timilehinaregbesola.mathalarm.utils.strings
2+
3+
import cafe.adriel.lyricist.LyricistStrings
4+
5+
@LyricistStrings(languageTag = Locales.BN)
6+
val BnMathAlarmStrings = Strings(
7+
multipleDays = "একাধিক দিন",
8+
greeting = { hour ->
9+
when {
10+
hour < 12 -> "সুপ্রভাত"
11+
hour in 12..17 -> "শুভ অপরাহ্ন"
12+
else -> "শুভ সন্ধ্যা"
13+
}
14+
},
15+
expand = "বিস্তৃত করুন",
16+
delete = "মুছে ফেলুন",
17+
edit = "সম্পাদনা করুন",
18+
collapse = "সংকুচিত করুন",
19+
noUpcomingAlarms = "কোনও আসন্ন অ্যালার্ম নেই",
20+
nextAlarmText = "পরবর্তী অ্যালার্ম",
21+
alarmSet = "অ্যালার্ম সেট হয়েছে",
22+
alarmPermissionDialogConfirm = "নিশ্চিত করুন",
23+
alarmPermissionDialogCancel = "বাতিল করুন",
24+
alarmPermissionDialogText = "এই অ্যাপকে অ্যালার্ম সেট করার অনুমতি প্রয়োজন।",
25+
alarmPermissionDialogTitle = "অনুমতি প্রয়োজন",
26+
clearAlarmDialogConfirm = "নিশ্চিত করুন",
27+
clearAlarmDialogCancel = "বাতিল করুন",
28+
clearAlarmDialogText = "আপনি কি সত্যিই এই অ্যালার্মটি মুছতে চান?",
29+
clearAlarmDialogTitle = "অ্যালার্ম মুছুন",
30+
emptyAlarmList = "খালি অ্যালার্ম তালিকা",
31+
nothingToSee = "এখানে দেখার কিছু নেই",
32+
alarms = "অ্যালার্ম",
33+
deleteAll = "সব মুছে ফেলুন",
34+
settings = "সেটিংস",
35+
toneUnavailable = "টোন উপলব্ধ নয়",
36+
clear = "পরিষ্কার করুন",
37+
snooze = "স্নুজ",
38+
enter = "প্রবেশ করুন",
39+
noRingtonePicker = "কোনও রিংটোন পিকার নেই",
40+
alarmTitle = "অ্যালার্ম শিরোনাম",
41+
goodDay = "শুভ দিন",
42+
defaultAlarmTone = "অ্যালার্ম টোন (ডিফল্ট)",
43+
disabledNotificationMessage = "এই অ্যাপের জন্য বিজ্ঞপ্তি অক্ষম করা হয়েছে।",
44+
disabledNotificationMessageExtended = "এই অ্যাপ্লিকেশনের বিজ্ঞপ্তি অক্ষম করা হয়েছে। অনুগ্রহ করে আপনার ডিভাইসের সেটিংসে যান এবং সেগুলি সক্ষম করুন।",
45+
ok = "ঠিক আছে",
46+
notificationPermissionDialogMessage = "এই অ্যাপটিকে বিজ্ঞপ্তি দেখানোর অনুমতি প্রয়োজন।",
47+
repeatWeekly = "সাপ্তাহিক পুনরাবৃত্তি",
48+
vibrate = "কম্পন",
49+
testAlarm = "পরীক্ষা অ্যালার্ম",
50+
save = "সংরক্ষণ করুন",
51+
easyMath = "সহজ গাণিতিক",
52+
mediumMath = "মাঝারি গাণিতিক",
53+
hardMath = "কঠিন গাণিতিক",
54+
selectHour = "ঘণ্টা নির্বাচন করুন",
55+
cancel = "বাতিল করুন",
56+
input = "ইনপুট",
57+
picker = "পিকার",
58+
system = "সিস্টেম",
59+
dark = "ডার্ক",
60+
light = "লাইট",
61+
appSettings = "অ্যাপ সেটিংস",
62+
back = "পিছনে",
63+
colorTheme = "রঙের থিম",
64+
help = "সাহায্য",
65+
sendFeedback = "প্রতিক্রিয়া পাঠান",
66+
sendFeedbackMessage = "ডেভেলপারকে প্রতিক্রিয়া পাঠান",
67+
supportEmail = "[email protected]",
68+
emailChooserTitle = "ইমেল পাঠান",
69+
defaultSendText = "ডিফল্ট অ্যালার্ম",
70+
shareMathAlarm = "গাণিতিক অ্যালার্ম শেয়ার করুন",
71+
shareWithOthers = "এই চমৎকার অ্যালার্ম অ্যাপটি দেখুন",
72+
share = "শেয়ার করুন",
73+
taskAlarmPermissionDialogText = "অ্যালার্ম কাজ করার জন্য, গাণিতিক অ্যালার্মকে অ্যালার্ম সেট করার অনুমতি প্রয়োজন। যদি এই অনুমতি না দেওয়া হয়, তবে বিদ্যমান অ্যালার্মও কাজ করবে না।",
74+
taskAlarmPermissionDialogCancel = "এখন নয়",
75+
taskAlarmPermissionDialogConfirm = "অনুমতি দিন",
76+
notification = "বিজ্ঞপ্তি",
77+
alert = "রিংটোন",
78+
grantPermission = "অনুমতি দিন",
79+
permissionsExternalStorageText = { tone ->
80+
"মনে হচ্ছে আমরা $tone চালাতে পারছি না, সম্ভবত একটি অনুমতির প্রয়োজন। যদি আপনি চান, আপনি অনুমতি দিতে পারেন। বিকল্পভাবে, একটি ভিন্ন শব্দ নির্বাচন করুন। এই সিদ্ধান্তটি সিস্টেম সেটিংসে পরিবর্তন করা যেতে পারে।"
81+
}
82+
)

app/src/main/java/com/timilehinaregbesola/mathalarm/utils/strings/DeMathAlarmStrings.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ val DeMathAlarmStrings = Strings(
2525
alarmPermissionDialogTitle = "Erforderliche Berechtigung",
2626
clearAlarmDialogConfirm = "Bestätigen",
2727
clearAlarmDialogCancel = "Stornieren",
28-
clearAlarmDialogText = "Möchten Sie diesen Alarm wirklich löschen?",
29-
clearAlarmDialogTitle = "Alarm löschen",
28+
clearAlarmDialogText = "Sind Sie sicher, dass Sie die Alarme löschen möchten?",
29+
clearAlarmDialogTitle = "Klare Alarme",
3030
emptyAlarmList = "Leere Alarmliste",
3131
nothingToSee = "Hier gibt es nichts zu sehen",
3232
alarms = "Alarme",

app/src/main/java/com/timilehinaregbesola/mathalarm/utils/strings/EnMathAlarmStrings.kt

+3-3
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ val EnMathAlarmStrings = Strings(
2525
alarmPermissionDialogTitle = "Permission Required",
2626
clearAlarmDialogConfirm = "Confirm",
2727
clearAlarmDialogCancel = "Cancel",
28-
clearAlarmDialogText = "Are you sure you want to clear this alarm?",
29-
clearAlarmDialogTitle = "Clear Alarm",
28+
clearAlarmDialogText = "Are you sure you want to clear the alarms?",
29+
clearAlarmDialogTitle = "Clear Alarms",
3030
emptyAlarmList = "Empty Alarm List",
3131
nothingToSee = "Nothing to see here",
3232
alarms = "Alarms",
@@ -70,7 +70,7 @@ val EnMathAlarmStrings = Strings(
7070
shareMathAlarm = "Share Math Alarm",
7171
shareWithOthers = "Check out this cool alarm app",
7272
share = "Share",
73-
taskAlarmPermissionDialogText = " In order for alarms to work, Math alarm needs the permission to set alarms. If this permission is not granted, the existing alarms will not work as well.",
73+
taskAlarmPermissionDialogText = "In order for alarms to work, Math alarm needs the permission to set alarms. If this permission is not granted, the existing alarms will not work as well.",
7474
taskAlarmPermissionDialogCancel = "Not now",
7575
taskAlarmPermissionDialogConfirm = "Grant",
7676
notification = "Notification",
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
package com.timilehinaregbesola.mathalarm.utils.strings
2+
3+
import cafe.adriel.lyricist.LyricistStrings
4+
5+
@LyricistStrings(languageTag = Locales.ES)
6+
val EsMathAlarmStrings = Strings(
7+
multipleDays = "Días múltiples",
8+
greeting = { hour ->
9+
when {
10+
hour < 12 -> "Buenos días"
11+
hour in 12..17 -> "Buenas tardes"
12+
else -> "Buenas noches"
13+
}
14+
},
15+
expand = "Expandir",
16+
delete = "Eliminar",
17+
edit = "Editar",
18+
collapse = "Colapsar",
19+
noUpcomingAlarms = "No hay alarmas próximas",
20+
nextAlarmText = "Próxima alarma en",
21+
alarmSet = "Alarma establecida para",
22+
alarmPermissionDialogConfirm = "Confirmar",
23+
alarmPermissionDialogCancel = "Cancelar",
24+
alarmPermissionDialogText = "Esta aplicación requiere permiso para establecer alarmas.",
25+
alarmPermissionDialogTitle = "Permiso requerido",
26+
clearAlarmDialogConfirm = "Confirmar",
27+
clearAlarmDialogCancel = "Cancelar",
28+
clearAlarmDialogText = "¿Estás seguro de que quieres borrar esta alarmas?",
29+
clearAlarmDialogTitle = "Borrar alarma",
30+
emptyAlarmList = "Lista de alarmas vacía",
31+
nothingToSee = "Nada que ver aquí",
32+
alarms = "Alarmas",
33+
deleteAll = "Eliminar todo",
34+
settings = "Ajustes",
35+
toneUnavailable = "Tono no disponible",
36+
clear = "Borrar",
37+
snooze = "Siesta",
38+
enter = "Entrar",
39+
noRingtonePicker = "Selector de tonos no disponible",
40+
alarmTitle = "Título de la alarma",
41+
goodDay = "Buen día",
42+
defaultAlarmTone = "Tono de alarma (predeterminado)",
43+
disabledNotificationMessage = "Las notificaciones están desactivadas para esta aplicación.",
44+
disabledNotificationMessageExtended = "Las notificaciones de esta aplicación están desactivadas. Por favor, vaya a la configuración de su dispositivo y actívelas.",
45+
ok = "OK",
46+
notificationPermissionDialogMessage = "Esta aplicación requiere permiso para mostrar notificaciones.",
47+
repeatWeekly = "Repetir semanalmente",
48+
vibrate = "Vibrar",
49+
testAlarm = "Probar alarma",
50+
save = "Guardar",
51+
easyMath = "Matemáticas fáciles",
52+
mediumMath = "Matemáticas medias",
53+
hardMath = "Matemáticas difíciles",
54+
selectHour = "Seleccionar hora",
55+
cancel = "Cancelar",
56+
input = "Entrada",
57+
picker = "Selector",
58+
system = "Sistema",
59+
dark = "Oscuro",
60+
light = "Claro",
61+
appSettings = "Ajustes de la aplicación",
62+
back = "Atrás",
63+
colorTheme = "Tema de color",
64+
alert = "Alerta",
65+
help = "Ayuda",
66+
sendFeedback = "Enviar comentarios",
67+
defaultSendText = "Alarma predeterminada",
68+
supportEmail = "[email protected]",
69+
emailChooserTitle = "Enviar correo electrónico",
70+
sendFeedbackMessage = "Envía comentarios al desarrollador",
71+
shareMathAlarm = "Compartir Math Alarm",
72+
shareWithOthers = "Echa un vistazo a esta genial aplicación de alarma",
73+
grantPermission = "Permitir",
74+
notification = "Notificación",
75+
permissionsExternalStorageText = { tone ->
76+
"Parece que no podemos reproducir $tone, probablemente porque se requiere permiso. Si lo deseas, puedes otorgar el permiso. Alternativamente, seleccione un sonido diferente. Esta decisión se puede cambiar en Configuración del sistema."
77+
},
78+
share = "Compartir",
79+
taskAlarmPermissionDialogText = "Para que las alarmas funcionen, Math Alarm necesita el permiso para establecer alarmas. Si no se concede este permiso, las alarmas existentes tampoco funcionarán.",
80+
taskAlarmPermissionDialogCancel = "Ahora no",
81+
taskAlarmPermissionDialogConfirm = "Conceder"
82+
)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
package com.timilehinaregbesola.mathalarm.utils.strings
2+
3+
import cafe.adriel.lyricist.LyricistStrings
4+
5+
@LyricistStrings(languageTag = Locales.HI)
6+
val HiMathAlarmStrings = Strings(
7+
multipleDays = "कई दिन",
8+
greeting = { hour ->
9+
when {
10+
hour < 12 -> "सुप्रभात"
11+
hour in 12..17 -> "शुभ अपराह्न"
12+
else -> "शुभ संध्या"
13+
}
14+
},
15+
expand = "विस्तार",
16+
delete = "हटाएं",
17+
edit = "संपादित करें",
18+
collapse = "संक्षेप करें",
19+
noUpcomingAlarms = "कोई आगामी अलार्म नहीं",
20+
nextAlarmText = "अगला अलार्म",
21+
alarmSet = "अलार्म सेट किया गया",
22+
alarmPermissionDialogConfirm = "पुष्टि करें",
23+
alarmPermissionDialogCancel = "रद्द करें",
24+
alarmPermissionDialogText = "इस ऐप को अलार्म सेट करने की अनुमति की आवश्यकता है।",
25+
alarmPermissionDialogTitle = "अनुमति आवश्यक",
26+
clearAlarmDialogConfirm = "पुष्टि करें",
27+
clearAlarmDialogCancel = "रद्द करें",
28+
clearAlarmDialogText = "क्या आप वाकई अलार्म साफ़ करना चाहते हैं?",
29+
clearAlarmDialogTitle = "अलार्म साफ़ करें",
30+
emptyAlarmList = "खाली अलार्म सूची",
31+
nothingToSee = "यहाँ कुछ नहीं है",
32+
alarms = "अलार्म",
33+
deleteAll = "सभी हटाएं",
34+
settings = "सेटिंग्स",
35+
toneUnavailable = "स्वर अनुपलब्ध",
36+
clear = "साफ़ करें",
37+
snooze = "स्नूज़",
38+
enter = "प्रवेश करें",
39+
noRingtonePicker = "कोई रिंगटोन पिकर नहीं",
40+
alarmTitle = "अलार्म शीर्षक",
41+
goodDay = "शुभ दिन",
42+
defaultAlarmTone = "अलार्म स्वर (डिफ़ॉल्ट)",
43+
disabledNotificationMessage = "इस ऐप के लिए सूचनाएँ अक्षम हैं।",
44+
disabledNotificationMessageExtended = "इस एप्लिकेशन की सूचनाएँ अक्षम हैं। कृपया अपने डिवाइस सेटिंग्स में जाएं और उन्हें सक्षम करें।",
45+
ok = "ठीक है",
46+
notificationPermissionDialogMessage = "इस ऐप को सूचनाएं दिखाने की अनुमति की आवश्यकता है।",
47+
repeatWeekly = "साप्ताहिक दोहराएं",
48+
vibrate = "कंपन",
49+
testAlarm = "परीक्षण अलार्म",
50+
save = "सहेजें",
51+
easyMath = "आसान गणित",
52+
mediumMath = "मध्यम गणित",
53+
hardMath = "कठिन गणित",
54+
selectHour = "घंटा चुनें",
55+
cancel = "रद्द करें",
56+
input = "इनपुट",
57+
picker = "पिकर",
58+
system = "सिस्टम",
59+
dark = "डार्क",
60+
light = "लाइट",
61+
appSettings = "ऐप सेटिंग्स",
62+
back = "वापस",
63+
colorTheme = "रंग थीम",
64+
help = "मदद",
65+
sendFeedback = "प्रतिक्रिया भेजें",
66+
sendFeedbackMessage = "डेवलपर को प्रतिक्रिया भेजें",
67+
supportEmail = "[email protected]",
68+
emailChooserTitle = "ईमेल भेजें",
69+
defaultSendText = "डिफ़ॉल्ट अलार्म",
70+
shareMathAlarm = "मैथ अलार्म साझा करें",
71+
shareWithOthers = "इस शानदार अलार्म ऐप को देखें",
72+
share = "साझा करें",
73+
taskAlarmPermissionDialogText = "अलार्म काम करने के लिए, मैथ अलार्म को अलार्म सेट करने की अनुमति की आवश्यकता है। यदि यह अनुमति नहीं दी गई है, तो मौजूदा अलार्म भी काम नहीं करेंगे।",
74+
taskAlarmPermissionDialogCancel = "अभी नहीं",
75+
taskAlarmPermissionDialogConfirm = "अनुमति दें",
76+
notification = "सूचना",
77+
alert = "रिंगटोन",
78+
grantPermission = "अनुमति दें",
79+
permissionsExternalStorageText = { tone ->
80+
"ऐसा लगता है कि हम $tone नहीं चला सकते, शायद क्योंकि अनुमति की आवश्यकता है। यदि आप चाहें तो अनुमति दे सकते हैं। वैकल्पिक रूप से, एक अलग ध्वनि चुनें। यह निर्णय सिस्टम सेटिंग्स में बदला जा सकता है।"
81+
}
82+
)

0 commit comments

Comments
 (0)