HelpScreen: How do I use tooltips?, How do I set up translator?, How do I use translator? (v1.0.1)
This commit is contained in:
parent
21bb739499
commit
ebf86229d0
7 changed files with 255 additions and 0 deletions
|
|
@ -52,7 +52,10 @@ import ua.acclorite.book_story.presentation.screens.help.components.items.HelpFi
|
|||
import ua.acclorite.book_story.presentation.screens.help.components.items.HelpManageHistory
|
||||
import ua.acclorite.book_story.presentation.screens.help.components.items.HelpMoveOrDeleteBooks
|
||||
import ua.acclorite.book_story.presentation.screens.help.components.items.HelpReadBook
|
||||
import ua.acclorite.book_story.presentation.screens.help.components.items.HelpSetUpTranslator
|
||||
import ua.acclorite.book_story.presentation.screens.help.components.items.HelpUpdateBook
|
||||
import ua.acclorite.book_story.presentation.screens.help.components.items.HelpUseTooltips
|
||||
import ua.acclorite.book_story.presentation.screens.help.components.items.HelpUseTranslator
|
||||
import ua.acclorite.book_story.presentation.screens.help.data.HelpEvent
|
||||
import ua.acclorite.book_story.presentation.screens.help.data.HelpState
|
||||
import ua.acclorite.book_story.presentation.screens.help.data.HelpViewModel
|
||||
|
|
@ -253,6 +256,27 @@ private fun HelpScreen(
|
|||
)
|
||||
}
|
||||
|
||||
item {
|
||||
HelpUseTooltips(
|
||||
state = state,
|
||||
onEvent = onEvent
|
||||
)
|
||||
}
|
||||
|
||||
item {
|
||||
HelpSetUpTranslator(
|
||||
state = state,
|
||||
onEvent = onEvent
|
||||
)
|
||||
}
|
||||
|
||||
item {
|
||||
HelpUseTranslator(
|
||||
state = state,
|
||||
onEvent = onEvent
|
||||
)
|
||||
}
|
||||
|
||||
item {
|
||||
Spacer(
|
||||
modifier = Modifier
|
||||
|
|
|
|||
|
|
@ -0,0 +1,56 @@
|
|||
package ua.acclorite.book_story.presentation.screens.help.components.items
|
||||
|
||||
import androidx.compose.foundation.lazy.LazyItemScope
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.State
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.text.buildAnnotatedString
|
||||
import ua.acclorite.book_story.R
|
||||
import ua.acclorite.book_story.presentation.data.LocalNavigator
|
||||
import ua.acclorite.book_story.presentation.data.Screen
|
||||
import ua.acclorite.book_story.presentation.screens.help.components.HelpAnnotation
|
||||
import ua.acclorite.book_story.presentation.screens.help.components.HelpItem
|
||||
import ua.acclorite.book_story.presentation.screens.help.data.HelpEvent
|
||||
import ua.acclorite.book_story.presentation.screens.help.data.HelpState
|
||||
|
||||
@Composable
|
||||
fun LazyItemScope.HelpSetUpTranslator(
|
||||
state: State<HelpState>,
|
||||
onEvent: (HelpEvent) -> Unit
|
||||
) {
|
||||
val navigator = LocalNavigator.current
|
||||
|
||||
HelpItem(
|
||||
title = stringResource(id = R.string.help_title_how_to_set_up_translator),
|
||||
description = buildAnnotatedString {
|
||||
append(stringResource(id = R.string.help_desc_how_to_set_up_translator_1) + " ")
|
||||
|
||||
HelpAnnotation(tag = "reader_settings") {
|
||||
append(stringResource(id = R.string.help_desc_how_to_set_up_translator_2))
|
||||
}
|
||||
append(". ")
|
||||
|
||||
append(stringResource(id = R.string.help_desc_how_to_set_up_translator_3))
|
||||
},
|
||||
tags = listOf("reader_settings"),
|
||||
shouldShowDescription = state.value.showHelpItem11,
|
||||
onTitleClick = {
|
||||
onEvent(
|
||||
HelpEvent.OnUpdateState {
|
||||
it.copy(
|
||||
showHelpItem11 = !it.showHelpItem11
|
||||
)
|
||||
}
|
||||
)
|
||||
},
|
||||
onTagClick = { tag ->
|
||||
when (tag) {
|
||||
"reader_settings" -> {
|
||||
if (!state.value.fromStart) {
|
||||
navigator.navigate(Screen.READER_SETTINGS, true)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
package ua.acclorite.book_story.presentation.screens.help.components.items
|
||||
|
||||
import androidx.compose.foundation.lazy.LazyItemScope
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.State
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.text.buildAnnotatedString
|
||||
import ua.acclorite.book_story.R
|
||||
import ua.acclorite.book_story.presentation.screens.help.components.HelpItem
|
||||
import ua.acclorite.book_story.presentation.screens.help.data.HelpEvent
|
||||
import ua.acclorite.book_story.presentation.screens.help.data.HelpState
|
||||
|
||||
@Composable
|
||||
fun LazyItemScope.HelpUseTooltips(
|
||||
state: State<HelpState>,
|
||||
onEvent: (HelpEvent) -> Unit
|
||||
) {
|
||||
HelpItem(
|
||||
title = stringResource(id = R.string.help_title_how_to_use_tooltip),
|
||||
description = buildAnnotatedString {
|
||||
append(stringResource(id = R.string.help_desc_how_to_use_tooltip_1))
|
||||
},
|
||||
tags = emptyList(),
|
||||
shouldShowDescription = state.value.showHelpItem10,
|
||||
onTitleClick = {
|
||||
onEvent(
|
||||
HelpEvent.OnUpdateState {
|
||||
it.copy(
|
||||
showHelpItem10 = !it.showHelpItem10
|
||||
)
|
||||
}
|
||||
)
|
||||
},
|
||||
onTagClick = {}
|
||||
)
|
||||
}
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
package ua.acclorite.book_story.presentation.screens.help.components.items
|
||||
|
||||
import androidx.compose.foundation.lazy.LazyItemScope
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.State
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.text.buildAnnotatedString
|
||||
import ua.acclorite.book_story.R
|
||||
import ua.acclorite.book_story.presentation.screens.help.components.HelpItem
|
||||
import ua.acclorite.book_story.presentation.screens.help.data.HelpEvent
|
||||
import ua.acclorite.book_story.presentation.screens.help.data.HelpState
|
||||
|
||||
@Composable
|
||||
fun LazyItemScope.HelpUseTranslator(
|
||||
state: State<HelpState>,
|
||||
onEvent: (HelpEvent) -> Unit
|
||||
) {
|
||||
HelpItem(
|
||||
title = stringResource(id = R.string.help_title_how_to_use_translator),
|
||||
description = buildAnnotatedString {
|
||||
append(stringResource(id = R.string.help_desc_how_to_use_translator_1))
|
||||
},
|
||||
tags = emptyList(),
|
||||
shouldShowDescription = state.value.showHelpItem12,
|
||||
onTitleClick = {
|
||||
onEvent(
|
||||
HelpEvent.OnUpdateState {
|
||||
it.copy(
|
||||
showHelpItem12 = !it.showHelpItem12
|
||||
)
|
||||
}
|
||||
)
|
||||
},
|
||||
onTagClick = {}
|
||||
)
|
||||
}
|
||||
|
|
@ -20,4 +20,7 @@ data class HelpState(
|
|||
val showHelpItem7: Boolean = false,
|
||||
val showHelpItem8: Boolean = false,
|
||||
val showHelpItem9: Boolean = false,
|
||||
val showHelpItem10: Boolean = false,
|
||||
val showHelpItem11: Boolean = false,
|
||||
val showHelpItem12: Boolean = false,
|
||||
)
|
||||
|
|
@ -461,6 +461,56 @@
|
|||
Остання відкрита книга завжди є першою в Бібліотеці та Історії.
|
||||
</string>
|
||||
|
||||
<string name="help_title_how_to_use_tooltip">Як використовувати підказки?</string>
|
||||
<string name="help_desc_how_to_use_tooltip_1">
|
||||
Більшість кнопок-іконок мають підказки, вони можуть допомогти якщо ви не знаєте, що робить кнопка-іконка.
|
||||
Щоб показати підказку, ви можете затиснути кнопку-іконку.
|
||||
</string>
|
||||
|
||||
<string name="help_title_how_to_set_up_translator">Як мені налаштувати перекладач?</string>
|
||||
<string name="help_desc_how_to_set_up_translator_1">
|
||||
Ви можете налаштувати перекладач двома шляхами.
|
||||
Перший - налаштувати його для окремої книги.
|
||||
Другий - налаштувати його глобально для всіх нових книг.
|
||||
|
||||
Щоб налаштувати перекладач окремо, почніть читати книгу(див: Як мені читати книгу?).
|
||||
Після цього покажіть верхню і нижню панелі, натиснувши в будь-якому місці екрану.
|
||||
Натисніть на іконку перекладача у верхньому правому куті.
|
||||
Тепер ви можете налаштувати перекладач для окремої книги.
|
||||
|
||||
Щоб налаштувати перекладач глобально, перейдіть в
|
||||
</string>
|
||||
<string name="help_desc_how_to_set_up_translator_2">Налаштування Читача</string>
|
||||
<string name="help_desc_how_to_set_up_translator_3">
|
||||
Знайдіть категорію «Перекладач».
|
||||
Тепер ви можете налаштувати параметри перекладача за замовчуванням для всіх новододаних книг.
|
||||
</string>
|
||||
|
||||
<string name="help_title_how_to_use_translator">Як використовувати перекладач?</string>
|
||||
<string name="help_desc_how_to_use_translator_1">
|
||||
Існує два способи використання вбудованого перекладача.
|
||||
Перший спосіб - це переклад одного абзацу, при цьому буде перекладено
|
||||
лише один абзац за раз. Рекомендується використовувати саме цей спосіб,
|
||||
оскільки це майже не займає часу(порівняно з другим способом).
|
||||
Другий спосіб - повний переклад тексту, при цьому буде перекладено
|
||||
весь текст книги. Не рекомендується для великих книг,
|
||||
займає значну кількість часу(до декількох хвилин).
|
||||
|
||||
Спочатку почніть читати книгу(див: Як мені читати книгу?).
|
||||
Щоб використовувати переклад одного абзацу у вас має бути
|
||||
ввімкнено «Переклад подвійним кліком» та перекладач для поточної книги.
|
||||
Щоб перекласти, двічі клацніть потрібний абзац,
|
||||
щоб скасувати переклад, двічі клацніть його ще раз.
|
||||
|
||||
Для перекладу всього тексту вам потрібно відкрити налаштування
|
||||
перекладача для окремої книги(див: Як мені налаштувати перекладач?).
|
||||
Після цього натиснути кнопку «Перекласти». Переклад почнеться,
|
||||
якщо для «Перекласти з» ви вибрали «Визначити»,
|
||||
ви можете побачити діалогове вікно для завантаження необхідних мов.
|
||||
Зверніть увагу, що переклад всього тексту може зайняти значну кількість часу,
|
||||
тому перевага надається перекладу одного абзацу.
|
||||
</string>
|
||||
|
||||
|
||||
<!-- Start -->
|
||||
<string name="start_welcome">Вітаємо в Історія Книги!</string>
|
||||
|
|
|
|||
|
|
@ -481,6 +481,56 @@
|
|||
Last opened book is always the first in Library and History.
|
||||
</string>
|
||||
|
||||
<string name="help_title_how_to_use_tooltip">How do I use tooltips?</string>
|
||||
<string name="help_desc_how_to_use_tooltip_1">
|
||||
Most icon-buttons have tooltips, they can help you if you don\'t know what an icon-button does.
|
||||
To show tooltip you can hold on an icon-button.
|
||||
</string>
|
||||
|
||||
<string name="help_title_how_to_set_up_translator">How do I set up translator?</string>
|
||||
<string name="help_desc_how_to_set_up_translator_1">
|
||||
You can set up translator in two ways.
|
||||
First is to set it up individually for a book.
|
||||
Second is to set it up globally for all newly added books.
|
||||
|
||||
To set translator up individually start reading the book(see: How do I read a book?).
|
||||
After that bring top and bottom bars by clicking anywhere on the screen.
|
||||
Click the translator icon in the upper right corner.
|
||||
Now you can set up your preferences for the individual book.
|
||||
|
||||
To set translator up globally go to the
|
||||
</string>
|
||||
<string name="help_desc_how_to_set_up_translator_2">Reader Settings</string>
|
||||
<string name="help_desc_how_to_set_up_translator_3">
|
||||
Find «Translator» category.
|
||||
Now you can set up default translator settings for all newly added books.
|
||||
</string>
|
||||
|
||||
<string name="help_title_how_to_use_translator">How do I use translator?</string>
|
||||
<string name="help_desc_how_to_use_translator_1">
|
||||
There are two ways to use built-in translator.
|
||||
First way is one paragraph translation, this will translate
|
||||
only one paragraph at a time. Recommended to use it,
|
||||
as it takes almost no time to translate(compared to the second way).
|
||||
Second way is full text translation, this will translate
|
||||
the whole text of the book. Not recommended for large books,
|
||||
takes significant amount of time(up to a couple of minutes).
|
||||
|
||||
First, start reading the book(see: How do I read a book?).
|
||||
To be able to use one paragraph translation
|
||||
you should have «Double click translation» and translator enabled for your current book.
|
||||
To translate, double click the desired paragraph,
|
||||
to cancel translation double click it again.
|
||||
|
||||
For the whole text translation
|
||||
you need to open translator settings for individual book(see: How do I set up translator?).
|
||||
After that, click the «Translate» button. Translation will start,
|
||||
if you chose «Detect» for «Translate from»,
|
||||
you may see the dialog to download required languages.
|
||||
Please note, that the whole text translation may take a significant amount of time,
|
||||
therefore one paragraph translation is preferred.
|
||||
</string>
|
||||
|
||||
|
||||
<!-- Start -->
|
||||
<string name="start_welcome">Welcome to Book\'s Story!</string>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue