Add translations, fix maximisation
This commit is contained in:
@@ -0,0 +1,89 @@
|
|||||||
|
<resources>
|
||||||
|
<string name="app_name">NERä</string>
|
||||||
|
<string name="app_name_full">Noch so ein Einstein Rätsel</string>
|
||||||
|
<string name="solved_congrats">Gratulation!</string>
|
||||||
|
<string name="solved_time">Du hast das Rätsel in %1$s gelöst</string>
|
||||||
|
<string name="restart">Von Anfang beginnen</string>
|
||||||
|
<string name="use_light_mode">Heller Modus</string>
|
||||||
|
<string name="use_dark_mode">Dunkler Modus</string>
|
||||||
|
<string name="window_minimize">Fenster minimieren</string>
|
||||||
|
<string name="window_maximize">Fenster maximieren</string>
|
||||||
|
<string name="window_close">Fenster schließen</string>
|
||||||
|
|
||||||
|
<!-- Clues -->
|
||||||
|
<string name="clue_next_to">%1$s ist neben %2$s</string>
|
||||||
|
<string name="clue_left_of">%1$s ist links von %2$s</string>
|
||||||
|
<string name="clue_triplet">%2$s ist zwischen den Nachbarn %1$s und %3$s auf beiden Seiten</string>
|
||||||
|
<string name="clue_same_column">%1$s und %2$s sind in der gleichen Spalte</string>
|
||||||
|
<string name="clue_fixed_position">%1$s auf Position %2$i</string>
|
||||||
|
|
||||||
|
<!-- Animals -->
|
||||||
|
<string name="zebra">Zebra</string>
|
||||||
|
<string name="octopus">Oktopus</string>
|
||||||
|
<string name="goat">Ziege</string>
|
||||||
|
<string name="sloth">Faultier</string>
|
||||||
|
<string name="dog">Hund</string>
|
||||||
|
<string name="snail">Schnecke</string>
|
||||||
|
<string name="ant">Ameise</string>
|
||||||
|
|
||||||
|
<!-- Desserts -->
|
||||||
|
<string name="ice_cream">Eis</string>
|
||||||
|
<string name="doughnut">Donut</string>
|
||||||
|
<string name="cookie">Keks</string>
|
||||||
|
<string name="cake">Torte</string>
|
||||||
|
<string name="cupcake">Cupcake</string>
|
||||||
|
<string name="pie">Kuchen</string>
|
||||||
|
<string name="chocolate">Schokolade</string>
|
||||||
|
<string name="lollipop">Lollipop</string>
|
||||||
|
<string name="custard">Vanillepudding</string>
|
||||||
|
|
||||||
|
<!-- Drinks -->
|
||||||
|
<string name="milk">Milch</string>
|
||||||
|
<string name="wine">Wein</string>
|
||||||
|
<string name="cocktail">Cocktail</string>
|
||||||
|
<string name="coffee">Kaffee</string>
|
||||||
|
<string name="tea">Tee</string>
|
||||||
|
<string name="beer">Bier</string>
|
||||||
|
<string name="beverage">Süssgetränk</string>
|
||||||
|
|
||||||
|
<!-- Fruits -->
|
||||||
|
<string name="banana">Banane</string>
|
||||||
|
<string name="cherries">Kirsche</string>
|
||||||
|
<string name="grapes">Trauben</string>
|
||||||
|
<string name="kiwi">Kiwi</string>
|
||||||
|
<string name="lemon">Zitrone</string>
|
||||||
|
<string name="mango">Mango</string>
|
||||||
|
<string name="pear">Birne</string>
|
||||||
|
<string name="pineapple">Ananas</string>
|
||||||
|
<string name="strawberry">Erdbeere</string>
|
||||||
|
<string name="watermelon">Wassermelone</string>
|
||||||
|
|
||||||
|
<!-- Nationalities -->
|
||||||
|
<string name="canadian">Kanada</string>
|
||||||
|
<string name="japanese">Japan</string>
|
||||||
|
<string name="norwegian">Norwegen</string>
|
||||||
|
<string name="spanish">Spanien</string>
|
||||||
|
<string name="swedish">Schweden</string>
|
||||||
|
<string name="swiss">Schweiz</string>
|
||||||
|
<string name="british">Großbritannien</string>
|
||||||
|
<string name="ukrainian">Ukraine</string>
|
||||||
|
|
||||||
|
<!-- Professions -->
|
||||||
|
<string name="astronaut">Astronauty</string>
|
||||||
|
<string name="health_worker">Pflegy</string>
|
||||||
|
<string name="farmer">Bauy</string>
|
||||||
|
<string name="rock_star">Rock Star</string>
|
||||||
|
<string name="scientist">Wissenschaftly</string>
|
||||||
|
<string name="software_dev">Softwareentwickly</string>
|
||||||
|
<string name="firefighter">Feuerwehrperson</string>
|
||||||
|
<string name="teacher">Lehry</string>
|
||||||
|
|
||||||
|
<!-- Transportation -->
|
||||||
|
<string name="bicycle">Fahrrad</string>
|
||||||
|
<string name="motor_scooter">Roller</string>
|
||||||
|
<string name="skateboard">Rollbrett</string>
|
||||||
|
<string name="taxi">Taxi</string>
|
||||||
|
<string name="locomotive">Lok</string>
|
||||||
|
<string name="tram_car">Tram</string>
|
||||||
|
<string name="bus">Bus</string>
|
||||||
|
</resources>
|
||||||
@@ -4,6 +4,18 @@
|
|||||||
<string name="solved_congrats">Congratulations!</string>
|
<string name="solved_congrats">Congratulations!</string>
|
||||||
<string name="solved_time">You solved the puzzle in %1$s</string>
|
<string name="solved_time">You solved the puzzle in %1$s</string>
|
||||||
<string name="restart">Restart</string>
|
<string name="restart">Restart</string>
|
||||||
|
<string name="use_light_mode">Use light mode</string>
|
||||||
|
<string name="use_dark_mode">Use dark mode</string>
|
||||||
|
<string name="window_minimize">Minimize window</string>
|
||||||
|
<string name="window_maximize">Maximize window</string>
|
||||||
|
<string name="window_close">Close window</string>
|
||||||
|
|
||||||
|
<!-- Clues -->
|
||||||
|
<string name="clue_next_to">%1$s is next to %2$s</string>
|
||||||
|
<string name="clue_left_of">%1$s is left of %2$s</string>
|
||||||
|
<string name="clue_triplet">%2$s is between the neighbours %1$s and %3$s to both sides</string>
|
||||||
|
<string name="clue_same_column">%1$s and %2$s are in the same column</string>
|
||||||
|
<string name="clue_fixed_position">%1$s at position %2$i</string>
|
||||||
|
|
||||||
<!-- Animals -->
|
<!-- Animals -->
|
||||||
<string name="zebra">Zebra</string>
|
<string name="zebra">Zebra</string>
|
||||||
@@ -50,19 +62,19 @@
|
|||||||
<string name="canadian">Canadian</string>
|
<string name="canadian">Canadian</string>
|
||||||
<string name="japanese">Japanese</string>
|
<string name="japanese">Japanese</string>
|
||||||
<string name="norwegian">Norwegian</string>
|
<string name="norwegian">Norwegian</string>
|
||||||
<string name="spanish">Spanish</string>
|
<string name="spanish">Spaniard</string>
|
||||||
<string name="swedish">Swedish</string>
|
<string name="swedish">Swede</string>
|
||||||
<string name="swiss">Swiss</string>
|
<string name="swiss">Swiss</string>
|
||||||
<string name="british">British</string>
|
<string name="british">British</string>
|
||||||
<string name="ukrainian">Ukrainian</string>
|
<string name="ukrainian">Ukrainian</string>
|
||||||
|
|
||||||
<!-- Professions -->
|
<!-- Professions -->
|
||||||
<string name="astronaut">Astronaut</string>
|
<string name="astronaut">Astronaut</string>
|
||||||
<string name="health_worker">Health_worker</string>
|
<string name="health_worker">Health Worker</string>
|
||||||
<string name="farmer">Farmer</string>
|
<string name="farmer">Farmer</string>
|
||||||
<string name="rock_star">Rock_star</string>
|
<string name="rock_star">Rock Star</string>
|
||||||
<string name="scientist">Scientist</string>
|
<string name="scientist">Scientist</string>
|
||||||
<string name="software_dev">Software_dev</string>
|
<string name="software_dev">Software Developer</string>
|
||||||
<string name="firefighter">Firefighter</string>
|
<string name="firefighter">Firefighter</string>
|
||||||
<string name="teacher">Teacher</string>
|
<string name="teacher">Teacher</string>
|
||||||
|
|
||||||
|
|||||||
@@ -16,18 +16,12 @@ import androidx.compose.material3.SwitchDefaults
|
|||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.material3.TopAppBar
|
import androidx.compose.material3.TopAppBar
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.LaunchedEffect
|
|
||||||
import androidx.compose.runtime.getValue
|
|
||||||
import androidx.compose.runtime.mutableStateOf
|
|
||||||
import androidx.compose.runtime.remember
|
|
||||||
import androidx.compose.runtime.setValue
|
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.draw.scale
|
import androidx.compose.ui.draw.scale
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.compose.ui.window.WindowPlacement
|
import androidx.compose.ui.window.WindowPlacement
|
||||||
import androidx.compose.ui.window.WindowScope
|
import androidx.compose.ui.window.WindowScope
|
||||||
import androidx.compose.ui.window.WindowState
|
import androidx.compose.ui.window.WindowState
|
||||||
import ch.dissem.yaep.domain.Game
|
|
||||||
import ch.dissem.yaep.ui.common.theme.AppTheme
|
import ch.dissem.yaep.ui.common.theme.AppTheme
|
||||||
import org.jetbrains.compose.resources.painterResource
|
import org.jetbrains.compose.resources.painterResource
|
||||||
import org.jetbrains.compose.resources.stringResource
|
import org.jetbrains.compose.resources.stringResource
|
||||||
@@ -36,6 +30,8 @@ import yaep.commonui.generated.resources.app_name_full
|
|||||||
import yaep.commonui.generated.resources.moon
|
import yaep.commonui.generated.resources.moon
|
||||||
import yaep.commonui.generated.resources.restart
|
import yaep.commonui.generated.resources.restart
|
||||||
import yaep.commonui.generated.resources.sun
|
import yaep.commonui.generated.resources.sun
|
||||||
|
import yaep.commonui.generated.resources.use_dark_mode
|
||||||
|
import yaep.commonui.generated.resources.use_light_mode
|
||||||
import yaep.commonui.generated.resources.window_close
|
import yaep.commonui.generated.resources.window_close
|
||||||
import yaep.commonui.generated.resources.window_maximize
|
import yaep.commonui.generated.resources.window_maximize
|
||||||
import yaep.commonui.generated.resources.window_minimize
|
import yaep.commonui.generated.resources.window_minimize
|
||||||
@@ -70,15 +66,7 @@ fun AppBar(
|
|||||||
onCloseRequest: () -> Unit,
|
onCloseRequest: () -> Unit,
|
||||||
onRestart: () -> Unit,
|
onRestart: () -> Unit,
|
||||||
windowState: WindowState,
|
windowState: WindowState,
|
||||||
game: Game,
|
|
||||||
) {
|
) {
|
||||||
var gameSolved by remember { mutableStateOf(false) }
|
|
||||||
LaunchedEffect(game) {
|
|
||||||
game.onSolved {
|
|
||||||
gameSolved = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
TopAppBar(
|
TopAppBar(
|
||||||
navigationIcon = {
|
navigationIcon = {
|
||||||
Image(
|
Image(
|
||||||
@@ -111,7 +99,13 @@ fun AppBar(
|
|||||||
CRes.drawable.moon
|
CRes.drawable.moon
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
contentDescription = null,
|
contentDescription = stringResource(
|
||||||
|
if (useDarkMode) {
|
||||||
|
CRes.string.use_light_mode
|
||||||
|
} else {
|
||||||
|
CRes.string.use_dark_mode
|
||||||
|
}
|
||||||
|
),
|
||||||
modifier = Modifier.size(SwitchDefaults.IconSize),
|
modifier = Modifier.size(SwitchDefaults.IconSize),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -122,12 +116,11 @@ fun AppBar(
|
|||||||
) {
|
) {
|
||||||
Icon(
|
Icon(
|
||||||
painter = painterResource(CRes.drawable.window_minimize),
|
painter = painterResource(CRes.drawable.window_minimize),
|
||||||
contentDescription = null,
|
contentDescription = stringResource(CRes.string.window_minimize),
|
||||||
modifier = Modifier.size(SwitchDefaults.IconSize),
|
modifier = Modifier.size(SwitchDefaults.IconSize),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
IconButton(
|
IconButton(
|
||||||
enabled = !gameSolved,
|
|
||||||
onClick = {
|
onClick = {
|
||||||
windowState.placement =
|
windowState.placement =
|
||||||
if (windowState.placement == WindowPlacement.Maximized)
|
if (windowState.placement == WindowPlacement.Maximized)
|
||||||
@@ -136,7 +129,7 @@ fun AppBar(
|
|||||||
) {
|
) {
|
||||||
Icon(
|
Icon(
|
||||||
painter = painterResource(CRes.drawable.window_maximize),
|
painter = painterResource(CRes.drawable.window_maximize),
|
||||||
contentDescription = null,
|
contentDescription = stringResource(CRes.string.window_maximize),
|
||||||
modifier = Modifier.size(SwitchDefaults.IconSize),
|
modifier = Modifier.size(SwitchDefaults.IconSize),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -145,7 +138,7 @@ fun AppBar(
|
|||||||
) {
|
) {
|
||||||
Icon(
|
Icon(
|
||||||
painter = painterResource(CRes.drawable.window_close),
|
painter = painterResource(CRes.drawable.window_close),
|
||||||
contentDescription = null,
|
contentDescription = stringResource(CRes.string.window_close),
|
||||||
modifier = Modifier.size(SwitchDefaults.IconSize),
|
modifier = Modifier.size(SwitchDefaults.IconSize),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -62,7 +62,6 @@ fun main() = application {
|
|||||||
resetCluesBeacon = Any()
|
resetCluesBeacon = Any()
|
||||||
},
|
},
|
||||||
windowState = windowState,
|
windowState = windowState,
|
||||||
game = game,
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
) {
|
) {
|
||||||
|
|||||||
Reference in New Issue
Block a user