From b1ae3629fd5952c07b3416454d5601963401a9b9 Mon Sep 17 00:00:00 2001 From: Jay Date: Sun, 12 Jan 2020 11:33:08 -0800 Subject: [PATCH] Use of plural strings Which I've just learned this is a nightmare for translators --- .../data/backup/BackupRestoreService.kt | 2 +- .../data/library/LibraryUpdateService.kt | 3 ++- .../tachiyomi/extension/ExtensionUpdateJob.kt | 4 ++-- .../ui/setting/SettingsAdvancedController.kt | 2 +- app/src/main/res/values/strings.xml | 22 ++++++++++++++----- build.gradle | 6 +++-- 6 files changed, 27 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestoreService.kt b/app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestoreService.kt index f6631c31e9..9f951edafe 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestoreService.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestoreService.kt @@ -380,7 +380,7 @@ class BackupRestoreService : Service() { .toString(), errors.size.toString())) val sourceMissingCount = sourcesMissing.distinct().size if (sourceMissingCount > 0) - content.add(getString(R.string.sources_missing, sourceMissingCount)) + content.add(resources.getQuantityString(R.plurals.sources_missing, sourceMissingCount)) if (lincensedManga > 0) content.add(getString(R.string.x_licensed_manga, lincensedManga)) val trackingErrors = trackingErrors.distinct() diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt b/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt index 58041d69eb..5eca53c549 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt @@ -533,7 +533,8 @@ class LibraryUpdateService( setContentTitle(getString(R.string.notification_new_chapters)) color = ContextCompat.getColor(applicationContext, R.color.colorAccentLight) if (updates.size > 1) { - setContentText(getString(R.string.notification_new_chapters_text, updates.size)) + setContentText(resources.getQuantityText(R.plurals.notification_new_chapters_text, + updates.size)) setStyle(NotificationCompat.BigTextStyle().bigText(updates.joinToString("\n") { it.first.title.chop(45) })) diff --git a/app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionUpdateJob.kt b/app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionUpdateJob.kt index 49b0453824..149ea4c17c 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionUpdateJob.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionUpdateJob.kt @@ -33,8 +33,8 @@ class ExtensionUpdateJob : Job() { notify(Notifications.ID_UPDATES_TO_EXTS, context.notification(Notifications.CHANNEL_UPDATES_TO_EXTS) { setContentTitle( - context.getString( - R.string.update_check_notification_ext_updates, names.size + context.resources.getQuantityText( + R.plurals.update_check_notification_ext_updates, names.size ) ) val extNames = if (names.size > 5) { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt index f65bdf3ee7..71cfd8c515 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt @@ -96,7 +96,7 @@ class SettingsAdvancedController : SettingsController() { }, { activity?.toast(R.string.cache_delete_error) }, { - activity?.toast(resources?.getString(R.string.cache_deleted, deletedFiles)) + activity?.toast(resources?.getQuantityString(R.plurals.cache_deleted, deletedFiles)) findPreference(CLEAR_CACHE_KEY)?.summary = resources?.getString(R.string.used_cache, chapterCache.readableSize) }) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 93950dc2b4..4fe4d58d1f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -322,14 +322,20 @@ Restoring backup Restoring (%1$d/%2$d) Creating backup - Sources missing: %1$d + + %d source missing + %d sources missing + %1$d manga are now licensed and could not be restored Not logged into %1$s Clear chapter cache Used: %1$s - Cache cleared. %1$d files have been deleted + + Cache cleared. %d file has been deleted + Cache cleared. %d files have been deleted + An error occurred while clearing cache Clear cookies Cookies cleared @@ -538,8 +544,11 @@ Update progress: %1$d/%2$d New chapters found - For %1$d titles - and %1$d more. + + For %d titles + For %d titles + + and %1$d more chapters. Failed to update cover Please add the manga to your library before doing this Sync canceled @@ -568,7 +577,10 @@ Download complete Download error Update available - %1$d extension updates available + + %d extension update available + %d extension updates available + Backdrop image of manga diff --git a/build.gradle b/build.gradle index 65628f0881..dfa33112f6 100644 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,9 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. apply plugin: 'com.github.ben-manes.versions' -buildscript { +buildscript { + ext.kotlin_version = '1.3.61' + repositories { google() jcenter() @@ -13,7 +15,7 @@ buildscript { classpath 'com.google.gms:google-services:4.3.3' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files - } + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } allprojects {