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.HelpManageHistory
|
||||||
import ua.acclorite.book_story.presentation.screens.help.components.items.HelpMoveOrDeleteBooks
|
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.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.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.HelpEvent
|
||||||
import ua.acclorite.book_story.presentation.screens.help.data.HelpState
|
import ua.acclorite.book_story.presentation.screens.help.data.HelpState
|
||||||
import ua.acclorite.book_story.presentation.screens.help.data.HelpViewModel
|
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 {
|
item {
|
||||||
Spacer(
|
Spacer(
|
||||||
modifier = Modifier
|
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 showHelpItem7: Boolean = false,
|
||||||
val showHelpItem8: Boolean = false,
|
val showHelpItem8: Boolean = false,
|
||||||
val showHelpItem9: Boolean = false,
|
val showHelpItem9: Boolean = false,
|
||||||
|
val showHelpItem10: Boolean = false,
|
||||||
|
val showHelpItem11: Boolean = false,
|
||||||
|
val showHelpItem12: Boolean = false,
|
||||||
)
|
)
|
||||||
|
|
@ -461,6 +461,56 @@
|
||||||
Остання відкрита книга завжди є першою в Бібліотеці та Історії.
|
Остання відкрита книга завжди є першою в Бібліотеці та Історії.
|
||||||
</string>
|
</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 -->
|
<!-- Start -->
|
||||||
<string name="start_welcome">Вітаємо в Історія Книги!</string>
|
<string name="start_welcome">Вітаємо в Історія Книги!</string>
|
||||||
|
|
|
||||||
|
|
@ -481,6 +481,56 @@
|
||||||
Last opened book is always the first in Library and History.
|
Last opened book is always the first in Library and History.
|
||||||
</string>
|
</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 -->
|
<!-- Start -->
|
||||||
<string name="start_welcome">Welcome to Book\'s Story!</string>
|
<string name="start_welcome">Welcome to Book\'s Story!</string>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue