add Turkish localization
This commit is contained in:
parent
87bc89b6f1
commit
a569974beb
|
@ -12,6 +12,10 @@ android {
|
||||||
namespace = Constants.APP_ID
|
namespace = Constants.APP_ID
|
||||||
compileSdk = Constants.TARGET_SDK
|
compileSdk = Constants.TARGET_SDK
|
||||||
|
|
||||||
|
androidResources {
|
||||||
|
generateLocaleConfig = true
|
||||||
|
}
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId = Constants.APP_ID
|
applicationId = Constants.APP_ID
|
||||||
minSdk = Constants.MIN_SDK
|
minSdk = Constants.MIN_SDK
|
||||||
|
@ -25,8 +29,6 @@ android {
|
||||||
getByName("debug").assets.srcDirs(files("$projectDir/schemas")) // Room
|
getByName("debug").assets.srcDirs(files("$projectDir/schemas")) // Room
|
||||||
}
|
}
|
||||||
|
|
||||||
resourceConfigurations.addAll(listOf("en"))
|
|
||||||
|
|
||||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||||
vectorDrawables { useSupportLibrary = true }
|
vectorDrawables { useSupportLibrary = true }
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,13 +4,17 @@ import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.rounded.Home
|
import androidx.compose.material.icons.rounded.Home
|
||||||
import androidx.compose.material.icons.rounded.QuestionMark
|
import androidx.compose.material.icons.rounded.QuestionMark
|
||||||
import androidx.compose.material.icons.rounded.Settings
|
import androidx.compose.material.icons.rounded.Settings
|
||||||
|
import androidx.compose.ui.res.stringResource
|
||||||
|
import com.zaneschepke.wireguardautotunnel.R
|
||||||
|
import com.zaneschepke.wireguardautotunnel.WireGuardAutoTunnel
|
||||||
import com.zaneschepke.wireguardautotunnel.ui.common.navigation.BottomNavItem
|
import com.zaneschepke.wireguardautotunnel.ui.common.navigation.BottomNavItem
|
||||||
|
import com.zaneschepke.wireguardautotunnel.util.StringValue
|
||||||
|
|
||||||
sealed class Screen(val route: String) {
|
sealed class Screen(val route: String) {
|
||||||
data object Main : Screen("main") {
|
data object Main : Screen("main") {
|
||||||
val navItem =
|
val navItem =
|
||||||
BottomNavItem(
|
BottomNavItem(
|
||||||
name = "Tunnels",
|
name = WireGuardAutoTunnel.instance.getString(R.string.tunnels),
|
||||||
route = route,
|
route = route,
|
||||||
icon = Icons.Rounded.Home,
|
icon = Icons.Rounded.Home,
|
||||||
)
|
)
|
||||||
|
@ -19,7 +23,7 @@ sealed class Screen(val route: String) {
|
||||||
data object Settings : Screen("settings") {
|
data object Settings : Screen("settings") {
|
||||||
val navItem =
|
val navItem =
|
||||||
BottomNavItem(
|
BottomNavItem(
|
||||||
name = "Settings",
|
name = WireGuardAutoTunnel.instance.getString(R.string.settings),
|
||||||
route = route,
|
route = route,
|
||||||
icon = Icons.Rounded.Settings,
|
icon = Icons.Rounded.Settings,
|
||||||
)
|
)
|
||||||
|
@ -28,7 +32,7 @@ sealed class Screen(val route: String) {
|
||||||
data object Support : Screen("support") {
|
data object Support : Screen("support") {
|
||||||
val navItem =
|
val navItem =
|
||||||
BottomNavItem(
|
BottomNavItem(
|
||||||
name = "Support",
|
name = WireGuardAutoTunnel.instance.getString(R.string.support),
|
||||||
route = route,
|
route = route,
|
||||||
icon = Icons.Rounded.QuestionMark,
|
icon = Icons.Rounded.QuestionMark,
|
||||||
)
|
)
|
||||||
|
|
|
@ -28,7 +28,12 @@ fun ConfigurationToggle(
|
||||||
verticalAlignment = Alignment.CenterVertically,
|
verticalAlignment = Alignment.CenterVertically,
|
||||||
horizontalArrangement = Arrangement.SpaceBetween,
|
horizontalArrangement = Arrangement.SpaceBetween,
|
||||||
) {
|
) {
|
||||||
Text(label, textAlign = TextAlign.Start)
|
Text(label, textAlign = TextAlign.Start, modifier = Modifier
|
||||||
|
.weight(
|
||||||
|
weight = 1.0f,
|
||||||
|
fill = false,
|
||||||
|
),
|
||||||
|
softWrap = true)
|
||||||
Switch(
|
Switch(
|
||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
enabled = enabled,
|
enabled = enabled,
|
||||||
|
|
|
@ -26,6 +26,7 @@ import androidx.compose.foundation.layout.fillMaxWidth
|
||||||
import androidx.compose.foundation.layout.height
|
import androidx.compose.foundation.layout.height
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.layout.size
|
import androidx.compose.foundation.layout.size
|
||||||
|
import androidx.compose.foundation.layout.width
|
||||||
import androidx.compose.foundation.rememberScrollState
|
import androidx.compose.foundation.rememberScrollState
|
||||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||||
import androidx.compose.foundation.text.KeyboardActions
|
import androidx.compose.foundation.text.KeyboardActions
|
||||||
|
|
|
@ -37,6 +37,7 @@ import androidx.compose.ui.platform.LocalContext
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.res.vectorResource
|
import androidx.compose.ui.res.vectorResource
|
||||||
import androidx.compose.ui.text.TextStyle
|
import androidx.compose.ui.text.TextStyle
|
||||||
|
import androidx.compose.ui.text.buildAnnotatedString
|
||||||
import androidx.compose.ui.text.font.FontWeight
|
import androidx.compose.ui.text.font.FontWeight
|
||||||
import androidx.compose.ui.text.style.TextAlign
|
import androidx.compose.ui.text.style.TextAlign
|
||||||
import androidx.compose.ui.text.style.TextDecoration
|
import androidx.compose.ui.text.style.TextDecoration
|
||||||
|
@ -122,7 +123,13 @@ fun SupportScreen(
|
||||||
Text(
|
Text(
|
||||||
stringResource(id = R.string.docs_description),
|
stringResource(id = R.string.docs_description),
|
||||||
textAlign = TextAlign.Justify,
|
textAlign = TextAlign.Justify,
|
||||||
modifier = Modifier.padding(start = 10.dp),
|
modifier = Modifier
|
||||||
|
.padding(start = 10.dp)
|
||||||
|
.weight(
|
||||||
|
weight = 1.0f,
|
||||||
|
fill = false,
|
||||||
|
),
|
||||||
|
softWrap = true
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
Icon(
|
Icon(
|
||||||
|
@ -270,8 +277,21 @@ fun SupportScreen(
|
||||||
verticalAlignment = Alignment.CenterVertically,
|
verticalAlignment = Alignment.CenterVertically,
|
||||||
modifier = Modifier.padding(25.dp),
|
modifier = Modifier.padding(25.dp),
|
||||||
) {
|
) {
|
||||||
Text("Version: ${BuildConfig.VERSION_NAME}", modifier = Modifier.focusable())
|
val version = buildAnnotatedString {
|
||||||
Text("Mode: ${if (uiState.settings.isKernelEnabled) "Kernel" else "Userspace"}")
|
append(stringResource(id = R.string.version))
|
||||||
|
append(": ")
|
||||||
|
append(BuildConfig.VERSION_NAME)
|
||||||
|
}
|
||||||
|
val mode = buildAnnotatedString {
|
||||||
|
append(stringResource(R.string.mode))
|
||||||
|
append(": ")
|
||||||
|
when(uiState.settings.isKernelEnabled){
|
||||||
|
true -> append(stringResource(id = R.string.kernel))
|
||||||
|
false -> append(stringResource(id = R.string.userspace))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Text(version.text, modifier = Modifier.focusable())
|
||||||
|
Text(mode.text)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
unqualifiedResLocale=en-US
|
|
@ -135,7 +135,7 @@
|
||||||
<string name="email_subject">WG Tunnel Desteği</string>
|
<string name="email_subject">WG Tunnel Desteği</string>
|
||||||
<string name="email_chooser">Bir e-posta gönderin…</string>
|
<string name="email_chooser">Bir e-posta gönderin…</string>
|
||||||
<string name="go">git</string>
|
<string name="go">git</string>
|
||||||
<string name="docs_description">Belgeleri okuyun (Devam Eden Çalışma)</string>
|
<string name="docs_description">Belgeleri okuyun</string>
|
||||||
<string name="discord_description">Topluluğa katılın</string>
|
<string name="discord_description">Topluluğa katılın</string>
|
||||||
<string name="email_description">Bana e-posta gönder</string>
|
<string name="email_description">Bana e-posta gönder</string>
|
||||||
<string name="support_help_text">Sorun yaşıyorsanız, iyileştirme fikirleriniz varsa veya sadece etkileşimde bulunmak istiyorsanız, aşağıdaki kaynaklar mevcuttur:</string>
|
<string name="support_help_text">Sorun yaşıyorsanız, iyileştirme fikirleriniz varsa veya sadece etkileşimde bulunmak istiyorsanız, aşağıdaki kaynaklar mevcuttur:</string>
|
||||||
|
|
|
@ -135,7 +135,7 @@
|
||||||
<string name="email_subject">WG Tunnel Support</string>
|
<string name="email_subject">WG Tunnel Support</string>
|
||||||
<string name="email_chooser">Send an email…</string>
|
<string name="email_chooser">Send an email…</string>
|
||||||
<string name="go">go</string>
|
<string name="go">go</string>
|
||||||
<string name="docs_description">Read the docs (WIP)</string>
|
<string name="docs_description">Read the docs</string>
|
||||||
<string name="discord_description">Join the community</string>
|
<string name="discord_description">Join the community</string>
|
||||||
<string name="email_description">Send me an email</string>
|
<string name="email_description">Send me an email</string>
|
||||||
<string name="support_help_text">If you are experiencing issues, have improvement ideas, or just want to engage, the following resources are available:</string>
|
<string name="support_help_text">If you are experiencing issues, have improvement ideas, or just want to engage, the following resources are available:</string>
|
||||||
|
@ -188,4 +188,9 @@
|
||||||
<string name="auto_off">Pause auto tun</string>
|
<string name="auto_off">Pause auto tun</string>
|
||||||
<string name="auto_tun_on">Resume auto-tunnel</string>
|
<string name="auto_tun_on">Resume auto-tunnel</string>
|
||||||
<string name="auto_tun_off">Pause auto-tunnel</string>
|
<string name="auto_tun_off">Pause auto-tunnel</string>
|
||||||
|
<string name="version">Version</string>
|
||||||
|
<string name="mode">Mode</string>
|
||||||
|
<string name="userspace">Userspace</string>
|
||||||
|
<string name="settings">Settings</string>
|
||||||
|
<string name="support">Support</string>
|
||||||
</resources>
|
</resources>
|
|
@ -2,3 +2,4 @@ What's new:
|
||||||
- Fix stop tunnel regression
|
- Fix stop tunnel regression
|
||||||
- Add logs obfuscation
|
- Add logs obfuscation
|
||||||
- Add hide FAB on scroll
|
- Add hide FAB on scroll
|
||||||
|
- Add Turkish localization
|
Loading…
Reference in New Issue