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