diff --git a/app/build.gradle.kts b/app/build.gradle.kts index df6a6534e..28fca6240 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -151,6 +151,9 @@ android { dependencies { implementation(projects.i18n) + // KMK --> + implementation(projects.i18nKmk) + // KMK <-- // SY --> implementation(projects.i18nSy) // SY <-- diff --git a/app/src/main/java/eu/kanade/presentation/browse/ExtensionDetailsScreen.kt b/app/src/main/java/eu/kanade/presentation/browse/ExtensionDetailsScreen.kt index 7da1cb216..f2209b328 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/ExtensionDetailsScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/ExtensionDetailsScreen.kt @@ -57,6 +57,7 @@ import eu.kanade.tachiyomi.util.system.copyToClipboard import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.persistentListOf import tachiyomi.i18n.MR +import tachiyomi.i18n.kmk.KMR import tachiyomi.i18n.sy.SYMR import tachiyomi.presentation.core.components.ScrollbarLazyColumn import tachiyomi.presentation.core.components.material.Scaffold @@ -107,7 +108,7 @@ fun ExtensionDetailsScreen( ) add( AppBar.Action( - title = stringResource(MR.strings.action_faq_and_guides), + title = stringResource(KMR.strings.action_faq_and_guides), icon = Icons.AutoMirrored.Outlined.HelpOutline, onClick = onClickReadme, ), @@ -190,7 +191,7 @@ private fun ExtensionDetails( // SY <-- if (extension.isUnofficial) { item { - WarningBanner(MR.strings.unofficial_extension_message) + WarningBanner(KMR.strings.unofficial_extension_message) } } if (extension.isObsolete) { diff --git a/app/src/main/java/eu/kanade/presentation/browse/ExtensionsScreen.kt b/app/src/main/java/eu/kanade/presentation/browse/ExtensionsScreen.kt index 9207a03d4..97a27112d 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/ExtensionsScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/ExtensionsScreen.kt @@ -57,6 +57,7 @@ import eu.kanade.tachiyomi.util.system.LocaleHelper import eu.kanade.tachiyomi.util.system.launchRequestPackageInstallsPermission import kotlinx.collections.immutable.persistentListOf import tachiyomi.i18n.MR +import tachiyomi.i18n.kmk.KMR import tachiyomi.i18n.sy.SYMR import tachiyomi.presentation.core.components.FastScrollLazyColumn import tachiyomi.presentation.core.components.material.PullRefresh @@ -360,7 +361,7 @@ private fun ExtensionItemContent( val warning = when { extension is Extension.Untrusted -> MR.strings.ext_untrusted - extension is Extension.Installed && extension.isUnofficial -> MR.strings.ext_unofficial + extension is Extension.Installed && extension.isUnofficial -> KMR.strings.ext_unofficial extension is Extension.Installed && extension.isObsolete -> MR.strings.ext_obsolete // SY --> extension is Extension.Installed && extension.isRedundant -> SYMR.strings.ext_redundant diff --git a/app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt b/app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt index 61fbb0d15..3af87accc 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt @@ -63,6 +63,7 @@ import kotlinx.collections.immutable.ImmutableList import tachiyomi.domain.source.model.Pin import tachiyomi.domain.source.model.Source import tachiyomi.i18n.MR +import tachiyomi.i18n.kmk.KMR import tachiyomi.i18n.sy.SYMR import tachiyomi.presentation.core.components.FastScrollLazyColumn import tachiyomi.presentation.core.components.LabeledCheckbox @@ -109,7 +110,7 @@ fun SourcesScreen( listState = lazyListState, searchQuery = state.searchQuery, onChangeSearchQuery = onChangeSearchQuery, - placeholderText = stringResource(MR.strings.action_source_search), + placeholderText = stringResource(KMR.strings.action_source_search), ) FastScrollLazyColumn( diff --git a/app/src/main/java/eu/kanade/presentation/browse/components/RelatedMangasComfortableGrid.kt b/app/src/main/java/eu/kanade/presentation/browse/components/RelatedMangasComfortableGrid.kt index 51b51a64a..f17ca3dc8 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/components/RelatedMangasComfortableGrid.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/components/RelatedMangasComfortableGrid.kt @@ -18,7 +18,7 @@ import eu.kanade.presentation.library.components.CommonMangaItemDefaults import eu.kanade.tachiyomi.ui.manga.RelatedManga import tachiyomi.domain.manga.model.Manga import tachiyomi.i18n.MR -import tachiyomi.i18n.sy.SYMR +import tachiyomi.i18n.kmk.KMR import tachiyomi.presentation.core.components.material.padding import tachiyomi.presentation.core.i18n.stringResource import tachiyomi.presentation.core.util.plus @@ -59,9 +59,9 @@ fun RelatedMangasComfortableGrid( header(key = "${related.keyword}#header") { RelatedMangaTitle( title = if (relatedManga.keyword.isNotBlank()) { - stringResource(SYMR.strings.related_mangas_more) + stringResource(KMR.strings.related_mangas_more) } else { - stringResource(SYMR.strings.pref_source_related_mangas) + stringResource(KMR.strings.pref_source_related_mangas) }, subtitle = null, onClick = { diff --git a/app/src/main/java/eu/kanade/presentation/browse/components/RelatedMangasCompactGrid.kt b/app/src/main/java/eu/kanade/presentation/browse/components/RelatedMangasCompactGrid.kt index 2dafbd8c3..89e1f25b2 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/components/RelatedMangasCompactGrid.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/components/RelatedMangasCompactGrid.kt @@ -18,7 +18,7 @@ import eu.kanade.presentation.library.components.CommonMangaItemDefaults import eu.kanade.tachiyomi.ui.manga.RelatedManga import tachiyomi.domain.manga.model.Manga import tachiyomi.i18n.MR -import tachiyomi.i18n.sy.SYMR +import tachiyomi.i18n.kmk.KMR import tachiyomi.presentation.core.components.material.padding import tachiyomi.presentation.core.i18n.stringResource import tachiyomi.presentation.core.util.plus @@ -59,9 +59,9 @@ fun RelatedMangasCompactGrid( header(key = "${related.keyword}#header") { RelatedMangaTitle( title = if (relatedManga.keyword.isNotBlank()) { - stringResource(SYMR.strings.related_mangas_more) + stringResource(KMR.strings.related_mangas_more) } else { - stringResource(SYMR.strings.pref_source_related_mangas) + stringResource(KMR.strings.pref_source_related_mangas) }, subtitle = null, onClick = { diff --git a/app/src/main/java/eu/kanade/presentation/browse/components/RelatedMangasList.kt b/app/src/main/java/eu/kanade/presentation/browse/components/RelatedMangasList.kt index 3c66629c5..9c105428a 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/components/RelatedMangasList.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/components/RelatedMangasList.kt @@ -15,7 +15,7 @@ import eu.kanade.presentation.browse.RelatedMangasLoadingItem import eu.kanade.tachiyomi.ui.manga.RelatedManga import tachiyomi.domain.manga.model.Manga import tachiyomi.i18n.MR -import tachiyomi.i18n.sy.SYMR +import tachiyomi.i18n.kmk.KMR import tachiyomi.presentation.core.components.material.padding import tachiyomi.presentation.core.i18n.stringResource @@ -54,9 +54,9 @@ fun RelatedMangasList( stickyHeader(key = "${related.keyword}#header") { RelatedMangaTitle( title = if (relatedManga.keyword.isNotBlank()) { - stringResource(SYMR.strings.related_mangas_more) + stringResource(KMR.strings.related_mangas_more) } else { - stringResource(SYMR.strings.pref_source_related_mangas) + stringResource(KMR.strings.pref_source_related_mangas) }, subtitle = null, onClick = { diff --git a/app/src/main/java/eu/kanade/presentation/manga/DuplicateMangaDialog.kt b/app/src/main/java/eu/kanade/presentation/manga/DuplicateMangaDialog.kt index eb9b1a547..35dd8840b 100644 --- a/app/src/main/java/eu/kanade/presentation/manga/DuplicateMangaDialog.kt +++ b/app/src/main/java/eu/kanade/presentation/manga/DuplicateMangaDialog.kt @@ -33,6 +33,7 @@ import eu.kanade.presentation.components.TabbedDialogPaddings import eu.kanade.presentation.more.settings.LocalPreferenceMinHeight import eu.kanade.presentation.more.settings.widget.TextPreferenceWidget import tachiyomi.i18n.MR +import tachiyomi.i18n.kmk.KMR import tachiyomi.presentation.core.i18n.stringResource @Composable @@ -162,7 +163,7 @@ fun DuplicateMangasDialog( }, Modifier.align(Alignment.CenterHorizontally), ) { - Text(text = stringResource(MR.strings.action_allow_duplicate_manga)) + Text(text = stringResource(KMR.strings.action_allow_duplicate_manga)) } TextButton( @@ -172,7 +173,7 @@ fun DuplicateMangasDialog( }, Modifier.align(Alignment.CenterHorizontally), ) { - Text(text = stringResource(MR.strings.action_allow_all_duplicate_manga)) + Text(text = stringResource(KMR.strings.action_allow_all_duplicate_manga)) } } @@ -184,7 +185,7 @@ fun DuplicateMangasDialog( }, Modifier.align(Alignment.CenterHorizontally), ) { - Text(text = stringResource(MR.strings.action_skip_duplicate_manga)) + Text(text = stringResource(KMR.strings.action_skip_duplicate_manga)) } TextButton( @@ -194,7 +195,7 @@ fun DuplicateMangasDialog( }, Modifier.align(Alignment.CenterHorizontally), ) { - Text(text = stringResource(MR.strings.action_skip_all_duplicate_manga)) + Text(text = stringResource(KMR.strings.action_skip_all_duplicate_manga)) } } diff --git a/app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt b/app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt index 076486241..48a9e093e 100644 --- a/app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt @@ -100,7 +100,7 @@ import tachiyomi.domain.library.service.LibraryPreferences import tachiyomi.domain.manga.model.Manga import tachiyomi.domain.source.model.StubSource import tachiyomi.i18n.MR -import tachiyomi.i18n.sy.SYMR +import tachiyomi.i18n.kmk.KMR import tachiyomi.presentation.core.components.TwoPanelBox import tachiyomi.presentation.core.components.VerticalFastScroller import tachiyomi.presentation.core.components.material.ExtendedFloatingActionButton @@ -584,7 +584,7 @@ private fun MangaScreenSmallImpl( ) { Column { RelatedMangaTitle( - title = stringResource(SYMR.strings.pref_source_related_mangas), + title = stringResource(KMR.strings.pref_source_related_mangas), subtitle = null, onClick = onRelatedMangasScreenClick, onLongClick = null, @@ -953,7 +953,7 @@ private fun MangaScreenLargeImpl( ) { Column { RelatedMangaTitle( - title = stringResource(SYMR.strings.pref_source_related_mangas), + title = stringResource(KMR.strings.pref_source_related_mangas), subtitle = null, onClick = onRelatedMangasScreenClick, onLongClick = null, diff --git a/app/src/main/java/eu/kanade/presentation/more/ComingUpdatesScreen.kt b/app/src/main/java/eu/kanade/presentation/more/ComingUpdatesScreen.kt index 2483475b6..b5c7eb76f 100644 --- a/app/src/main/java/eu/kanade/presentation/more/ComingUpdatesScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/ComingUpdatesScreen.kt @@ -21,6 +21,7 @@ import com.halilibo.richtext.ui.material3.RichText import com.halilibo.richtext.ui.string.RichTextStringStyle import eu.kanade.presentation.theme.TachiyomiPreviewTheme import tachiyomi.i18n.MR +import tachiyomi.i18n.kmk.KMR import tachiyomi.i18n.sy.SYMR import tachiyomi.presentation.core.components.material.padding import tachiyomi.presentation.core.i18n.stringResource @@ -36,9 +37,9 @@ fun ComingUpdatesScreen( ) { InfoScreen( icon = Icons.Outlined.NewReleases, - headingText = stringResource(MR.strings.update_check_notification_preview_available), + headingText = stringResource(KMR.strings.update_check_notification_preview_available), subtitleText = stringResource(SYMR.strings.latest_, versionName), - acceptText = stringResource(MR.strings.update_check_try_now), + acceptText = stringResource(KMR.strings.update_check_try_now), onAcceptClick = onAcceptUpdate, rejectText = stringResource(MR.strings.action_not_now), onRejectClick = onRejectUpdate, diff --git a/app/src/main/java/eu/kanade/presentation/more/WhatsNewScreen.kt b/app/src/main/java/eu/kanade/presentation/more/WhatsNewScreen.kt index 7c03300fb..34bd08710 100644 --- a/app/src/main/java/eu/kanade/presentation/more/WhatsNewScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/WhatsNewScreen.kt @@ -21,6 +21,7 @@ import com.halilibo.richtext.ui.material3.RichText import com.halilibo.richtext.ui.string.RichTextStringStyle import eu.kanade.presentation.theme.TachiyomiPreviewTheme import tachiyomi.i18n.MR +import tachiyomi.i18n.kmk.KMR import tachiyomi.i18n.sy.SYMR import tachiyomi.presentation.core.components.material.padding import tachiyomi.presentation.core.i18n.stringResource @@ -38,7 +39,7 @@ fun WhatsNewScreen( icon = Icons.Outlined.NewReleases, headingText = stringResource(MR.strings.whats_new), subtitleText = stringResource(SYMR.strings.latest_, versionName) + - " - " + stringResource(SYMR.strings.current_, currentVersion), + " - " + stringResource(KMR.strings.current_, currentVersion), acceptText = stringResource(MR.strings.action_ok), onAcceptClick = onAcceptUpdate, ) { diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt index 0ba4705dc..4204e6900 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt @@ -3,7 +3,6 @@ package eu.kanade.presentation.more.settings.screen import android.annotation.SuppressLint import android.content.ActivityNotFoundException import android.content.Intent -import android.os.Build import android.provider.Settings import android.webkit.WebStorage import android.webkit.WebView @@ -91,6 +90,7 @@ import tachiyomi.domain.manga.interactor.GetAllManga import tachiyomi.domain.manga.interactor.ResetViewerFlags import tachiyomi.domain.source.service.SourceManager import tachiyomi.i18n.MR +import tachiyomi.i18n.kmk.KMR import tachiyomi.i18n.sy.SYMR import tachiyomi.presentation.core.components.LabeledCheckbox import tachiyomi.presentation.core.i18n.stringResource @@ -221,11 +221,11 @@ object SettingsAdvancedScreen : SearchableSettings { ), // KMK --> Preference.PreferenceItem.TextPreference( - title = stringResource(MR.strings.pref_clean_invalid_downloads), - subtitle = stringResource(MR.strings.pref_clean_invalid_downloads_summary), + title = stringResource(KMR.strings.pref_clean_invalid_downloads), + subtitle = stringResource(KMR.strings.pref_clean_invalid_downloads_summary), onClick = { Injekt.get().invalidateCache() - context.toast(MR.strings.invalid_downloads_cleaned) + context.toast(KMR.strings.invalid_downloads_cleaned) }, ), // KMK <-- @@ -451,7 +451,7 @@ object SettingsAdvancedScreen : SearchableSettings { } }, ), - Preference.PreferenceItem.InfoPreference(stringResource(MR.strings.pref_private_installer_warning)), + Preference.PreferenceItem.InfoPreference(stringResource(KMR.strings.pref_private_installer_warning)), Preference.PreferenceItem.TextPreference( title = stringResource(MR.strings.ext_revoke_trust), onClick = { diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAppearanceScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAppearanceScreen.kt index aef9beeb3..4866cfae9 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAppearanceScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAppearanceScreen.kt @@ -25,6 +25,7 @@ import eu.kanade.tachiyomi.util.system.toast import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.toImmutableMap import tachiyomi.i18n.MR +import tachiyomi.i18n.kmk.KMR import tachiyomi.i18n.sy.SYMR import tachiyomi.presentation.core.i18n.pluralStringResource import tachiyomi.presentation.core.i18n.stringResource @@ -113,15 +114,15 @@ object SettingsAppearanceScreen : SearchableSettings { Injekt.get().detailsPageThemeCoverBased().asState(scope) } return Preference.PreferenceGroup( - title = stringResource(MR.strings.pref_details_page_theme), + title = stringResource(KMR.strings.pref_details_page_theme), preferenceItems = persistentListOf( Preference.PreferenceItem.SwitchPreference( pref = uiPreferences.detailsPageThemeCoverBased(), - title = stringResource(MR.strings.pref_details_page_theme_cover_based), + title = stringResource(KMR.strings.pref_details_page_theme_cover_based), ), Preference.PreferenceItem.ListPreference( pref = uiPreferences.themeCoverBasedStyle(), - title = stringResource(MR.strings.pref_theme_cover_based_style), + title = stringResource(KMR.strings.pref_theme_cover_based_style), enabled = detailsPageThemeCoverBased, entries = PaletteStyle.entries .associateWith { it.name } @@ -129,7 +130,7 @@ object SettingsAppearanceScreen : SearchableSettings { ), Preference.PreferenceItem.SwitchPreference( pref = uiPreferences.themeCoverBasedAnimate(), - title = stringResource(MR.strings.pref_theme_cover_based_animate), + title = stringResource(KMR.strings.pref_theme_cover_based_animate), enabled = detailsPageThemeCoverBased, ), ), diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsBrowseScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsBrowseScreen.kt index c97e147aa..8bd2c6a26 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsBrowseScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsBrowseScreen.kt @@ -22,6 +22,7 @@ import mihon.domain.extensionrepo.interactor.GetExtensionRepoCount import tachiyomi.core.common.i18n.stringResource import tachiyomi.domain.UnsortedPreferences import tachiyomi.i18n.MR +import tachiyomi.i18n.kmk.KMR import tachiyomi.i18n.sy.SYMR import tachiyomi.presentation.core.i18n.pluralStringResource import tachiyomi.presentation.core.i18n.stringResource @@ -59,8 +60,8 @@ object SettingsBrowseScreen : SearchableSettings { // KMK --> Preference.PreferenceItem.SwitchPreference( pref = sourcePreferences.relatedMangas(), - title = stringResource(SYMR.strings.pref_source_related_mangas), - subtitle = stringResource(SYMR.strings.pref_source_related_mangas_summary), + title = stringResource(KMR.strings.pref_source_related_mangas), + subtitle = stringResource(KMR.strings.pref_source_related_mangas_summary), ), // KMK <-- kotlin.run { diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsDownloadScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsDownloadScreen.kt index 98eaf84de..18919604c 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsDownloadScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsDownloadScreen.kt @@ -20,6 +20,7 @@ import tachiyomi.domain.category.interactor.GetCategories import tachiyomi.domain.category.model.Category import tachiyomi.domain.download.service.DownloadPreferences import tachiyomi.i18n.MR +import tachiyomi.i18n.kmk.KMR import tachiyomi.presentation.core.i18n.pluralStringResource import tachiyomi.presentation.core.i18n.stringResource import tachiyomi.presentation.core.util.collectAsState @@ -200,21 +201,21 @@ object SettingsDownloadScreen : SearchableSettings { downloadPreferences: DownloadPreferences, ): Preference.PreferenceGroup { return Preference.PreferenceGroup( - title = stringResource(MR.strings.download_cache_renew_interval), + title = stringResource(KMR.strings.download_cache_renew_interval), preferenceItems = persistentListOf( Preference.PreferenceItem.ListPreference( pref = downloadPreferences.downloadCacheRenewInterval(), - title = stringResource(MR.strings.download_cache_renew_interval), + title = stringResource(KMR.strings.download_cache_renew_interval), entries = persistentMapOf( - -1 to stringResource(MR.strings.download_cache_renew_interval_manual), - 1 to stringResource(MR.strings.download_cache_renew_interval_1hour), - 2 to stringResource(MR.strings.download_cache_renew_interval_2hour), - 6 to stringResource(MR.strings.download_cache_renew_interval_6hour), - 12 to stringResource(MR.strings.download_cache_renew_interval_12hour), - 24 to stringResource(MR.strings.download_cache_renew_interval_24hour), + -1 to stringResource(KMR.strings.download_cache_renew_interval_manual), + 1 to stringResource(KMR.strings.download_cache_renew_interval_1hour), + 2 to stringResource(KMR.strings.download_cache_renew_interval_2hour), + 6 to stringResource(KMR.strings.download_cache_renew_interval_6hour), + 12 to stringResource(KMR.strings.download_cache_renew_interval_12hour), + 24 to stringResource(KMR.strings.download_cache_renew_interval_24hour), ), ), - Preference.PreferenceItem.InfoPreference(stringResource(MR.strings.download_cache_renew_interval_info)), + Preference.PreferenceItem.InfoPreference(stringResource(KMR.strings.download_cache_renew_interval_info)), ), ) } diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsTrackingScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsTrackingScreen.kt index 6ee83c59d..52911cd5a 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsTrackingScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsTrackingScreen.kt @@ -57,6 +57,7 @@ import tachiyomi.core.common.util.lang.launchIO import tachiyomi.core.common.util.lang.withUIContext import tachiyomi.domain.source.service.SourceManager import tachiyomi.i18n.MR +import tachiyomi.i18n.kmk.KMR import tachiyomi.presentation.core.components.material.padding import tachiyomi.presentation.core.i18n.stringResource import uy.kohesive.injekt.Injekt @@ -127,11 +128,11 @@ object SettingsTrackingScreen : SearchableSettings { ), Preference.PreferenceItem.SwitchPreference( pref = trackPreferences.updateTrackMarkedRead(), - title = stringResource(MR.strings.pref_update_tracking_marked_read), + title = stringResource(KMR.strings.pref_update_tracking_marked_read), ), Preference.PreferenceItem.SwitchPreference( pref = trackPreferences.autoSyncReadChapters(), - title = stringResource(MR.strings.pref_auto_sync_read_chapters), + title = stringResource(KMR.strings.pref_auto_sync_read_chapters), ), Preference.PreferenceGroup( title = stringResource(MR.strings.services), diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/about/AboutScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/about/AboutScreen.kt index 92313eafb..7fa61b8ef 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/about/AboutScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/about/AboutScreen.kt @@ -44,6 +44,7 @@ import tachiyomi.core.common.util.lang.withUIContext import tachiyomi.core.common.util.system.logcat import tachiyomi.domain.release.interactor.GetApplicationRelease import tachiyomi.i18n.MR +import tachiyomi.i18n.kmk.KMR import tachiyomi.presentation.core.components.LinkIcon import tachiyomi.presentation.core.components.ScrollbarLazyColumn import tachiyomi.presentation.core.components.material.Scaffold @@ -185,7 +186,7 @@ object AboutScreen : Screen() { if (isReleaseBuildType || isDevFlavor) { item { TextPreferenceWidget( - title = stringResource(MR.strings.whats_coming), + title = stringResource(KMR.strings.whats_coming), widget = { AnimatedVisibility(visible = isCheckingWhatsComing) { CircularProgressIndicator( diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/about/WhatsNewDialog.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/about/WhatsNewDialog.kt index 8e03e99c6..e3e4fa07b 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/about/WhatsNewDialog.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/about/WhatsNewDialog.kt @@ -34,6 +34,7 @@ import nl.adaptivity.xmlutil.serialization.XmlSerialName import nl.adaptivity.xmlutil.serialization.XmlValue import tachiyomi.core.common.util.lang.withIOContext import tachiyomi.i18n.MR +import tachiyomi.i18n.kmk.KMR import tachiyomi.i18n.sy.SYMR import tachiyomi.presentation.core.components.material.padding import tachiyomi.presentation.core.i18n.stringResource @@ -51,7 +52,7 @@ fun WhatsNewDialog(onDismissRequest: () -> Unit) { title = { Text(text = stringResource(MR.strings.updated_version, BuildConfig.VERSION_NAME)) }, dismissButton = { TextButton(onClick = { context.openInBrowser(RELEASE_URL) }) { - Text(text = stringResource(SYMR.strings.changelogs)) + Text(text = stringResource(KMR.strings.changelogs)) } }, text = { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/BulkFavoriteScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/BulkFavoriteScreenModel.kt index a043b936d..1b6e53d4c 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/BulkFavoriteScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/BulkFavoriteScreenModel.kt @@ -50,7 +50,7 @@ import tachiyomi.domain.manga.interactor.GetDuplicateLibraryManga import tachiyomi.domain.manga.model.Manga import tachiyomi.domain.manga.model.toMangaUpdate import tachiyomi.domain.source.service.SourceManager -import tachiyomi.i18n.MR +import tachiyomi.i18n.kmk.KMR import tachiyomi.presentation.core.i18n.stringResource import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get @@ -493,7 +493,7 @@ fun AllowDuplicateDialog(bulkFavoriteScreenModel: BulkFavoriteScreenModel) { @Composable fun bulkSelectionButton(toggleSelectionMode: () -> Unit) = AppBar.Action( - title = stringResource(MR.strings.action_bulk_select), + title = stringResource(KMR.strings.action_bulk_select), icon = Icons.Outlined.Checklist, onClick = toggleSelectionMode, ) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionsTab.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionsTab.kt index 71b66837e..02f010f72 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionsTab.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionsTab.kt @@ -18,6 +18,7 @@ import eu.kanade.tachiyomi.ui.browse.extension.details.ExtensionDetailsScreen import eu.kanade.tachiyomi.ui.webview.WebViewScreen import kotlinx.collections.immutable.persistentListOf import tachiyomi.i18n.MR +import tachiyomi.i18n.kmk.KMR import tachiyomi.presentation.core.i18n.stringResource @Composable @@ -34,7 +35,7 @@ fun extensionsTab( actions = persistentListOf( // KMK --> AppBar.Action( - title = stringResource(MR.strings.action_toggle_nsfw_only), + title = stringResource(KMR.strings.action_toggle_nsfw_only), icon = Icons.Outlined._18UpRating, iconTint = if (state.nsfwOnly) MaterialTheme.colorScheme.error else LocalContentColor.current, onClick = { extensionsScreenModel.toggleNsfwOnly() }, diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/feed/FeedTab.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/feed/FeedTab.kt index b959e9b5a..9d4dee6da 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/feed/FeedTab.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/feed/FeedTab.kt @@ -33,6 +33,7 @@ import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.launch import tachiyomi.domain.source.interactor.GetRemoteManga import tachiyomi.i18n.MR +import tachiyomi.i18n.kmk.KMR import tachiyomi.i18n.sy.SYMR import tachiyomi.presentation.core.i18n.stringResource @@ -196,7 +197,7 @@ fun feedTab( // KMK <-- val internalErrString = stringResource(MR.strings.internal_error) - val tooManyFeedsString = stringResource(SYMR.strings.too_many_in_feed) + val tooManyFeedsString = stringResource(KMR.strings.too_many_in_feed) LaunchedEffect(Unit) { screenModel.events.collectLatest { event -> when (event) { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesTab.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesTab.kt index ded1288cd..aab810296 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesTab.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesTab.kt @@ -31,6 +31,7 @@ import kotlinx.collections.immutable.persistentListOf import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.launch import tachiyomi.i18n.MR +import tachiyomi.i18n.kmk.KMR import tachiyomi.i18n.sy.SYMR import tachiyomi.presentation.core.i18n.stringResource @@ -57,7 +58,7 @@ fun Screen.sourcesTab( ), // KMK --> AppBar.Action( - title = stringResource(MR.strings.action_toggle_nsfw_only), + title = stringResource(KMR.strings.action_toggle_nsfw_only), icon = Icons.Outlined._18UpRating, iconTint = if (state.nsfwOnly) MaterialTheme.colorScheme.error else LocalContentColor.current, onClick = { screenModel.toggleNsfwOnly() }, @@ -74,7 +75,7 @@ fun Screen.sourcesTab( persistentListOf( // KMK --> AppBar.Action( - title = stringResource(MR.strings.action_toggle_nsfw_only), + title = stringResource(KMR.strings.action_toggle_nsfw_only), icon = Icons.Outlined._18UpRating, iconTint = if (state.nsfwOnly) MaterialTheme.colorScheme.error else LocalContentColor.current, onClick = { screenModel.toggleNsfwOnly() }, diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/feed/SourceFeedScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/feed/SourceFeedScreenModel.kt index 32eeded6d..bca62fe82 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/feed/SourceFeedScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/feed/SourceFeedScreenModel.kt @@ -50,6 +50,7 @@ import tachiyomi.domain.source.model.EXHSavedSearch import tachiyomi.domain.source.model.FeedSavedSearch import tachiyomi.domain.source.model.SavedSearch import tachiyomi.domain.source.service.SourceManager +import tachiyomi.i18n.kmk.KMR import tachiyomi.i18n.sy.SYMR import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get @@ -272,7 +273,7 @@ open class SourceFeedScreenModel( screenModelScope.launchIO { if (hasTooManyFeeds()) { withUIContext { - onToast(SYMR.strings.too_many_in_feed) + onToast(KMR.strings.too_many_in_feed) } return@launchIO } diff --git a/core/common/build.gradle.kts b/core/common/build.gradle.kts index e9a600a4e..d11255a19 100644 --- a/core/common/build.gradle.kts +++ b/core/common/build.gradle.kts @@ -19,6 +19,9 @@ android { dependencies { implementation(projects.i18n) + // KMK --> + implementation(projects.i18nKmk) + // KMK <-- // SY --> implementation(projects.i18nSy) // SY <-- diff --git a/i18n-kmk/build.gradle.kts b/i18n-kmk/build.gradle.kts new file mode 100644 index 000000000..854fa4a74 --- /dev/null +++ b/i18n-kmk/build.gradle.kts @@ -0,0 +1,48 @@ +plugins { + id("mihon.library") + id("dev.icerock.mobile.multiplatform-resources") + kotlin("multiplatform") + id("com.github.ben-manes.versions") +} + +kotlin { + androidTarget() + + applyDefaultHierarchyTemplate() + + sourceSets { + val commonMain by getting { + dependencies { + api(libs.moko.core) + } + } + androidMain { + dependsOn(commonMain) // https://github.com/icerockdev/moko-resources/issues/562 + } + } +} + +android { + namespace = "tachiyomi.i18n.kmk" + + sourceSets { + named("main") { + res.srcDir("src/commonMain/resources") + } + } + + lint { + disable.addAll(listOf("MissingTranslation", "ExtraTranslation")) + } +} + +multiplatformResources { + multiplatformResourcesClassName = "KMR" + multiplatformResourcesPackage = "tachiyomi.i18n.kmk" +} + +tasks.withType { + kotlinOptions.freeCompilerArgs += listOf( + "-Xexpect-actual-classes", + ) +} diff --git a/i18n-kmk/src/commonMain/resources/MR/base/plurals.xml b/i18n-kmk/src/commonMain/resources/MR/base/plurals.xml new file mode 100644 index 000000000..55344e519 --- /dev/null +++ b/i18n-kmk/src/commonMain/resources/MR/base/plurals.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/i18n-kmk/src/commonMain/resources/MR/base/strings.xml b/i18n-kmk/src/commonMain/resources/MR/base/strings.xml new file mode 100644 index 000000000..fc1ab18de --- /dev/null +++ b/i18n-kmk/src/commonMain/resources/MR/base/strings.xml @@ -0,0 +1,70 @@ + + + + Search for source + Toggle NSFW only + Bulk selection mode + FAQ and Guides + + + + Details page + Details page theme based on cover + Theme style + Theme animate + + + Unofficial + This extension is not from the official repo. + + + + Download cache renew interval + Manual + 1 hour + 2 hours + 6 hours + 12 hours + 1 day + If set to "manual", either refresh each manga or using the "Invalidate downloads index" action in "Advanced" + + + Update progress when marked as read + Auto sync read chapters from Trackers + + + + Clean invalid downloads + Find and remove all downloads, files, folders which are not saved in your library + Invalid downloads cleaned + Avoid using Private Installer because it\'s not stable yet, will lead to really slow start/resume App. + + + What\'s coming (soon) + + + Allow it + Skip it + Allow all + Skip all + + + Try now + + + Coming (soon) updates! + + + Change Logs + + + Related titles + Show related titles while viewing entry + More like these... + + + Too many sources in your feed, cannot add more than limited (20) + + + Current: %1$s + diff --git a/i18n-kmk/src/commonMain/resources/MR/fr/plurals.xml b/i18n-kmk/src/commonMain/resources/MR/fr/plurals.xml new file mode 100644 index 000000000..55344e519 --- /dev/null +++ b/i18n-kmk/src/commonMain/resources/MR/fr/plurals.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/i18n-kmk/src/commonMain/resources/MR/fr/strings.xml b/i18n-kmk/src/commonMain/resources/MR/fr/strings.xml new file mode 100644 index 000000000..55344e519 --- /dev/null +++ b/i18n-kmk/src/commonMain/resources/MR/fr/strings.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/i18n-kmk/src/commonMain/resources/MR/in/plurals.xml b/i18n-kmk/src/commonMain/resources/MR/in/plurals.xml new file mode 100644 index 000000000..55344e519 --- /dev/null +++ b/i18n-kmk/src/commonMain/resources/MR/in/plurals.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/i18n-kmk/src/commonMain/resources/MR/in/strings.xml b/i18n-kmk/src/commonMain/resources/MR/in/strings.xml new file mode 100644 index 000000000..55344e519 --- /dev/null +++ b/i18n-kmk/src/commonMain/resources/MR/in/strings.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/i18n-kmk/src/commonMain/resources/MR/pt-rBR/plurals.xml b/i18n-kmk/src/commonMain/resources/MR/pt-rBR/plurals.xml new file mode 100644 index 000000000..55344e519 --- /dev/null +++ b/i18n-kmk/src/commonMain/resources/MR/pt-rBR/plurals.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/i18n-kmk/src/commonMain/resources/MR/pt-rBR/strings.xml b/i18n-kmk/src/commonMain/resources/MR/pt-rBR/strings.xml new file mode 100644 index 000000000..55344e519 --- /dev/null +++ b/i18n-kmk/src/commonMain/resources/MR/pt-rBR/strings.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/i18n-kmk/src/commonMain/resources/MR/ru/plurals.xml b/i18n-kmk/src/commonMain/resources/MR/ru/plurals.xml new file mode 100644 index 000000000..55344e519 --- /dev/null +++ b/i18n-kmk/src/commonMain/resources/MR/ru/plurals.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/i18n-kmk/src/commonMain/resources/MR/ru/strings.xml b/i18n-kmk/src/commonMain/resources/MR/ru/strings.xml new file mode 100644 index 000000000..55344e519 --- /dev/null +++ b/i18n-kmk/src/commonMain/resources/MR/ru/strings.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/i18n-kmk/src/commonMain/resources/MR/zh-rCN/plurals.xml b/i18n-kmk/src/commonMain/resources/MR/zh-rCN/plurals.xml new file mode 100644 index 000000000..55344e519 --- /dev/null +++ b/i18n-kmk/src/commonMain/resources/MR/zh-rCN/plurals.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/i18n-kmk/src/commonMain/resources/MR/zh-rCN/strings.xml b/i18n-kmk/src/commonMain/resources/MR/zh-rCN/strings.xml new file mode 100644 index 000000000..55344e519 --- /dev/null +++ b/i18n-kmk/src/commonMain/resources/MR/zh-rCN/strings.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/i18n-kmk/src/commonMain/resources/MR/zh-rTW/plurals.xml b/i18n-kmk/src/commonMain/resources/MR/zh-rTW/plurals.xml new file mode 100644 index 000000000..81fcead2f --- /dev/null +++ b/i18n-kmk/src/commonMain/resources/MR/zh-rTW/plurals.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/i18n-kmk/src/commonMain/resources/MR/zh-rTW/strings.xml b/i18n-kmk/src/commonMain/resources/MR/zh-rTW/strings.xml new file mode 100644 index 000000000..81fcead2f --- /dev/null +++ b/i18n-kmk/src/commonMain/resources/MR/zh-rTW/strings.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/i18n-sy/src/commonMain/resources/MR/base/strings.xml b/i18n-sy/src/commonMain/resources/MR/base/strings.xml index a5136d87d..435149755 100644 --- a/i18n-sy/src/commonMain/resources/MR/base/strings.xml +++ b/i18n-sy/src/commonMain/resources/MR/base/strings.xml @@ -28,7 +28,6 @@ Version %1$s - Change Logs E-Hentai Website Account Settings @@ -202,9 +201,6 @@ Replace latest button with a custom browse view that includes both latest and browse Local source hidden folders Allow local source to read hidden folders - Related titles - Show related titles while viewing entry - More like these... Custom entry info @@ -434,7 +430,6 @@ Feed Delete feed item? - Too many sources in your feed, cannot add more than limited You don\'t have any sources in your feed, navigate to the top right to add one Add %1$s to feed? @@ -466,7 +461,6 @@ Skip this step next time Hide not found entries Search parameter (e.g. language:english) - Current: %1$s Latest: %1$s migrating to Match pinned sources diff --git a/i18n-sy/src/commonMain/resources/MR/ru/strings.xml b/i18n-sy/src/commonMain/resources/MR/ru/strings.xml index 3e58cc911..ff27e763e 100644 --- a/i18n-sy/src/commonMain/resources/MR/ru/strings.xml +++ b/i18n-sy/src/commonMain/resources/MR/ru/strings.xml @@ -418,7 +418,6 @@ Лента Удалить элемент из ленты? - Слишком большое количество источников в вашей ленте. Количество не должно превышать 10 Ваша лента не имеет отслеживаемых источников. Чтобы добавить источник нажмите «+» Добавить %1$s в ленту? diff --git a/i18n-sy/src/commonMain/resources/MR/zh-rCN/strings.xml b/i18n-sy/src/commonMain/resources/MR/zh-rCN/strings.xml index 58b59c5a2..16d4b6e0a 100644 --- a/i18n-sy/src/commonMain/resources/MR/zh-rCN/strings.xml +++ b/i18n-sy/src/commonMain/resources/MR/zh-rCN/strings.xml @@ -371,7 +371,6 @@ 订阅 删除订阅项? - 你订阅的图源太多了,不能大于 10 没有订阅任何图源,请使用右上角按钮添加一个 添加 %1$s 到订阅? diff --git a/i18n-sy/src/commonMain/resources/MR/zh-rTW/strings.xml b/i18n-sy/src/commonMain/resources/MR/zh-rTW/strings.xml index c8b0ef138..e3b4226ea 100644 --- a/i18n-sy/src/commonMain/resources/MR/zh-rTW/strings.xml +++ b/i18n-sy/src/commonMain/resources/MR/zh-rTW/strings.xml @@ -371,7 +371,6 @@ 訂閱 刪除訂閱項? - 你訂閱的來源太多了,不能大於 10 訂閱中沒有任何來源,導覽到右上角新增一個 新增 %1$s 到訂閱? diff --git a/i18n/src/commonMain/resources/MR/base/strings.xml b/i18n/src/commonMain/resources/MR/base/strings.xml index 78e06077d..2762000a1 100644 --- a/i18n/src/commonMain/resources/MR/base/strings.xml +++ b/i18n/src/commonMain/resources/MR/base/strings.xml @@ -73,11 +73,8 @@ Search… Search settings Global search - Search for source - Toggle NSFW only Select all Select inverse - Bulk selection mode Mark as read Mark as unread Mark previous as read @@ -163,7 +160,6 @@ Forward Refresh Start downloading now - FAQ and Guides Not now Add anyway Migrate existing entry @@ -240,10 +236,6 @@ \"%1$s\" instead of \"%2$s\" Date format - Details page - Details page theme based on cover - Theme style - Theme animate Manage notifications App language @@ -322,14 +314,12 @@ Installing Installed Trust - Unofficial Untrusted Uninstall App info Untrusted extension Malicious extensions can read any stored login credentials or execute arbitrary code.\n\nBy trusting this extension, you accept these risks. This extension is no longer available. It may not function properly and can cause issues with the app. Uninstalling it is recommended. - This extension is not from the official repo. Failed to fetch available extensions Version Language @@ -493,20 +483,10 @@ Save as CBZ archive Split tall images Improves reader performance - Download cache renew interval - Manual - 1 hour - 2 hours - 6 hours - 12 hours - 1 day - If set to "manual", either refresh each manga or using the "Invalidate downloads index" action in "Advanced" Tracking guide Update progress after reading - Update progress when marked as read - Auto sync read chapters from Trackers Trackers One-way sync to update the chapter progress in external tracker services. Set up tracking for individual entries from their tracking button. Enhanced trackers @@ -576,12 +556,6 @@ Reset default user agent string Requires app restart to take effect Cookies cleared - - Clean invalid downloads - Find and remove all downloads, files, folders which are not saved in your library - Invalid downloads cleaned - Avoid using Private Installer because it\'s not stable yet, will lead to really slow start/resume App. - Invalidate downloads index Force app to recheck downloaded chapters Downloads index invalidated @@ -615,7 +589,6 @@ Website Version What\'s new - What\'s coming (soon) Help translate Open source licenses Privacy policy @@ -695,10 +668,6 @@ Remove from library Unknown title You have an entry in your library with the same name.\n\nDo you still wish to continue? - Allow it - Skip it - Allow all - Skip all Added to library Removed from library More @@ -905,7 +874,6 @@ Download - Try now Open on GitHub This Android version is no longer supported @@ -916,7 +884,6 @@ Tap to install update Download error New version available! - Coming (soon) updates! A new version is available from the official releases. Tap to learn how to migrate from unofficial F-Droid releases. diff --git a/presentation-core/build.gradle.kts b/presentation-core/build.gradle.kts index e2913c5ec..efea7e6f3 100644 --- a/presentation-core/build.gradle.kts +++ b/presentation-core/build.gradle.kts @@ -16,6 +16,9 @@ android { dependencies { api(projects.core.common) api(projects.i18n) + // KMK --> + api(projects.i18nKmk) + // KMK <-- // SY --> api(projects.i18nSy) // SY <-- diff --git a/settings.gradle.kts b/settings.gradle.kts index b43a12d10..f1725fc98 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -47,6 +47,9 @@ include(":core:common") include(":data") include(":domain") include(":i18n") +// KMK --> +include(":i18n-kmk") +// KMK <-- // SY --> include(":i18n-sy") // SY <-- diff --git a/source-api/build.gradle.kts b/source-api/build.gradle.kts index 428064def..123b33f2d 100644 --- a/source-api/build.gradle.kts +++ b/source-api/build.gradle.kts @@ -14,6 +14,9 @@ kotlin { api(libs.injekt.core) api(libs.rxjava) api(libs.jsoup) + // KMK --> + api(projects.i18nKmk) + // KMK <-- // SY --> api(projects.i18n) api(projects.i18nSy) diff --git a/source-local/build.gradle.kts b/source-local/build.gradle.kts index 7096db30b..23b2a5ccc 100644 --- a/source-local/build.gradle.kts +++ b/source-local/build.gradle.kts @@ -10,6 +10,9 @@ kotlin { dependencies { implementation(projects.sourceApi) api(projects.i18n) + // KMK --> + api(projects.i18nKmk) + // KMK <-- // SY --> api(projects.i18nSy) // SY <--