Explorar o código

bugfix - calculate correct name age for ru-RU

MrOzOn %!s(int64=4) %!d(string=hai) anos
pai
achega
5ecb98e6f6

+ 9 - 1
feature_person/src/main/java/com/mrozon/feature_person/presentation/BindingUtils.kt

@@ -25,7 +25,15 @@ fun ImageView.setGender(item: Person) {
 @BindingAdapter("name_with_age")
 fun TextView.setNameAge(item: Person) {
     val age = getAge(item.born)
-    text = "${item.name} ($age y.o.)"
+    var yo = context.getString(R.string.yo)
+    when (age % 10) {
+        1 -> yo = context.getString(R.string.yo1)
+        2,3,4 -> yo = context.getString(R.string.yo234)
+    }
+    when (age % 100) {
+        11,12,13,14 -> yo = context.getString(R.string.yo)
+    }
+    text = "${item.name} ($age $yo)"
 }
 
 private fun getAge(born: Date): Int {

+ 3 - 0
feature_person/src/main/res/values-ru-rRU/strings.xml

@@ -17,4 +17,7 @@
     <string name="share_done">Готово</string>
     <string name="confirm_exit">Нажмите еще раз НАЗАД чтобы выйти</string>
     <string name="refresh">Обновить</string>
+    <string name="yo">лет</string>
+    <string name="yo1">год</string>
+    <string name="yo234">года</string>
 </resources>

+ 3 - 0
feature_person/src/main/res/values/strings.xml

@@ -17,4 +17,7 @@
     <string name="share_done">Done</string>
     <string name="confirm_exit">Please click BACK again to exit</string>
     <string name="refresh">Refresh</string>
+    <string name="yo">y.o.</string>
+    <string name="yo1">y.o.</string>
+    <string name="yo234">y.o.</string>
 </resources>