Added more tweaks to translations and strings.xml

This commit is contained in:
Arty Bishop committed 2026-01-27 18:12:20 +00:00
1 parent 1290b8f32f
commit c180f6e58e
12 files changed
+212 -329

No files matched your search

@@ -232,9 +232,10 @@ fun EmptyListCard(message: String) {
Box(contentAlignment = Alignment.Center, modifier = Modifier.fillMaxSize()) {
Column(
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.spacedBy(16.dp),
verticalArrangement = Arrangement.spacedBy(24.dp),
modifier = Modifier.padding(32.dp)
) {
Text(text = """¯\_(ツ)_/¯""", fontSize = 32.sp)
Text(text = stringResource(R.string.empty_list_message), fontSize = 21.sp)
Text(text = message, fontSize = 18.sp, textAlign = TextAlign.Center)
}
@@ -242,7 +243,7 @@ fun EmptyListCard(message: String) {
}
fun getDefaultPass(): OrbitalPass {
val orbitalData = OrbitalData("||=<☉>=||", 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0, 0.0)
val orbitalData = OrbitalData(""" ¯\_(ツ)_/¯ ⚠️""", 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0, 0.0)
val satellite = NearEarthObject(orbitalData)
return OrbitalPass(0L, 0.0, Long.MAX_VALUE, 0.0, 0, 0.0, satellite, 0f)
}
@@ -120,7 +120,7 @@ private fun PassesScreen(uiState: PassesState, navigateToRadar: (Int, Long) -> U
}
)
}
) { isVerticalLayout ->
) { _ ->
PassesList(
isRefreshing = uiState.isRefreshing,
passes = uiState.itemsList,
@@ -12,10 +12,8 @@ import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.lazy.LazyColumn
@@ -100,12 +98,8 @@ private fun RadarScreen(uiState: RadarState, navigateUp: () -> Unit) {
if(isVerticalLayout()) {
ElevatedCard(modifier = Modifier.weight(1f)) {
Box(contentAlignment = Alignment.Center) {
if (uiState.orbitalPos == null) {
ElevatedCard(modifier = Modifier.fillMaxSize()) {}
}
uiState.orbitalPos?.let { position ->
RadarViewCompose(
item = position,
item = uiState.orbitalPos,
items = uiState.satTrack,
azimElev = uiState.orientationValues,
shouldShowSweep = uiState.shouldShowSweep,
@@ -123,12 +117,12 @@ private fun RadarScreen(uiState: RadarState, navigateUp: () -> Unit) {
modifier = Modifier.fillMaxWidth()
) {
RadarTextTop(
position.azimuth,
uiState.orbitalPos?.azimuth ?: 0.0,
stringResource(R.string.radar_az_text),
true
)
RadarTextTop(
position.elevation,
uiState.orbitalPos?.elevation ?: 0.0,
stringResource(R.string.radar_el_text),
false
)
@@ -138,12 +132,12 @@ private fun RadarScreen(uiState: RadarState, navigateUp: () -> Unit) {
modifier = Modifier.fillMaxWidth()
) {
RadarTextBottom(
position.altitude,
uiState.orbitalPos?.altitude ?: 0.0,
stringResource(R.string.radar_alt_text),
true
)
RadarTextBottom(
position.distance,
uiState.orbitalPos?.distance ?: 0.0,
stringResource(R.string.radar_dist_text),
false
)
@@ -151,27 +145,23 @@ private fun RadarScreen(uiState: RadarState, navigateUp: () -> Unit) {
}
}
}
}
ElevatedCard(modifier = Modifier.weight(1f)) {
if (uiState.transmitters.isEmpty()) {
Box(contentAlignment = Alignment.Center, modifier = Modifier.fillMaxSize()) {
Column(
modifier = Modifier.fillMaxSize(),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center
verticalArrangement = Arrangement.spacedBy(24.dp),
modifier = Modifier.padding(32.dp)
) {
Icon(
painter = painterResource(R.drawable.ic_radios),
contentDescription = null,
modifier = Modifier.size(64.dp)
)
Spacer(modifier = Modifier.height(16.dp))
Text(text = """¯\_(ツ)_/¯""", fontSize = 32.sp)
Text(text = stringResource(R.string.empty_list_message), fontSize = 21.sp)
Text(
text = "This satellite doesn't have any known transcievers...",
textAlign = TextAlign.Center,
text = stringResource(R.string.radar_no_data),
fontSize = 18.sp,
modifier = Modifier.padding(16.dp)
textAlign = TextAlign.Center
)
}
}
} else {
Box(modifier = Modifier.fillMaxSize(), contentAlignment = Alignment.Center) {
TransmittersList(transmitters = uiState.transmitters)
@@ -185,12 +175,8 @@ private fun RadarScreen(uiState: RadarState, navigateUp: () -> Unit) {
Row(horizontalArrangement = Arrangement.spacedBy(6.dp)) {
ElevatedCard(modifier = Modifier.weight(1f)) {
Box(contentAlignment = Alignment.Center) {
if (uiState.orbitalPos == null) {
ElevatedCard(modifier = Modifier.fillMaxSize()) {}
}
uiState.orbitalPos?.let { position ->
RadarViewCompose(
item = position,
item = uiState.orbitalPos,
items = uiState.satTrack,
azimElev = uiState.orientationValues,
shouldShowSweep = uiState.shouldShowSweep,
@@ -208,12 +194,12 @@ private fun RadarScreen(uiState: RadarState, navigateUp: () -> Unit) {
modifier = Modifier.fillMaxWidth()
) {
RadarTextTop(
position.azimuth,
uiState.orbitalPos?.azimuth ?: 0.0,
stringResource(R.string.radar_az_text),
true
)
RadarTextTop(
position.elevation,
uiState.orbitalPos?.elevation ?: 0.0,
stringResource(R.string.radar_el_text),
false
)
@@ -223,12 +209,12 @@ private fun RadarScreen(uiState: RadarState, navigateUp: () -> Unit) {
modifier = Modifier.fillMaxWidth()
) {
RadarTextBottom(
position.altitude,
uiState.orbitalPos?.altitude ?: 0.0,
stringResource(R.string.radar_alt_text),
true
)
RadarTextBottom(
position.distance,
uiState.orbitalPos?.distance ?: 0.0,
stringResource(R.string.radar_dist_text),
false
)
@@ -236,27 +222,23 @@ private fun RadarScreen(uiState: RadarState, navigateUp: () -> Unit) {
}
}
}
}
ElevatedCard(modifier = Modifier.weight(1f)) {
if (uiState.transmitters.isEmpty()) {
Box(contentAlignment = Alignment.Center, modifier = Modifier.fillMaxSize()) {
Column(
modifier = Modifier.fillMaxSize(),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center
verticalArrangement = Arrangement.spacedBy(24.dp),
modifier = Modifier.padding(32.dp)
) {
Icon(
painter = painterResource(R.drawable.ic_radios),
contentDescription = null,
modifier = Modifier.size(64.dp)
)
Spacer(modifier = Modifier.height(16.dp))
Text(text = """¯\_(ツ)_/¯""", fontSize = 32.sp)
Text(text = stringResource(R.string.empty_list_message), fontSize = 21.sp)
Text(
text = "This satellite doesn't have any known transcievers...",
textAlign = TextAlign.Center,
text = stringResource(R.string.radar_no_data),
fontSize = 18.sp,
modifier = Modifier.padding(16.dp)
textAlign = TextAlign.Center
)
}
}
} else {
Box(modifier = Modifier.fillMaxSize(), contentAlignment = Alignment.Center) {
TransmittersList(transmitters = uiState.transmitters)
@@ -42,7 +42,7 @@ import kotlin.math.sin
@Composable
fun RadarViewCompose(
item: OrbitalPos,
item: OrbitalPos?,
items: List<OrbitalPos>,
azimElev: Pair<Float, Float>,
shouldShowSweep: Boolean,
@@ -144,7 +144,7 @@ fun RadarViewCompose(
drawInfo(radius, trackColor, measurer, 3)
translate(center.x, center.y) {
drawTrack(trackPath.value, trackEffect.value, aimColor, trackColor)
if (item.elevation > 0) {
if (item != null && item.elevation > 0) {
drawPosition(item, radius, animScale.value, trackColor)
}
if (shouldUseCompass) {
@@ -9,6 +9,7 @@ import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxHeight
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
@@ -33,7 +34,6 @@ import androidx.compose.ui.platform.LocalUriHandler
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
@@ -72,7 +72,7 @@ fun NavGraphBuilder.settingsDestination() {
private fun SettingsScreen(uiState: SettingsState) {
// Permissions setup
val bluetoothContract = ActivityResultContracts.RequestPermission()
val bluetoothError = stringResource(R.string.prefs_BTremote_perm_error)
val bluetoothError = stringResource(R.string.prefs_bt_perm_error)
val bluetoothPerm = when {
Build.VERSION.SDK_INT < Build.VERSION_CODES.S -> Manifest.permission.BLUETOOTH
else -> Manifest.permission.BLUETOOTH_CONNECT
@@ -100,8 +100,7 @@ private fun SettingsScreen(uiState: SettingsState) {
}
// Position settings
val positionSettings = uiState.positionSettings
val stationPos = positionSettings.stationPos
val posSettings = uiState.positionSettings
val setGpsPos = { locationRequest.launch(arrayOf(locationPermCoarse, locationPermFine)) }
val setGeoPos = { lat: Double, lon: Double ->
uiState.sendAction(SettingsAction.SetGeoPosition(lat, lon))
@@ -113,12 +112,12 @@ private fun SettingsScreen(uiState: SettingsState) {
val posDialogState = rememberSaveable { mutableStateOf(false) }
val showPosDialog = { posDialogState.value = posDialogState.value.not() }
if (posDialogState.value) {
PositionDialog(stationPos.latitude, stationPos.longitude, showPosDialog, setGeoPos)
PositionDialog(posSettings.stationPos.latitude, posSettings.stationPos.longitude, showPosDialog, setGeoPos)
}
val locDialogState = rememberSaveable { mutableStateOf(false) }
val showLocDialog = { locDialogState.value = locDialogState.value.not() }
if (locDialogState.value) {
LocatorDialog(positionSettings.stationPos.qthLocator, showLocDialog, setQthPos)
LocatorDialog(posSettings.stationPos.qthLocator, showLocDialog, setQthPos)
}
// Data settings
@@ -146,32 +145,40 @@ private fun SettingsScreen(uiState: SettingsState) {
val toggleSweep = { value: Boolean -> uiState.sendAction(SettingsAction.ToggleSweep(value)) }
val toggleSensor = { value: Boolean -> uiState.sendAction(SettingsAction.ToggleSensor(value)) }
val uriHandler = LocalUriHandler.current
val appUrl = stringResource(R.string.prefs_app_url)
val donateUrl = stringResource(R.string.prefs_donate_url)
val fdroidTitle = stringResource(R.string.prefs_fdroid_title)
val fdroidUrl = stringResource(R.string.prefs_fdroid_url)
val gitHubTitle = stringResource(R.string.prefs_github_title)
val gitHubUrl = stringResource(R.string.prefs_github_url)
val licenseUrl = stringResource(R.string.prefs_license_url)
val privacyUrl = stringResource(R.string.prefs_privacy_url)
ScreenColumn(
topBar = { isVerticalLayout ->
if (isVerticalLayout) {
TopBar {
TopCard(onClick = { uriHandler.openUri("https://play.google.com/store/apps/details?id=com.rtbishop.look4sat") }, version = uiState.appVersionName, modifier = Modifier.weight(1f))
PrimaryIconCard(onClick = { uriHandler.openUri("https://ko-fi.com/rt_bishop") }, resId = R.drawable.ic_pound)
TopCard(onClick = { uriHandler.openUri(appUrl) }, version = uiState.appVersionName, modifier = Modifier.weight(1f))
PrimaryIconCard(onClick = { uriHandler.openUri(donateUrl) }, resId = R.drawable.ic_pound)
}
TopBar {
Row(modifier = Modifier.weight(1f), horizontalArrangement = Arrangement.spacedBy(6.dp)) {
BotCard(onClick = { uriHandler.openUri("https://www.gnu.org/licenses/gpl-3.0.html") }, R.drawable.ic_license, "Licence", modifier = Modifier.weight(1f))
BotCard(onClick = { uriHandler.openUri("https://sites.google.com/view/look4sat-privacy-policy/home") }, R.drawable.ic_policy, "Privacy", modifier = Modifier.weight(1f))
BotCard(onClick = { uriHandler.openUri(fdroidUrl) }, R.drawable.ic_fdroid, fdroidTitle, modifier = Modifier.weight(1f))
BotCard(onClick = { uriHandler.openUri(gitHubUrl) }, R.drawable.ic_github, gitHubTitle, modifier = Modifier.weight(1f))
}
IconCard(action = { uriHandler.openUri("https://f-droid.org/en/packages/com.rtbishop.look4sat/") }, resId = R.drawable.ic_fdroid)
IconCard(action = { uriHandler.openUri("https://github.com/rt-bishop/Look4Sat/") }, resId = R.drawable.ic_github)
IconCard(action = { uriHandler.openUri(licenseUrl) }, resId = R.drawable.ic_license)
IconCard(action = { uriHandler.openUri(privacyUrl) }, resId = R.drawable.ic_policy)
}
} else {
TopBar {
PrimaryIconCard(onClick = { uriHandler.openUri("https://ko-fi.com/rt_bishop") }, resId = R.drawable.ic_pound)
TopCard(onClick = { uriHandler.openUri("https://play.google.com/store/apps/details?id=com.rtbishop.look4sat") }, version = uiState.appVersionName, modifier = Modifier.weight(1f))
PrimaryIconCard(onClick = { uriHandler.openUri(donateUrl) }, resId = R.drawable.ic_pound)
TopCard(onClick = { uriHandler.openUri(appUrl) }, version = uiState.appVersionName, modifier = Modifier.weight(1f))
Row(modifier = Modifier.weight(1f), horizontalArrangement = Arrangement.spacedBy(6.dp)) {
BotCard(onClick = { uriHandler.openUri("https://www.gnu.org/licenses/gpl-3.0.html") }, R.drawable.ic_license, "Licence", modifier = Modifier.weight(1f))
BotCard(onClick = { uriHandler.openUri("https://sites.google.com/view/look4sat-privacy-policy/home") }, R.drawable.ic_policy, "Privacy", modifier = Modifier.weight(1f))
BotCard(onClick = { uriHandler.openUri(fdroidUrl) }, R.drawable.ic_fdroid, fdroidTitle, modifier = Modifier.weight(1f))
BotCard(onClick = { uriHandler.openUri(gitHubUrl) }, R.drawable.ic_github, gitHubTitle, modifier = Modifier.weight(1f))
}
IconCard(action = { uriHandler.openUri("https://f-droid.org/en/packages/com.rtbishop.look4sat/") }, resId = R.drawable.ic_fdroid)
IconCard(action = { uriHandler.openUri("https://github.com/rt-bishop/Look4Sat/") }, resId = R.drawable.ic_github)
IconCard(action = { uriHandler.openUri(licenseUrl) }, resId = R.drawable.ic_license)
IconCard(action = { uriHandler.openUri(privacyUrl) }, resId = R.drawable.ic_policy)
}
}
}
@@ -183,27 +190,12 @@ private fun SettingsScreen(uiState: SettingsState) {
modifier = Modifier.clip(MaterialTheme.shapes.medium)
) {
item {
LocationCard(
positionSettings,
setGpsPos,
showPosDialog,
showLocDialog,
dismissPos,
uiState.sendSystemAction
)
LocationCard(posSettings, setGpsPos, showPosDialog, showLocDialog, dismissPos, uiState.sendSystemAction)
}
item { DataCard(dataSettings, updateFromWeb, updateFromFile, clearAllData) }
item { NetworkOutputCard(rcSettings, setRotatorState, setRotatorAddress, setRotatorPort) }
item { BluetoothOutputCard(rcSettings, setBluetoothState, setBluetoothAddress, setBluetoothFormat) }
item {
OtherCard(
otherSettings,
toggleUtc,
toggleUpdate,
toggleSweep,
toggleSensor
)
}
item { OtherCard(otherSettings, toggleUtc, toggleUpdate, toggleSweep, toggleSensor) }
item { CardCredits() }
}
}
@@ -241,22 +233,10 @@ private fun LocationCard(
Spacer(modifier = Modifier.height(2.dp))
Text(text = setUpdateTime(updateTime = settings.stationPos.timestamp))
Spacer(modifier = Modifier.height(2.dp))
Row(horizontalArrangement = Arrangement.SpaceBetween) {
Text(
text = "Lat: ${settings.stationPos.latitude}°",
modifier = Modifier.weight(1f),
textAlign = TextAlign.Start
)
Text(
text = "Lon: ${settings.stationPos.longitude}°",
modifier = Modifier.weight(1f),
textAlign = TextAlign.Center
)
Text(
text = "Qth: ${settings.stationPos.qthLocator}",
modifier = Modifier.weight(1f),
textAlign = TextAlign.End
)
Row(horizontalArrangement = Arrangement.SpaceBetween, modifier = Modifier.fillMaxWidth()) {
Text(text = "Lat: ${settings.stationPos.latitude}")
Text(text = "Lon: ${settings.stationPos.longitude}")
Text(text = "Qth: ${settings.stationPos.qthLocator}")
}
Spacer(modifier = Modifier.height(1.dp))
Row(horizontalArrangement = Arrangement.SpaceEvenly) {
@@ -268,7 +248,7 @@ private fun LocationCard(
Spacer(modifier = Modifier.width(6.dp))
CardButton(
onClick = showPosDialog,
text = stringResource(id = R.string.prefs_loc_manual_title),
text = stringResource(id = R.string.prefs_loc_input_title),
modifier = Modifier.weight(1f)
)
Spacer(modifier = Modifier.width(6.dp))
@@ -318,16 +298,15 @@ private fun DataCard(
Spacer(modifier = Modifier.height(2.dp))
Text(text = setUpdateTime(updateTime = settings.timestamp))
Spacer(modifier = Modifier.height(2.dp))
Row(horizontalArrangement = Arrangement.SpaceBetween) {
Text(text = "Satellites: ${settings.entriesTotal}")
Spacer(modifier = Modifier.weight(1f))
Text(text = "Transceivers: ${settings.radiosTotal}")
Row(horizontalArrangement = Arrangement.SpaceBetween, modifier = Modifier.fillMaxWidth()) {
Text(text = stringResource(R.string.prefs_data_entries, settings.entriesTotal))
Text(text = stringResource(R.string.prefs_data_radios, settings.radiosTotal))
}
Spacer(modifier = Modifier.height(1.dp))
Row(horizontalArrangement = Arrangement.SpaceEvenly) {
CardButton(
onClick = { updateFromWeb() },
text = stringResource(id = R.string.prefs_data_online),
text = stringResource(id = R.string.prefs_data_update),
modifier = Modifier.weight(1f)
)
Spacer(modifier = Modifier.width(6.dp))
@@ -372,7 +351,7 @@ private fun NetworkOutputCard(
ElevatedCard(modifier = Modifier.fillMaxWidth()) {
Column(modifier = Modifier.padding(horizontal = 8.dp, vertical = 4.dp)) {
Text(
text = stringResource(id = R.string.prefs_remote_title),
text = stringResource(id = R.string.prefs_net_title),
color = MaterialTheme.colorScheme.primary
)
Row(
@@ -380,7 +359,7 @@ private fun NetworkOutputCard(
verticalAlignment = Alignment.CenterVertically,
modifier = Modifier.fillMaxWidth()
) {
Text(text = stringResource(R.string.prefs_remote_switch))
Text(text = stringResource(R.string.prefs_net_switch))
Switch(checked = settings.rotatorState, onCheckedChange = { setRotatorState(it) })
}
Row(
@@ -391,7 +370,7 @@ private fun NetworkOutputCard(
OutlinedTextField(
value = settings.rotatorAddress,
singleLine = true,
label = { Text(text = stringResource(R.string.prefs_remote_ip_hint)) },
label = { Text(text = stringResource(R.string.prefs_net_ip_hint)) },
onValueChange = { setRotatorAddress(it) },
modifier = Modifier.weight(1.5f),
enabled = settings.rotatorState
@@ -399,7 +378,7 @@ private fun NetworkOutputCard(
OutlinedTextField(
value = settings.rotatorPort,
onValueChange = { setRotatorPort(it) },
label = { Text(text = stringResource(R.string.prefs_remote_port_hint)) },
label = { Text(text = stringResource(R.string.prefs_net_port_hint)) },
singleLine = true,
modifier = Modifier.weight(1f),
enabled = settings.rotatorState
@@ -435,7 +414,7 @@ private fun BluetoothOutputCard(
ElevatedCard(modifier = Modifier.fillMaxWidth()) {
Column(modifier = Modifier.padding(horizontal = 8.dp, vertical = 4.dp)) {
Text(
text = stringResource(id = R.string.prefs_BTremote_title),
text = stringResource(id = R.string.prefs_bt_title),
color = MaterialTheme.colorScheme.primary
)
Row(
@@ -443,7 +422,7 @@ private fun BluetoothOutputCard(
verticalAlignment = Alignment.CenterVertically,
modifier = Modifier.fillMaxWidth()
) {
Text(text = stringResource(R.string.prefs_BTremote_switch))
Text(text = stringResource(R.string.prefs_bt_switch))
Switch(checked = settings.bluetoothState, onCheckedChange = { setBluetoothState(it) })
}
Row(
@@ -454,7 +433,7 @@ private fun BluetoothOutputCard(
OutlinedTextField(
value = settings.bluetoothAddress,
singleLine = true,
label = { Text(text = stringResource(R.string.prefs_BTremote_device_hint)) },
label = { Text(text = stringResource(R.string.prefs_bt_device_hint)) },
onValueChange = { setBluetoothAddress(it) },
modifier = Modifier.weight(1.5f),
enabled = settings.bluetoothState
@@ -462,7 +441,7 @@ private fun BluetoothOutputCard(
OutlinedTextField(
value = settings.bluetoothFormat,
onValueChange = { setBluetoothFormat(it) },
label = { Text(text = stringResource(R.string.prefs_BTremote_output_hint)) },
label = { Text(text = stringResource(R.string.prefs_bt_output_hint)) },
singleLine = true,
modifier = Modifier.weight(1f),
enabled = settings.bluetoothState
@@ -496,8 +475,12 @@ private fun OtherCard(
toggleSweep: (Boolean) -> Unit,
toggleSensor: (Boolean) -> Unit
) {
ElevatedCard(modifier = Modifier.fillMaxWidth()) {
Column(modifier = Modifier.padding(horizontal = 8.dp, vertical = 2.dp)) {
ElevatedCard(modifier = Modifier.fillMaxWidth().height(220.dp)) {
Column(modifier = Modifier.padding(horizontal = 8.dp, vertical = 4.dp)) {
Text(
text = stringResource(id = R.string.prefs_bt_title),
color = MaterialTheme.colorScheme.primary
)
Row(
horizontalArrangement = Arrangement.SpaceBetween,
verticalAlignment = Alignment.CenterVertically,
@@ -562,29 +545,21 @@ private fun CardCreditsPreview() = MainTheme { CardCredits() }
@Composable
private fun CardCredits(modifier: Modifier = Modifier) {
ElevatedCard(modifier = modifier.fillMaxWidth()) {
ElevatedCard(modifier = modifier.fillMaxWidth().height(220.dp)) {
Column(
horizontalAlignment = Alignment.CenterHorizontally,
modifier = Modifier.padding(horizontal = 8.dp, vertical = 4.dp)
verticalArrangement = Arrangement.SpaceBetween,
modifier = Modifier.padding(horizontal = 8.dp, vertical = 4.dp).fillMaxHeight()
) {
Text(
text = stringResource(id = R.string.prefs_outro_title),
fontSize = 18.sp,
fontWeight = FontWeight.Medium,
color = MaterialTheme.colorScheme.primary,
modifier = modifier.padding(6.dp)
color = MaterialTheme.colorScheme.primary
)
Text(
text = stringResource(
id = R.string.prefs_outro_thanks
), fontSize = 16.sp, textAlign = TextAlign.Center
text = stringResource(id = R.string.prefs_outro_thanks)
)
Text(
text = stringResource(id = R.string.prefs_outro_license),
fontSize = 18.sp,
fontWeight = FontWeight.Medium,
color = MaterialTheme.colorScheme.primary,
modifier = modifier.padding(6.dp)
color = MaterialTheme.colorScheme.primary
)
}
}
@@ -606,7 +581,7 @@ private fun TopCard(onClick: () -> Unit, modifier: Modifier = Modifier, version:
tint = MaterialTheme.colorScheme.primary
)
Text(
text = "Look4Sat v$version",
text = stringResource(R.string.prefs_app_title, version),
fontSize = 24.sp,
fontWeight = FontWeight.Medium,
modifier = Modifier
@@ -174,7 +174,7 @@ class SettingsViewModel(
)
_uiState.update { it.copy(positionSettings = newPosSettings) }
} else {
val errorResId = R.string.prefs_loc_manual_error
val errorResId = R.string.prefs_loc_input_error
val newPosSettings = _uiState.value.positionSettings.copy(
isUpdating = false, messageResId = errorResId
)
+18 -36
View File
@@ -3,7 +3,7 @@
<!-- Commmon -->
<string name="btn_accept">Aceptar</string>
<string name="btn_cancel">Cancelar</string>
<string name="empty_list_message">No items to display</string>
<string name="empty_list_message">No hay datos para mostrar</string>
<!-- Navigation -->
<string name="nav_sat">Satélites</string>
@@ -35,7 +35,6 @@
<string name="pass_modes_title">Tipo de modulación</string>
<string name="pass_elevation">ELEV: %.1f°</string>
<string name="pass_altitude">ALT: %.0f km</string>
<string name="pass_empty_db_message">No hay datos para mostrar. Por favor, actualiza la base de datos a través del menú Ajustes.</string>
<string name="pass_empty_list_message">
Make sure your filters are correct and you have selected satellites</string>
<string name="pass_error_message">No hay pases de satélite próximos para mostrar</string>
@@ -54,11 +53,11 @@
<string name="radar_eclipsed">Eclipsado</string>
<string name="radar_downlink">Downlink</string>
<string name="radar_uplink">Uplink</string>
<string name="radar_no_data">Este satélite no lleva transmisores</string>
<string name="radar_add">Añadir</string>
<string name="radar_data">Transmisores satélite:</string>
<string name="radar_inverted">Invertido: %s</string>
<string name="radar_mode">Modo: %s</string>
<string name="radar_no_data">Este satélite no lleva transmisores</string>
<string name="radar_string_no">No</string>
<string name="radar_string_yes">Si</string>
<string name="radar_visible">Visible</string>
@@ -80,11 +79,8 @@
<string name="map_visible">Visible</string>
<!-- Settings screen -->
<string name="prefs_donate">Soporte</string>
<string name="prefs_license">GPLv3 Licence</string>
<string name="prefs_privacy">Privacy Policy</string>
<string name="prefs_fdroid">F-Droid</string>
<string name="prefs_github">GitHub</string>
<string name="prefs_donate_title">Soporte</string>
<string name="prefs_privacy_title">Privacy Policy</string>
<string name="prefs_updated_title">Última actualización: %s</string>
<string name="prefs_updated_time">d MMM yyyy - HH:mm:ss</string>
@@ -92,8 +88,8 @@
<string name="prefs_loc_title">Ubicación estación</string>
<string name="prefs_loc_gps_title">GPS</string>
<string name="prefs_loc_gps_error">Revisa los permisos de ubicación</string>
<string name="prefs_loc_manual_title">Manual</string>
<string name="prefs_loc_manual_error">Ubicación no válida</string>
<string name="prefs_loc_input_title">Manual</string>
<string name="prefs_loc_input_error">Ubicación no válida</string>
<string name="prefs_loc_qth_title">QTH</string>
<string name="prefs_loc_qth_error">Ubicación QTH no válida</string>
<string name="prefs_loc_success">Ubicación actualizada con éxito</string>
@@ -106,44 +102,30 @@
<string name="prefs_data_title">Actualizar datos de satélites</string>
<string name="prefs_data_entries">Satélites: %s</string>
<string name="prefs_data_radios">Transmisores: %s</string>
<string name="prefs_data_online">Online</string>
<string name="prefs_data_update">Online</string>
<string name="prefs_data_import">Importar</string>
<string name="prefs_data_clear">Vaciar</string>
<string name="prefs_data_clear_success">Datos eliminados con éxito</string>
<string name="prefs_data_update_success">Actualización completada con éxito</string>
<string name="prefs_remote_title">Preferencias Rotator</string>
<string name="prefs_remote_switch">Habilitar control remoto</string>
<string name="prefs_remote_ip_hint">Dirección IP</string>
<string name="prefs_remote_port_hint">Puerto</string>
<string name="prefs_net_title">Preferencias Rotator</string>
<string name="prefs_net_switch">Habilitar control remoto</string>
<string name="prefs_net_ip_hint">Dirección IP</string>
<string name="prefs_net_port_hint">Puerto</string>
<string name="prefs_BTremote_title">Salida por Bluetooth</string>
<string name="prefs_BTremote_switch">Habilitar salida</string>
<string name="prefs_BTremote_device_hint">Id dispositivo</string>
<string name="prefs_BTremote_output_hint">Formato de datos</string>
<string name="prefs_BTremote_perm_error">Revisa los permisos de Bluetooth</string>
<string name="prefs_bt_title">Salida por Bluetooth</string>
<string name="prefs_bt_switch">Habilitar salida</string>
<string name="prefs_bt_device_hint">Id dispositivo</string>
<string name="prefs_bt_output_hint">Formato de datos</string>
<string name="prefs_bt_perm_error">Revisa los permisos de Bluetooth</string>
<string name="prefs_other_title">Other settings</string>
<string name="prefs_other_switch_utc">Mostrar tiempos de pase en UTC</string>
<string name="prefs_other_switch_update">Habilitar auto actualización de datos</string>
<string name="prefs_other_switch_sweep">Habilitar animaciones radar</string>
<string name="prefs_other_switch_sensors">Usar sensores para rotar vista de radar</string>
<string name="prefs_outro_title">Me gustaría dar las gracias a:</string>
<string name="prefs_outro_thanks"> • ti por descargar y usar Look4Sat! \nQue tengas cielos despejados!
\n • <a href="https://github.com/g4dpz">David A. B. Johnson</a>
y <a href="https://github.com/davidmoten">Dave Moten</a> por crear predict4java lib
bajo <a href="https://gnu.org/licenses/old-licenses/gpl-2.0.en.html">GNU GPLv2</a>.
\n • <a href="https://github.com/csete">Alexandru Csete</a> por crear el rastreador de satélites Gpredict
que ha inspirado la creación de Look4Sat.
\n • <a href="https://celestrak.com/webmaster.php">Dr T.S. Kelso</a> por mantener
<a href="https://celestrak.com/">Celestrak</a> que proporciona acceso a datos TLE.
\n • <a href="https://libre.space/">Libre Space Foundation</a> por la API y base de datos
<a href="https://db.satnogs.org/">SatNOGS</a> que proporciona gran cantidad de datos de satélites.
\n • <a href="https://appoftheday.downloadastro.com/app/look4sat-satellite-tracker/">DownloadAstro</a>
por su interés en la app y la entrevista publicada.
</string>
<string name="prefs_outro_license"><a href="https://sites.google.com/view/look4sat-privacy-policy/home">Política de privacidad.</a>
La app viene sin garantías de ningún tipo. \nPara más información revisa la licencia <a href="https://www.gnu.org/licenses/gpl-3.0.html">GNU GPLv3</a>.
</string>
<string name="prefs_outro_license">La app viene sin garantías de ningún tipo.</string>
</resources>
+17 -33
View File
@@ -3,7 +3,7 @@
<!-- Commmon -->
<string name="btn_accept">Принять</string>
<string name="btn_cancel">Отменить</string>
<string name="empty_list_message">No items to display</string>
<string name="empty_list_message">Нет данных для отображения</string>
<!-- Navigation -->
<string name="nav_sat">Спутники</string>
@@ -35,7 +35,6 @@
<string name="pass_modes_title">Выберите тип модуляции</string>
<string name="pass_elevation">Элевация: %.1f°</string>
<string name="pass_altitude">Высота: %d км</string>
<string name="pass_empty_db_message">Пожалуйста, обновите базу данных спутников через меню Настроек</string>
<string name="pass_empty_list_message">
Make sure your filters are correct and you have selected satellites</string>
<string name="pass_error_message">Нет предстоящих пролётов спутников</string>
@@ -54,11 +53,11 @@
<string name="radar_eclipsed">В тени</string>
<string name="radar_downlink">Даунлинк</string>
<string name="radar_uplink">Аплинк</string>
<string name="radar_no_data">У этого спутника нет трансиверов</string>
<string name="radar_add">Добавить</string>
<string name="radar_data">Трансиверы спутника:</string>
<string name="radar_inverted">Инверсия: %s</string>
<string name="radar_mode">Модуляция: %s</string>
<string name="radar_no_data">У этого спутника нет трансиверов</string>
<string name="radar_string_no">Нет</string>
<string name="radar_string_yes">Да</string>
<string name="radar_visible">Видимый</string>
@@ -80,11 +79,8 @@
<string name="map_visible">Видимый</string>
<!-- Settings screen -->
<string name="prefs_donate">Поддержать</string>
<string name="prefs_license">Лицензия</string>
<string name="prefs_privacy">Конфиденц.</string>
<string name="prefs_fdroid">F-Droid</string>
<string name="prefs_github">GitHub</string>
<string name="prefs_donate_title">Поддержать</string>
<string name="prefs_privacy_title">Конфиденциальность</string>
<string name="prefs_updated_title">Обновлено: %s</string>
<string name="prefs_updated_time">d MMM yyyy - HH:mm:ss</string>
@@ -92,8 +88,8 @@
<string name="prefs_loc_title">Местоположение</string>
<string name="prefs_loc_gps_title">GPS</string>
<string name="prefs_loc_gps_error">Нет разрешения использовать геоданные</string>
<string name="prefs_loc_manual_title">Ввести</string>
<string name="prefs_loc_manual_error">Введены неверные данные</string>
<string name="prefs_loc_input_title">Ввести</string>
<string name="prefs_loc_input_error">Введены неверные данные</string>
<string name="prefs_loc_qth_title">QTH</string>
<string name="prefs_loc_qth_error">Неправильный локатор QTH</string>
<string name="prefs_loc_success">Позиция успешно обновлена</string>
@@ -106,42 +102,30 @@
<string name="prefs_data_title">Обновление данных</string>
<string name="prefs_data_entries">Спутников: %s</string>
<string name="prefs_data_radios">Трансиверов: %s</string>
<string name="prefs_data_online">Онлайн</string>
<string name="prefs_data_update">Онлайн</string>
<string name="prefs_data_import">Импорт</string>
<string name="prefs_data_clear">Очистить</string>
<string name="prefs_data_clear_success">Очистка прошла успешно</string>
<string name="prefs_data_update_success">Обновление прошло успешно</string>
<string name="prefs_remote_title">Настройки ротатора</string>
<string name="prefs_remote_switch">Удаленное управление</string>
<string name="prefs_remote_ip_hint">IP адрес</string>
<string name="prefs_remote_port_hint">Порт</string>
<string name="prefs_net_title">Настройки ротатора</string>
<string name="prefs_net_switch">Удаленное управление</string>
<string name="prefs_net_ip_hint">IP адрес</string>
<string name="prefs_net_port_hint">Порт</string>
<string name="prefs_BTremote_title">Передача данных по Bluetooth</string>
<string name="prefs_BTremote_switch">Включить передачу</string>
<string name="prefs_BTremote_device_hint">Id устройства</string>
<string name="prefs_BTremote_output_hint">Формат данных</string>
<string name="prefs_BTremote_perm_error">Нет разрешения использовать bluetooth</string>
<string name="prefs_bt_title">Передача данных по Bluetooth</string>
<string name="prefs_bt_switch">Включить передачу</string>
<string name="prefs_bt_device_hint">Id устройства</string>
<string name="prefs_bt_output_hint">Формат данных</string>
<string name="prefs_bt_perm_error">Нет разрешения использовать bluetooth</string>
<string name="prefs_other_title">Other settings</string>
<string name="prefs_other_switch_utc">Показывать время по UTC</string>
<string name="prefs_other_switch_update">Обновлять данные автоматически</string>
<string name="prefs_other_switch_sweep">Показывать анимацию радара</string>
<string name="prefs_other_switch_sensors">Использовать сенсоры устройства</string>
<string name="prefs_outro_title">Я хотел бы сказать спасибо:</string>
<string name="prefs_outro_thanks">Вам за использование этого приложения! \nЖелаю всегда чистого неба над головой!
\n<a href="https://github.com/g4dpz">David A. B. Johnson</a> и
<a href="https://github.com/davidmoten">Dave Moten</a> за работу над predict4java и доступ
к ней по <a href="https://gnu.org/licenses/old-licenses/gpl-2.0.en.html">GNU GPLv2</a>
\n<a href="https://github.com/csete">Alexandru Csete</a> за его программу
Gpredict, которая послужила для меня вдохновением.
\n<a href="https://celestrak.com/webmaster.php">Доктору T.S. Kelso</a> за его сайт
<a href="https://celestrak.com/">Celestrak</a> и доступ к файлам орбит Two-Line Element.
\n<a href="https://libre.space/">Libre Space Foundation</a> за проект
<a href="https://db.satnogs.org/">SatNOGS</a>, API и базу данных с информацией о спутниках.
\n<a href="https://appoftheday.downloadastro.com/app/look4sat-satellite-tracker/">DownloadAstro</a>
за интерес к приложению и публикацию интервью на сайте.
</string>
<string name="prefs_outro_license">Это ПО поставляется без гарантий.</string>
</resources>
+17 -30
View File
@@ -3,7 +3,7 @@
<!-- Commmon -->
<string name="btn_accept">පිළිගන්න</string>
<string name="btn_cancel">අවලංගු ක°</string>
<string name="empty_list_message">No items to display</string>
<string name="empty_list_message">පෙන්වීමට දත්ත නැත</string>
<!-- Navigation -->
<string name="nav_sat">චන්ද්‍රිකා</string>
@@ -35,7 +35,6 @@
<string name="pass_modes_title">මූර්ජන ආකාරය තෝරන්න</string>
<string name="pass_elevation">උත්තෝලනය: %.1f°</string>
<string name="pass_altitude">උන්නතාශය: %d km</string>
<string name="pass_empty_db_message">පෙන්වීමට දත්ත නැත. කරුණාකර දත්ත සමුදාය යාවත්කාලීන කරන්න.</string>
<string name="pass_empty_list_message">
Make sure your filters are correct and you have selected satellites</string>
<string name="pass_error_message">ප්‍රදර්ශනය කිරීමට ඉදිරියට එන චන්ද්‍රිකා පසුකර යෑම් නැත.</string>
@@ -54,11 +53,11 @@
<string name="radar_eclipsed">අදෘශ්‍ය</string>
<string name="radar_downlink">Downlink</string>
<string name="radar_uplink">Uplink</string>
<string name="radar_no_data">මෙම චන්ද්‍රිකාව සම්ප්‍රෙෂණය නොකරයි</string>
<string name="radar_add">එකතු ක°</string>
<string name="radar_data">චන්ද්‍රිකා සම්ප්‍රේෂණයන්:</string>
<string name="radar_inverted">Inverted: %s</string>
<string name="radar_mode">ප්‍රාකාරය: %s</string>
<string name="radar_no_data">මෙම චන්ද්‍රිකාව සම්ප්‍රෙෂණය නොකරයි</string>
<string name="radar_string_no">නෑ</string>
<string name="radar_string_yes">ඔව්</string>
<string name="radar_visible">දෘශ්‍යමාන</string>
@@ -80,11 +79,8 @@
<string name="map_visible">දෘශ්‍ය</string>
<!-- Settings screen -->
<string name="prefs_donate">දායකත්ව</string>
<string name="prefs_license">GPLv3 බලපත්‍රය</string>
<string name="prefs_privacy">Privacy Policy</string>
<string name="prefs_fdroid">F-Droid</string>
<string name="prefs_github">GitHub</string>
<string name="prefs_donate_title">දායකත්ව</string>
<string name="prefs_privacy_title">Privacy Policy</string>
<string name="prefs_updated_title">අවසන් යාවත්කාලීනය: %s</string>
<string name="prefs_updated_time">d MMM yyyy - HH:mm:ss</string>
@@ -92,8 +88,8 @@
<string name="prefs_loc_title">පොළෙහි පිහිටීම</string>
<string name="prefs_loc_gps_title">GPS</string>
<string name="prefs_loc_gps_error">ඔබගේ location අවසර පරීක්ෂා ක°</string>
<string name="prefs_loc_manual_title">අතින්</string>
<string name="prefs_loc_manual_error">ඇතුළත් කළ ස්ථානය වලංගු නොවේ</string>
<string name="prefs_loc_input_title">අතින්</string>
<string name="prefs_loc_input_error">ඇතුළත් කළ ස්ථානය වලංගු නොවේ</string>
<string name="prefs_loc_qth_title">QTH</string>
<string name="prefs_loc_qth_error">QTH locator වලංගු නොවේ</string>
<string name="prefs_loc_success">පිහිටීම යාවත්කාලීනය සාර්ථකයි</string>
@@ -106,39 +102,30 @@
<string name="prefs_data_title">චන්ද්‍රිකා දත්ත යාවත්කාලීනයි</string>
<string name="prefs_data_entries">චන්ද්‍රිකා: %s</string>
<string name="prefs_data_radios">සම්ප්‍රෙේෂණය: %s</string>
<string name="prefs_data_online">මාර්ගගතව</string>
<string name="prefs_data_update">මාර්ගගතව</string>
<string name="prefs_data_import">Import</string>
<string name="prefs_data_clear">පිරිසිදු ක°</string>
<string name="prefs_data_clear_success">දත්ත ඉවත් කිරීම සාර්ථකයි</string>
<string name="prefs_data_update_success">යාවත්කාලීනය සම්පූර්ණ කිරීම සාර්ථකයි</string>
<string name="prefs_remote_title">භ්‍රමක මනාප</string>
<string name="prefs_remote_switch">දුරස්ථ පාලනය සබල ක°</string>
<string name="prefs_remote_ip_hint">IP ලිපිනය</string>
<string name="prefs_remote_port_hint">Port</string>
<string name="prefs_net_title">භ්‍රමක මනාප</string>
<string name="prefs_net_switch">දුරස්ථ පාලනය සබල ක°</string>
<string name="prefs_net_ip_hint">IP ලිපිනය</string>
<string name="prefs_net_port_hint">Port</string>
<string name="prefs_BTremote_title">Bluetooth දත්ත ප්‍රතිදානය</string>
<string name="prefs_BTremote_switch">ප්‍රතිදානය සබල ක°</string>
<string name="prefs_BTremote_device_hint">උපාංග id</string>
<string name="prefs_BTremote_output_hint">දත්ත අකාරය</string>
<string name="prefs_BTremote_perm_error">Bluetooth අවසර පරික්‍ෂා ක°</string>
<string name="prefs_bt_title">Bluetooth දත්ත ප්‍රතිදානය</string>
<string name="prefs_bt_switch">ප්‍රතිදානය සබල ක°</string>
<string name="prefs_bt_device_hint">උපාංග id</string>
<string name="prefs_bt_output_hint">දත්ත අකාරය</string>
<string name="prefs_bt_perm_error">Bluetooth අවසර පරික්‍ෂා ක°</string>
<string name="prefs_other_title">Other settings</string>
<string name="prefs_other_switch_utc">පසුකර වේලාවන් UTC මගින්</string>
<string name="prefs_other_switch_update">ස්වයං දත්ත යාවත්කාලීනය</string>
<string name="prefs_other_switch_sweep">radar sweep සජීවිකරණය සබල කරන්න</string>
<string name="prefs_other_switch_sensors">Radar දර්ශනය කරකැවීමට සංවේදක භාවිතා කරන්න </string>
<string name="prefs_outro_title">මම ස්තුති කිරීමට කැමති:</string>
<string name="prefs_outro_thanks">බාගෙන භාවිතා කළ ඔබට! \nඅහස සදා ඔබ වෙනුවෙන් පැහැදිලියි!
\n<a href="https://github.com/g4dpz">David A. B. Johnson</a>
සහ <a href="https://github.com/davidmoten">Dave Moten</a>ඔවුනට ප්‍රයෝජනවත් predict4java පුස්තකාලය නිර්මාණයට.
\nසහ <a href="https://github.com/csete">Alexandru Csete</a> සඳහා Gpredict නිර්මාණයට සහ
Look4Sat නිර්මාණය⁣ට පෙළඹවීමට.
\n<a href="https://celestrak.com/webmaster.php">Dr T.S. Kelso</a>ට TLE දත්ත සැපයීමට, ඔහුගේ නඩත්තුවෙන් ක්‍රියාත්මක WEB අඩවිට ප්‍රවේශය සැපයීම වෙනුවෙන්
<a href="https://celestrak.com/"> (Celestrak)</a>.
\n<a href="https://libre.space/">Libre Space Foundation</a>ට ඔවුන්ගේ
<a href="https://db.satnogs.org/">SatNOGS</a>Web අඩවියට API හා DB විශාල දත්ත ප්‍රමාණයක් ලබාදීම සඳහා.
\n<a href="https://appoftheday.downloadastro.com/app/look4sat-satellite-tracker/">DownloadAstro</a> කණ්ඩායමට යෙදුම පිළිබඳ ඔවුන්ගේ උනන්දුව සහ කැපවීම ලැබිම සම්බන්ධයෙන්.</string>
<string name="prefs_outro_license">මෘදුකාංගය වගකීමක් සමග නොලැබේ</string>
</resources>
+17 -32
View File
@@ -3,7 +3,7 @@
<!-- Commmon -->
<string name="btn_accept">Прийняти</string>
<string name="btn_cancel">Скасувати</string>
<string name="empty_list_message">No items to display</string>
<string name="empty_list_message">Немає даних для відображення</string>
<!-- Navigation -->
<string name="nav_sat">Супутники</string>
@@ -35,7 +35,6 @@
<string name="pass_modes_title">Виберіть тип модуляції</string>
<string name="pass_elevation">Піднес.: %.1f°</string>
<string name="pass_altitude">Висота: %.0f км</string>
<string name="pass_empty_db_message">Немає даних для відображення. Будь ласка, оновіть базу даних через меню Налаштування</string>
<string name="pass_empty_list_message">
Make sure your filters are correct and you have selected satellites</string>
<string name="pass_error_message">Немає майбутніх прольотів супутників</string>
@@ -54,11 +53,11 @@
<string name="radar_eclipsed">В тіні</string>
<string name="radar_downlink">Downlink</string>
<string name="radar_uplink">Uplink</string>
<string name="radar_no_data">Цей супутник не має трансиверів</string>
<string name="radar_add">Додати</string>
<string name="radar_data">Супутникові трансивери:</string>
<string name="radar_inverted">Інверсія: %s</string>
<string name="radar_mode">Модуляція: %s</string>
<string name="radar_no_data">Цей супутник не має трансиверів</string>
<string name="radar_string_no">Ні</string>
<string name="radar_string_yes">Так</string>
<string name="radar_visible">Видимий</string>
@@ -80,11 +79,8 @@
<string name="map_visible">Видимий</string>
<!-- Settings screen -->
<string name="prefs_donate">Підтримати</string>
<string name="prefs_license">Ліцензія GPLv3</string>
<string name="prefs_privacy">Конфіденційність</string>
<string name="prefs_fdroid">F-Droid</string>
<string name="prefs_github">GitHub</string>
<string name="prefs_donate_title">Підтримати</string>
<string name="prefs_privacy_title">Конфіденційність</string>
<string name="prefs_updated_title">Останнє оновлення: %s</string>
<string name="prefs_updated_time">d MMM yyyy - HH:mm:ss</string>
@@ -92,8 +88,8 @@
<string name="prefs_loc_title">Місцезнаходження</string>
<string name="prefs_loc_gps_title">GPS</string>
<string name="prefs_loc_gps_error">Перевірте дозволи на визначення місця</string>
<string name="prefs_loc_manual_title">Вручну</string>
<string name="prefs_loc_manual_error">Введені некоректні дані</string>
<string name="prefs_loc_input_title">Вручну</string>
<string name="prefs_loc_input_error">Введені некоректні дані</string>
<string name="prefs_loc_qth_title">QTH</string>
<string name="prefs_loc_qth_error">Некоректний локатор QTH</string>
<string name="prefs_loc_success">Позицію успішно оновлено</string>
@@ -106,41 +102,30 @@
<string name="prefs_data_title">Оновлення даних</string>
<string name="prefs_data_entries">Супутників: %s</string>
<string name="prefs_data_radios">Трансиверів: %s</string>
<string name="prefs_data_online">Онлайн</string>
<string name="prefs_data_update">Онлайн</string>
<string name="prefs_data_import">Імпорт</string>
<string name="prefs_data_clear">Очистити</string>
<string name="prefs_data_clear_success">Дані успішно очищено</string>
<string name="prefs_data_update_success">Оновлення успішне</string>
<string name="prefs_remote_title">Налаштування ротатора</string>
<string name="prefs_remote_switch">Віддалене керування</string>
<string name="prefs_remote_ip_hint">IP адреса</string>
<string name="prefs_remote_port_hint">Порт</string>
<string name="prefs_net_title">Налаштування ротатора</string>
<string name="prefs_net_switch">Віддалене керування</string>
<string name="prefs_net_ip_hint">IP адреса</string>
<string name="prefs_net_port_hint">Порт</string>
<string name="prefs_BTremote_title">Передача даних через Bluetooth</string>
<string name="prefs_BTremote_switch">Увімкнути передачу</string>
<string name="prefs_BTremote_device_hint">Id пристрою</string>
<string name="prefs_BTremote_output_hint">Формат даних</string>
<string name="prefs_BTremote_perm_error">Перевірте дозвіл Bluetooth</string>
<string name="prefs_bt_title">Передача даних через Bluetooth</string>
<string name="prefs_bt_switch">Увімкнути передачу</string>
<string name="prefs_bt_device_hint">Id пристрою</string>
<string name="prefs_bt_output_hint">Формат даних</string>
<string name="prefs_bt_perm_error">Перевірте дозвіл Bluetooth</string>
<string name="prefs_other_title">Other settings</string>
<string name="prefs_other_switch_utc">Показувати час в UTC</string>
<string name="prefs_other_switch_update">Автоматичне оновлення даних</string>
<string name="prefs_other_switch_sweep">Показувати анімацію радара</string>
<string name="prefs_other_switch_sensors">Використовувати сенсори пристрою</string>
<string name="prefs_outro_title">Я хотів би подякувати:</string>
<string name="prefs_outro_thanks">Вам за завантаження та використання Look4Sat!
\nБажаю завжди чистого неба над головою!
\n<a href="https://github.com/g4dpz">David A. B. Johnson</a>
та <a href="https://github.com/davidmoten">Dave Moten</a> за створення бібліотеки predict4java.
\n<a href="https://github.com/csete">Alexandru Csete</a> за створення трекера Gpredict, який надихнув мене на створення Look4Sat.
\n<a href="https://celestrak.com/webmaster.php">Dr T.S. Kelso</a> за його сайт
<a href="https://celestrak.com/">Celestrak</a> який надає доступ до даних Two-Line Element.
\n<a href="https://libre.space/">Libre Space Foundation</a> за проєкт
<a href="https://db.satnogs.org/">SatNOGS</a>, API та базу даних про супутники.
\nКоманді <a href="https://appoftheday.downloadastro.com/app/look4sat-satellite-tracker/">DownloadAstro</a>
за інтерес до застосунку та публікацію інтерв\'ю на сайті.
</string>
<string name="prefs_outro_license">Це ПЗ поставляється без жодних гарантій.</string>
</resources>
+17 -34
View File
@@ -3,7 +3,7 @@
<!-- Commmon -->
<string name="btn_accept">确定</string>
<string name="btn_cancel">取消</string>
<string name="empty_list_message">没有可显示的内容</string>
<string name="empty_list_message">没有数据可显示</string>
<!-- Navigation -->
<string name="nav_sat">卫星</string>
@@ -30,7 +30,6 @@
<string name="pass_modes_title">选择调制类型</string>
<string name="pass_elevation">仰角:%.1f°</string>
<string name="pass_altitude">高度:%d km</string>
<string name="pass_empty_db_message">没有数据可显示,请通过设置菜单更新卫星数据。</string>
<string name="pass_empty_list_message">请确保您的筛选设置正确并且已勾选卫星</string>
<string name="pass_error_message">没有即将过境的卫星</string>
<string name="pass_welcome_title">欢迎使用Look4Sat!</string>
@@ -46,11 +45,11 @@
<string name="radar_eclipsed">地影中</string>
<string name="radar_downlink">下行链路</string>
<string name="radar_uplink">上行链路</string>
<string name="radar_no_data">这颗卫星没有收发器</string>
<string name="radar_add">添加</string>
<string name="radar_data">卫星收发器:</string>
<string name="radar_inverted">倒置:%s</string>
<string name="radar_mode">调制:%s</string>
<string name="radar_no_data">这颗卫星没有收发器</string>
<string name="radar_string_no">否</string>
<string name="radar_string_yes">是</string>
<string name="radar_visible">日照中</string>
@@ -72,11 +71,8 @@
<string name="map_visible">日照中</string>
<!-- Settings screen -->
<string name="prefs_donate">支持</string>
<string name="prefs_license">GNU GPLv3</string>
<string name="prefs_privacy">隐私政策</string>
<string name="prefs_fdroid">F-Droid</string>
<string name="prefs_github">GitHub</string>
<string name="prefs_donate_title">支持</string>
<string name="prefs_privacy_title">隐私政策</string>
<string name="prefs_updated_title">最后更新时间:%s</string>
<string name="prefs_updated_time">yyyy MMM d - HH:mm:ss</string>
@@ -84,8 +80,8 @@
<string name="prefs_loc_title">站位</string>
<string name="prefs_loc_gps_title">GPS 定位</string>
<string name="prefs_loc_gps_error">检查您的位置权限</string>
<string name="prefs_loc_manual_title">手动输入</string>
<string name="prefs_loc_manual_error">输入的位置无效</string>
<string name="prefs_loc_input_title">手动输入</string>
<string name="prefs_loc_input_error">输入的位置无效</string>
<string name="prefs_loc_qth_title">QTH 网格</string>
<string name="prefs_loc_qth_error">无效的 QTH 网格</string>
<string name="prefs_loc_success">位置更新成功</string>
@@ -98,43 +94,30 @@
<string name="prefs_data_title">卫星数据更新</string>
<string name="prefs_data_entries">卫星:%s</string>
<string name="prefs_data_radios">收发器:%s</string>
<string name="prefs_data_online">在线更新</string>
<string name="prefs_data_update">在线更新</string>
<string name="prefs_data_import">导入文件</string>
<string name="prefs_data_clear">清空</string>
<string name="prefs_data_clear_success">数据清空成功</string>
<string name="prefs_data_update_success">更新成功</string>
<string name="prefs_remote_title">旋转器首选项</string>
<string name="prefs_remote_switch">启用远程控制</string>
<string name="prefs_remote_ip_hint">IP地址</string>
<string name="prefs_remote_port_hint">端口</string>
<string name="prefs_net_title">旋转器首选项</string>
<string name="prefs_net_switch">启用远程控制</string>
<string name="prefs_net_ip_hint">IP地址</string>
<string name="prefs_net_port_hint">端口</string>
<string name="prefs_BTremote_title">蓝牙数据输出</string>
<string name="prefs_BTremote_switch">启用输出</string>
<string name="prefs_BTremote_device_hint">蓝牙设备 ID</string>
<string name="prefs_BTremote_output_hint">数据格式</string>
<string name="prefs_BTremote_perm_error">请检查蓝牙权限</string>
<string name="prefs_bt_title">蓝牙数据输出</string>
<string name="prefs_bt_switch">启用输出</string>
<string name="prefs_bt_device_hint">蓝牙设备 ID</string>
<string name="prefs_bt_output_hint">数据格式</string>
<string name="prefs_bt_perm_error">请检查蓝牙权限</string>
<string name="prefs_other_title">Other settings</string>
<string name="prefs_other_switch_utc">以 UTC 时间显示</string>
<string name="prefs_other_switch_update">启用卫星数据自动更新</string>
<string name="prefs_other_switch_sweep">启用雷达扫描动画</string>
<string name="prefs_other_switch_sensors">使用传感器旋转雷达视图</string>
<string name="prefs_outro_title">我要感谢:</string>
<string name="prefs_outro_thanks">感谢下载和使用 Look4Sat!愿你的天空永远晴朗!
\n简体中文版翻译由 <a href="https://github.com/BA7LWN">BA7LWN</a> 于 2022.5.10 创建。
\n<a href="https://github.com/g4dpz">David A. B. Johnson</a>
and <a href="https://github.com/davidmoten">Dave Moten</a> for creating predict4java lib
under the <a href="https://gnu.org/licenses/old-licenses/gpl-2.0.en.html">GNU GPLv2</a>.
\n<a href="https://github.com/csete">Alexandru Csete</a> for creating Gpredict
satellite tracker that inspired the creation of Look4Sat.
\n<a href="https://celestrak.com/webmaster.php">Dr T.S. Kelso</a> for maintaining his
<a href="https://celestrak.com/">Celestrak</a> website that provides access to the TLE data.
\n<a href="https://libre.space/">Libre Space Foundation</a> for their
<a href="https://db.satnogs.org/">SatNOGS</a> API and DB providing a huge amount of satellite data.
\n<a href="https://appoftheday.downloadastro.com/app/look4sat-satellite-tracker/">DownloadAstro</a>
team for their interest to the app and the interview published.
</string>
<string name="prefs_outro_license">该应用程序不提供任何保修.</string>
</resources>
+36 -32
View File
@@ -4,7 +4,7 @@
<string name="app_name" translatable="false">Look4Sat</string>
<string name="btn_accept">Accept</string>
<string name="btn_cancel">Cancel</string>
<string name="empty_list_message">No items to display</string>
<string name="empty_list_message">No data to show</string>
<!-- Navigation -->
<string name="nav_sat">Satellites</string>
@@ -14,7 +14,7 @@
<string name="nav_prefs">Settings</string>
<!-- Satellites screen -->
<string name="sat_type_hint">Selected type: %s</string>
<string name="sat_type_hint">Type: %s</string>
<string name="sat_type_title">Select satellite type</string>
<string name="sat_search_hint">Id - Name</string>
<string name="sat_search_clear">Clear</string>
@@ -40,7 +40,6 @@
<string name="pass_deep_space" translatable="false">DeepSpace</string>
<string name="pass_altitude">Altitude: %d km</string>
<string name="pass_aosLos" translatable="false">%03d° - %03d°</string>
<string name="pass_empty_db_message">No data to show. Please update the database via Settings menu.</string>
<string name="pass_empty_list_message">
Make sure your filters are correct and you have selected satellites</string>
<string name="pass_error_message">There are no upcoming satellite passes to display</string>
@@ -66,11 +65,11 @@
<string name="radar_link_low" translatable="false">%.4f</string>
<string name="radar_link_lowHigh" translatable="false">%.4f - %.4f</string>
<string name="radar_no_link" translatable="false">- - . - -</string>
<string name="radar_no_data">This satellite has no transceivers</string>
<string name="radar_add">Add</string>
<string name="radar_data">Satellite transceivers:</string>
<string name="radar_inverted">Inverted: %s</string>
<string name="radar_mode">Mode: %s</string>
<string name="radar_no_data">This satellite has no transceivers</string>
<string name="radar_string_no">No</string>
<string name="radar_string_yes">Yes</string>
<string name="radar_visible">Visible</string>
@@ -94,20 +93,27 @@
<string name="map_visible">Visible</string>
<!-- Settings screen -->
<string name="prefs_donate">Donate</string>
<string name="prefs_license">GPLv3 Licence</string>
<string name="prefs_privacy">Privacy Policy</string>
<string name="prefs_fdroid">F-Droid</string>
<string name="prefs_github">GitHub</string>
<string name="prefs_app_title" translatable="false">Look4Sat v%s</string>
<string name="prefs_app_url" translatable="false">https://play.google.com/store/apps/details?id=com.rtbishop.look4sat</string>
<string name="prefs_donate_title">Donate</string>
<string name="prefs_donate_url" translatable="false">https://ko-fi.com/rt_bishop</string>
<string name="prefs_fdroid_title" translatable="false">F-Droid</string>
<string name="prefs_fdroid_url" translatable="false">https://f-droid.org/en/packages/com.rtbishop.look4sat/</string>
<string name="prefs_github_title" translatable="false">GitHub</string>
<string name="prefs_github_url" translatable="false">https://github.com/rt-bishop/Look4Sat/</string>
<string name="prefs_license_title" translatable="false">GPLv3</string>
<string name="prefs_license_url" translatable="false">https://www.gnu.org/licenses/gpl-3.0.html</string>
<string name="prefs_privacy_title">Privacy Policy</string>
<string name="prefs_privacy_url" translatable="false">https://sites.google.com/view/look4sat-privacy-policy/home</string>
<string name="prefs_updated_title">Last updated: %s</string>
<string name="prefs_updated_title">Updated: %s</string>
<string name="prefs_updated_time">d MMM yyyy - HH:mm:ss</string>
<string name="prefs_loc_title">Station position</string>
<string name="prefs_loc_gps_title">GPS</string>
<string name="prefs_loc_gps_error">Check your location permissions</string>
<string name="prefs_loc_manual_title">Manual</string>
<string name="prefs_loc_manual_error">Invalid location entered</string>
<string name="prefs_loc_input_title">Input</string>
<string name="prefs_loc_input_error">Invalid location entered</string>
<string name="prefs_loc_qth_title">QTH</string>
<string name="prefs_loc_qth_error">Invalid QTH locator</string>
<string name="prefs_loc_success">Position updated successfully</string>
@@ -120,39 +126,37 @@
<string name="prefs_data_title">Satellite data</string>
<string name="prefs_data_entries">Satellites: %s</string>
<string name="prefs_data_radios">Transceivers: %s</string>
<string name="prefs_data_online">Online</string>
<string name="prefs_data_update">Update</string>
<string name="prefs_data_import">Import</string>
<string name="prefs_data_clear">Clear</string>
<string name="prefs_data_clear_success">Data was cleared successfully</string>
<string name="prefs_data_update_success">Update completed successfully</string>
<string name="prefs_remote_title">Rotator preferences</string>
<string name="prefs_remote_switch">Enable remote control</string>
<string name="prefs_remote_ip_hint">IP address</string>
<string name="prefs_remote_port_hint">Port</string>
<string name="prefs_net_title">Network data output</string>
<string name="prefs_net_switch">Enable output</string>
<string name="prefs_net_ip_hint">IP address</string>
<string name="prefs_net_port_hint">Port</string>
<string name="prefs_BTremote_title">Bluetooth data output</string>
<string name="prefs_BTremote_switch">Enable output</string>
<string name="prefs_BTremote_device_hint">Device id</string>
<string name="prefs_BTremote_output_hint">Data format</string>
<string name="prefs_BTremote_perm_error">Check your bluetooth permission</string>
<string name="prefs_bt_title">Bluetooth data output</string>
<string name="prefs_bt_switch">Enable output</string>
<string name="prefs_bt_device_hint">Device id</string>
<string name="prefs_bt_output_hint">Data format</string>
<string name="prefs_bt_perm_error">Check your bluetooth permission</string>
<string name="prefs_other_title">Other settings</string>
<string name="prefs_other_switch_utc">Show pass time in UTC</string>
<string name="prefs_other_switch_update">Enable automatic data update</string>
<string name="prefs_other_switch_sweep">Enable radar sweep animation</string>
<string name="prefs_other_switch_sensors">Use sensors to rotate radar view</string>
<string name="prefs_outro_title">I would like to say thanks to:</string>
<string name="prefs_outro_thanks">You for downloading and using Look4Sat! \nMay your sky always be clear!
\n<a href="https://github.com/g4dpz">David A. B. Johnson</a>
and <a href="https://github.com/davidmoten">Dave Moten</a> for creating a super useful predict4java library.
\n<a href="https://github.com/csete">Alexandru Csete</a> for creating Gpredict
tracker that inspired the creation of Look4Sat.
\n<a href="https://celestrak.com/webmaster.php">Dr T.S. Kelso</a> for maintaining his
<a href="https://celestrak.com/">Celestrak</a> website that provides access to the TLE data.
\n<a href="https://libre.space/">Libre Space Foundation</a> for their
<a href="https://db.satnogs.org/">SatNOGS</a> API and DB providing a huge amount of data.
</string>
<string name="prefs_outro_thanks" translatable="false">
• You, Look4Sat users and contributors!
\n• David A. B. Johnson (predict4java)
\n• Dave Moten (predict4java)
\n• Alexandru Csete (Gpredict)
\n• Dr T.S. Kelso (Celestrak)
\n• Libre Space Foundation (SatNOGS)</string>
<string name="prefs_outro_license">The app comes with no warranty.</string>
</resources>