From c1e748bc74dae7967443a6f3c84ce0741411388c Mon Sep 17 00:00:00 2001 From: paulcoding810 <41385034+longnghia@users.noreply.github.com> Date: Mon, 30 Dec 2024 15:09:26 +0700 Subject: [PATCH] Update string resources --- .../com/paulcoding/hviewer/MainActivity.kt | 3 ++- .../com/paulcoding/hviewer/helper/Toast.kt | 9 +++++++ .../paulcoding/hviewer/ui/component/H7Tap.kt | 8 ++++-- .../hviewer/ui/component/ToastExit.kt | 3 ++- .../hviewer/ui/favorite/FavoritePage.kt | 10 ++++--- .../hviewer/ui/page/editor/EditorPage.kt | 6 +++-- .../hviewer/ui/page/history/HistoryPage.kt | 4 ++- .../hviewer/ui/page/lock/LockPage.kt | 10 ++++--- .../hviewer/ui/page/post/PostPage.kt | 6 +++-- .../hviewer/ui/page/posts/PostCard.kt | 6 +++-- .../hviewer/ui/page/search/SearchPage.kt | 8 ++++-- .../ui/page/settings/InputRemoteModal.kt | 6 +++-- .../hviewer/ui/page/settings/LockModal.kt | 11 +++++--- .../hviewer/ui/page/settings/SettingsPage.kt | 13 ++++++--- .../hviewer/ui/page/sites/SitesPage.kt | 4 ++- .../hviewer/ui/page/topics/TopicsPage.kt | 5 ++-- app/src/main/res/values/strings.xml | 27 +++++++++++++++++++ 17 files changed, 108 insertions(+), 31 deletions(-) diff --git a/app/src/main/java/com/paulcoding/hviewer/MainActivity.kt b/app/src/main/java/com/paulcoding/hviewer/MainActivity.kt index 88f32a9..6c274fd 100644 --- a/app/src/main/java/com/paulcoding/hviewer/MainActivity.kt +++ b/app/src/main/java/com/paulcoding/hviewer/MainActivity.kt @@ -15,6 +15,7 @@ import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.compose.ui.window.Dialog import com.paulcoding.hviewer.extensions.setSecureScreen @@ -77,7 +78,7 @@ fun UpdateDialog() { horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.spacedBy(12.dp) ) { - Text("Checking for update") + Text(stringResource(R.string.checking_for_update)) HLoading() } } diff --git a/app/src/main/java/com/paulcoding/hviewer/helper/Toast.kt b/app/src/main/java/com/paulcoding/hviewer/helper/Toast.kt index 7c166b4..83828d4 100644 --- a/app/src/main/java/com/paulcoding/hviewer/helper/Toast.kt +++ b/app/src/main/java/com/paulcoding/hviewer/helper/Toast.kt @@ -1,6 +1,7 @@ package com.paulcoding.hviewer.helper import android.widget.Toast +import androidx.annotation.StringRes import com.paulcoding.hviewer.MainApp.Companion.appContext fun makeToast(message: String?) { @@ -11,4 +12,12 @@ fun makeToast(message: String?) { message, Toast.LENGTH_SHORT ).show() +} + +fun makeToast(@StringRes stringId: Int) { + Toast.makeText( + appContext, + appContext.getString(stringId), + Toast.LENGTH_SHORT + ).show() } \ No newline at end of file diff --git a/app/src/main/java/com/paulcoding/hviewer/ui/component/H7Tap.kt b/app/src/main/java/com/paulcoding/hviewer/ui/component/H7Tap.kt index ad9c2af..98f962d 100644 --- a/app/src/main/java/com/paulcoding/hviewer/ui/component/H7Tap.kt +++ b/app/src/main/java/com/paulcoding/hviewer/ui/component/H7Tap.kt @@ -10,12 +10,16 @@ import androidx.compose.runtime.mutableLongStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import com.paulcoding.hviewer.BuildConfig +import com.paulcoding.hviewer.R import com.paulcoding.hviewer.helper.makeToast @Composable fun H7Tap(modifier: Modifier = Modifier, onDevModeChange: (Boolean) -> Unit) { + val context = LocalContext.current var tapCount by remember { mutableIntStateOf(0) } var lastTapTime by remember { mutableLongStateOf(0L) } TextButton( @@ -26,7 +30,7 @@ fun H7Tap(modifier: Modifier = Modifier, onDevModeChange: (Boolean) -> Unit) { } else { tapCount++ if (tapCount >= 7) { - makeToast("Dev Mode Enabled") + makeToast(context.getString(R.string.dev_mode_enabled)) onDevModeChange(true) tapCount = 0 } @@ -35,6 +39,6 @@ fun H7Tap(modifier: Modifier = Modifier, onDevModeChange: (Boolean) -> Unit) { }, modifier = modifier .padding(16.dp) ) { - Text("Version ${BuildConfig.VERSION_NAME}") + Text(stringResource(R.string.app_version, BuildConfig.VERSION_NAME)) } } \ No newline at end of file diff --git a/app/src/main/java/com/paulcoding/hviewer/ui/component/ToastExit.kt b/app/src/main/java/com/paulcoding/hviewer/ui/component/ToastExit.kt index 7ef0e8d..0849ea9 100644 --- a/app/src/main/java/com/paulcoding/hviewer/ui/component/ToastExit.kt +++ b/app/src/main/java/com/paulcoding/hviewer/ui/component/ToastExit.kt @@ -9,6 +9,7 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.platform.LocalContext import com.paulcoding.hviewer.MainActivity +import com.paulcoding.hviewer.R import com.paulcoding.hviewer.helper.makeToast import java.util.concurrent.TimeUnit @@ -29,7 +30,7 @@ fun ToastExit() { } if (showToast) { - makeToast("Press again to exit") + makeToast(R.string.press_again_to_exit) showToast = false } } \ No newline at end of file diff --git a/app/src/main/java/com/paulcoding/hviewer/ui/favorite/FavoritePage.kt b/app/src/main/java/com/paulcoding/hviewer/ui/favorite/FavoritePage.kt index bbda5db..279a90a 100644 --- a/app/src/main/java/com/paulcoding/hviewer/ui/favorite/FavoritePage.kt +++ b/app/src/main/java/com/paulcoding/hviewer/ui/favorite/FavoritePage.kt @@ -18,7 +18,10 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.res.stringResource import androidx.lifecycle.viewmodel.compose.viewModel +import com.paulcoding.hviewer.R import com.paulcoding.hviewer.model.PostItem import com.paulcoding.hviewer.model.Tag import com.paulcoding.hviewer.ui.component.HBackIcon @@ -35,6 +38,7 @@ fun FavoritePage( navToCustomTag: (PostItem, Tag) -> Unit, goBack: () -> Boolean ) { + val context = LocalContext.current val viewModel: AppViewModel = viewModel() val snackbarHostState = remember { SnackbarHostState() } val scope = rememberCoroutineScope() @@ -45,8 +49,8 @@ fun FavoritePage( scope.launch { val result = snackbarHostState.showSnackbar( - "${post.name} removed from favorite", - "Undo", + context.getString(R.string.post_removed_from_favorite, post.name), + context.getString(R.string.undo), duration = SnackbarDuration.Short ) when (result) { @@ -64,7 +68,7 @@ fun FavoritePage( modifier = Modifier.fillMaxSize(), snackbarHost = { SnackbarHost(snackbarHostState) }, topBar = { - TopAppBar(title = { Text("Favorite") }, navigationIcon = { + TopAppBar(title = { Text(stringResource(R.string.favorite)) }, navigationIcon = { HBackIcon { goBack() } }) }) { paddings -> diff --git a/app/src/main/java/com/paulcoding/hviewer/ui/page/editor/EditorPage.kt b/app/src/main/java/com/paulcoding/hviewer/ui/page/editor/EditorPage.kt index f396375..2759297 100644 --- a/app/src/main/java/com/paulcoding/hviewer/ui/page/editor/EditorPage.kt +++ b/app/src/main/java/com/paulcoding/hviewer/ui/page/editor/EditorPage.kt @@ -12,6 +12,8 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalSoftwareKeyboardController +import androidx.compose.ui.res.stringResource +import com.paulcoding.hviewer.R import com.paulcoding.hviewer.helper.crashLogDir import com.paulcoding.hviewer.helper.makeToast import com.paulcoding.hviewer.helper.readFile @@ -49,7 +51,7 @@ fun EditorPage( Scaffold( modifier = Modifier.fillMaxSize(), topBar = { - TopAppBar(title = { Text(text = "Editor") }, navigationIcon = { + TopAppBar(title = { Text(text = stringResource(R.string.editor)) }, navigationIcon = { HBackIcon { goBack() } @@ -59,7 +61,7 @@ fun EditorPage( Github.refreshLocalConfigs() localSoftwareKeyboardController?.hide() goBack() - makeToast("Saved!") + makeToast(R.string.saved) } }) }, diff --git a/app/src/main/java/com/paulcoding/hviewer/ui/page/history/HistoryPage.kt b/app/src/main/java/com/paulcoding/hviewer/ui/page/history/HistoryPage.kt index 81c6898..cb05781 100644 --- a/app/src/main/java/com/paulcoding/hviewer/ui/page/history/HistoryPage.kt +++ b/app/src/main/java/com/paulcoding/hviewer/ui/page/history/HistoryPage.kt @@ -17,6 +17,8 @@ import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.res.stringResource +import com.paulcoding.hviewer.R import com.paulcoding.hviewer.model.PostHistory import com.paulcoding.hviewer.model.PostItem import com.paulcoding.hviewer.model.Tag @@ -40,7 +42,7 @@ fun HistoryPage( modifier = Modifier.fillMaxSize(), topBar = { TopAppBar( - title = { Text("History") }, + title = { Text(stringResource(R.string.history)) }, navigationIcon = { HBackIcon { goBack() } }, diff --git a/app/src/main/java/com/paulcoding/hviewer/ui/page/lock/LockPage.kt b/app/src/main/java/com/paulcoding/hviewer/ui/page/lock/LockPage.kt index 4ec87e5..dfbf5ca 100644 --- a/app/src/main/java/com/paulcoding/hviewer/ui/page/lock/LockPage.kt +++ b/app/src/main/java/com/paulcoding/hviewer/ui/page/lock/LockPage.kt @@ -16,7 +16,10 @@ import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.focus.focusRequester +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp +import com.paulcoding.hviewer.R import com.paulcoding.hviewer.helper.makeToast import com.paulcoding.hviewer.preference.Preferences import com.paulcoding.hviewer.ui.component.HOTP @@ -26,6 +29,7 @@ import kotlinx.coroutines.delay @Composable fun LockPage(onUnlocked: () -> Unit) { val focusRequester = remember { FocusRequester() } + val context = LocalContext.current LaunchedEffect(Unit) { delay(300) @@ -35,7 +39,7 @@ fun LockPage(onUnlocked: () -> Unit) { Scaffold( topBar = { TopAppBar( - title = { Text("Lock") }, + title = { Text(stringResource(R.string.lock)) }, ) } ) { paddings -> @@ -45,13 +49,13 @@ fun LockPage(onUnlocked: () -> Unit) { .fillMaxSize() ) { Column(modifier = Modifier.padding(16.dp)) { - Text("Enter your PIN:") + Text(stringResource(R.string.enter_your_pin)) Spacer(modifier = Modifier.height(12.dp)) HOTP(modifier = Modifier.focusRequester(focusRequester)) { if (it == Preferences.pin) { onUnlocked() } else { - makeToast("Wrong PIN") + makeToast(context.getString(R.string.wrong_pin)) } } } diff --git a/app/src/main/java/com/paulcoding/hviewer/ui/page/post/PostPage.kt b/app/src/main/java/com/paulcoding/hviewer/ui/page/post/PostPage.kt index e89089d..c61de4e 100644 --- a/app/src/main/java/com/paulcoding/hviewer/ui/page/post/PostPage.kt +++ b/app/src/main/java/com/paulcoding/hviewer/ui/page/post/PostPage.kt @@ -30,12 +30,14 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.input.pointer.pointerInput import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.compose.ui.window.Dialog import androidx.compose.ui.window.DialogProperties import androidx.lifecycle.viewmodel.compose.viewModel import com.paulcoding.hviewer.MainActivity import com.paulcoding.hviewer.MainApp.Companion.appContext +import com.paulcoding.hviewer.R import com.paulcoding.hviewer.extensions.isScrolledToEnd import com.paulcoding.hviewer.extensions.isScrollingUp import com.paulcoding.hviewer.extensions.openInBrowser @@ -158,7 +160,7 @@ fun ImageModal(url: String, dismiss: () -> Unit) { modifier = Modifier .zoomable( state = zoomableState, - onClick = { makeToast("Double click to dismiss") }, + onClick = { makeToast(R.string.double_click_to_dismiss) }, onDoubleClick = doubleClickToZoomListener ) ) { @@ -201,7 +203,7 @@ fun PostImage(url: String, onTap: () -> Unit = {}) { context.openInBrowser(url) }, text = { - Text("Open in browser") + Text(stringResource(R.string.open_in_browser)) } ) } diff --git a/app/src/main/java/com/paulcoding/hviewer/ui/page/posts/PostCard.kt b/app/src/main/java/com/paulcoding/hviewer/ui/page/posts/PostCard.kt index 96fbeb3..b1d1327 100644 --- a/app/src/main/java/com/paulcoding/hviewer/ui/page/posts/PostCard.kt +++ b/app/src/main/java/com/paulcoding/hviewer/ui/page/posts/PostCard.kt @@ -29,10 +29,12 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextDecoration import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import com.paulcoding.hviewer.MainActivity +import com.paulcoding.hviewer.R import com.paulcoding.hviewer.extensions.openInBrowser import com.paulcoding.hviewer.model.PostItem import com.paulcoding.hviewer.model.Tag @@ -141,10 +143,10 @@ fun PostCard( ) } if (size != null) { - Text(text = "Size: $size") + Text(text = stringResource(R.string.post_size, size)) } if (views != null) { - Text(text = "Views: $views") + Text(text = stringResource(R.string.post_views, views)) } postItem.tags?.run { forEach { tag -> diff --git a/app/src/main/java/com/paulcoding/hviewer/ui/page/search/SearchPage.kt b/app/src/main/java/com/paulcoding/hviewer/ui/page/search/SearchPage.kt index 0bbc66a..ad8190e 100644 --- a/app/src/main/java/com/paulcoding/hviewer/ui/page/search/SearchPage.kt +++ b/app/src/main/java/com/paulcoding/hviewer/ui/page/search/SearchPage.kt @@ -31,11 +31,13 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.platform.LocalFocusManager +import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.text.input.KeyboardType import androidx.compose.ui.unit.dp import androidx.lifecycle.viewmodel.compose.viewModel import com.paulcoding.hviewer.MainApp.Companion.appContext +import com.paulcoding.hviewer.R import com.paulcoding.hviewer.extensions.isScrolledToEnd import com.paulcoding.hviewer.model.PostItem import com.paulcoding.hviewer.model.Tag @@ -79,7 +81,7 @@ fun SearchPage( } Scaffold(topBar = { - TopAppBar(title = { Text("Search") }, navigationIcon = { + TopAppBar(title = { Text(stringResource(R.string.search)) }, navigationIcon = { HBackIcon { goBack() } }, actions = { @@ -102,7 +104,9 @@ fun SearchPage( imeAction = ImeAction.Go ), keyboardActions = KeyboardActions(onGo = { submit() }), - modifier = Modifier.focusRequester(focusRequester).weight(1f), + modifier = Modifier + .focusRequester(focusRequester) + .weight(1f), trailingIcon = { if (query.isNotEmpty()) HIcon(Icons.Outlined.Clear) { diff --git a/app/src/main/java/com/paulcoding/hviewer/ui/page/settings/InputRemoteModal.kt b/app/src/main/java/com/paulcoding/hviewer/ui/page/settings/InputRemoteModal.kt index 13ed616..d5a4581 100644 --- a/app/src/main/java/com/paulcoding/hviewer/ui/page/settings/InputRemoteModal.kt +++ b/app/src/main/java/com/paulcoding/hviewer/ui/page/settings/InputRemoteModal.kt @@ -27,11 +27,13 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.graphics.Color +import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.text.input.KeyboardType import androidx.compose.ui.unit.dp import androidx.compose.ui.window.Dialog import androidx.compose.ui.window.DialogProperties +import com.paulcoding.hviewer.R @Composable @@ -76,7 +78,7 @@ fun InputRemoteModal( text, onValueChange = { text = it }, modifier = Modifier.focusRequester(focusRequester), - label = { Text("Remote Url") }, + label = { Text(stringResource(R.string.remote_url)) }, keyboardOptions = KeyboardOptions( keyboardType = KeyboardType.Text, imeAction = ImeAction.Send @@ -96,7 +98,7 @@ fun InputRemoteModal( } Spacer(modifier = Modifier.width(12.dp)) TextButton(onClick = { submit() }) { - Text("OK", color = MaterialTheme.colorScheme.primary) + Text(stringResource(R.string.ok), color = MaterialTheme.colorScheme.primary) } } } diff --git a/app/src/main/java/com/paulcoding/hviewer/ui/page/settings/LockModal.kt b/app/src/main/java/com/paulcoding/hviewer/ui/page/settings/LockModal.kt index 9a0ffc2..5df8f4f 100644 --- a/app/src/main/java/com/paulcoding/hviewer/ui/page/settings/LockModal.kt +++ b/app/src/main/java/com/paulcoding/hviewer/ui/page/settings/LockModal.kt @@ -17,8 +17,10 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.compose.ui.window.Dialog +import com.paulcoding.hviewer.R import com.paulcoding.hviewer.ui.component.HOTP @Composable @@ -32,18 +34,21 @@ fun LockModal(onDismiss: () -> Unit, onPinConfirmed: (String) -> Unit = {}) { Dialog(onDismissRequest = { dismiss() }) { Surface { Column(modifier = Modifier.padding(16.dp)) { - Text("Enter New Pin") + Text(stringResource(R.string.enter_new_pin)) HOTP { pin = it } Spacer(modifier = Modifier.height(12.dp)) Row(modifier = Modifier.align(Alignment.End)) { TextButton(onClick = { dismiss() }) { - Text("Cancel", color = MaterialTheme.colorScheme.error) + Text( + stringResource(R.string.cancel), + color = MaterialTheme.colorScheme.error + ) } Spacer(modifier = Modifier.width(12.dp)) TextButton(onClick = { onPinConfirmed(pin) }) { - Text("OK", color = MaterialTheme.colorScheme.primary) + Text(stringResource(R.string.ok), color = MaterialTheme.colorScheme.primary) } } } diff --git a/app/src/main/java/com/paulcoding/hviewer/ui/page/settings/SettingsPage.kt b/app/src/main/java/com/paulcoding/hviewer/ui/page/settings/SettingsPage.kt index 6d2c52b..e97799a 100644 --- a/app/src/main/java/com/paulcoding/hviewer/ui/page/settings/SettingsPage.kt +++ b/app/src/main/java/com/paulcoding/hviewer/ui/page/settings/SettingsPage.kt @@ -25,9 +25,11 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextDecoration import androidx.compose.ui.unit.dp import com.paulcoding.hviewer.MainActivity +import com.paulcoding.hviewer.R import com.paulcoding.hviewer.extensions.setSecureScreen import com.paulcoding.hviewer.network.Github import com.paulcoding.hviewer.preference.Preferences @@ -65,7 +67,7 @@ fun SettingsPage(appViewModel: AppViewModel, goBack: () -> Boolean, onLockEnable } Scaffold(topBar = { - TopAppBar(title = { Text("Settings") }, navigationIcon = { + TopAppBar(title = { Text(stringResource(R.string.settings)) }, navigationIcon = { HBackIcon { goBack() } }) }) { paddings -> @@ -83,7 +85,7 @@ fun SettingsPage(appViewModel: AppViewModel, goBack: () -> Boolean, onLockEnable verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.spacedBy(8.dp) ) { - Text("Remote Url", modifier = Modifier.weight(1f)) + Text(stringResource(R.string.remote_url), modifier = Modifier.weight(1f)) HIcon(Icons.Outlined.Edit) { modalVisible = true } @@ -97,7 +99,10 @@ fun SettingsPage(appViewModel: AppViewModel, goBack: () -> Boolean, onLockEnable verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.spacedBy(8.dp) ) { - Text("Enable secure screen", modifier = Modifier.weight(1f)) + Text( + stringResource(R.string.enable_secure_screen), + modifier = Modifier.weight(1f) + ) Switch(checked = secureScreen, onCheckedChange = { secureScreen = it Preferences.secureScreen = it @@ -109,7 +114,7 @@ fun SettingsPage(appViewModel: AppViewModel, goBack: () -> Boolean, onLockEnable verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.spacedBy(8.dp) ) { - Text("Lock Screen", modifier = Modifier.weight(1f)) + Text(stringResource(R.string.lock_screen), modifier = Modifier.weight(1f)) Switch(checked = appLockEnabled, onCheckedChange = { locked -> if (locked) { lockModalVisible = true diff --git a/app/src/main/java/com/paulcoding/hviewer/ui/page/sites/SitesPage.kt b/app/src/main/java/com/paulcoding/hviewer/ui/page/sites/SitesPage.kt index 65a4f08..7a04eac 100644 --- a/app/src/main/java/com/paulcoding/hviewer/ui/page/sites/SitesPage.kt +++ b/app/src/main/java/com/paulcoding/hviewer/ui/page/sites/SitesPage.kt @@ -29,7 +29,9 @@ import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp +import com.paulcoding.hviewer.R import com.paulcoding.hviewer.model.SiteConfig import com.paulcoding.hviewer.model.SiteConfigs import com.paulcoding.hviewer.ui.component.HEmpty @@ -61,7 +63,7 @@ fun SitesPage( val scope = rememberCoroutineScope() Scaffold(topBar = { - TopAppBar(title = { Text("Sites") }, actions = { + TopAppBar(title = { Text(stringResource(R.string.sites)) }, actions = { if (isDevMode) { HIcon(Icons.Outlined.BugReport) { navToListCrashLog() diff --git a/app/src/main/java/com/paulcoding/hviewer/ui/page/topics/TopicsPage.kt b/app/src/main/java/com/paulcoding/hviewer/ui/page/topics/TopicsPage.kt index 3b99bff..de0d94f 100644 --- a/app/src/main/java/com/paulcoding/hviewer/ui/page/topics/TopicsPage.kt +++ b/app/src/main/java/com/paulcoding/hviewer/ui/page/topics/TopicsPage.kt @@ -13,9 +13,10 @@ import androidx.compose.material3.Scaffold import androidx.compose.material3.Text import androidx.compose.material3.TopAppBar import androidx.compose.runtime.Composable -import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp +import com.paulcoding.hviewer.R import com.paulcoding.hviewer.model.SiteConfig import com.paulcoding.hviewer.ui.component.HBackIcon @@ -30,7 +31,7 @@ fun TopicsPage( val tags = siteConfig.tags.keys.toList() Scaffold(topBar = { - TopAppBar(title = { Text("Topics") }, navigationIcon = { + TopAppBar(title = { Text(stringResource(R.string.topics)) }, navigationIcon = { HBackIcon { goBack() } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 26d4bd6..970c8ed 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,3 +1,30 @@ H Viewer + Checking for update + Version %1$s + Favorite + History + Enter your PIN: + Wrong PIN + Settings + Remote Url + Enable secure screen + Lock Screen + Editor + Lock + Open in browser + Size: %1$s + Views: %1$s + Search + OK + Enter New Pin + Cancel + Sites + Topics + Dev Mode Enabled + Press again to exit + Saved! + Double click to dismiss + %1$s removed from favorite + Undo \ No newline at end of file